Buscar

Computação Básica - Estruturas de repetição com teste no final

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

Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
COMPUTAÇÃO BÁSICA
Estruturas de Repetição com teste no final
Prof. Bruno Macchiavello (bruno@cic.unb.br)
Universidade de Brasília – UnB 
Instituto de Ciências Exatas – IE 
Departamento de Ciência da Computação – CIC 
Prof. Bruno Macchiavello 1
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Repetição com teste no final
�Esta estrutura de repetição permite repetir um
conjunto de ações enquanto uma determinada
condição seja válida.
�As instruções são executadas enquanto o
resultado de um teste lógico, após executar as
instruções, seja VERDADEIRO.
Prof. Bruno Macchiavello 2
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Prof. Bruno Macchiavello 3
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Prof. Bruno Macchiavello 4
TESTE NO FINAL TESTE NO INICIO
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Repetição com teste no Final
� PseudoCódigo
Na linguagem C:
Faça
<conjunto de instruções>
Enquanto (condição)
Prof. Bruno Macchiavello 5
� Na linguagem C:
� ATENÇÃO: Dentro do laço de repetição a variável de controle (da condição) 
deve ser alterada para garantir que o laço tenha um momento de saida, 
evitando assim um loop infinito.
do {
<conjunto de instruções>;
} while (condição);
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Repetição com teste no final
• A repetição com teste no início (como já
visto), apenas realizará o conjunto de
instruções caso a condição sejainstruções caso a condição seja
verdadeira, já a repetição com teste no
final garante que o conjunto de instruções
dentro do loop será realizado ao menos
uma vez antes de testar a condição.
Prof. Bruno Macchiavello 6
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Repetição com teste no FINAL
• Uma estrutura equivalente ao FAÇA
ENQUANTO, e a estrutura REPITA ATÉ.
• Na estrutura REPETIA ATÉ: As instruções são• Na estrutura REPETIA ATÉ: As instruções são
executadas enquanto o resultado de um teste
lógico, após executar as instruções, seja
FALSO.
Prof. Bruno Macchiavello 7
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Repetição com teste no final
Repita 
<lista de comandos>
�A expressão REPITA em pseudo-código:
Prof. Bruno Macchiavello 8
<lista de comandos>
até <condição ou expressão lógica> 
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exemplo 1
• Vamos fazer um algoritmo que leia a idade de 
diferentes pessoas. Até que a soma acumulada 
das idades seja maior ou igual a 100 anos. Ao 
terminar o algoritmo deve-se mostrar na tela o 
total de pessoas e a média de idade. total de pessoas e a média de idade. 
• Notar que é necessário pelo menos ler a idade 
de uma pessoa, logo é possível utilizar a 
estrutura FAÇA ENQUANTO.
Prof. Bruno Macchiavello 9
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Algoritmo Idade
Variáveis
idade, quant, soma: inteiro
media: real
inicio
soma←←←← 0 //inicialmente a soma acumulada é zero 
quant ←←←← 0 //inicialmente não existe ainda nenhuma pessoa 
Exemplo 1
Prof. Bruno Macchiavello 10
quant ←←←← 0 //inicialmente não existe ainda nenhuma pessoa 
media ←←←← 0 //como não foi inserido nenhuma idade a media é zero
Faça
escreva(“Digite a idade:”)
leia(idade)
quant ←←←← quant+1
soma ←←←← soma + idade
Enquanto soma < 100 //a repetição deve ser feita até 100 anos 
media ←←←← soma/quant
escreva(“O total de pessoas é:”,quant)
escreva(“A media de idade é:”, media)
fim
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
#include <stdio.h>
int main(){
int idade,quantidade=0, soma=0;
float media=0;
do 
{ 
printf(“ Digite a idade\n “);
scanf(“%d”,&idade);
Exemplo 1 – ANSI C
Prof. Bruno Macchiavello 11
scanf(“%d”,&idade);
quantidade++;
soma=soma+idade; 
} while (some<100);
media=soma/quantidade;
printf(“O total de pessoa é %d com media de idade %4.2f”,quantidade,media); 
return(1);
}
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exemplo 2
Exemplo 2:
Elabore um algoritmo que solicite números inteiros até que um 
número ímpar seja digitado. O algoritmo deverá informar, ao final, 
quantos números pares foram informados.
Algoritmo NumerosPares
Variáveis
numero, qtdepares : inteiro
Prof. Bruno Macchiavello 12
numero, qtdepares : inteiro
Início
qtdepares ←←←← 0
Faça
Escreva (“Informe um número”)
Leia (numero)
qtdepares ←←←← qtdepares + 1
Enquanto (mod(numero, 2) = 0)
qtdepares ←←←← qtdepares – 1
Escreva (“Numeros pares informados: ”, qtdepares)
Fim
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exemplo 2
Programa em C do algoritmo anterior
#include <stdio.h>
int main () {
int numero, qtdepares;
qtdepares = 0;
do {
Prof. Bruno Macchiavello 13
do {
printf( “\nInforme um número: “);
scanf(“%d”,&numero);
qtdepares++;
} while ((numero % 2 ) == 0);
qtdepares--;
printf(“\nNumeros pares informados: %d”, qtdepares);
return 0;
}
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exemplo 2
� Teste de mesa para o algoritmo anterior:
Teste de mesa 1
numero qtdepares ((numero % 2)==0)
2 1 Sim
4 2 Sim
5 3 Não
Prof. Bruno Macchiavello 14
� Note que no teste de mesa 2, mesmo a condição sendo 
falsa na primeira vez, o loop foi executado uma vez.
5 3 Não
2
Teste de mesa 2
Numero qtdepares ((numero % 2)==0)
7 1 Não
0
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exercícios
1. A conversão de graus Farenheit para centígrados é obtida por C = 5 (F – 32) / 9. 
Escrever um algoritmo que calcule e escreva uma tabela de centígrados em função de 
graus Farenheit, começando em 50 até 150, variando de 2 em 2. 
2. Determinar o percentual de aprovação e reprovação em um conjunto de N alunos, 
conhecidas as notas dos quatro bimestres, sendo a média de aprovação igual ou 
superior a 5,0. O usuário deve ingressar o numero de alunos e a nota de cada bimestre 
Prof. Bruno Macchiavello 15
superior a 5,0. O usuário deve ingressar o numero de alunos e a nota de cada bimestre 
d e cada um deles. O programa deve validar que cada nota estejaentre 0 e 10, fazer a 
media aritmética de cada aluno e a porcentagem de alunos aprovados e desaprovados. 
Nota: O algoritmo deve ser feito com dois laços encadeados de repetição com teste 
no final.

Continue navegando