Escolar Documentos
Profissional Documentos
Cultura Documentos
Faculdade de Ciências
Ciências da Computação
LÓGICA DE
PROGRAMAÇÃO
Dikiefu Fabiano, MSc.
João Costa, Lic.
Pseudocódigo – Estrutura de Controlo
Estruturas de repetição
Estrutura de Controlo
• Estrutura Sequencial
• Estrutura de Selecção
• Estrutura de Repetição
Estrutura de Repetição
Uma estrutura de repetição define uma região que contém
instruções a serem repetidas. O número de vezes que estas
instruções serão repetidas depende do resultado de um
teste lógico.
[intruções]
fimenquanto
inicio
//comando
real n1 , n2 , n3 , n4 , media
inteiro contador
contador <- 0
enquanto ( contador < 5 ) faca
escreva ( "digite as 4 nota do aluno" , contador )
leia ( n1 , n2 , n3 , n4 )
media <- ( n1 + n2 + n3 + n4 ) / 4
escreva "a média = " , media
contador <- contador + 1
fimenquanto
fimalgoritmo
Repetição com teste lógico no início
1- Estrutura de repetição Enquanto
Exemplo 2: Faça um algoritmo que deve ler a nota de 5 alunos e calcula a
média aritmética da turma.
Algoritmo “media”
INICIO
REAL ma, somatorio, medTurma
INTEIRO cont
cont 0;
Somatorio0;
Enquanto (cont < 5) faça
Escreva (“Introduza a nota do aluno”);
leia(ma);
somatorio somatorio + ma;
cont cont + 1;
fimenquanto
medTurma somatorio/5;
escreva(“media anual da turma”, medTurma);
FIMALGORITMO
Repetição com teste lógico no
início(enquanto)
No exemplo anterior, sabe-se o número de alunos para o
cálculo de média. Portanto, se tivéssemos essa
informação, seria necessário uma estrutura de repetição
que fosse executada por uma quantidade indeterminada
de vezes. Assim, teríamos de encontrar um critério de
parada, que possibilita que a repetição fosse finalizada
após a última media ter sido introduzido. Logo, podemos
utilizar um valor predefinido como finalizador, a ser
informado após a última média.
Seja esse valor -1 que quando encontrado, finaliza a
execução da estrutura de repetição.
Algoritmo “media”
INICIO
REAL ma, somatorio, medTurma
INTEIRO cont
cont 0;
somatorio0;
ma 0;
Escreva(“digite [-1] para finalizar…”);
Enquanto (ma <> -1) faça
Escreva (“Introduza a nota do aluno”);
Leia(ma);
Se( ma <> -1) Então
inicio
somatorio somatorio + ma;
cont cont + 1;
fim
fimse
fimenquanto
Se(cont > 0) Então
inicio
medTurma somatorio/cont;
Escreva(“media anual da turma = ”, medTurma);
fim
Senão
Escreva(“Nenhuma média válida fornecida”);
fimse
FIMALGORITMO
Repetição com teste lógico no final(Repita)
Permite que um bloco ou acção primitiva seja repetida até que uma
determinada condição seja verdadeira.
repita
cmd1
cmd2
…
cmdn
ate <teste_logico> ;
Algoritmo media
VAR ma, somatorio, medTurma: REAL
cont: INTEIRO
INICIO
cont 0;
Somatorio0;
repita
Escreva (“Introduza a nota do aluno”);
leia(ma);
somatorio somatorio + ma;
cont cont + 1;
ate (cont < 5)
medTurma somatorio/5;
escreva(“media anual da turma”, medTurma);
FIMALGORITMO
Repetição com variável de controlo - para
Nas estruturas estudadas anteriormente, ocorre casos em que se torna difícil
determinar o número de vezes em que o bloco será executado. Sabemos que
ele será executado enquanto uma condição for verdadeira, no caso de
enquanto, ou até que uma condição seja satisfeita. A estrutura para é
diferente, já que sempre repete a execução do bloco num número
predeterminado de vezes, pois ela não prevê uma condição e possui limites
fixos.
para V de vi ate vf passo p faça Onde:
cmd1; V: variável de controlo
cmd2; vi: valor inicial da variável V
… vf: valor final da variável, ou seja, o valor
cmdn; até qual ela vai chegar
fimpara p: o valor do incremento dado a variável V
Repetição com variável de controlo - para
Exemplo 4: Voltamos ao exemplo 2, resolvendo-o com a repetição “para”
Algoritmo “media”
INICIO
REAL ma, somatorio, medTurma
INTEIRO cont
Somatorio0;
para v de 1 ate 5 passo 1 faça
Escreva (“Introduza a nota do aluno”);
leia(ma);
somatorio somatorio + ma;
cont cont + 1;
fimpara
medTurma somatorio/5;
escreva(“media anual da turma”, medTurma);
FIMALGORITMO
Repetição com variável de controlo - para
Exemplo 5: Elabore um algoritmo que simule uma contagem regressiva de 10
minutos, ou seja, mostre 10:00, e então 9:59, 9:58, …, 9:00; 8:59, 8:58, até 0:00
Algoritmo “TEMPO”
INICIO
INTEIRO MIN, SEG
Escreva (“10:00”);
para MIN de 9 ate 0 passo -1 faça
para SEG de 59 ate 0 passo -1 faça
Escreva (MIN“:”SEG);
fimpara
fimpara
FIMALGORITMO
Bibliografia