Baixe o app para aproveitar ainda mais
Prévia do material em texto
Repetição Chamadas de estruturas iterativas, iterações, laços ou loops; Permitem repetir a execução de uma ação várias vezes; Podem ser: 1. Repetição com Teste no Início 2. Repetição com Teste no Fim 3. Repetição com Variável de Controle Repetição com Teste no Início Semântica: Enquanto a condição for verdadeira, a seqüência será repetida. Quando a condição fornecer resultado falso, o controle sai da estrutura passando para o comando seguinte ao final do bloco. Pseudolinguagem enquanto (condição) faça inicio c1 ; c2; … cn; fim. Exemplo 1: Uso de FLAG Obs.: FLAG é um valor específico fornecido após o último dado de entrada, que serve para indicar o fim dos dados de entrada. FLAG é somente uma marca de fim dos dados de entrada (não é um dado de entrada) e não pode ser processado. A leitura do FLAG informa ao programa que os dados de entrada terminaram e que ele deve partir para a execução da finalização de seu processamento (cálculos finais, impressões finais etc.). Exe1. Desenvolver um algoritmo para ler uma seqüência de números inteiros, calcular e imprimir o quadrado de cada número lido. O último valor a ser lido é um FLAG = 0. algoritmo inico inteiro NUM, QUADRADO; leia(NUM); // lê o 1º conjunto de dados enquanto (NUM 0) faça // testa se não é FLAG inicio QUADRADO NUM*NUM; imprima (QUADRADO); leia(NUM); // lê o próximo conjunto de dados fim fim. Exe2: Desenvolver um algoritmo para ler uma seqüência de números inteiros com FLAG = 0, calcular e imprimir a soma desses números. Importante: Uma forma possível para resolver o problema de somatório de valores (acumulador) é imaginar uma variável que armazena as somas parciais. Essa variável deve iniciar com zero e somar número por número, até o final da sequência. Algoritmo inicio inteiro NUM, SOMA; SOMA← 0; leia(NUM); enquanto (NUM≠ 0) faça inicio SOMA SOMA + NUM; leia(NUM); inicio imprima (SOMA); fim. Exe3: Desenvolver um algoritmo para ler uma seqüência de números inteiros com FLAG = 0, calcular e imprimir a quantidade de números lidos. Obs.: Contador é um acumulador que é incrementado de 1 em 1. algoritmo inteiro NUM, CONT; inicio CONT← 0; leia(NUM); enquanto (NUM ≠0) faça inicio CONT ←CONT + 1; leia(NUM); fim imprima (CONT); fim
Compartilhar