122172 1445

Preview:

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