Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 ALGOP – Algoritmos e Programação Aula 4 – Estruturas de Controle (Laços de Repetição - Loops) + Estruturas de controle (estruturas de repetição) + Estrutura de repetição while () {} + Estruturas de repetição do {} while (); + Estrutura de repetição for (;;) {} + Instruções break e continue 2 ALGOP – Algoritmos e Programação Estruturas de Controle (relembrando...) Recordando, grande parte das linguagens de programação contam com três tipos de estruturas de controle: Estruturas de Sequência: tipos de estrutura em que as instruções são executadas sequencialmente (linearmente), ou seja, uma instrução após a outra, sem nenhuma avaliação condicional. Estruturas Condicionais: tipos de estrutura que avaliam uma condição para determinar se um ou mais instruções serão executadas ou não. Tais estruturas desviam o fluxo do programa para partes diferentes, dependendo se a condição resultar em verdadeira ou falsa. Estruturas de Repetição: tipos de estrutura que repetem um bloco de instruções enquanto uma condição estiver resultando em verdadeira. 3 ALGOP – Algoritmos e Programação Estruturas de Controle (Estruturas de Repetição - Laços) As Estruturas de Repetição, ou laços de repetição, são utilizadas quando precisamos executar um grupo de instruções repetidas vezes, enquanto uma condição estiver sendo satisfeita. Frequentemente nos deparamos com esse tipo de estrutura, em nossas ações... por exemplo: enquanto existirem pratos sujos enquanto existirem clientes lavamos os pratos atualizamos saldo da poupança No primeiro exemplo, lavamos os pratos enquanto existirem pratos sujos na pilha de pratos. Já no segundo exemplo, atualizamos o saldo de cada cliente, enquanto existirem clientes numa lista determinada para atualização de saldos. 4 ALGOP – Algoritmos e Programação Estrutura de Repetição while () {} Permite que o programa repita uma ou mais instruções a partir da análise de uma condição. Enquanto a condição resultar em verdadeira, as instruções contidas entre os delimitadores de bloco serão executadas. enquanto (expressão lógica) faça while (expressão lógica) instrução 1 instrução 1; fim enquanto ou ou enquanto (expressão lógica) faça while (expressão lógica) instrução 1 { instrução 2 instrução 1; fim enquanto instrução 2; } Observe que a condição é testada no inicio da estrutura… :-) 5 ALGOP – Algoritmos e Programação Estrutura de Repetição while () {} (exemplo) #include <stdio.h> #include <conio.h> int main() { int soma = 0; // declarando e já inicializando as variáveis int cont = 1; printf ("Soma dos numeros de 1 ate 20\n"); while (cont <= 20) { soma = soma + cont; cont = cont + 1; } printf ("Soma = %d", soma); getch(); return 0; } 6 ALGOP – Algoritmos e Programação Estrutura de Repetição do {} while (); Permite que o programa execute um bloco de instruções e, em seguida, analise uma condição para decidir se repete ou não a execução do mesmo bloco de instruções. faça do instrução 1 instrução 1; enquanto (expressão lógica) while (expressão lógica); ou ou faça do instrução 1 { instrução 2 instrução 1; enquanto (expressão lógica) instrução 2; } Observe que a condição é testada while (expressão lógica); no final da estrutura… :-) 7 ALGOP – Algoritmos e Programação Estrutura de Repetição do {} while (); (exemplo) #include <stdio.h> #include <conio.h> int main() { int soma = 0, cont = 1; printf ("Soma dos numeros de 1 ate 20\n"); do { soma = soma + cont; cont = cont + 1; } while (cont <= 20); printf ("Soma = %d", soma); getch(); return 0; } 8 ALGOP – Algoritmos e Programação Estrutura de Repetição for (;;) {} Permite que o programa repita uma ou mais instruções a partir da análise de uma condição. A estrutura for conta com 3 regiões: for (inicialização ; condição ; incremento) {} inicialização: informa com a variável de controle é iniciada... condição: expressão lógica que indica quando o laço deve terminar... incremento: informa como a variável de controle é alterada a cada iteração do laço (executado após as instruções do bloco do laço). para n de 1 ate 10 faça passo 1 for (n = 1; n <= 10 ; n = n + 1) instrução 1 { instrução 2 instrução 1; fim para instrução 2; } A condição é testada no início e após cada incremento ... :-) 9 ALGOP – Algoritmos e Programação Estrutura de Repetição for (;;) {} (exemplo) #include <stdio.h> #include <conio.h> int main() { int soma = 0, cont; printf ("Soma dos numeros de 1 ate 20\n"); for (cont = 1; cont <= 20; cont = cont + 1) { soma = soma + cont; } printf ("Soma = %d", soma); getch(); return 0; } 10 ALGOP – Algoritmos e Programação Estruturas de Repetição (instruções break e continue) Eventualmente precisamos abortar (encerrar) a execução do laço ou, em outros casos, simplesmente abortar algumas instruções do bloco do laço para aquela iteração. Para esses casos, fazemos uso das instruções break e/ou continue … :-) break: encerra o laço de repetição, ou seja, vai para a próxima linha de instruções após o laço de repetição. continue: encerra apenas a iteração atual do laço de repetição, ou seja, não executa as outras instruções após a instrução continue (para aquela iteração), mas continua o laço de repetição. Normalmente, o uso dessas instruções está associado a análise de uma condição pouco comum, ou que ocorre com pouca frequencia... :-) 11 ALGOP – Algoritmos e Programação Estruturas de Repetição (continue - exemplo de uso) #include <stdio.h> #include <conio.h> int main() { int cont; for (cont = 1; cont <= 10; cont = cont + 1) { if (cont == 5) { // aborta apenas a iteração, indo para a próxima... continue; } printf ("%d ", cont); } getch(); return 0; } 12 ALGOP – Algoritmos e Programação Estruturas de Repetição (break - exemplo de uso) #include <stdio.h> #include <conio.h> int main() { int cont; for (cont = 1; cont <= 10; cont = cont + 1) { if (cont == 5) { // aborta o laço... (sai da instrução for (;;) {}) break; } printf ("%d ", cont); } getch(); return 0; } 13 ALGOP – Algoritmos e Programação Estruturas de Controle (sugestões de leitura) + ARAÚJO, Everton C. Algoritmos:fundamento e prática. Capítulo: 11 – Estruturas de Repetição. + MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo. Algoritmos: lógica para desenvolvimento de programação de computadores. Capítulo: 5 - Estruturas de Controle – Laços ou Malhas de Repetição. Para Saber Mais + SALIBA, Walter Luís Caram. Técnicas de programação: uma abordagem estruturada. Capítulo: 7 - Controle do Fluxo de Execução. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13
Compartilhar