Buscar

2015 2 repetição condicional

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Introdução à Programação 1 
 
3.10 – Estrutura de Repetição Condicional 
 
– sua função é controlar a repetição de um comando (ou de uma lista de comandos) um 
número indeterminado de vezes, ou enquanto uma condição for verdadeira. 
– A condição é um teste lógico similar ao que foi apresentado na estrutura de Desvio 
Condicional. Cuidado para não confundir as duas estruturas. 
– Para que isto possa acontecer precisamos adotar uma forma de informar ao computador o 
momento de encerrar a repetição. Isto pode ser feito com uso de “flag” (valor armazenado 
em uma variável, ou variáveis, utilizadas no teste lógico da Estrutura de Repetição 
Condicional, que faz com que o resultado do teste seja falso). 
– Sintaxe básica: 
enquanto (condição) faça <comando>; 
ou 
enquanto (condição) faça início 
<comando1>; 
<comando2>; 
<comando3>; 
fim; 
(comentário: o comando (ou lista de comandos) será executado enquanto o resultado do teste 
lógico for verdadeiro. Atenção: para que a estrutura funcione corretamente precisaremos 
garantir que um dos comandos que fazem parte da estrutura possa alterar o resultado do teste 
lógico, ou seja, altere o valor de uma ou mais variáveis utilizadas no teste. Existem várias 
formas de se fazer isto, veremos algumas delas nos exemplos a seguir). 
 
Algoritmo 17 – Fazer um algoritmo para escrever a soma de valores. 
 
Primeiro passo (como já visto em exemplos anteriores): compreensão e análise do problema 
proposto. 
Segundo passo: identificação de verbos e substantivos no enunciado e lista de ações 
encontradas: 
– escrever a soma 
Terceiro passo: busca por ações básicas e pelas necessidades para executá-las, vamos usar o 
raciocínio adotado em exemplos anteriores que resultam no uso de poucos espaços de 
memória. 
Teremos então: 
 - soma � 0 
 - ler valor 
 - soma ���� soma + valor 
 - ler valor 
 - soma ���� soma + valor 
- ler valor 
 - soma ���� soma + valor 
- ler valor 
 . 
 . (repetiremos as ações até somar o último valor) 
 . 
 - soma � soma + valor 
 - escrever soma 
Introdução à Programação 2 
 
Podemos observar que neste caso a leitura e soma de valores irá se repetir “indefinidamente” 
ou até que seja informado que não há mais valores a serem somados. 
Para repetir um comando ou lista de comandos um número indeterminado de vezes 
poderemos usar a estrutura de repetição condicional, neste caso devemos nos lembrar que, 
conforme já citado anteriormente, precisaremos garantir que algum comando interno à 
estrutura possa alterar o resultado do teste lógico feito no início da mesma. 
Para encontrar uma solução para o caso vamos pensar no “mundo real”, buscar um exemplo 
que conhecemos, o da calculadora. 
 
Em uma calculadora podemos verificar que para somar valores usamos a seguinte sequência 
de ações: 
 Informamos o 1º valor 
 Pressionamos a tecla “+” 
 Informamos o 2º valor 
Pressionamos a tecla “+” .... 
(vamos repetindo estes passos até chegar ao último valor que desejamos somar, então) 
 Informamos o último valor 
 Pressionamos a tecla “=” 
(obtendo assim o resultado da soma) 
 
Podemos criar uma estrutura similar utilizando a estrutura de repetição condicional, onde 
iremos informar um valor e em seguida um sinal para saber se temos novo valor o se é para 
encerrar a entrada de valores. 
 
Vamos que definir que se queremos informar um valor e somá-lo digitaremos “S” e para 
encerrar a entrada e soma de valores digitaremos “N”, inicialmente iremos armazenar “S” em 
um espaço da memória (considerando que se o programa foi colocado em execução é porque 
queremos somar valores). 
 
 - somar � ‘S’ 
 - soma � 0 
 - ler valor 
 - soma ���� soma + valor 
 - somar ���� ‘S’ (pois queremos informar mais valores) 
 - ler valor 
 - soma ���� soma + valor 
 - somar ���� ‘S’ (pois queremos informar mais valores) 
- ler valor 
 - soma ���� soma + valor 
 - somar ���� ‘S’ (pois queremos informar mais valores) 
 . 
 . (repetiremos as ações até armazenar e somar o último valor) 
 . 
- ler valor 
 - soma ���� soma + valor 
 - somar ���� ‘N’ (pois não queremos informar mais valores) 
 - escrever soma 
Introdução à Programação 3 
 
Observamos que podemos identificar, agora, uma repetição de ações, e podemos encerrá-la 
informando um valor diferente de ‘S’ quando quisermos. O resultado de nossa busca por ações 
básicas será então: 
 
 - somar � ‘S’ 
 - soma � 0 
 - repetir enquanto o espaço “somar” armazenar o valor ‘S’ 
 - ler valor 
 - soma � soma + valor 
 - armazenar ‘S’ ou ‘N’’ no espaço somar 
 - escrever soma 
 
Quarto passo: algoritmo 
 
 programa SOMA; 
 variáveis V, R : real; 
 SOMAR : caracter; 
 início 
 escreva (‘ Programa para somar valores’); 
 escreva (´Para finalizar a soma digite N, para somar mais um valor digite S’); 
SOMAR := ‘S’; 
 R := 0; 
 enquanto ( ( SOMAR = ‘S’) ou (SOMAR = ‘s’) ) faça início 
 escreva (‘Digite o valor a ser somado e tecle enter’); 
leia ( V ); 
 R := R + V; 
 escreva (‘Digite ‘S’ para informar novo valor ou ‘N’ para o resultado’); 
 leia (SOMAR); 
 fim; 
 escreva ( ‘ A soma dos valores é : ’ , R ); 
 fim. 
 
 
Outra forma possível para uso da estrutura de repetição condicional pode ser observada a 
partir do funcionamento de um caixa de supermercado. Vamos fazer a análise deste caso no 
algoritmo seguinte. 
 
Algoritmo 18 – Fazer um algoritmo para somar preços de produtos. 
 
Observando como funciona um caixa de supermercado notamos que a soma de preços dos 
produtos é “aberta” quando o funcionário passa o primeiro produto pelo leitor de códigos de 
barras e é fechada quando, não tendo mais produtos, ele digita uma tecla. 
 
O que acontece no caso é que o programa, após seu início, fica esperando um código de 
barras válido, quando esta informação entra através do leitor ótico o preço do produto é 
buscado em um banco de dados. Este primeiro preço é usado para o teste lógico da estrutura 
de repetição. Sendo ele válido, ele é somado ao subtotal anterior (no caso zero) e é solicitado 
Introdução à Programação 4 
um novo produto (que é informado através do leitor ótico). Sendo este novo produto válido o 
teste a ser executado será mais uma vez válido e o preço é somado. Ao fim do processo, não 
havendo mais produtos, o funcionário digita uma tecla, que irá produzir um valor inválido, e a 
repetição de soma e leitura é encerrada. 
 
Vamos montar as nossas ações básicas a partir da observação do “mundo real”. 
 
- soma � 0 
- ler um preço 
- repetir enquanto “preço for válido” 
 - soma � soma + preço 
 - ler um preço 
- escrever soma 
 
Obs.: um preço válido será um preço maior que zero, então para informarmos um preço 
inválido, que irá encerrar a repetição, podemos digitar zero ou um valor negativo para o 
mesmo. Note ainda que desta forma estaremos também garantindo que um comando interno 
da estrutura de repetição condicional poderá mudar o resultado do teste lógico de verdadeiro 
para falso. 
 
O resultado final do algoritmo será: 
 
 programa CAIXA; 
 variáveis P, S : real; 
 início 
 escreva (‘ Programa para somar preços’); 
 escreva (´Para finalizar a soma digite zero ou valor negativo para o preço’); 
 S := 0; 
 escreva (‘Digite o preço do primeiro produto e tecle enter’); 
 leia ( P ); 
 enquanto ( P > 0 ) faça início 
 S := S + P; 
escreva (‘Digite o preço do produto seguinte e tecle enter’); 
escreva (‘para encerrar digite preço menor ou igual a zero’); 
leia ( P ); 
 fim; 
 escreva ( ‘ A soma dos preços é : ’ , S ); 
 fim. 
 
 
 
Algoritmo 19 – Fazer um algoritmo para escrever a média de um conjunto de valores. 
 
Algoritmo 20 – Fazer um algoritmo para escrever a soma e a média de um conjunto de valores. 
 
Algoritmo 21 – Fazer um algoritmo para somar os preços de um produto segundovárias 
cotações e escrever o maior valor, o menor valor e a média de preços.

Continue navegando