Algoritmos
Escher
Agenda
• Estruturas de Repetição;
• Estrutura Para;
• Exercícios;
• Estruturas:
• Enquanto
• Faça ... Enquanto;
• Exercícios.
Conceitos Iniciais
Estruturas de Repetição:
 Este capítulo é um dos mais importantes. A partir desse
ponto, a dificuldade na resolução dos algoritmos fica por
conta do lugar onde as estruturas de repetição deverão
ser colocadas para atender às exigências dos enunciados.
Conceitos Iniciais
Estruturas de Repetição:
 É uma estrutura que permite que uma seqüência
de comandos seja executada repetidamente até
que uma determinada condição de interrupção
seja satisfeita.
Conceitos Iniciais
Estrutura de Repetição PARA:
 Usada quando o número de repetições for conhecido
durante a elaboração do algoritmo ou quando puder ser
fornecido durante a execução.
Estrutura de Repetição PARA
Fluxograma Representando a Estrutura PARA
F
v.inicial , cond., incr.
V
Comando
Uma única condição, expressão
lógica, é avaliada.
PARA o resultado verdadeiro
(S1M) um determinado
conjunto de instruções é
executado. O incremento é
feito e condição é testada
novamente.
Estrutura de Repetição PARA
Estrutura de Repetição PARA :
 Sintaxe:
para ( valor inicial ; <condição> ; <valor do incremento> )
{
Bloco de comandos
}
 PARA a condição verdadeira (1) o(s) comando(s) entre
as {} serão executados.
prog AlgoritmoContarde1a3
int cont;
cont
cont <=3
?
?
...
...
1
?
1
V
2
V
3
V
4
F
Memória
para (cont <- 1; cont <= 3; cont++)
{
imprima cont, "\n";
}
Loop
fimprog
Condição
Passo1 - Inicializa a variável de controle,
aqui chamada de cont.
Passo3 - Incrementa variável de controle;
retorna ao Passo2.
1
2
3
Monitor
Passo2 - Testa a condição, de for
verdadeira executa o conjunto de
instruções, caso contrário encerra o
PARA.
Exercícios
Algoritmo 174
Imprimir todos os números de 1 até 100.
Algoritmo 175
Imprimir todos os números de 100 até 1.
Algoritmo 176
Imprimir os 100 primeiros pares.
Algoritmo 177
Imprimir os múltiplos de 5, no intervalo de 1 até 500.
Algoritmo 178
Imprimir o quadrado dos números de 1 até 20.
Algoritmo 183
Entrar com 10 numeros e imprimir o quadrado de cada numero.
Algoritmo 190
Entrar com um nome, idade e sexo de 20 pessoas. Imprimir o nome se a pessoa for do
sexo masculino e tiver mais de 21 anos.
Conceitos Iniciais
Estrutura de Repetição ENQUANTO:
 Estrutura recomendada quando o número de repetições
for desconhecido, sendo necessária uma chave (um teste
ou flag) para interromper a repetição.
 É uma estrutura que testa a condição no início, e só
repete se a condição for verdadeira.
 Uma das perguntas mais comuns é: “o comando leia
vem antes ou depois da estrutura de repetição?”
Estrutura de Repetição ENQUANTO
Fluxograma Representando a Estrutura ENQUANTO
F
Condição
V
comando
Uma única condição, expressão
lógica, é avaliada.
ENQUANTO o resultado for
verdadeiro (S1M) um
determinado conjunto de
instruções é executado. E a
condição é testada novamente.
Estrutura de Repetição ENQUANTO
Estrutura de Repetição ENQUANTO:
 Sintaxe:
enquanto (condição)
{
Bloco de comandos;
}
 Enquanto a condição for verdadeira (1) o(s) comando(s)
entre as {} serão executados.
Estrutura de Repetição ENQUANTO
Estrutura de Repetição ENQUANTO:
 Nos exemplos a seguir, mostraremos a importância da
chave e da inicialização da variável que faz parte da
expressão que controla a repetição.
Estrutura de Repetição ENQUANTO
Estrutura de Repetição ENQUANTO:
prog algoritmo258
real num;
enquanto( num > 0.0)
{
imprima "\nDigite o numero: ";
leia num;
imprima "\nDobro: ", num * 2;
}
imprima "\n";
fimprog
Fail: variável num nãoinicializada.
Estrutura de Repetição ENQUANTO
Estrutura de Repetição ENQUANTO:
prog algoritmo259
real num;
imprima "\nDigite o numero: ";
leia num;
enquanto( num >0.0)
{
imprima "\n Dobro: ", num *2;
}
imprima "\n";
Fimprog
Digite o número: 8
Dobro: 16
Dobro: 16
Dobro: 16
Dobro: 16
Dobro: 16
Dobro: 16
Dobro: 16
Observação: o algoritmo
entra em loop.
Estrutura de Repetição ENQUANTO
Estrutura de Repetição ENQUANTO:
prog algoritmo260
real num;
imprima "\nDigite numero: ";
leia num;
enquanto( num > 0.0)
{
imprima "\nDobro: ", num *2;
imprima "\nDigite numero: ";
leia num;
}
imprima "\n";
fimprog
Digite numero: 8
Dobro: 16
Digite numero: 45
Dobro: 90
Digite numero: 0
Estrutura de Repetição ENQUANTO
Resumo Repetição ENQUANTO:
Usamos de duas formas:
1leia nome da variável presente na condição;
enquanto (condição que inclui a variável do
comando leitura)
{
BLOCO DE COMANDOS ;
leia nome da variável presente na condição;
}
Estrutura de Repetição ENQUANTO
Resumo Repetição ENQUANTO:
2nome da variável presente na condição <- valor;
enquanto (condição que inclui a variável do comando de atribuição)
{
BLOCO DE COMANDOS ;
nome da variável presente na condição <- nome da variável
presente na condição <um operador> valor;
}
Estrutura de Repetição ENQUANTO
“LEMA”
Um comando de leia (ou de atribuição) antes do
enquanto para entrar na repetição e um comando leia
(ou de atribuição) ates do }, para sair da repetição.
Estrutura de Repetição ENQUANTO
Simulação da Estrutura PARA utilizando
ENQUANTO:
prog enqpara
int a;
a <- 1;
enquanto (a <= 10)
{ imprima “\n”, a ;
a++;
}
imprima “\n”;
fimprog
Comparativo: (Para) X (Enquanto)
Para
int i, N, Valor,Soma <- 0;
leia N;
para (i<- 0; i<N; i++) {
leia Valor;
Soma <- Soma + Valor;
}
Enquanto
int i, N, Valor,Soma <- 0;
leia N;
i <- 0;
enquanto (i < N) {
leia Valor;
Soma <- Soma + Valor;
i++ ;
}
Conceitos Iniciais
Estrutura de Repetição FAÇA ... ENQUANTO:
 Estrutura recomendada quando o número de repetições
for desconhecido, sendo necessária uma chave (um teste
ou flag) para interromper a repetição.
 Semelhante ao ENQUANTO, porém, a condição é
testada ao final do laço, então os comandos dentro do
laço são executados pelo menos 1 vez.
Estrutura de Repetição FAÇA…
Fluxograma Representando a Estrutura FAÇA…
Comando1
...
Comando2
ComandoN
V
condição
F
Uma única condição, expressão
lógica, é avaliada.
FAÇA um determinado conjunto
de instruções ENQUANTO o
resultado da condição for
verdadeiro (S1M) .
Estrutura de Repetição FAÇA…
Estrutura de Repetição FAÇA ... ENQUANTO:

Sintaxe:
faca
{
Bloco de comandos;
}
enquanto (condição)
 Faça ) a execução do(s) comando(s) entre as {}
Enquanto a condição for verdadeira (1).
Estrutura de Repetição FAÇA
Simulação da Estrutura PARA utilizando
FAÇA ... ENQUANTO:
prog facaenqpara
int a;
a <- 1;
faca
{ imprima “\n”, a;
a++;
}
enquanto (a <= 10)
imprima “\n” ;
fimprog
Qual Estrutura Usar ???
Para
Sabe-se o número de repetições
Enquanto
Não sabe-se o número exato de
repetições
Faça ...
Enquanto
Não sabe-se o número de
repetições, executando pelo
menos uma vez.
 Toda estrutura ENQUANTO pode ser convertida para
Faça...Enquanto e vice-e-versa;
 Toda estrutura PARA pode ser convertida em
ENQUANTO, mas nem toda estrutura ENQUANTO
pode ser convertida em PARA.
Referências
 Lopes, A. & Garcia, G. – Introdução a Programação.
 Schildt – C Completo e Total.
Obrigado
E Agora???
Exercícios!!!
•Exercícios
Algoritmo 262
Entrar com números e imprimir o triplo de cada número. O algoritmo acaba quando
entrar o numero -999.
Algoritmo 263
Entrar com números enquanto forem positivos e imprimir quantos números foram
digitados.
Algoritmo 264
Entrar com vários números positivos e imprimir a média dos números digitados.
Algoritmo 265
Ler vários números e informar quantos números entre 100 e 200 foram digitados.
Quando o valor 0(zero) for lido, o algoritmo devera cessas sua execução.
Algoritmo 266
Entrar com nomes enquanto forem diferentes de FIM e imprimir o primeiro caractere
de cada nome.
Download

Estrutura de Repetição ENQUANTO