Buscar

ALGORITIMOS AULA 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Algoritmos e Linguagem de 
Programação
Prof. Adriano Goularte
adriano.goularte@aedu.com
2
Lógica – Frequentemente se associa 
lógica apenas à matemática, não se 
percebendo sua aplicabilidade e sua 
relação com as demais ciências.
Podemos relacionar a lógica com a 
“correção do pensamento”, pois uma 
de suas preocupações é determinar 
quais operações são válidas e quais 
não são, fazendo análises das formas e 
leis do pensamento.
3
EXEMPLO:
Todo mamífero é um animal.
Todo cavalo é um mamífero.
Portanto, todo cavalo é um animal.
Nenhum homem sabe dançar. 
Este dançarino é homem.
Portanto, este dançarino não sabe dançar. 
4
Lógica de programação: A lógica de 
programação é necessária para pessoas que 
desejam trabalhar com desenvolvimento de 
sistemas e programas. Ela permite definir a 
sequência lógica para o desenvolvimento 
das aplicações. 
Então o que é lógica de programação? 
“Lógica de programação é a técnica de 
encadear/estruturar pensamentos para 
atingir um determinado objetivo.” 
5
Estes pensamentos podem ser descritos 
como uma sequência de instruções, que 
devem ser seguidas para se cumprir uma 
determinada tarefa. 
Sequência Lógica – são passos executados 
até atingir um objetivo ou solução de um 
problema. 
6
Sequência Lógica – Exemplo
A gaveta está fechada. 
A caneta está dentro da gaveta. 
Um casal com 3 filhos notou que um 
vaso estava quebrado, enquanto 2 das 
crianças estavam na escola. Quem é o 
culpado?
7
Instruções – são um conjunto de regras 
ou normas definidas para a realização ou 
emprego de algo. 
Em informática, é o que indica a um 
computador uma ação elementar a 
executar. 
8
O pensamento (e a lógica) pode ser expresso 
através da palavra falada ou da palavra escrita.
Um mesmo pensamento pode ser expresso em 
inúmeros idiomas, tanto oralmente quanto por 
escrito.
9
Introdução à Algoritmo
• Curiosidade 
• O termo algoritmo data sua origem no ano de 
830 d.C., por meio de um estudioso e 
matemático persa de nome Mohammed Ibn
Musa Abu Djefar, conhecido por Al-Khwarizmi, 
o qual escreveu na ocasião um importante 
livro sobre álgebra. 
• Durante o passar de vários anos e após ser 
usado repetidamente, o nome Al-Khwarizmi foi 
sofrendo corruptelas, chegando a Algarismo. É 
deste mesmo radical que vem o termo 
Algoritmo, utilizado em computação. 
10
Algoritmo 
• É o pensamento descrito como uma 
sequência de passos que visam atingir um 
objetivo.
• Podemos pensar em algoritmo como uma 
receita, uma sequência de instruções que 
executam uma meta específica. 
• Estas tarefas não podem ser redundantes 
nem subjetivas na sua definição, devem ser 
claras e precisas. 
11
Algoritmo
• Exemplos do mundo real: 
• Algoritmos de operações básicas (adição, 
multiplicação, divisão e subtração) de 
números reais decimais. 
• Manuais de aparelhos eletrônicos, como 
um Gravador de DVD, que explicam passo-
a-passo como gravar um evento. 
• Chupar uma bala. 
• Trocar uma lâmpada. 
• Etc...... 
12
Algoritmo
• A importância do algoritmo está no fato de termos 
que especificar uma sequência de passos lógicos 
para que o computador possa executar uma 
tarefa qualquer, pois o mesmo por si só não tem 
vontade própria, faz apenas o que mandamos.
• O Algoritmo permite‐nos abstrair de uma série de 
detalhes computacionais, que podem ser 
acrescentados mais tarde. Assim, podemos 
focalizar nossa atenção naquilo que é importante: 
a lógica da construção de algoritmos. 
13
Fritar um ovo
• pegar frigideira, ovo, óleo e sal;
• colocar óleo na frigideira;
• acender o fogo;
• colocar a frigideira no fogo;
• esperar o óleo esquentar;
• colocar o ovo;
• retirar quando estiver pronto.
Exemplos de algoritmo
14
Trocar uma lâmpada
• pegar uma escada;
• posicionar a escada 
embaixo da lâmpada;
• buscar uma lâmpada 
nova;
• subir na escada;
• retirar a lâmpada velha;
• colocar a lâmpada 
nova.
Exemplos de algoritmo
15
Trocar uma lâmpada
• pegar uma escada;
• posicionar a escada 
embaixo da lâmpada;
• buscar uma lâmpada 
nova;
• subir na escada;
• retirar a lâmpada velha;
• colocar a lâmpada 
nova.
Exemplos de algoritmo
• pegar uma escada;
• posicionar a escada embaixo da 
lâmpada;
• buscar uma lâmpada nova;
• acionar o interruptor;
• se a lâmpada não acender, então
• subir na escada;
• retirar a lâmpada velha;
• colocar a lâmpada nova.
16
Trocar uma lâmpada
• acionar o interruptor;
• se a lâmpada não acender, então
• pegar uma escada;
• posicionar a escada embaixo da lâmpada;
• buscar uma lâmpada nova;
• subir na escada;
• retirar a lâmpada queimada;
• colocar a lâmpada nova.
Exemplos de algoritmo
17
Trocar uma lâmpadaExemplos de algoritmo
• acionar o interruptor;
• se a lâmpada não acender, então
• pegar uma escada;
• posicionar a escada embaixo da lâmpada;
• buscar uma lâmpada nova;
• subir na escada;
• retirar a lâmpada queimada;
• colocar a lâmpada nova;
• se a lâmpada não acender, então
• retirar a lâmpada queimada;
• colocar outra lâmpada nova;
• se a lâmpada não acender, então
• retirar a lâmpada queimada;
• colocar outra lâmpada nova;
.
.
.
Até quando?????
18
Trocar uma lâmpada
Exemplos de algoritmo
• acionar o interruptor;
• se a lâmpada não acender, então
• pegar uma escada;
• posicionar a escada embaixo da lâmpada;
• buscar uma lâmpada nova;
• subir na escada;
• retirar a lâmpada queimada;
• colocar a lâmpada nova;
• enquanto a lâmpada não acender, faça
• retirar a lâmpada queimada;
• colocar outra lâmpada nova.
19
Desafio
Fazer um algoritmo para levar 3 missionários e 3 canibais de um lado
para outro de um rio, atravessando com um bote. Neste bote, podem ir
no máximo dois de cada vez.
Como o bote não pode atravessar o rio sozinho, sempre deve haver
pelo menos uma pessoa (missionário ou canibal) conduzindo o bote.
Sabe-se que nunca pode ter mais canibais do que missionários em
nenhum dos dois lados do rio, senão os canibais comerão os
missionários.
Por exemplo, se um missionário atravessa com um canibal para uma
margem do rio onde há apenas outro canibal, como o número de
canibais supera o número de missionários, mesmo que ele não desça
do barco os canibais o comerão.
O que fazer para levar os 6 de uma margem para outra?
20
21
Solução
• passa dois canibais.
• volta o canibal
• passa dois canibais
• volta o canibal
• passa dois missionários
• volta um canibal e um missionário
• passa dois missionários
• volta um canibal
• passam dois canibais
• volta um canibal para buscar o outro canibal.
22
Algoritmo - Características 
Todo algoritmo deve apresentar algumas características 
básicas: 
• ter fim; 
• não dar margem à dupla interpretação (não 
ambíguo); 
• capacidade de receber dado(s) de entrada do mundo 
exterior; 
• poder gerar informações de saída para o mundo 
externo ao do ambiente do algoritmo; 
• ser efetivo (todas as etapas especificadas no 
algoritmo devem ser alcançáveis em um tempo finito). 
23
Algoritmo - Vantagens
A partir dele o programador poderá 
implementá-lo em qualquer linguagem de 
programação que conheça ou deseje.
Algoritmo + linguagem de programação = programa
24
Algoritmo – Formas de Representação
Descrição narrativa - Faz-se uso do português 
para descrever um algoritmo. 
Gráfica – Faz-se o uso de gráficos (fluxogramas) 
para representar a solução. 
Pseudocódigo – utiliza-se linguagem formal de 
algoritmos para representar a solução (portugol). 
25
Algoritmo
Exemplo de um algoritmo para trocar uma lâmpada 
em descrição narrativa:
• acionar o interruptor;
• se a lâmpada não acender;
• pegar uma escada; 
• posicionar a escadaembaixo da lâmpada; 
• buscar uma nova lâmpada;
• acionar o interruptor; 
• subir na escada; 
• retirar a lâmpada velha; 
• colocar a lâmpada nova; 
26
Algoritmo - Representação gráfica do algoritmo 
para trocar uma lâmpada (fluxograma). 
SIMBOLOGIA BÁSICA DE UM FLUXOGRAMA
27
28
- Entrada e saída de dados
- Saída de dados em vídeo
- Saída de dados em impressora
- Símbolo de decisão
SIMBOLOGIAS BÁSICAS
29
EXERCICIO 1 : Cálculo da média de notas escolares.
- A partir das notas dos alunos, calcular a média e indicar quais foram 
aprovados e quais foram reprovados.
30
PERGUNTAS QUE DEVEM SER FEITAS:
- As notas serão lidas a partir do teclado ou de um arquivo?
- Como devo calcular a média? Que equação devo utilizar?
- Qual o critério de aprovação?
-O resultado deverá ser impresso, apresentado em vídeo ou 
será enviado para um arquivo?
31
DEFINIÇÃO DO PROBLEMA:
- As notas serão lidas a partir do teclado.
- A média será calculada com a seguinte expressão: 
Média = (N1 + N2) / 2
- O aluno é considerado aprovado se sua média é maior ou 
igual a 5,0.
- O resultado será armazenado em um arquivo.
32
DESCRIÇÃO NARRATIVA
• digitar notas dos alunos;
• calcular as médias;
• se media maior ou igual a 5;
• gravar no arquivo (aprovado);
• se media menor que 5;
• gravar no arquivo (reprovado).
33
Início
calcular a média
dos alunos e apresentar
os resultados
DESENVOLVIMENTO EM FLUXOGRAMA
Fim
34
início
entrada das notas
cálculo da média: 
Média = (N1 + N2) / 2
Média ≥ 5
“Aprovado”“Reprovado”
fim
simnão
35
PSEUDOCÓDIGO
inicio
real: N1, N2, Média;
leia (N1, N2);
Média � (N1 + N2) / 2; 
se (Média >= 5)
então 
escreva (“Aprovado”); 
senão
escreva (“Reprovado”);
fimse;
fim. 
36
EXERCICIO 2 :
Eu tenho 3 bolas: A, B e C. Pintei uma de vermelho, uma de branco e 
outra de azul, não necessariamente nesta ordem. Somente uma 
destas afirmações é verdadeira: 
A é vermelha B não é vermelha C não é azul 
As cores das bolas A, B, e C são, respectivamente: 
a) vermelha, branca, azul 
b) branca, vermelha, azul 
c) vermelha, azul, branca 
d) branca, azul, vermelha 
e) azul, vermelha, branca 
37
EXERCICIO 3 :
No torneio de atletismo, Barnabé, Gumercindo e Teodoro participaram 
das provas de 100 metros rasos, salto em distância e arremesso de 
dardo. Cada um deles conseguiu um primeiro lugar, um segundo e um 
terceiro. Descubra o que cada um conquistou, sabendo que:
a) Gumercindo venceu Barnabé no salto em distância;
b) Teodoro chegou atrás de Gumercindo no arremesso de dardo;
c) Barnabé não chegou em primeiro nos 100 metros rasos.
38
EXERCICIO 3 :
• A primeira informação garante que Barnabé não foi o primeiro e 
Gumercindo não foi o último no salto em distância. 
• Com a segunda informação sabemos que Teodoro não foi o primeiro no 
arremesso de dardo e Gumercindo não foi o último. Assim podemos 
concluir que Gumercindo foi o último nos cem metros rasos.
• A terceira informação garante que Barnabé não foi o primeiro nos cem 
metros, como também não chegou em último (lugar ocupado por 
Gumercindo); logo ele foi segundo. Portanto, o primeiro ficou com Teodoro.
• Sabemos da primeira informação que Barnabé não foi o primeiro no salto; 
também sabemos que não foi segundo, pois ocupou essa posição nos cem 
metros. Portanto, terá sido o terceiro, e isso o coloca como primeiro no 
arremesso de dardo.
• No dardo, Gumercindo só pode ter sido o segundo, pois a informação 
número dois nos garantiu que ele não foi o último. Então sobrou para 
Teodoro o último lugar.
• No salto em distância, sabemos que Barnabé foi o terceiro, Gumercindo o 
primeiro e Teodoro o segundo.
39
EXERCICIO 3 :
Colocação final (do primeiro lugar para o terceiro):
Cem metros rasos: Teodoro, Barnabé, Gumercindo;
Arremesso de dardo: Barnabé, Gumercindo, Teodoro;
Salto em distância: Gumercindo, Teodoro, Barnabé.
40
EXERCICIO 4 :
Guilherme, Álvaro e Mané acabaram de terminar um lanche. Um dos 
três rapazes comeu um lanche de presunto, outro um lanche de peru, 
e o terceiro, um lanche de frango. Apenas uma das afirmações abaixo 
é verdadeira: 
Guilherme comeu o lanche de peru; 
Guilherme não comeu o lanche de frango; 
Álvaro não comeu o lanche de frango; 
Álvaro não comeu o lanche de presunto; 
Então, Guilherme, Álvaro e Mané comeram respectivamente, os 
lanches de: 
a) presunto, frango, peru 
b) frango, presunto, peru 
c) peru, frango, presunto 
d) peru, presunto, frango 
e) presunto, peru, frango 
41
EXERCICIO 5 :
Tendo como exemplo os algoritmos desenvolvidos para solucionar o 
problema da troca de lâmpadas, elabore um algoritmo que mostre os 
passos necessários para trocar um pneu furado. Considere o seguinte 
conjunto de situações:
• Trocar o pneu traseiro esquerdo;
• Trocar o pneu traseiro esquerdo e, antes, verificar se o pneu 
reserva está em condições de uso;
• Verificar se existe algum pneu furado; se houver, verificar o 
pneu reserva e, então, trocar o pneu correto.
Para cada algoritmo faça um refinamento do anterior, introduzindo 
novas ações e alterando o fluxo de execução de forma compatível com 
as situações apresentadas

Outros materiais