Upload
robson-ferreira
View
343
Download
3
Tags:
Embed Size (px)
Citation preview
Algoritmos e Lógica de Programação
LAUREATE INTERNATIONAL UNIVERSITIES*
Conceitos Básicos
Profa. MSc. Ana Carolina Costa de Oliveira
Apresentação
• Por que precisamos de algoritmos
• Características
• Formas de representação
• Estruturas chaves da construção de algoritmos
Por que precisamos de algoritmos ?
“A“A“A“A noçãonoçãonoçãonoção dededede
algoritmoalgoritmoalgoritmoalgoritmo éééé básicabásicabásicabásica
paraparaparapara todatodatodatoda aaaa
programaçãoprogramaçãoprogramaçãoprogramação dededede
computadores”computadores”computadores”computadores”
“O“O“O“O conceitoconceitoconceitoconceito centralcentralcentralcentral dadadada
programaçãoprogramaçãoprogramaçãoprogramação eeee dadadada ciênciaciênciaciênciaciência dadadada
computaçãocomputaçãocomputaçãocomputação éééé oooo conceitoconceitoconceitoconceito dededede
algoritmo”algoritmo”algoritmo”algoritmo”
Por que precisamos de algoritmos ?
� A importância do algoritmo está no fato
de termos que especificar uma seqüência
de passos lógicos para que o computador
possa executar uma tarefa qualquer.
� Com uma ferramenta algorítmica,
podemos conceber uma solução para um
dado problema, independendo de uma
linguagem específica e até mesmo do
próprio computador.
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 �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).
Formas de representação
Algoritmos podem ser representados, dentre
outras maneiras, por:
�Descrição narrativa�Descrição narrativa
�Fluxograma
�Linguagem algorítmica
Descrição narrativa
Faz-se uso do português para descrever
algoritmos.
EXEMPLO: EXEMPLO: EXEMPLO: EXEMPLO: Receita de Bolo:
Providencie manteiga, ovos, 2 Kg
de massa, etc. de massa, etc.
Misture os ingredientes
Despeje a mistura na fôrma de bolo
Leve a fôrma ao forno
Espere 20 minutos
Retire a fôrma do forno
Deixe esfriar
Prove
VANTAGENS:
�o português é bastante conhecido por nós;
DESVANTAGENS:
�imprecisão;
Descrição narrativa
�imprecisão;
�pouca confiabilidade (a imprecisão
acarreta a desconfiança);
�extensão (normalmente, escreve-se muito
para dizer pouca coisa).
Fluxograma
Utilização de símbolos gráficos para representar
algoritmos. No fluxograma existem símbolos
padronizados para início, entrada de dados,
cálculos, saída de dados, fim, etc.
Fluxograma - Exemplo
Fluxograma
VANTAGENS:
�Uma das ferramentas mais conhecidas;
�Figuras dizem muito mais que palavras;
�Padrão mundial
DESVANTAGENS:
�Faz com que a solução do problema já
esteja amarrada a dispositivos físicos;
�Pouca atenção aos dados, não oferecendo
recursos para descrevê-los ou representá-los;
�Complica-se à medida que o algoritmo
cresce
Linguagem algorítmica
Consiste na definição de uma
pseudolinguagem de programação, cujos
comandos são em português, para
representar algoritmos.
EXEMPLO: EXEMPLO: EXEMPLO: EXEMPLO: EXEMPLO: EXEMPLO: EXEMPLO: EXEMPLO:
Algoritmo CALCULA_DOBRO
Início
Leia NUM
DOBRO � 2 * NUM
Escreva DOBRO
Fim
VANTAGENS:�Independência física da solução (solução lógica
apenas);
�Usa o português como base;
�Pode-se definir quais e como os dados vão estar
estruturados;
Linguagem algorítmica
estruturados;
�Passagem quase imediata do algoritmo para uma
linguagem de programação qualquer.
DESVANTAGENS:�Exige a definição de uma linguagem não real para
trabalho;
�Não padronizado.
Um ambiente para escrever algoritmos
ExemploExemploExemploExemplo::::
� Uma máquina hipotética para a qual será desenvolvido
um algoritmos.
O computador hipotético apresentará a seguinte
Uma máquina hipotética para a qual será desenvolvido
um algoritmos.
�O computador hipotético apresentará a seguinte
organização:
ExemplosExemplos
de Algoritmo
Escovar os DentesEscovar os Dentes
Escovar os Dentes
Algoritmo Escovar_dentesAlgoritmo Escovar_dentesAlgoritmo Escovar_dentesAlgoritmo Escovar_dentes
InícioInícioInícioInício
EXEMPLO: EXEMPLO: EXEMPLO: EXEMPLO: Escovar os dentes pela manhã.Escovar os dentes pela manhã.Escovar os dentes pela manhã.Escovar os dentes pela manhã.
InícioInícioInícioInício
Colocar creme dental na escovaColocar creme dental na escovaColocar creme dental na escovaColocar creme dental na escova
Escova os dentesEscova os dentesEscova os dentesEscova os dentes
Enxaguar a boca com águaEnxaguar a boca com águaEnxaguar a boca com águaEnxaguar a boca com água
Enxugar a bocaEnxugar a bocaEnxugar a bocaEnxugar a boca
Fim_do_algoritmo.Fim_do_algoritmo.Fim_do_algoritmo.Fim_do_algoritmo.
Trocar uma lâmpada Trocar uma lâmpada
queimada
Trocar uma lâmpada queimada
Algoritmo Trocar_lâmpada_queimadaAlgoritmo Trocar_lâmpada_queimadaAlgoritmo Trocar_lâmpada_queimadaAlgoritmo Trocar_lâmpada_queimada
InícioInícioInícioInício
Posicionar a escada debaixo da lâmpada Posicionar a escada debaixo da lâmpada Posicionar a escada debaixo da lâmpada Posicionar a escada debaixo da lâmpada
queimada;queimada;queimada;queimada;
Escolher uma nova lâmpada de mesma Escolher uma nova lâmpada de mesma Escolher uma nova lâmpada de mesma Escolher uma nova lâmpada de mesma potência da potência da potência da potência da
EXEMPLO: EXEMPLO: EXEMPLO: EXEMPLO: Trocar uma lâmpada queimadaTrocar uma lâmpada queimadaTrocar uma lâmpada queimadaTrocar uma lâmpada queimada
Escolher uma nova lâmpada de mesma Escolher uma nova lâmpada de mesma Escolher uma nova lâmpada de mesma Escolher uma nova lâmpada de mesma potência da potência da potência da potência da
Queimada;Queimada;Queimada;Queimada;
Subir na escada até que a lâmpada possa ser Subir na escada até que a lâmpada possa ser Subir na escada até que a lâmpada possa ser Subir na escada até que a lâmpada possa ser
alcançada; alcançada; alcançada; alcançada;
Girar a lâmpada no sentido antiGirar a lâmpada no sentido antiGirar a lâmpada no sentido antiGirar a lâmpada no sentido anti<<<<horário até horário até horário até horário até
que ela se solte;que ela se solte;que ela se solte;que ela se solte;
Posicionar a nova lâmpada no soquete;Posicionar a nova lâmpada no soquete;Posicionar a nova lâmpada no soquete;Posicionar a nova lâmpada no soquete;
GiráGiráGiráGirá<<<<la no sentido horário até que ela se la no sentido horário até que ela se la no sentido horário até que ela se la no sentido horário até que ela se
firme Descer da escada;firme Descer da escada;firme Descer da escada;firme Descer da escada;
Fim_do_algoritmo.Fim_do_algoritmo.Fim_do_algoritmo.Fim_do_algoritmo.
Preparar um Dry MartiniPreparar um Dry Martini
Preparar um Dry Martini
Algoritmo Preparar um Dry MartiniAlgoritmo Preparar um Dry MartiniAlgoritmo Preparar um Dry MartiniAlgoritmo Preparar um Dry Martini
InícioInícioInícioInício
Coloque um dose de vermute e duas Coloque um dose de vermute e duas Coloque um dose de vermute e duas Coloque um dose de vermute e duas
doses de doses de doses de doses de GinGinGinGin num coponum coponum coponum copo
EXEMPLO: EXEMPLO: EXEMPLO: EXEMPLO: Preparar um Dry MartiniPreparar um Dry MartiniPreparar um Dry MartiniPreparar um Dry Martini
doses de doses de doses de doses de GinGinGinGin num coponum coponum coponum copo
Adicione uma gota de Adicione uma gota de Adicione uma gota de Adicione uma gota de angosturaangosturaangosturaangostura
Adicione uma gota de Orange Adicione uma gota de Orange Adicione uma gota de Orange Adicione uma gota de Orange BitterBitterBitterBitter
Coloque a Pedra de geloColoque a Pedra de geloColoque a Pedra de geloColoque a Pedra de gelo
Enfeite com a azeitona esperta num Enfeite com a azeitona esperta num Enfeite com a azeitona esperta num Enfeite com a azeitona esperta num
palitopalitopalitopalito
Fim_do_algoritmo.Fim_do_algoritmo.Fim_do_algoritmo.Fim_do_algoritmo.Fim_do_algoritmo.Fim_do_algoritmo.Fim_do_algoritmo.Fim_do_algoritmo.
Importantíssima
Importante: abordar o
máximo de detalhes em um
algoritmo.algoritmo.
Não esquecer: como será
interpretado o que foi
escrito ?
Exercício Exercício
Exercício para casa
�Troca de um pneu furado;
� Fritar um ovo;
� Fazer um bolo simples;
� Atravessar uma rua;
� Um escritório de previsão do tempo armazena� Um escritório de previsão do tempo armazena
diariamente a temperatura média de uma determinada
região. A tarefa é descobrir qual é a menor temperatura
já registrada nos arquivos do escritório. Lembrar que
temperaturas podem ser negativas ou positivas.
Exercício
Analise e descreva uma maneira de mover os discos
do pino A para o pino C, mantendo a mesma ordem.
Em hipótese nenhuma um disco maior poderá ficar
sobre um menor. Para que um disco seja movido de
A para C, deve-se passar pelo pino B e vice-versa.A para C, deve-se passar pelo pino B e vice-versa.
Considerações finais Considerações finais
Algoritmos e Lógica de Programação
LAUREATE INTERNATIONAL UNIVERSITIES*
Conceitos Básicos
Profa. MSc. Ana Carolina Costa de Oliveira