3. Pseudocódigo
Forma para a representação de algoritmos rica
em detalhes, como a definição dos tipos das
variáveis usadas no algoritmo.
Assemelha-se à forma como os programas são escritos.
Para traduzir o pseudocódigo para uma linguagem de
programação, basta conhecer o vocabulário e regras
sintáticas da linguagem.
Busca a rigidez sintática e semântica, porém sem o
detalhamento exigido nas linguagens de programação
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 3
4. Estrutura básica
Todo pseudocódigo possui a seguinte estrutura básica:
Algoritmo <nome do Algoritmo>
Variáveis
<lista de variáveis>
Início
<bloco de comandos>
Fim
As palavras em negrito são palavras reservadas:
palavras em português que indicam seções do
pseudocódigo ou ações a serem executadas pelo
computador (instruções)
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 4
5. Estrutura básica
Na seção Variaveis ou Var declaramos as
variáveis
Entre as palavras Inicio e Fim inserimos a
sequência de comandos do nosso algoritmo, que
pode conter também referência a variáveis e
expressões
Toda linha de comando termina com “;” (ponto e
vírgula) (há exceções para esta regra)
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 5
6. Exemplo de pseudocódigo
Pseudocódigo referente ao problema do
maior número:
Algoritmo Maior
Var
num1, num2, maior: inteiro:
Inicio
Leia(num1,num2);
se (num1>num2) então
maior num1;
senão
maior num2;
fimse;
escreva(maior);
Fim
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 6
7. Notação usada nas sintaxes
Ao definirmos a sintaxe de comandos e
instruções é usada a seguinte notação:
Palavras em negrito são palavras reservadas
Palavras entre < > são elementos do
algoritmo a serem substituídos por nomes ou
valores a serem definidos pelo programador
Elementos entre [ ] são opcionais
Textos entre { } são comentários explicativos
do algoritmo e não são executados pelo
computador
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 7
8. Declaração de variáveis
Declaração de Variáveis: todas as variáveis
que serão utilizadas pelo algoritmo devem ser
declaradas entre as palavras reservadas
Variaveis (ou Var) e Inicio:
Algoritmo Exemplo
Variaveis
a: Inteiro;
b: Real;
Inicio
<bloco de comandos>
Fim
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 8
9. Comando de atribuição ( )
Armazena um valor em uma variável
previamente declarada
No pseudocódigo, o comando de atribuição
é o símbolo “ ”
Sintaxe: <variável> <valor>;
Exemplos:
salario 1200; {variável salario recebe o valor 1200}
nome “Maria”; {variável nome recebe “Maria”`}
media (nota1+nota2)/2; {variável media recebe o
resultado da expressão}
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 9
10. Comando de entrada de dados (Leia)
Sempre que precisamos que o usuário digite
algum dado para ser processado, teremos uma
entrada de dados
O comando usado para receber essa entrada de
dados no pseudocódigo é o comando Leia
Sintaxe: Leia <variável>[,<variável>,...];
ou Leia(<variável>[,<variável>,...]);
Exemplos:
Leia salario; {obtém valor digitado e armazena
na variável salário}
Lea nome;
Leia nota1,nota2;
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 10
11. Comando de saída de dados (Escreva)
Usado para exibir ou retornar qualquer
valor ou mensagem ao usuário:
Mensagem de orientação
Valor constante
Valor armazenado em uma variável
Escreva <expressão>[,<expr.>,...];
Sintaxe: ou Escreva(<expressão>[,<expr.>,...]);
Exemplos: Exibe a frase “Olá Mundo!”
Escreva “Olá Mundo!”;
Exibe o valor 12345
Escreva 12345;
Escreva media; Exibe o valor da variável media
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 11
12. Exemplo de algoritmo 1
Algoritmo que lê duas notas, calcula a
média e mostra o resultado:
Algoritmo CalculaMedia Nome do Algoritmo
Variáveis
nota1, nota2, media: Real Declaração de
Início Variáveis
Escreva “Digite a primeira nota” Mensagem de Orientação
Leia nota1 Inserção da primeira nota
Escreva “Digite a segunda nota” Mensagem de Orientação
Leia nota2 Inserção da segunda nota
media ← (nota1 + nota2)/2 Cálculo da média e atribuição
Escreva media do resultado à variável media
Fim Exibição do resultado
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 12
13. Exemplo de algoritmo 2
Um algoritmo que lê o salário de uma pessoa,
calcula e mostra o valor do novo salário após
um aumento de 10%.
Inicialmente, devemos identificar os dados de entrada.
Neste caso, a entrada consiste no valor do salário.
Em seguida, identificamos a saída.
Para este problema, a saída é o novo salário.
O processamento necessário para transformar a entrada
na saída é dado pelo cálculo do reajuste (10% do salário)
e, em seguida, pelo acréscimo desse valor ao salário.
Reajuste = salário * 0.10
Novo salário = salário + Reajuste
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 13
14. Exemplo de algoritmo 2
Algoritmo NovoSalario
Variáveis
salario, reajuste, novosalario: Real
Início
Escreva “Digite o valor do salario”
Leia salario
reajuste ← salario * 0.10
novosalario ← salario + reajuste
Escreva novosalario
Fim
O processamento poderia ser expresso de maneira simplificada
através da fórmula:
novosalario ← salario + salario * 0.10, ou ainda
novosalario ← salario * 1.10
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 14
15. Teste de algoritmos
Testar ou “depurar” um programa ou
algoritmo consiste em analisar os
resultados do programa gradativamente,
linha por linha, em busca de possíveis
erros
Para isso os ambientes de desenvolvimento
oferecem uma ferramenta chamada
“debugger”
Manualmente, dispomos do teste de mesa
ou tabela de teste
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 15
16. Teste de mesa ou tabela de teste
É uma tabela onde temos:
Uma coluna para o número da linha do algoritmo
Uma coluna para cada variável (de entrada e saída) do
algoritmo
Uma coluna para comentários
A cada linha do algoritmo, preenchemos a tabela
com o valor das variáveis e comentário do
ocorrido
É útil para analisar o funcionamento de um
algoritmo pequeno ou fragmento de um
algoritmo maior
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 16
17. Teste de mesa ou tabela de teste
Tabela de teste para uma possível execução do algoritmo
da média de duas notas
Lin nota1 nota2 media Comentário
1 ? ? ? Solicita que usuário digite nota1
2 ? ? ? Aguarda usuário digitar nota1
3 8 ? ? Solicita que usuário digite nota2
4 8 ? ? Aguarda usuário digitar nota2
5 8 7 7.5 Calcula a média
6 8 7 7.5 Mostra a média
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 17
18. Exercícios de fixação
Qual a estrutura (formato) básica de um
pseudocódigo?
Em que parte do pseudocódigo declaramos
as variáveis?
Em que parte do pseudocódigo colocamos
os comandos?
Em que consiste o teste de algoritmos?
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 18
19. Exercícios de aplicação
Usando pseudocódigo, faça algoritmos
para resolver os seguintes problemas:
Calcular a área de um retângulo
Armazenar dois números em variáveis e trocar
os valores das variáveis
Calcular as raízes de uma equação do segundo
grau
Calcular o custo estimado com combustível em
uma viagem de carro
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 19
21. Estruturas condicionais
São estruturas que permitem a tomada de decisões
em função de condições estabelecidas e assim, o
algoritmo apresenta ações alternativas.
A classificação das estruturas de seleção é feita de
acordo com o número de condições que devem ser
testadas para que se decida qual o caminho a ser
seguido. Segundo esta classificação, têm-se dois
tipos de estruturas de decisão:
se
escolha
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 21
22. Estrutura SE
São estruturas de controle de fluxo, que
executam um ou vários comandos se a
condição testada for verdadeira e, em alguns
casos, executam um ou vários comandos se
for falsa.
Podem ser:
Simples
Compostas
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 22
23. Estrutura SE simples
Um bloco de instruções será executado
somente se uma condição for verdadeira.
Caso contrário, o fluxo de execução segue
para depois do bloco (ou após o FimSe)
Formato: Se <condição> então
<bloco de comandos>
FimSe
<condição> pode ser uma variável booleana,
uma constante (V ou F) ou uma expressão de
valor lógico
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 23
24. Estrutura SE simples – exemplo 1
Algoritmo para solicitar um número e verificar se
o número digitado é maior que 10
Algoritmo MaiorQue10
Variáveis
num: Real
Início
Escreva(“Digite um número”)
Leia(num)
Se num>10 então
Escreva(“O número é maior que 10.”)
FimSe
Escreva(“Fim do algoritmo”)
Fim
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 24
25. Estrutura SE simples – exemplo 2
Algoritmo CalculaMedia alterado para mostrar se aluno está
aprovado, sendo que a média para aprovação é 7
Algoritmo CalculaMedia
Variáveis
nota1, nota2, media: Real
Início
Escreva(“Digite a primeira nota”)
Leia(nota1)
Escreva(“Digite a segunda nota”)
Leia(nota2)
media ← (nota1 + nota2)/2
Escreva(“Sua média é: “,media)
Se media>=7 então
Escreva(“Você está aprovado”)
FimSe
Fim
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 25
26. Estrutura SE composta
Se a condição for verdadeira, o bloco de
comandos 1 será executado. Caso contrário, o
bloco de comandos 2 será executado.
Formato: Se <condição> então
<bloco de comandos 1>
Senão
<bloco de comandos 2>
FimSe
<condição> pode ser uma variável booleana, uma
constante (V ou F) ou uma expressão de valor lógico
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 26
27. Estrutura SE composta – exemplo 1
Algoritmo para solicitar um número e verificar se
o número digitado é maior que 10
Algoritmo MaiorQue10
Variáveis
num: Real
Início
Escreva(“Digite um número”)
Leia(num)
Se num>10 então
Escreva(“O número é maior que 10.”)
senão
Escreva(“O número é menor ou igual a 10”)
FimSe
Escreva(“Fim do algoritmo”)
Fim
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 27
28. Estrutura SE composta – exemplo 2
Algoritmo CalculaMedia alterado para mostrar se aluno está
aprovado, sendo que a média para aprovação é 7
Algoritmo CalculaMedia
Variáveis
nota1, nota2, media: Real
Início
Escreva(“Digite a primeira nota”)
Leia(nota1)
Escreva(“Digite a segunda nota”)
Leia(nota2)
media ← (nota1 + nota2)/2
Escreva(“Sua média é: “,media)
Se media>=7 então
Escreva(“Você está aprovado”)
senão
Escreva(“Você está de recuperação”)
FimSe
Fim Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 28
29. Estruturas SE encadeadas
É quando o bloco de instruções subordinado ao
comando se/senão contém outros comandos
se/senão (quando temos mais de 2 situações):
Se <condição 1> então
<bloco de comandos 1>
Senão se <condição 2> entao
<bloco de comandos 2>
Senão se <condição 3> entao
<bloco de comandos 3>
...
Senão se <condição N> entao
<bloco de comandos N>
FimSe
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 29
30. Estruturas SE encadeadas - exemplo
Algoritmo CalculaMedia alterado para tratar mais uma regra: se a
média for menor que 3, o aluno já estará reprovado, sem direito à
recuperação
Algoritmo CalculaMedia
Variáveis
nota1, nota2, media: Real
Início
Escreva(“Digite a primeira nota”)
Leia(nota1)
Escreva(“Digite a segunda nota”)
Leia(nota2)
media ← (nota1 + nota2)/2
Escreva(“Sua média é: “,media)
Se media>=7 então
Escreva(“Você está aprovado”)
senão se media<3 então
Escreva(“Você está reprovado”)
senão
Escreva(“Você está de recuperação”)
FimSe
Fim
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 30
31. Estrutura ESCOLHA
Estrutura de decisão por igualdade, onde temos:
uma variável a ser testada (variável de escolha)
um ou mais valores constantes a serem comparados
com a variável, com um bloco de comandos associado
a cada um
Também é chamada de estrutura CASO
É similar a estruturas SE encadeadas, mas as
comparações são só por igualdade
São úteis em menus ou situações onde as
decisões estão centradas em apenas uma
variável e valores pré-fixados
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 31
32. Estrutura ESCOLHA
Sintaxe:
Escolha <variável>
caso <val.constante 1>:
<bloco de comandos 1>
caso <val.constante 2>:
<bloco de comandos 2>
...
caso <val.constante n>:
<bloco de comandos n>
outrocaso
<bloco de comandos alternativo>
FimEscolha
<variável> será comparada com o valor constante de cada “caso”
Será executado somente o bloco de comandos abaixo do “caso” onde
houver igualdade entre a variável e o valor constante
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 32
33. Estrutura ESCOLHA - exemplo
Algoritmo MenuCalculo
Variáveis
num1, num2, opcao: Real
Início
Escreva(“1-Soma”)
Escreva(“2-Subtração”)
Escreva(“3-Multiplicação”)
Escreva(“Digite a sua opção:”)
Leia(opcao)
Escreva(“Digite o primeira numero: ”)
Leia(num1)
Escreva(“Digite o segunda número: ”)
Leia(num2)
Escolha opcao
caso 1
Escreva(“Soma=“,num1+num2)
caso 2
Escreva(“Subtração=“,num1-num2)
caso 3
Escreva(“Multiplicação=“,num1*num2)
outrocaso
Escreva(“Opção inválida”)
FimEscolha
Fim Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 33
34. Exercícios
Faça um algoritmo que leia um número inteiro
diferente de zero e diga se este é positivo ou
negativo
Altere o algoritmo anterior para dizer também se
o número é igual a zero (use se encadeados)
Faça uma algoritmo que leia três valores que
representam os três lados de um triângulo e
verifique:
se o triângulo é válido
Se é um triângulo equilátero, isósceles ou escaleno
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 34
35. Exercícios
Propriedades de um triângulo:
A soma de dois lados não pode ser menor que
a do terceiro lado (ou o comprimento de cada
lado deve ser menor que a soma dos outros
dois lados)
Equilátero: três lados iguais
Isósceles: dois lados iguais
Escaleno: três lados diferentes
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 35
37. Estruturas de repetição
Permitem a repetição de um bloco de
instruções por um número vezes pré-
determinado ou até a satisfação de uma
condição
Também são chamados de loops (laços)
Tipos de estruturas:
Repetição contada (estrutura para)
Repetição condicional
Com teste no início (estrutura enquanto)
Com teste no final (estrutura repita)
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 37
38. Estruturas de repetição
“Laço sem fim” ou deadLock: é quando
uma estrutura de repetição fica
executando interminavelmente
As estruturas de repetição devem sempre ter
um fim, ou seja, devem ter um limite pré-
definido de repetições ou alguma condição que
faça a repetição parar, caso contrário teremos
um loop sem fim ou deadlock
É uma das causas dos “travamentos” de
software (mensagem “Este programa não está
respondendo”)
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 38
39. Estrutura de repetição contada
É utilizada quando conhecemos
previamente a quantidade de vezes que
queremos executar o bloco de comandos
A quantidade de vezes pode ser um valor
constante ou informado pelo usuário
É representada pelo comando PARA
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 39
40. Comando Para (repetição contada)
Sintaxe:
Para <variável> de <valor inicial> até <valor final> [passo <incremento>] faça
<bloco de comandos>
FimPara
Descrição:
<variável>: nome de uma variável do tipo inteiro
<valor inicial>: é o valor inicial que será atribuído à variável
<valor final>: quando a variável for maior ou igual ao valor final,
a repetição termina
<incremento> é o valor que será incrementado à variável a cada
repetição (ao final do bloco de comandos). É opcional; se não for
informado, é assumido incremento 1.
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 40
41. Comando Para (exemplo 1)
Algoritmo que lista os dez primeiros
números inteiros positivos
Algoritmo DezPrimeiros A variável i fará o controle da
Variáveis repetição, seu valor inicia com
i: Inteiro 1 e para cada execução do
bloco seu valor aumenta em 1
Início unidade.
Para i de 1 até 10 faça
Escreval(i)
FimPara Para cada repetição, basta
Fim mostrar o valor de i, uma vez
que este valor variará de 1 até
10.
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 41
42. Comando Para (exemplo 2)
Algoritmo que lista os números inteiros pares
menores ou iguais a um número informado pelo
usuário
Algoritmo NumerosPares
Variáveis
i,limite: Inteiro
Início
Escreva(“Listar números pares até: “)
Leia(limite)
Para i de 2 ate limite passo 2 faca
Escreval(i)
FimPara
Fim
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 42
43. Estruturas de repetição condicional
São usadas quando não sabemos previamente a
quantidade exata de vezes que queremos
executar o bloco de comandos
A quantidade de repetições depende de uma condição
(expressão lógica) controlada internamente
Existem duas estruturas de repetição condicional:
Com teste no início (estrutura enquanto...faça)
Com teste no final (estrutura repita...até)
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 43
44. Características da repetição condicional
As estruturas de repetição condicional
caracterizam-se por conter dois blocos de
comandos importantes:
PREPARO: um ou mais comandos que afetam
a condição para entrar no bloco de repetição
ou que preparam variáveis que serão usadas
dentro da bloco de comandos
CONTROLE: um ou mais comandos que
afetam a condição para finalizar a repetição
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 44
45. Estrutura Enquanto...faça
Sintaxe:
Enquanto <expressão lógica> faca
<bloco de comandos>
FimEnquanto
Uso: repete o bloco de comandos enquanto uma
determinada condição (especificada através da expressão
lógica) for satisfeita.
A <expressão lógica> é verificada logo na entrada e a
cada repetição. Se for falsa, a execução continua logo
após o FimEnquanto
O FimEnquanto marca o final do bloco de comandos a ser
repetido e causa o retorno ao comando Enquanto
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 45
46. Estrutura Enquanto (exemplo 1)
Algoritmo para contar de 1 a 10, listando
os números na tela
PREPARO: A variável i fará o
algoritmo “Conta com enquanto” controle da repetição e inicia a
var i: inteiro contagem, portanto devemos
Inicio inicializá-la com o valor 1
i <- 1
enquanto i <= 10 faca
escreval(i) CONTROLE: dentro do laço
deve haver um comando que
i <- i + 1 afete a expressão lógica. Aqui
fimenquanto incrementamos a variável i, de
fimalgoritmo modo que quando ela for
maior que 10 a repetição irá
parar
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 46
47. Estrutura Enquanto (exemplo 2)
Algoritmo para somar números digitados pelo
usuário, enquanto não for digitado zero
algoritmo “Soma” PREPARO: Aqui inicializamos
var n,soma: real a variável com um valor maior
que zero, para entrar no laço e
Inicio
zeramos a variável soma que
n <- 0
irá guardar a soma
soma <- 0
enquanto n<>0 faca
escreva(“Digite um número (0=fim):”) CONTROLE: o próprio
leia(n) número digitado pelo usuário
soma <- soma + n será usado como controle. Se
fimenquanto for digitado zero, a condição
Escreva(“A soma dos numeros é: “,soma) ficará falsa e o laço irá parar
fimalgoritmo
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 47
48. Estrutura Repita...Até
Sintaxe:
Repita
<bloco de comandos>
Até <expressão lógica>
Uso: repete o bloco de comandos até que determinada
condição (especificada através da expressão lógica) seja
satisfeita
A <expressão lógica> é verificada ao final de cada
repetição. Se for verdadeira, a execução continua logo
após o Até
O Até marca o final do bloco de comandos a ser repetido
e causa o retorno ao comando repita, caso a expressão
lógica seja falsa
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 48
49. Estrutura Repita (exemplo 1)
Algoritmo para contar de 1 a 10, listando
os números na tela
PREPARO: A variável i fará o
algoritmo “Contar com repita” controle da repetição e inicia a
var i: inteiro contagem, portanto devemos
Inicio inicializá-la com o valor 1
i <- 1
Repita
escreval(i) CONTROLE: Aqui
incrementamos a variável i, de
i <- i + 1 modo que quando ela for maior
até i>10 que 10 a repetição irá parar
fimalgoritmo
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 49
50. Estrutura Repita (exemplo 2)
Algoritmo para somar números digitados pelo
usuário, até que seja digitado zero
algoritmo “Soma” PREPARO: Aqui apenas
var n,soma: real zeramos a variável soma. Não
é necessário prepararmos a
Inicio
expressão lógica, visto que a
soma <- 0
variável de controle será lida
Repita dentro do laço
escreva(“Digite um número (0=fim):”)
leia(n) CONTROLE: o próprio
soma <- soma + n número digitado pelo usuário
Ate n=0 será usado como controle. Se
Escreva(“A soma dos numeros é: “,soma) for digitado zero, a condição
fimalgoritmo será verdadeira e o laço irá
parar
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 50
51. Estrutura Enquanto x Repita
Estruturas tipo Enquanto:
São úteis quando precisamos de teste desde a entrada
no laço
O bloco de comandos só será executado se a condição
for verdadeira logo no início
A repetição termina quando a expressão lógica for falsa
Estruturas tipo Repita:
São úteis quando não há necessidade de teste no início
O bloco de comandos será executado sempre, pelo
menos uma vez
A repetição termina quando a expressão lógica for
verdadeira
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 51
52. Intervenções forçadas na repetição
Apesar de não ser uma boa prática de
programação, algumas linguagens oferecem
comandos para a intervenção forçada (retorno ao
início ou interrupção) nas estruturas de repetição
retorno
Retorno ao início (comando “volte”): faz com que
a execução volte ao início do laço (comando enquanto
ou repita)
Interrupção (comando “interrompa”): faz com
que a repetição pare (a execução continua no
comando após o comando fimenquanto ou até)
Geralmene esses comandos podem ser usados
em qualquer estrutura (para, enqunto ou repita)
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 52
53. Retorno ao início (comando “volte”)
Sintaxe da Enquanto com comando de
retorno ao início:
Enquanto <expressão lógica> faca
<bloco de comandos>
se <condição> então
volte
fimse
<Bloco de comandos>
FimEnquanto
O comando volte força a “próxima rodada” do laço: o fluxo
de execução volta para o início do laço (comando Enquanto)
Numa estrutura “para” a variável será incrementada
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 53
54. Interrupção forçada (comando “interrompa”)
Sintaxe da Enquanto com comando de
interrupção forçada:
Enquanto <expressão lógica> faca
<bloco de comandos>
se <condição> então
interrompa
fimse
<Bloco de comandos>
FimEnquanto
<comando>...
O comando interrompa faz com que a repetição termine e o fluxo de
execução continue no comando após o laço (após o FimEnquanto)
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 54
55. Combinando estruturas
Você pode combinar as estruturas estudadas
(sequencial, condicional e repetição), uma dentro
do bloco de comandos de outra
Condicional dentro de condicional (estruturas se
encadeadas) (já estudado)
Condicional dentro de repetição
Repetição dentro de uma condicional
Repetição dentro de outra repetição (estruturas de
repetição encadeadas)
..etc.
Vejamos alguns exemplos a seguir...
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 55
56. Condicional dentro de repetição
Ex: listar os números de 1 a 100, destacando os
múltiplos de 10
Algoritmo “0 a 100 destacando pares”
Estrutura PARA contando de
Variáveis
1 a 100
i: Inteiro
Início
Para i de 1 ate 100 faca
Escreva(i) Testa se o número é divisível
se i mod 10 = 0 entao por 10 (resto da divisão por 10
escreval(“ (múltiplo de 10)”) é zero)
senao
escreval(“”)
fimse
FimPara
Fim
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 56
57. Estruturas de repetição encadeadas
Ex: imprimir a tabuada de multiplicar de 1 até 10
Algoritmo “tabuada de multiplicar”
Laço dos multiplicandos (n1
Variáveis
varia de 1 até 10)
n1,n2: Inteiro
Início
Para n1 de 1 ate 10 faca
Escreva(“Tabuada de “,n1) Laço dos multiplicadores (n2
Para n2 de 1 ate 10 faca varia de 1 até 10)
escreval(n1,” x “,n2,” = “,n1*n2)
FimPara
escreval(“--------------”)
FimPara
Fim
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 57
58. Cuidados ao combinar estruturas
Ao combinar estruturas, você nunca deve
“cruzar” uma estrutura com outra:
Para i de 1 ate 100 faca
Escreva(i)
se i mod 10 = 0 entao
escreval(“ (múltiplo de 10)”)
FimPara
fimse
Enquanto i<100
Escreva(i)
se i mod 10 = 0 entao
escreval(“ (múltiplo de 10)”)
FimEnquanto
fimse
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 58
59. Cuidados ao combinar estruturas
Quando combinadas, elas devem sempre
estar contidas uma dentro da outra:
Para .....
Enquanto
Repita
Escreva(i)
se .... entao
<comandos>
senao
<comandos>
fimse
Ate <condição>
FimEnquanto
FimPara
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 59
60. Exercícios – faça algoritmos para:
Multiplicar dois números usando somas
repetidas
Solicitar uma quantidade pré-determinada
de números e calcular a soma e média
entre esses números
Calcular a soma dos números ímpares
entre um intervalo informado
Calcular o fatorial de um número
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 60
61. Exercício-desafio:
Solicitar os nomes e notas dos alunos de uma turma, mostrar o nome
e nota dos alunos com a maior e menor nota e calcular a média entre
as notas da turma. O fim da turma será indicado quando o usuário
digitar “FIM” para o nome do aluno
Melhorar o algoritmo acima para efetuar os mesmos cálculos para
todas as turmas de uma escola, mostrando também a maior e menor
nota da escola e a nota média da escola
Listar os números primos entre dois números informados pelo usuário.
Dicas:
Número primo é o número que só é divisível por ele mesmo e por
1.
Para saber se um número é primo você precisará usar um laço e
testar, com a função MOD, se ele é divisível por todos os números
menores que ele
Listar os números da série de Fibonacci de 1 até um número
informado pelo usuário. Dica:
A séria de Fibonacci é uma lista de números cujos dois primeiros
númereos são iguais a 1 e cada número seguinte é igual à soma
dos dois números anteriores: 1, 1, 2, 3, 5, 8, ..
Algoritmos e Ling.de Programação
Prof. Mauro Pseudocódigo 61