Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Fernando Almeida UNIDADE IV Linguagem e Técnicas de Programação Como podemos imprimir a mesma mensagem várias vezes na tela? Estruturas de repetição ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I Estruturas de repetição Permite que uma instrução ou conjunto de instruções seja executada várias vezes, enquanto uma determinada condição seja satisfeita. Estruturas de repetição Estruturas de repetição ESTRUTURAS de REPETIÇÃO for while do- while ESTRUTURA for Estrutura de repetição for Normalmente utilizada quando se sabe o número de vezes em que uma instrução ou conjunto de instruções irá se repetir. Estrutura de repetição for … int i; for(i = 0; i<10; i=i+1){ printf(“Condição Verdadeira”); } … Estrutura de repetição for … int i; for(i = 0; i<10; i++){ printf(“Condição Verdadeira”); } … Fluxograma e impressão no console Item 0 Item 1 Item 2 Item 3 Item 4 Item 5 Item 6 Item 7 Item 8 Item 9 Se condição for verdadeira Se condição for falsa INICIO i = 0 i ++ “Item”+ i FIM i < 10 Fluxograma – estrutura de repetição i++ x, i = 0, soma = 0 soma Se condição for falsa Se condição for verdadeira INICIO FIM “Digite o item” +i x Soma = soma + x Estrutura de repetição for int x, i, soma = 0; for(i = 0; i<10; i++){ printf(“Digite o item %d: ”, i); scantf(“%d: ”, &x); soma = soma + x; } printf(“Soma: %d ”, soma); … … Analise o código abaixo em linguagem C e responda à questão: Ao final da execução da terceira iteração, quais seriam os valores para as variáveis i e y? a) i = 3 e y = 8. b) i = 2 e y = 8. c) i = 2 e y = 7. d) i = 3 e y = 3. e) i = 2 e y = 9. Interatividade … int x, i, soma = 0; int y = 10; for(i = 0; i < y; i++){ printf(“Digite o item %d” , i); scanf(“%d”, &x); soma = soma + x; y = y – 1; //ou y--; } printf(“TOTAL: %d”, soma); … a) i = 3 e y = 8. b) i = 2 e y = 8. c) i = 2 e y = 7. d) i = 3 e y = 3. e) i = 2 e y = 9. Resposta Solução Digite o item 0 10 Digite o item 1 20 Digite o item 2 30 i: 2 y: 8 ESTRUTURA while Estrutura de repetição while Normalmente utilizada quando não se sabe o número de vezes em que uma instrução ou conjunto de instruções irá se repetir. Pode ocorrer zero ou mais vezes. Estrutura de repetição while while (condição) { //instruções; } Estrutura de repetição while ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I ALGORITMOS I Se condição for verdadeira i = 0 i = i + 1 INICIO “ALGORITMOS I” FIM i < 10 Se condição for falsa Estrutura de repetição while INICIO Se condição for verdadeira i = 0 i = i + 1 “Linha” + i FIM i < 10 Estrutura de repetição while int i = 0; while(i < 10){ printf(“Linha %d: ”, i); i = i + 1; } … … Linha 0 Linha 1 Linha 2 Linha 3 Linha 4 Linha 5 Linha 6 Linha 7 Linha 8 Linha 9 Analise o código abaixo em linguagem C e responda à questão: Para evitar um loop infinito, qual comando deveria aparecer na barra cinza? a) n1++. b) n++. c) n = n + 1. d) n1 == n. e) media = media +1. Interatividade Analise o código abaixo em linguagem C e responda à questão: Para evitar um loop infinito, qual comando deveria aparecer na barra cinza? a) n1++. b) n++. c) n = n + 1. d) n1 == n. e) media = media +1. Resposta ESTRUTURA DO WHILE Estrutura de repetição do-while Semelhante ao while, porém o teste só ocorre ao final do comando, ou seja, primeiro executa e depois realiza o teste. Pode ocorrer uma ou mais vezes. Estrutura de repetição do-while Se condição for verdadeira i = 0, j = 10 INICIO i + “eh menor do que” + j i ++ Se condição for falsa i < j FIM Estrutura de do-while int i=0, j=10; do { printf(“%d é menor que %d”, I, j); i++; } while (i<j); 0 é menor que 10 1 é menor que 10 2 é menor que 10 3 é menor que 10 4 é menor que 10 5 é menor que 10 6 é menor que 10 7 é menor que 10 8 é menor que 10 9 é menor que 10 break Comando break Comando break Comando utilizado para abortar a execução de uma estrutura. Quando executado dentro de um laço de repetição, o comando break interrompe imediatamente a estrutura. Comando break x, i = 0, soma = 0 Se condição for verdadeira Se condição for falsa i = i + 1 INICIO i < 10 soma FIM “Digite o item” + i x soma = soma + x x < 0 “Número invalido” BREAK Se condição for verdadeira Se condição for falsa Comando break Analise o código abaixo em linguagem C e responda à questão: Ao final da execução da quarta iteração, quais seriam os valores para as variáveis a e b? a) a = 5 e b = 3. b) a = 1 e b = 2. c) a = 2 e b = 1. d) a = 2 e b = 2. e) a = 2 e b = 4. Interatividade … … int a=0, b=0, n=10; while(n > 0) { if(n%2 == 0) a++; else b++; n = n/2; } printf(“%d %d \n”, a, b); Analise o código abaixo em linguagem C e responda à questão: Ao final da execução da quarta iteração, quais seriam os valores para as variáveis a e b? a) a = 5 e b = 3. b) a = 1 e b = 2. c) a = 2 e b = 1. d) a = 2 e b = 2. e) a = 2 e b = 4. Resposta … … int a=0, b=0, n=10; while(n > 0) { if(n%2 == 0) a++; else b++; n = n/2; } printf(“%d %d \n”, a, b); ESTRUTURA Laços aninhados Laços aninhados Aninhar uma estrutura de repetição consiste em colocar uma estrutura dentro de outra. É utilizado para realizar processamentos mais complexos. Laços aninhados int i, j; for(i = 0; i<10; i++){ for(j = 0; j<10;j++){ printf(”%d - %d \n”, i, j); } } Laços aninhados 0-0 0-1 0-2 0-3 0-4 0-5 0-6 0-7 0-8 0-9 1-0 1-1 1-2 1-3 1-4 1-5 1-6 1-7 1-8 1-9 2-0 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 9-0 9-1 9-2 9-3 9-4 9-5 9-6 9-7 9-8 9-9 … 1 2 3 10iterações Ao executar o código abaixo, sinalize a alternativa que possua o resultado correto ao final da execução: Interatividade int linha, coluna; linha = 1; while (linha < 5) { coluna = 1; while (coluna < 5) { printf( "%d", linha * coluna ); coluna += 1; } linha = linha + 1; } printf( "\n" ); Interatividade a) b) c) d) e) 1 2 3 4 3 6 9 12 2 4 6 8 4 8 12 16 1 2 3 4 2 4 6 8 4 8 12 16 3 6 9 12 1 2 3 5 2 4 6 9 3 6 9 13 4 8 12 17 1 2 3 4 2 4 6 8 3 6 9 12 4 7 10 12 1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16 Resposta a) b) c) d) e) 1 2 3 4 3 6 9 12 2 4 6 8 4 8 12 16 1 2 3 4 2 4 6 8 4 8 12 16 3 6 9 12 1 2 3 5 2 4 6 9 3 6 9 13 4 8 12 17 1 2 3 4 2 4 6 8 3 6 9 12 4 7 10 12 1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16 ATÉ A PRÓXIMA!
Compartilhar