#!/bin/bash i=3; n=0; while [ $n -le 3 ] do let n+...
#!/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?
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