#!/bin/bash i=3; n=0; while [ $n -le 3 ] do let n+...

Próximas questões
Com base no mesmo assunto
Q924848 Programação

#!/bin/bash

i=3;

n=0;

while [ $n -le 3 ]

do

let n++

done

echo $(($i * $n))


Qual o resultado da execução do código?

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - 12

A questão apresenta um script em Bash, que é um interpretador de comandos amplamente utilizado em sistemas operacionais do tipo Unix. O Bash é uma linguagem poderosa para administração de sistemas e automação de tarefas.

O script inicia definindo duas variáveis i e n, com os valores 3 e 0, respectivamente. O comando while inicia um laço de repetição que executará o bloco de comandos interno enquanto a condição [ $n -le 3 ] for verdadeira. A condição estabelece que o laço deve continuar enquanto o valor de n for menor ou igual a 3.

Dentro do laço, temos a instrução let n++, que incrementa o valor da variável n em 1 a cada iteração. O laço se repetirá 4 vezes (quando n=0, n=1, n=2, n=3), assim, quando a condição do while não for mais atendida (ou seja, quando n for igual a 4), o script prossegue para a próxima linha fora do laço.

O comando echo $(($i * $n)) irá imprimir o resultado da multiplicação das variáveis i e n, que ao final do loop terão os valores 3 e 4, respectivamente. A multiplicação de 3 por 4 é igual a 12, portanto, a saída do script será 12.

Para resolver essa questão, é necessário conhecer a sintaxe básica do Bash, como a declaração e utilização de variáveis, a estrutura de controle while, e o comando de incremento let. Além disso, é preciso entender a aritmética dentro do Bash e como ela é aplicada na expressão $(($i * $n)) para calcular o resultado final.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

i=3;

n=0;

while [ $n -le 3 ] // Enquanto $n (Valor de N) for -le (menor ou igual) a 3 , execute codigo do do até o done e repete

do

let n++ // Toda vez que entra, adiciona 1 em n

done

echo $(($i * $n)) // $i * $n = 3 x 4 = 12

O ponto importante a se lembrar é que quando n = 3 , ele entrará de novo no while e sairá com valor 4,

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo