Upload
phammien
View
213
Download
0
Embed Size (px)
Citation preview
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çõesque resolve um problema.
AlgoritmoAlgoritmoProblemaProblema
Definição de Algoritmo
• Mais formalmente: Um algoritmo é umasequência finita de instruções bem definidase não ambíguas, cada uma das quais podeser executada mecânicamente num períodode tempo finito e com uma quantidade deesforç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 deRepresentação
• Linguagem Natural: Os algoritmos sãoexpressos diretamente em linguagem natural (oportuguês, por exemplo).
• Fluxograma: Representação gráfica que empregaformas geométricas padronizadas para indicar asdiversas ações e decisões que devem ser executadaspara resolver o problema.
• Pseudocódigo: Emprega uma linguagemintermediária entre a linguagem natural e umalinguagem de programação para descrever algoritmos.
Formas deRepresentação
• Problema: A partir de 3 notas de um aluno,calcular sua média aritmética e escrever natela se ele foi aprovado ou reprovado,levando em conta que a média paraaprovação deve ser pelo menos 5.0.
Formas deRepresentaçã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 deRepresentação
• Pseudocódigo:variaveismedia, nota1, nota2, nota3 inicioleia nota1, nota2 e nota3media = (nota1+nota2+nota3)/3se (media >= 5) entao
escreva “aluno aprovado”senao
escreva “aluno reprovado”fimfim
Formas deRepresentação
• Pseudocódigo:variaveismedia, nota1, nota2, nota3 inicioleia nota1, nota2 e nota3media = (nota1+nota2+nota3)/3se (media >= 5) entao
escreva “aluno aprovado”senao
escreva “aluno reprovado”fimfim
armazenaminformações
necessárias parasolução doproblema
Formas deRepresentação
• Problema: A partir das três notas de umaluno, calcular sua média aritmética edeterminar se ele foi aprovado, vai fazerprova final ou foi reprovado. O aluno éaprovado se tem média maior ou igual a5.0, é reprovado se tem média menor que3.0 e tem que fazer prova final se não caiem nenhum dos casos anteriores.
Formas deRepresentação
• Pseudocódigo:
variaveismedia, nota1, nota2, nota3inicioleia nota1, nota2 e nota3media = (nota1+nota2+nota3)/3se (media >= 5) entao
escreva “aluno aprovado”senao
se (media >= 3) entaoescreva “aluno em prova final”
senaoescreva “aluno reprovado”
fimfimfim
Condicionais
• Em diversos momentos, nós precisamoscontrolar a execução de um bloco deinstruções, só permitindo sua execuçãoquando uma condição for verdadeira.
Condicionais
• Exemplo:variaveismedia, nota1, nota2, nota3 inicioleia nota1, nota2 e nota3media = (nota1+nota2+nota3)/3se (media >= 5) entao
escreva “aluno aprovado”senao
escreva “aluno reprovado”fimfim
Condicionais
• Exemplo:variaveismedia, nota1, nota2, nota3 inicioleia nota1, nota2 e nota3media = (nota1+nota2+nota3)/3se (media >= 5) entao
escreva “aluno aprovado”senao
escreva “aluno reprovado”fimfim
escrevaescreva só executará só executaráse se médiamédia for maior ou for maior ou
igual a 5igual a 5
Condicionais
se (media >= 5) entaoescreva “aluno aprovado”
fim
se (condição verdadeira) entaoinstrução 1instrução 2...
fim
Condicionais• Podemos tratar também quando
uma condição é falsa
se (media >= 5) entaoescreva “aluno aprovado”
senaoescreva “aluno reprovado”
fim
Executa quandoExecuta quandocondiçãocondição
verdadeiraverdadeira
Condicionais• Podemos tratar também quando
uma condição é falsa
se (media >= 5) entaoescreva “aluno aprovado”
senaoescreva “aluno reprovado”
fimExecuta quandoExecuta quandocondição falsacondição falsa
Condicionais• Podemos incluir condicionais dentro
dos blocos de instruções decondicionais
variaveismedia, nota1, nota2, nota3 inicioleia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3se (media >= 5) entao
escreva “aluno aprovado”senao
se (media >= 3) entaoescreva “aluno em prova final”
senaoescreva “aluno reprovado”
fimfimfim
Bloco executaBloco executaapenas quandoapenas quando
média < 5média < 5
Testes Condicionais• Podemos incluir testes condicionais
dentro dos blocos de instruções detestes condicionais
variaveismedia, nota1, nota2, nota3 inicioleia nota1, nota2 e nota3media = (nota1+nota2+nota3)/3se (media >= 5) entao
escreva “aluno aprovado”senao
se (media >= 3) entaoescreva “aluno em prova final”
senaoescreva “aluno reprovado”
fimfimfim
InstruçãoInstruçãoexecuta apenasexecuta apenas
quandoquandomédia < 5 emédia < 5 emédia >= 3média >= 3
Testes Condicionais• Podemos incluir testes condicionais
dentro dos blocos de instruções
variaveismedia, nota1, nota2, nota3inicioleia nota1, nota2 e nota3media = (nota1+nota2+nota3)/3se (media >= 5) entao
escreva “aluno aprovado”senao
se (media >= 3) entaoescreva “aluno em prova final”
senaoescreva “aluno reprovado”
fimfimfim
InstruçãoInstruçãoexecuta apenasexecuta apenas
quandoquandomédia < 3média < 3
Testes Condicionais• Outra forma de escrever o
pseudocódigo anterior:variaveismedia, nota1, nota2, nota3 inicioleia nota1, nota2 e nota3media = (nota1+nota2+nota3)/3se (media >= 5) entao
escreva “aluno aprovado”senao
se (media >= 3) entaoescreva “aluno em prova final”
senaoescreva “aluno reprovado”
fimfimfim
variaveismedia, nota1, nota2, nota3 inicioleia nota1, nota2 e nota3media = (nota1+nota2+nota3)/3se (media >= 5) entao
escreva “aluno aprovado”senao se (media >= 3) entao
escreva “aluno em prova final”senao
escreva “aluno reprovado”fimfim
Expressões Booleanas
• A expressão que escrevemos até agorapara testar se uma condição é verdadeirachama-se expressão booleana.
• Uma expressão booleana sempre gera umresultado 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?)
CombinandoExpressões Booleanas
• Nós podemos combinar expressõesbooleanas de duas formas
• Essas combinações que nós veremos geramum resultado verdadeiro ou falso.
CombinandoExpressões Booleanas• Usando a conjunção e
se(media < 5 e media >= 3) entaoescrever “em prova final”fim
CombinandoExpressões Booleanas• Usando a conjunção e
Expressão 1 Expressão 2 ResultadoFalso Falso
FalsoFalsosoFasl
VerdadeiroFalso
Verdadeiro FalsoFalso
Verdadeirodd
Verdadeiro Verdadeiro
se(media < 5 e media >= 3) entaoescrever “em prova final”fim
CombinandoExpressões Booleanas• Usando a disjunção ou
se(nota == A ou nota == B) entaoescrever “passou com louvor”fim
CombinandoExpressões Booleanas• Usando a disjunção ou
Expressão 1 Expressão 2 ResultadoFalso Falso
FalsoFalsosoFasl
Verdadeiro VerdadeiroVerdadeiro Falso VerdadeiroVerdadeiro
ddVerdadeiro Verdadeiro
se(nota == A ou nota == B) entaoescrever “passou com louvor”fim
Exemplos comCondicionais
• Problema: Escreva um pseudocódigo queobtém as 3 notas de um aluno, calcula suamédia e caso o aluno tenha sido aprovado,escreva na tela “Aprovado”. O aluno éaprovado se ele teve média maior ou iguala 5 e nenhuma nota menor que 3.
Exemplos comCondicionais
variaveismedia, nota1, nota2, nota3 inicioleia nota1, nota2 e nota3media = (nota1+nota2+nota3)/3se (media >= 5 e nota1 >= 3 e nota2 >= 3 e nota3 >= 3) entao
escreva “Aprovado”fimfim
Exemplos comCondicionais
• Problema: Escreva um pseudocódigo queobtém as 3 notas de um aluno, calcula suamédia e caso o aluno esteja em prova final,escrever “Prova final”. O aluno fica emprova final se ele teve média menor que 5ou se tirou menos que 3 em uma de suasprovas.
Exemplos comCondicionais
variaveismedia, nota1, nota2, nota3 inicioleia(nota1, nota2, nota3)media = (nota1+nota2+nota3)/3se (media < 5 ou nota1 < 3 ou nota2 < 3 ou nota3 < 3) entao
escreva “Prova final”fimfim
Repetições
• Existem diversos problemas que, pararesolvê-los, precisamos executar umasequência de instruções várias vezes.
• Para programar uma repetição, precisamoscriar um laço (loop).
Repetições
• Uma forma de criar uma repetição é usara palavra enquanto.
enquanto(expressão booleana) façainstrução 1instrução 2...fim
Repetições
• Uma forma de criar uma repetição é usara palavra enquanto.
enquanto(expressão booleana) façainstrução 1instrução 2...fim
instruçõesinstruções executam executamenquanto enquanto expressãoexpressão
booleanabooleana for forverdadeiraverdadeira
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Valor donúmero
0Tela do
Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Valor donúmero
0Tela do
Computador
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Valor donúmero
0Tela do
Computador0
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Valor donúmero
1Tela do
Computador0
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Valor donúmero
1Tela do
Computador0
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Valor donúmero
1Tela do
Computador0 1
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Valor donúmero
2Tela do
Computador0 1
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Valor donúmero
2Tela do
Computador0 1
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Valor donúmero
2Tela do
Computador0 1 2
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Valor donúmero
3Tela do
Computador0 1 2
Repetições
• Para escrever os números 0, 1 e 2 na tela:
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Valor donúmero
3Tela do
Computador0 1 2
Repetições
• Para escrever os números 0, 1 e 2 na tela:
Valor donúmero
3Tela do
Computador0 1 2
falsofalso
numero = 0enquanto(numero < 3) façaescrever numeronumero = numero + 1fim
Exemplos comRepetições
• Problema: Escreva um pseudocódigo que lêo número de alunos de uma turma edepois para cada aluno, lê a suas 3 notas daprova e no final escreve a média da turma.
Exemplos comRepetições
variaveisnum_alunos, i media, mediaTurma, nota1, nota2, nota3 inicioleia num_alunosi = 0mediaTurma = 0enquanto(i < num_alunos) faça
leia nota1, nota2 e nota3media = (nota1+nota2+nota3)/3mediaTurma = mediaTurma + mediai = i + 1
fimmediaTurma = mediaTurma / num_alunosescrever mediaTurmafim