Buscar

Algoritmo estrutura de repeticao

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 27 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

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 6, do total de 27 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

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 9, do total de 27 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

Programação para Engenharia
Profº Carlos Eduardo
Estruturas de repetição
2
Estruturas de repetição
Estrutura 
sequencial
Estrutura 
condicional
Estrutura de 
repetição
Os comandos são
executados um após
outro, sem opção de
pular ou repetir
comandos.
Permite ao usuário tomar
a decisão de executar ou
não um ou mais
comandos ou.
Permite executar várias
vezes (repetir) um
conjunto de comandos,
com base em uma
quantidade ou condição.
3
• Se uma ação se repete em um algoritmo, em vez de
escrevê-la várias vezes, em certos casos podemos resumir
anotando uma vez só e solicitando que ela se repita,
usando uma das estruturas de repetição.
• Podemos pedir que uma ação (ou um conjunto de ações)
seja executada um número definido ou indefinido de vezes,
ou enquanto um estado permanecer ou até que um estado
seja atingido.
• As principais estruturas de repetição são:
o ENQUANTO...REPETIR
o FAÇA...ENQUANTO
o PARA...ATÉ...REPETIR
Estruturas de repetição
4
• Quando não conhecemos a quantidade de repetições, ou
dependemos de uma condição para encerrar as repetições,
utilizamos a estrutura “Enquanto”
o Enquanto...Repetir
Enquanto (condição) repetir
<instruções>
Fim enquanto
• Quando conhecemos o número de vezes que os comandos
devem ser repetidos utilizamos a estrutura “Para”
o Para...ate...repetir
Para <variável> = <inicio> até <fim> repetir
<instruções>
Fim para
Estruturas de repetição
Para ... até ... repetir
• Formato:
Para <variável> = <valor inicial> até <valor final> repetir <ações>
• Significado: A <variável> é inicializada com <valor
inicial>. Após cada execução das <ações>, soma-se 1 à
<variável> e repete-se as <ações>, continuando assim
até que a <variável> atinja o <valor final>.
• Esta estrutura de repetição cria um contador automático,
que nós não precisamos mandar incrementar. Ao usar
esta estrutura já está subentendido que a <variável>
inicia com <valor inicial> e é incrementada a cada ciclo e
que as <ações> serão repetidas até que a <variável>
tenha o <valor final>.
5
6
• ...mas às vezes poderemos precisar de um ciclo, num
algoritmo, cuja quantidade de repetições nós não sabemos
a princípio, nem temos como descobrir durante a execução!
Veja, por exemplo:
o “Criar um algoritmo que determine o maior de vários números positivos lidos. Ficar
lendo e calculando o maior até que o usuário entre com o número 0 (zero).”
• Neste exemplo não sabemos quantos números o usuário
vai digitar. Temos que ficar esperando que ele digite zero
para parar o processamento e mostrar o maior. Então não
podemos usar a estrutura PARA...ATÉ. Temos que escolher
uma das outras estruturas de repetição...
Enquanto ... repetir
7
• Formato:
Enquanto <operação lógica> repetir <ações>
• Significado: A <operação lógica> é testada. Se for verdadeira,
então executar <ações> e em seguida testar novamente a
op. lógica. Este ciclo prossegue até que em algum teste a op.
lógica resulte em falso.
• Nesta estrutura temos novamente, assim como nas
estruturas de decisão, uma operação lógica determinando se
devemos continuar a repetir ou parar de repetir as ações.
• Devemos garantir que o dado testado na op. lógica tenha seu
valor modificado por alguma das ações repetidas.
Enquanto ... repetir
8
Estruturas de repetição
condição
instrução
V
F
ENQUANTO PARA
condição
instrução
V
F
9
Estruturas de repetição
• Contador:
o uma variável utilizada para contar;
o ela pode ser utilizada como condição para início ou término da estrutura de
repetição;
o ou, apenas para realizar uma contagem de valores;
o o contador iniciado com um valor inicial e é representado por ele mesmo somado à
um incremento, por exemplo:
cont = 0; % início do contador
cont = cont + 1 % incremento do contador
10
Estruturas de repetição
• Exemplo 01: elaborar um algoritmo para imprimir na tela a
contagem de 0 a 5.
Var
cont: inteiro
Início
cont ← 0;
enquanto cont<=5
escreva cont
cont = cont + 1
fim enquanto
Fim
cont = 0;
while cont<=5
fprintf(`%i \n`, cont)
cont = cont + 1
end
Início
cont = 0
cont
<=5
cont
cont = cont + 1
Fim
Início
cont
= 0:5
cont Fim
for cont=1:5
fprintf(`%i \n`, cont)
end
11
Estruturas de repetição
• Acumulador:
o uma variável utilizada para acumular valores por soma, multiplicação, etc;
o o acumulador é iniciado com um valor inicial e é representado por ele mesmo
somado ou multiplicado à um valor (variável), por exemplo:
acm = 0; % início do acumulador
acm = acm + x % incremento do acumulador
ou
acm = 1; % início do acumulador
acm = acm * x % incremento do acumulador
12
Estruturas de repetição
• Exemplo 01: elaborar um algoritmo para imprimir na tela a
soma dos valores de 1 a 20.
Var
cont: inteiro
soma: real 
Início
cont ← 1;
soma ← 0;
enquanto cont<=20
soma = soma + cont
cont = cont + 1
fim enquanto
escreva soma
Fim
cont = 1; soma = 0;
while cont<=20
soma = soma +cont
cont = cont + 1
end
fprintf(`%i \n`, cont)
Início
soma =0
cont = 1
cont
<=20
soma = soma +cont
cont = cont + 1
Fim
Início
cont
= 1:20
Fim
soma = 0;
for cont = 1:20
soma = soma + cont
end
fprintf(`%i \n`, soma)
soma
soma =0
soma
soma = soma + cont
Estruturas de repetição
• Exemplo 02: elaborar um algoritmo para calcular a média
de 4 notas para 5 alunos.
Estruturas de repetição
• Exemplo 03: elaborar um algoritmo para calcular o fatorial
do número 5 (5!).
Estruturas de repetição
• Exemplo 05: elaborar um algoritmo para apresentar os
resultados de uma tabuada de um número qualquer.
Estruturas de repetição
• Exemplo 06:
• O comando while é frequentemente usado para checar um
possível erro de entrada do usuário.
• Considere o exemplo a seguir:
• O programa solicita a entrada de um número positivo para
calcular o log na base 10. Usamos a estrutura while para
testar se o número é positivo ou não. Se for negativo, ele
pede novamente para entrar com um valor positivo, até o
usuário entrar com um número válido.
Estruturas de repetição
18
Exemplos
• Ler 50 números fornecidos pelo usuário e calcular e exibir a
média.
ENQUANTO
Pseudocódigo:
VAR
Real: soma, num, media
Inteiro: cont
INÍCIO
soma = 0
cont = 0
Enquanto cont < 50 repetir
ler num
soma = soma + num
cont = cont + 1
Media = soma / cont
Mostrar media
FIM
PARA
Pseudocódigo:
VAR
Real: soma, num, media
Inteiro: cont
INÍCIO
soma = 0
Para cont =1 até 50 
repetir
ler num
soma = soma + num
Media = soma / cont
Mostrar media
FIM
20
Aplicação no MATLAB
21
Exercícios
Escrever um algoritmo que lê 5 valores, e conta quantos destes
valores são negativos, escrevendo esta informação.
neg=0;
for cont=1:5
numero = input(‘\n Digite um numero inteiro: ‘);
if numero<0
neg=neg+1;
end
end
fprintf (‘\n O numero de valores negativos é %g \n", neg);
22
Enquanto ... repetir
Escrever um algoritmo que lê 5 valores, e conta quantos destes
valores são negativos, escrevendo esta informação.
cont=0;
neg=0;
while cont<5
numero=input(‘\n Digite um numero inteiro: ‘);
if (numero<0)
neg=neg+1;
cont=cont+1;
end
end
fprintf (‘\n O numero de valores negativos é %g \n’, neg);
23
Outros 
exemplos
24
1. Construir um algoritmo que calcule a média aritmética de vários
valores inteiros positivos, lidos externamente. O final da leitura
acontecerá quando for lido um valor negativo.
numero=input(‘\n Digite um valor inteiro positivo. Ou um valor negativo para encerrar: ‘);
whilenumero>=0
soma=soma+numero;
cont=cont+1;
numero=input(‘\n Digite um valor inteiro positivo. Ou um valor negativo para
encerrar: ‘);
end
if cont>0
media=soma/cont;
fprintf(‘\n A media é %.2f \n’, media);
else
fprintf(‘\n Nenhum valor foi digitado ‘);
end
25
2. Escreva um algoritmo que calcule a média aritmética das 3 notas
dos alunos de uma classe. O algoritmo deverá ler, além das notas, o
código do aluno e deverá ser encerrado quando o código for igual a
zero.
codigo=input(‘\n Digite o código do aluno. Ou digite zero para encerrar a execução: ‘);
while codigo~=0
soma=0;
for cont=1:3
nota=input(‘\n Digite a nota: ‘);
soma=soma+nota;
end
media=soma/3;
fprintf(‘\n A média do aluno %g é %.2f\n’, codigo, media);
codigo=input(‘\n Digite o código do aluno. Ou digite zero para encerrar a execução: ‘);
end
26
3. Escreva um algoritmo que calcule a média dos números
digitados pelo usuário, se eles forem pares. Termine a leitura se
o usuário digitar zero (0).
num=input(‘\n Digite um numero inteiro. Ou digite zero para encerrar a execução: ‘);
while num~=0
if rem(num,2)==0
soma=soma+num;
cont=cont+1;
end
num=input(‘\n Digite um numero inteiro. Ou digite zero para encerrar a
execução: ‘);
end
if cont>0
media=soma/cont;
fprintf(‘\n A média é %.2f \n’, media);
else
fprintf(‘\n Nenhum valor foi digitado ‘);
end
27
Mais um exemplo...
4. Faça um programa que realize a venda de produtos a
clientes.
• Cada cliente pode comprar vários produtos.
• Sobre cada produto comprado por cada cliente, leia a
quantidade de unidades compradas e o preço unitário.
• Encerre a entrada de produtos para um cliente
quando o código do produto lido for -1.
• Mostre, para cada cliente, o valor total da sua compra.
• Encerre a entrada de clientes quando o código do
cliente lido for zero.
28
codCli=input('\n Digite o código do cliente. Digite zero para encerrar a execução: ');
while codCli~=0
valorTotal=0;
codProd=input('\n Digite o código do produto. Digite -1 para encerrar a execucao: ');
while codProd~=-1
fprintf('\n Digite a quantidade comprada pelo cliente %g do produto %g ', codCli, codProd);
qtidade=input('= ');
fprintf('\n Digite o valor unitário do produto %g ', codProd);
precoUnit=input('= ');
valorTotal=valorTotal+qtidade*precoUnit;
codProd=input('\n Digite o código do produto. Digite -1 para encerrar a execucao: ');
end
fprintf('\n O cliente %g deve pagar R$ %.2f', codCli, valorTotal);
codCli=input('\n \n Digite o código do cliente. Digite zero para encerrar a execucao: ');
end

Outros materiais