Buscar

ALG 07 REP ENQUANTO

Prévia do material em texto

Universidade 
CEUMA 
Algoritmos ALG07 - 
LINGUAGEM 
ALGORÍTMICA 
- Estrutura de 
Repetição 
Enquanto-faca 
ESTRUTURAS DE REPETIÇÃO 
 Objetivo: 
 permitir que um bloco de comandos seja executado 
repetidamente, sendo esta repetição de comandos 
subordinada ao teste de satisfação da condição. 
 Formas funcionamento da repetição: 
 quando ou quantas vezes os comandos serão 
repetidos dependerá da estrutura de repetição 
utilizada, pois elas tem características de 
funcionamento diferentes. 
 Características: 
 É necessário implementar um critério de parada 
(condição) para que o laço não entre em loop 
infinito. 
 Há 3 estruturas de repetição usuais nas LPs: 
 os laços condicionados 
 enquanto...faca e repita...ate; 
 o laço contado para...ate...faca. 
 
1 
 Objetivo: 
 repetir uma sequência de comandos enquanto uma 
determinada condição (uma expressão lógica) for 
satisfeita. 
 Características: 
 A condição é avaliada antes de cada repetição do 
laço (teste a priori); 
 O bloco de comandos pode ser repetido 0 ou mais 
vezes devido ao teste ser a priori. 
 Quando usar: 
 Quando necessita-se realizar repetições de tarefas 
para que um dado processamento gere um 
resultado; 
 Quando sabe-se previamente a quantidade de 
repetições ou não. 
 
Estrutura de Repetição: enquanto...faca 2 
 Funcionamento: 
 1) A condição do laço é inicialmente testada, caso 
seja satisfeita (verdadeira) o bloco de comandos 
entre os tokens enquanto e fimenquanto são 
executados; 
 2) Quando o fluxo de execução atinge o final do 
laço, volta-se ao início do laço (token enquanto) e 
avalia-se novamente a condição; 
 3) Quando a condição do laço não for satisfeita 
(falsa), o fluxo de execução passa para a próxima 
linha de comando após o fimenquanto. 
Estrutura de Repetição: enquanto...faca 3 
Atenção! O token fimenquanto é utilizado para indicar o fim 
da subordinação de um bloco de comandos à condição da 
repetição. 
 Sintaxe: 
enquanto <condição> faca 
comando-A1 
comando-A2 
fimenquanto 
Exemplo: 
leia (senha) 
enquanto senha <> “asper” faca 
 escreval (“Senha inválida”) 
 escreval (“Digite a senha 
novamente”) 
 leia (senha) 
fimenquanto 
Estrutura de Repetição: enquanto...faca 4 
Atenção! Pode-se aninhar várias 
estruturas de repetição enquanto...faca e 
também outras estruturas de decisão. 
 Fluxograma: 
 Objetivo: 
 Realizar a contagem de uma ação ou ocorrência 
de algo. 
 Características: 
 É uma variável incrementada, ou seja, que sofre 
uma auto substituição; 
 é uma variável acumuladora, ou seja, a variável 
acumula o seu próprio valor anterior somado a 
outro valor ou outra variável; 
 Deve ser declarada como sendo do tipo inteiro; 
 Deve ser inicializada antes da auto substituição, 
geralmente após sua declaração; 
 O valor de inicialização dependerá da lógica 
necessária em cada situação. 
Variáveis contadoras 5 
Estrutura de Repetição: enquanto...faca 6 
 Funcionamento: 
 Quando utilizada em uma estrutura de repetição, 
o incremento dependerá da condição da 
repetição. 
 O mais comum é que uma variável contadora 
seja adicionada de 1 unidade, mas isto 
dependerá da lógica requerida. 
 É comum ser utilizada em uma estrutura de 
repetição. 
 Quando utilizar: 
 Para contar a ocorrência de uma dada situação; 
 Como critério de parada em uma condição de 
uma estrutura de repetição. 
1) Faça um algoritmo que mostre os 50 primeiros números 
inteiros positivos. 
 
algoritmo "mostra50numeros" 
// Função : mostra cinquenta números utilizando a 
estrutura enquanto 
 
var 
 contint: inteiro 
inicio 
 contint <- 0 //esta inicialização é necessária 
 
 enquanto contint < 50 faca 
 escreval (contInt) 
 contInt <- contInt + 1 
 fimenquanto 
fimalgoritmo 
Exemplos 7 
2) Faça um algoritmo que leia um número N, some todos os 
números inteiros de 1 a N e mostre o resultado obtido. 
Exemplos 8 
Exemplos 
3) Fornecidos uma série de 
20 valores reais pelo usuário, 
faça um algoritmo que 
calcule e escreva a média 
aritmética destes valores. Se 
a média obtida for maior 
que 8 deverá ser atribuída 
10 para a média. 
Atenção! A inicialização da 
variável pode causar um erro. 
Neste caso, o laço é repetido 
21 vezes e não 20. 
9 
10 Exemplos 
4. Escreva um algoritmo que calcule a média aritmética entre 
duas notas para os 50 alunos de uma sala. 
5. Escreva um algoritmo que solicite ao usuário digitar um 
número e forneça o quadrado deste número digitado, 
enquanto esse número for positivo. No momento em que 
o usuário digitar um valor negativo deve aparecer a 
mensagem de que o número digitado é negativo. 
 
Exemplos 11 
Atenção! Não se pode prever em que 
momento o usuário irá digitar um número 
negativo. Logo, não há como saber 
previamente a quantidade de repetições. 
 Objetivo: 
 Interromper o fluxo de execução de uma estrutura 
de repetição independentemente do atingimento 
do critério de parada.; 
 causar uma saída imediata do laço (saída 
forçada; abortar a repetição). 
 Características: 
 As três estruturas de repetição permitem o uso do 
comando interrompa; 
 É uma técnica que de certa forma está em 
desacordo com os princípios da programação 
estruturada, é utilizada em várias linguagens de 
programação estruturada. 
Comando Interrompa 12 
Atenção! O uso do comando interrompa deve ser evitado 
sempre que possível. 
Exemplo: Interrompa 13 
1. Escreva um algoritmo que receba uma quantidade 
indeterminada de números positivos e diga quantos 
deles estão no intervalo de 0 a 25, quantos estão no 
intervalo de 26 a 50 e quantos são maiores que 50. O 
algoritmo deve parar quando o usuário digitar um 
número negativo. 
2. Escreva um algoritmo que receba um número diversas 
vezes e mostre o seu inverso (1/n). O algoritmo encerra 
quando o valor digitado é zero, exibindo uma 
mensagem de erro que diz que não se pode dividir por 
zero. 
3. Escreva um algoritmo que receba o preço e a 
quantidade de 20 diferentes produtos e mostre o valor 
total da compra. 
4. Escreva um algoritmo que solicite ao usuário digitar um 
número inteiro positivo e depois calcule o somatórios de 
todos os números pares no intervalo de 0 até o número 
digitado. 
EXERCÍCIOS 14 
5. Escreva um algoritmo que solicite ao usuário digitar um 
número inteiro positivo e imprima na tela todos os 
números ímpares deste intervalo (de 0 até o número 
digitado). 
6. Escreva um algoritmo que determine o ano em que a 
população brasileira supera ou iguala a população 
americana. O usuário deverá informar as populações e o 
ano referente a estas informações. Além disso, o cálculo 
do reajuste da população brasileira deve ser de 4% ao 
ano e a americana de 2% ao ano. 
EXERCÍCIOS 15

Continue navegando