Você está na página 1de 59

INF1005: Programação I

Algoritmos e
Pseudocódigo
Tópicos Principais
• Definição de Algoritmo
• Exemplos Básicos
• Formas de representação
• Condicionais
• Exemplos com Condicionais
• Repetições
• Exemplos com Repetições
Definição de Algoritmo

• Um algoritmo é uma sequência de ações


que resolve um problema.

Problema Algoritmo
Definição de Algoritmo

• Mais formalmente: Um algoritmo é uma


sequência finita de instruções bem definidas
e não ambíguas, cada uma das quais pode
ser executada mecânicamente num período
de tempo finito e com uma quantidade de
esforço finito.
Exemplos Básicos
• Receita de um bolo de chocolate:
1. Bater duas claras em neve
2. Adicionar duas gemas
3. Adicionar uma xícara de açucar
4. Adicionar duas colheres de margarina
5. Adicionar uma xícara de farinha de trigo
6. Adicionar uma colher de chá de fermento
7. Adicionar uma xícara de chocolate em pó
8. Levar à batedeira até formar uma massa homogênea
9. Colocar numa forma e levar ao forno em fogo brando
Exemplos Básicos
• Para trocar um pneu de um carro:
1. Afrouxar ligeiramente as porcas
2. Suspender o carro com o macaco
3. Retirar as porcas e o pneu
4. Colocar o pneu reserva
5. Apertar as porcas
6. Abaixar o carro
7. Dar o aperto final nas porcas
Formas de
Representação
• Linguagem Natural: Os algoritmos são
expressos diretamente em linguagem natural (o
português, por exemplo).
• Fluxograma: Representação gráfica que emprega
formas geométricas padronizadas para indicar as
diversas ações e decisões que devem ser executadas
para resolver o problema.
• Pseudocódigo: Emprega uma linguagem
intermediária entre a linguagem natural e uma
linguagem de programação para descrever algoritmos.
Formas de
Representação
• Problema: A partir de 3 notas de um aluno,
calcular sua média aritmética e escrever na
tela se ele foi aprovado ou reprovado,
levando em conta que a média para
aprovação deve ser pelo menos 5.0.
Formas de
Representação
• Linguagem natural:
1. Obter as 3 notas das provas do aluno
2. Calcular a média aritmética das 3 notas
3. Comparar a média com o valor 5.0
4. Se for maior ou igual, escrever
“aprovado”
5. Caso contrário, escrever “reprovado”
Formas de
Representação
• Fluxograma:
Formas de
Representação
• Fluxograma:

bug
Formas de
Representação
• Pseudocódigo:
variaveis
media, nota1, nota2, nota3
inicio
leia nota1, nota2 e nota3
media = (nota1+nota2+nota3)/3
se (media >= 5) entao
escreva “aluno aprovado”
senao
escreva “aluno reprovado”
fim
fim
Formas de
Representação
• Pseudocódigo:
variaveis
media, nota1, nota2, nota3
inicio armazenam
leia nota1, nota2 e nota3 informações
media = (nota1+nota2+nota3)/3 necessárias para
se (media >= 5) entao
escreva “aluno aprovado”
solução do
senao problema
escreva “aluno reprovado”
fim
fim
Formas de
Representação
• Problema: A partir das três notas de um
aluno, calcular sua média aritmética e
determinar se ele foi aprovado, vai fazer
prova final ou foi reprovado. O aluno é
aprovado se tem média maior ou igual a
5.0, é reprovado se tem média menor que
3.0 e tem que fazer prova final se não cai
em nenhum dos casos anteriores.
Formas de
Representação
• Fluxograma:

OBS: Tem um
erro nesse
diagrama.
Quem consegue
ver?
Formas de
Representação
Dica: O erro está
• Fluxograma: aqui
Formas de
Representação
variaveis
media, nota1, nota2, nota3
inicio

• Pseudocódigo:
leia nota1, nota2 e nota3
media = (nota1+nota2+nota3)/3
se (media >= 5) entao
escreva “aluno aprovado”
senao
se (media >= 3) entao
escreva “aluno em prova final”
senao
escreva “aluno reprovado”
fim
fim
fim
Condicionais

• Em diversos momentos, nós precisamos


controlar a execução de um bloco de
instruções, só permitindo sua execução
quando uma condição for verdadeira.
Condicionais
• Exemplo:
variaveis
media, nota1, nota2, nota3
inicio
leia nota1, nota2 e nota3
media = (nota1+nota2+nota3)/3
se (media >= 5) entao
escreva “aluno aprovado”
senao
escreva “aluno reprovado”
fim
fim
Condicionais
• Exemplo:
variaveis
media, nota1, nota2, nota3
inicio
leia nota1, nota2 e nota3
media = (nota1+nota2+nota3)/3
escreva só executará se (media >= 5) entao
se média for maior ou escreva “aluno aprovado”
igual a 5 senao
escreva “aluno reprovado”
fim
fim
Condicionais

se (media >= 5) entao


escreva “aluno aprovado”
fim
Condicionais
se (condição verdadeira) entao
se (media >= 5) entao instrução 1
escreva “aluno aprovado” instrução 2
fim ...
fim
Condicionais
• Podemos tratar também quando
uma condição é falsa

Executa quando se (media >= 5) entao


condição escreva “aluno aprovado”
verdadeira senao
escreva “aluno reprovado”
fim
Condicionais
• Podemos tratar também quando
uma condição é falsa

se (media >= 5) entao


escreva “aluno aprovado”
senao
escreva “aluno reprovado”
Executa quando fim
condição falsa
Condicionais
• Podemos incluir condicionais dentro
dos blocos de instruções de
condicionais
variaveis
media, nota1, nota2, nota3
inicio
leia nota1, nota2 e nota3
media = (nota1+nota2+nota3)/3
se (media >= 5) entao
Bloco executa senao
escreva “aluno aprovado”

apenas quando se (media >= 3) entao


escreva “aluno em prova final”
média < 5 senao
escreva “aluno reprovado”
fim
fim
fim
Testes Condicionais
• Podemos incluir testes condicionais
dentro dos blocos de instruções de
testes condicionais
variaveis
media, nota1, nota2, nota3
inicio
Instrução leia nota1, nota2 e nota3
media = (nota1+nota2+nota3)/3
executa apenas se (media >= 5) entao
quando escreva “aluno aprovado”
senao
média < 5 e se (media >= 3) entao
escreva “aluno em prova final”
média >= 3 senao
escreva “aluno reprovado”
fim
fim
fim
Testes Condicionais
• Podemos incluir testes condicionais
dentro dos blocos de instruções
variaveis
media, nota1, nota2, nota3
inicio
leia nota1, nota2 e nota3
Instrução media = (nota1+nota2+nota3)/3
executa apenas se (media >= 5) entao
escreva “aluno aprovado”
quando senao
se (media >= 3) entao
média < 3 escreva “aluno em prova final”
senao
escreva “aluno reprovado”
fim
fim
fim
Testes Condicionais
• Outra forma de escrever o
pseudocódigo anterior:
variaveis
media, nota1, nota2, nota3 variaveis
inicio media, nota1, nota2, nota3
leia nota1, nota2 e nota3 inicio
media = (nota1+nota2+nota3)/3 leia nota1, nota2 e nota3
se (media >= 5) entao media = (nota1+nota2+nota3)/3
escreva “aluno aprovado” se (media >= 5) entao
senao escreva “aluno aprovado”
se (media >= 3) entao senao se (media >= 3) entao
escreva “aluno em prova final” escreva “aluno em prova final”
senao senao
escreva “aluno reprovado” escreva “aluno reprovado”
fim fim
fim fim
fim
Expressões Booleanas

• A expressão que escrevemos até agora


para testar se uma condição é verdadeira
chama-se expressão booleana.
• Uma expressão booleana sempre gera um
resultado verdadeiro ou falso.
Expressões Booleanas
• usaremos os seguintes formatos de expressões
booleanas:
- média > 5 (média maior que 5?)
- média < 5 (média menor que 5?)
- média >= 5 (média maior ou igual a 5?)
- média <= 5 (média menor ou igual a 5?)
- média != 5 (média diferente de 5?)
- média == 5 (média igual a 5?)
Combinando
Expressões Booleanas

• Nós podemos combinar expressões


booleanas de duas formas
• Essas combinações que nós veremos geram
um resultado verdadeiro ou falso.
Combinando
Expressões Booleanas
• Usando a conjunção e
se(media < 5 e media >= 3) entao
escrever “em prova final”
fim
Combinando
Expressões Booleanas
• Usando a conjunção e
se(media < 5 e media >= 3) entao
escrever “em prova final”
fim
Expressão 1 Expressão 2 Resultado
Falso
Falso Falso
Falso Falso
Verdadeiro Falso
soFasl
Verdadeiro Falso
Verdadeiro
Verdadeiro Verdadeiro
dd
Combinando
Expressões Booleanas
• Usando a disjunção ou
se(nota == A ou nota == B) entao
escrever “passou com louvor”
fim
Combinando
Expressões Booleanas
• Usando a disjunção ou
se(nota == A ou nota == B) entao
escrever “passou com louvor”
fim
Expressão 1 Expressão 2 Resultado
Falso
Falso Falso
Falso
Verdadeiro Verdadeiro
soFasl
Verdadeiro Falso Verdadeiro
Verdadeiro
Verdadeiro Verdadeiro
dd
Exemplos com
Condicionais
• Problema: Escreva um pseudocódigo que
obtém as 3 notas de um aluno, calcula sua
média e caso o aluno tenha sido aprovado,
escreva na tela “Aprovado”. O aluno é
aprovado se ele teve média maior ou igual
a 5 e nenhuma nota menor que 3.
Exemplos com
Condicionais
variaveis
media, nota1, nota2, nota3
inicio
leia nota1, nota2 e nota3
media = (nota1+nota2+nota3)/3
se (media >= 5 e nota1 >= 3 e nota2 >= 3 e nota3 >= 3) entao
escreva “Aprovado”
fim
fim
Exemplos com
Condicionais
• Problema: Escreva um pseudocódigo que
obtém as 3 notas de um aluno, calcula sua
média e caso o aluno esteja em prova final,
escrever “Prova final”. O aluno fica em
prova final se ele teve média menor que 5
ou se tirou menos que 3 em uma de suas
provas.
Exemplos com
Condicionais
variaveis
media, nota1, nota2, nota3
inicio
leia(nota1, nota2, nota3)
media = (nota1+nota2+nota3)/3
se (media < 5 ou nota1 < 3 ou nota2 < 3 ou nota3 < 3) entao
escreva “Prova final”
fim
fim
Repetições

• Existem diversos problemas que, para


resolvê-los, precisamos executar uma
sequência de instruções várias vezes.
• Para programar uma repetição, precisamos
criar um laço (loop).
Repetições
• Uma forma de criar uma repetição é usar
a palavra enquanto.

enquanto(expressão booleana) faça


instrução 1
instrução 2
...
fim
Repetições
• Uma forma de criar uma repetição é usar
a palavra enquanto.

enquanto(expressão booleana) faça


instrução 1
instrução 2
... instruções executam
fim enquanto expressão
booleana for
verdadeira
Repetições
• Para escrever os números 0, 1 e 2 na tela:

numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1
fim
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1
fim

Valor do Tela do
0
número Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1
fim

Valor do Tela do
0
número Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1
fim

Valor do Tela do
0 0
número Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1
fim

Valor do Tela do
1 0
número Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1
fim

Valor do Tela do
1 0
número Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1
fim

Valor do Tela do
1 01
número Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1
fim

Valor do Tela do
2 01
número Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1
fim

Valor do Tela do
2 01
número Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1
fim

Valor do Tela do
2 012
número Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1
fim

Valor do Tela do
3 012
número Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1
fim

Valor do Tela do
3 012
número Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0
enquanto(numero < 3) faça
escrever numero
numero = numero + 1 falso
fim

Valor do Tela do
3 012
número Computador
Exemplos com
Repetições

• Problema: Escreva um pseudocódigo que lê


o número de alunos de uma turma e
depois para cada aluno, lê a suas 3 notas da
prova e no final escreve a média da turma.
Exemplos com
Repetições
variaveis
num_alunos, i
media, mediaTurma, nota1, nota2, nota3
inicio
leia num_alunos
i=0
mediaTurma = 0
enquanto(i < num_alunos) faça
leia nota1, nota2 e nota3
media = (nota1+nota2+nota3)/3
mediaTurma = mediaTurma + media
i=i+1
fim
mediaTurma = mediaTurma / num_alunos
escrever mediaTurma
fim
Exemplos com
Repetições

• Problema: Ler um número não negativo e


escrever na tela seu fatorial.
Exemplos com
Repetições
variaveis
f, n
inicio
leia n
f=1
enquanto(n > 1) faça
f=f*n
n=n-1
fim
escreva f
fim

Você também pode gostar