30
Algoritmos e Lógica de Programação LAUREATE INTERNATIONAL UNIVERSITIES* Conceitos Básicos Prof a . MSc. Ana Carolina Costa de Oliveira

122172 1445

Embed Size (px)

Citation preview

Page 1: 122172 1445

Algoritmos e Lógica de Programação

LAUREATE INTERNATIONAL UNIVERSITIES*

Conceitos Básicos

Profa. MSc. Ana Carolina Costa de Oliveira

Page 2: 122172 1445

Apresentação

• Por que precisamos de algoritmos

• Características

• Formas de representação

• Estruturas chaves da construção de algoritmos

Page 3: 122172 1445

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”

Page 4: 122172 1445

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.

Page 5: 122172 1445

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).

Page 6: 122172 1445

Formas de representação

Algoritmos podem ser representados, dentre

outras maneiras, por:

�Descrição narrativa�Descrição narrativa

�Fluxograma

�Linguagem algorítmica

Page 7: 122172 1445

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

Page 8: 122172 1445

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).

Page 9: 122172 1445

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.

Page 10: 122172 1445

Fluxograma - Exemplo

Page 11: 122172 1445

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

Page 12: 122172 1445

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

Page 13: 122172 1445

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.

Page 14: 122172 1445

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:

Page 15: 122172 1445

ExemplosExemplos

de Algoritmo

Page 16: 122172 1445

Escovar os DentesEscovar os Dentes

Page 17: 122172 1445
Page 18: 122172 1445

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.

Page 19: 122172 1445

Trocar uma lâmpada Trocar uma lâmpada

queimada

Page 20: 122172 1445
Page 21: 122172 1445

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.

Page 22: 122172 1445

Preparar um Dry MartiniPreparar um Dry Martini

Page 23: 122172 1445
Page 24: 122172 1445

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.

Page 25: 122172 1445

Importantíssima

Importante: abordar o

máximo de detalhes em um

algoritmo.algoritmo.

Não esquecer: como será

interpretado o que foi

escrito ?

Page 26: 122172 1445

Exercício Exercício

Page 27: 122172 1445

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.

Page 28: 122172 1445

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.

Page 29: 122172 1445

Considerações finais Considerações finais

Page 30: 122172 1445

Algoritmos e Lógica de Programação

LAUREATE INTERNATIONAL UNIVERSITIES*

Conceitos Básicos

Profa. MSc. Ana Carolina Costa de Oliveira