Informática, perguntado por milicarla17oxx4m4, 1 ano atrás

algoritmo "prova" var i, j, s : inteiro; inicio i <- 1; j <- 2; s <- 0; para i de 1 ate 5 faca j <- i + 2*3; s <- j + s * 3; fimpara escreva(s); fimalgoritmo Com base no algoritmo escolha qual a saída na tela da variável S.

Soluções para a tarefa

Respondido por bokomoko
0
var i, j, s : inteiro;
 inicio
 i <- 1;
j <- 2;
 s <- 0;
para i de 1 ate 5 faca
    j <- i + 2*3;
   s <- j + s * 3;
fimpara 


Primeiro o I começa com 1 e varia até 5, segundo o comando para. Observe que a primeira atribuição a i e j são absolutamente inúteis pois os valores são ignorados nas futuras operações. Apenas o valor de s será utilizado.

No caso, s é inicializado com 0 
 
O que importa é o que está dentro do loop para

a primeira atribuição a j é de i + 2*3;
Esse comando também está mal escrito pois 2*3 é sempre 6. Portanto ele poderia ser escrito assim
j <- i + 6 ; 
dá no mesmo. Como o i vai variar de 1 até 5 então o j vai ser i + 6, ou seja
i = 1 -> j = 7
i = 2 -> j = 8
e assim por diante. Portanto, o j vai variar de 7 até 12 

O segundo comando dentro do loop atribui a s o valor anterior de s * 3 mais o valor de j
s <- j + s * 3

Na primeira iteração, s é igual a 0, portanto, s vai assumir o valor inicial de j, que é 7
Na segunda iteração s será multiplicado por 3, portanto, 7 * 3 = 21 e vai ser adicionado ao j  que agora é 8
Então os valores serão 

j = 7  -> s = 7  + 0 
j = 8 -> s = 8 + 3* 7  -> 29
j = 9 -> s = 9 + 3*29 -> 96
j = 10 -> s = 10 + 3*96 -> 298
j = 11 -> s = 11 + 3 * 298 -> 905
j = 12 -> s = 12 + 3 * 905 -> 2727

No fim, s será 2727

Esse algoritmo é absolutamente inútil e sem o contexto, não faz sentido algum.

Esse curso de programação é muito ruim. Se você está pagando, pediria o dinheiro de volta.

 
Perguntas interessantes