Programação de Computadores - 3
Estruturas de Repetição Em certas situações é necessário efetuar a repetição de um trecho de programa um determinado número de vezes. Pode-se criar um looping que efetue o processamento de um determinado trecho tantas vezes quantas forem necessárias. Os loopings também são chamados de laços de repetição ou malhas de repetição.
Estruturas de Repetição Exemplo: Criar um programa que leia um valor para a variável X, multiplique esse número por 3, atribua a resposta à variável R e apresente o valor obtido, repetindo esta seqüência por cinco vezes.
Repetição do tipo “enquanto” Caracteriza-se por uma estrutura que efetua um teste lógico no início de um looping, verificando se é permitido executar o trecho de instruções subordinado a este looping. enquanto...faça...fim_enquanto enquanto (<condição V>) faça <instruções para condição V> fim_enquanto
Exemplo (“enquanto”) programa loop; var X, R, CONT: inteiro; inicio enquanto (CONT <= 5) faça leia X; R X * 3; escreva R; CONT CONT +1; fim_enquanto; fim.
Repetição do tipo “repita” Caracteriza-se por uma estrutura que efetua um teste lógico no fim de um looping. A estrutura repita...até tem o seu funcionamento controlado por decisão. Porém, irá efetuar a execução de um conjunto de instruções pelo menos uma vez até verificar a validade da condição estabelecida. repita <conjunto de instruções> até (<condição V>)
Exemplo (“repita”) programa loop; var X, R, CONT: inteiro; inicio leia X; R X * 3; escreva R; CONT CONT +1; até (CONT > 5); fim.
Repetição do tipo “variável de controle” Os loopings que possuem um número finito de execuções poderão ser processados através de uma estrutura de laços denominada para...até...passo. para <variável> = <início> até <fim> passo <incremento> faça <instruções dentro do para...passo> fim_para para i=1 até 10 passo 1 faça escreva (i); fim_para;
Exemplo (“para passo”) programa loop; var X, R, CONT: inteiro; inicio para CONT=1 até 5 passo 1 faça leia X; R X * 3; escreva R; até (CONT > 5); fim_para; fim.
Estruturas Encadeadas Podem ocorrer algoritmos que possuam o encadeamento de um tipo de estrutura de repetição com um outro tipo de estrutura de repetição. A existência destas ocorrências vai depender do problema a ser solucionado.
Exemplos - 1 enquanto (<condição 1>) faça <instruções> fim_enquanto; enquanto (<condição 1>) faça repita até_que (<condição 2>) enquanto (<condição>) faça para <var>=<inicio> até <fim> passo <i> faça fim_para;
Exemplos - 2 repita repita <instruções> até_que (<condição 2>); até_que (<condição 1>); repita enquanto (<condição 2>) faça fim_enquanto; repita para <var>=<inicio> até <fim> passo <i> faça fim_para; até_que (<condição>);
Exemplos - 3 para <v1>=<inicio> até <fim> passo <i> faça para <v2>=<inicio> até <fim> passo <i> faça <instruções> fim_para; para <var>=<inicio> até <fim> passo <i> faça enquanto (<condição>) faça <instruções> fim_enquanto; para <var>=<inicio> até <fim> passo <i> faça repita até_que (<condição>);
Exercício de fixação Elaborar um algoritmo que calcule a fatorial de um número qualquer. Ele deve calcular tantas fatoriais quanto o usuário queira.