"a programação sem goto não só é possível, como desejável. Todo programa pode ser desenvolvido usando-se para interromper o fluxo sequencial da execução apenas as estruturas convencionais de decisão e repetição: esse é o espírito da programação estruturada, que torna os programas mais organizados e compreensíveis. " pinheiro, francisco a. C. Elementos de programação em c. Porto alegre: bookman, 2012. Pg. 186. As estruturas de repetição são muito utilizadas em programação e também possuem formas de interromper ou "escapar" das iterações. Veja o código abaixo. Public class desvios { public static void main(string args[]) { for (int i = 0; i < 12; i++) { if (i % 3 == 0) continue; if (i % 5 == 0) break; if (i % 7 == 0) continue; system. Out. Print(i + " "); } } } considerando o texto e o código acima, assinale a alternativa com a saída do programa na tela
Soluções para a tarefa
A saída do programa na tela será: "1 2 4". A estrutura de repetição é quebrada quando a variável i assume o valor 5.
Estrutura de Repetição: FOR
A estrutura de repetição "for", realiza a repetição de um trecho de código de acordo com a definição dos seus parâmetros. Os seus três parâmetros são:
- int i = 0 : O primeiro parâmetro define a variável que será usada para contabilizar a repetição e qual o seu valor inicial. Logo, a variável é "i" criada no momento da definição e ela começará com o valor 0.
- i < 12 : O segundo parâmetro define a condição que permite que a estrutura continue repetindo, ou seja, enquanto a variável i tiver o valor menor do que 12, o código continuará se repetindo.
- i++ : O terceiro parâmetro define a iteração da variável, ou seja, de que forma ela irá ser contabilizada a cada repetição. Neste caso, a cada repetição terá seu valor somado em 1.
Com isso, podemos ver que a estrutura foi definida para repetir 12 vezes o código definido dentro da mesma, onde a variável de contagem i assume o valor 0 somando de 1 em 1 até 11.
Comandos de Controle: Continue e Break
Dentro de estruturas de repetição temos dois comandos de controle que alteram a forma como a reptição está ocorrendo.
- Continue: Este comando indica que a estrutura deve seguir direto para a próxima repetição, ignorando o resto do código que ainda deveria ser executado na repetição atual.
- Break: Este comando quebra a estrutura parando imediatamente as repetições e seguindo o código após o final da estrutura ignorando as repetições faltantes.
Execução:
Nosso código possui 4 comandos ordenados dentro da estrutura de repetição, os primeiros 3 condicionais e o último sendo o que exibe a saída na tela, que é o que desejamos saber. Logo, vamos simular a execução deles para cada repetição da variável i que vai de 0 a 11. Vale lembrar que o operador utilizado nos condicionais é o módulo(%) que retorna o resto da divisão dos operadores.
- i = 0: Começamos testando 0%3, que resulta em 0. Logo, entramos no condicional que possui o comando continue. Vamos direto para a próxima repetição ignorando o resto do código.
- i = 1: Testamos 1%3 que resulta 1, seguimos para testar 1%5 que também resulta 1, seguimos então para testar 1%7 que mais uma vez resulta em 1. Não satisfeitos nenhum dos testes, chegamos ao último comando que exibe i na tela. Logo, o programa irá imprimir "1 " na tela.
- i = 2: Analogamente testaremos o valor 2 com os mesmos valores de módulo e nenhum dos 3 retorna 0. Logo, chegamos novamente ao último comando que vai imprimir "2 " na tela.
- i = 3: Logo no primeiro teste, 3%3 resulta 0, e isso nos leva ao comando continue, novamente. Então seguiremos direto.
- i = 4: Com esse valor, os 3 testes resultam números diferentes de 0. Portanto, chegamos no último comando que irá imprimir "4 " na tela.
- i = 5: Por fim, quando chegamos neste valor, entramos no segundo teste pois 5%5 resulta em 0. Ao entrar encontramos o comando break. Portanto, a estrutura de repetição é quebrada, e mesmo que não tenhamos atingido o valor máximo, o comando para imediatamente a repetição finalizando o trecho do código.
Logo, a saída do programa na tela é: "1 2 4 ".
Saiba mais sobre estruturas de repetição em:
https://brainly.com.br/tarefa/19907174