linguagem computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – a...

28
1 - Algoritmos Prof. Dr. Adriano Mauro Cansian 1 Linguagem Computacional Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves Algoritmos e Programação – Parte 1 Sumário n Noções de lógica n Representação do Conhecimento n Lógica na Programação n Lógica e Algoritmo: Resolução de um Problema n Algoritmos: Formas de Apresentação ¡ Descrição Narrativa ¡ Fluxograma ¡ Pseudocódigo Algoritmos: Estruturas Básicas de Controle • Sequenciação • Seleção • Repetição

Upload: ledung

Post on 09-Feb-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 1

Linguagem Computacional

Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Algoritmos e Programação – Parte 1

Sumário n  Noções de lógica n  Representação do Conhecimento n  Lógica na Programação n  Lógica e Algoritmo: Resolução de um Problema n  Algoritmos: Formas de Apresentação

¡ Descrição Narrativa ¡ Fluxograma ¡ Pseudocódigo

  Algoritmos: Estruturas Básicas de Controle •  Sequenciação •  Seleção •  Repetição

Page 2: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 2

Noções de Lógica n Lógica: estudo filosófico do raciocínio válido.

¡ Sequência coerente, regular e obrigatória de acontecimentos.

¡ Exemplos:

•  Lógica: se Sócrates é homem e todos os homens são mortais, então Sócrates é mortal

•  Definição: se Carlos é solteiro, então ele não é casado

•  Causal: se chover, então o telhado fica molhado •  Decisão: se o Santos ganhar, eu vou festejar

•  O que essas implicações têm em comum?

3

Não pode acontecer de o antencedente ser verdadeiro e o consequente ser falso

Representação do Conhecimento: um exemplo

•  Formalização de Argumentos 1.  Se neva, então faz frio. 2.  Está nevando. 3.  Logo, está fazendo frio.

•  Representação: Vocabulário •  p : “neve” •  q : “frio”

–  Formalização Consequência

Lógica

Conclusão

{p→q, p} |= q

Argumento: sequência de premissas seguida de uma conclusão

Page 3: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 3

O que é um “premissa”?

•  Em lógica, uma premissa é uma fórmula considerada verdadeira, por hipótese inicial. – Ou seja, você supõe que sua ideia está certa.

Assim podemos dizer que:

A Premissa é proposta de condições e/ou conteúdo que serve como base para um raciocínio, que levará a uma conclusão.

Lógica na programação

Qual a importância da Lógica na programação?

1.  Permite representar o raciocínio. 2.  Permite focar a resolução do

problema.

Page 4: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 4

Lógica na programação

•  Para desenvolver um software: –  É preciso representar uma abstração da

realidade. •  Abstração por quê?

–  Porque um software não é algo palpável, “real”. –  Ele simula uma realidade.

–  Por exemplo: No Facebook, o software fornece uma realidade de que as pessoas estão se comunicando diretamente.

•  Mas na verdade estão se comunicando dentro do software do Facebook, e não diretamente.

Lógica na programação n Para fazer um programa precisamos:

1.  Representar uma realidade (Abstração e Lógica).

2.  Selecionar os dados relacionados ao problema que será resolvido.

3.  Processar os dados.

4.  Obter os resultados esperados (saída).

Page 5: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 5

n  Algoritmo: sequência ordenada de operações, e sem ambiguidades, para resolução de um

problema

q  Ex: Receita de Bolo

Entradas? Saída?

Processos?

Descrição dos passos?

Lógica e Algoritmo

Problema

Solução

Produto Final

Análise Preliminar

Teste de Qualidade Alteração

Lógica e Algoritmo

Page 6: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 6

O que são “dados” afinal?

•  Tudo que o software vai processar e devolver. – Exemplo: quando anexo uma foto a um

Email, o programa tem que saber como representar aqueles dados da foto dentro da mensagem.

•  Depois, do outro lado, o software tem que saber representar novamente os dados, para mostrar a foto.

•  Lembre da 1ª aula: informação no computador só faz sentido dentro de um determinado contexto. © Adriano Mauro Cansian 11

© Adriano Mauro Cansian 12

Como representar dados

•  Depende do que se vai fazer: •  não é uma tarefa muito trivial.

•  não existe uma única solução.

•  não existe receita única.

–  a solução de um problema no computador é um modelo.

–  a construção do modelo pode ter muitos níveis de detalhamento. Quanto Mais complexo o problema = mais detalhes.

Page 7: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 7

© Adriano Mauro Cansian 13

Como fazer as operações?

•  A decisão é influenciada pelo problema. –  Por exemplo: Windows no PC ou Celular Iphone ?.

•  Programador ➞ focaliza o problema

– Programador usa linguagens que se concentrar nas características do problema: alto nível.

© Adriano Mauro Cansian 14

Algoritmo (1)

•  É um processo sistemático para a resolução de problemas:

– Dois aspectos básicos no estudo de algoritmos ➨ ”correção” e ”análise”.

– Correção: exatidão do método empregado.

– Análise: verificar a eficiência do algoritmo (ver se a “coisa” realmente funciona).

Page 8: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 8

© Adriano Mauro Cansian 15

Algoritmo (2)

•  O algoritmo tem que fornecer uma “saída” a partir de uma “entrada”. –  Ou seja, obter o resultado do problema.

– Durante o processo, manipula dados gerados a partir de sua entrada.

© Adriano Mauro Cansian 16

Algoritmo (3) •  Um algoritmo é projetado em termos de “Tipos

de Dados”. •  O que é um “tipo de dados” ? •  É tudo que o computador vai “ler”, “escrever” e

processar. – Pode ser um número digital no teclado, ou

pode ser um sensor de infravermelho de um robô para detectar um obstáculo.

•  Veremos mais sobre ler e escrever mais adiante.

Page 9: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 9

Algoritmo (4)

Como implementar um algoritmo em uma Linguagem de programação?

•  Temos que saber: – Como representá-lo nesta linguagem.

• Quais são as regras e comandos. • Quais Tipos de Dados e Operações

suportadas pelo computador. – Como representar os dados.

•  Usando “Estruturas de Dados”. © Adriano Mauro Cansian 17

© Adriano Mauro Cansian 18

Algoritmos & Estruturas de Dados

•  Resolução de um Problema – Algoritmo

• Representação dos passos para resolver um problema.

– Estrutura de Dados • Representação da informação, ou seja, dos

dados que serão tratados.

Page 10: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 10

Algoritmos

© Adriano Mauro Cansian 20

Algoritmos - conceitos (1)

•  A palavra algoritmo, pode parecer estranha. •  Mas fazemos uso constantemente de algoritmos .

•  Algoritmos frequentemente usados:

–  instruções para se util izar um aparelho eletrodoméstico;

–  uma receita para preparo de algum prato;

–  a regra para determinação de máximos e mínimos de funções por derivadas sucessivas;

–  Etc...Etc... Etc...

Page 11: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 11

© Adriano Mauro Cansian 21

Algoritmos - conceitos (2) q “Um conjunto finito de regras que provê uma

sequência de operações para resolver um tipo de problema específico.” [KNUTH]

q “Sequência ordenada, e não ambígua, de

passos que levam à solução de um dado problema.” [TREMBLAY]

© Adriano Mauro Cansian 22

Por que precisamos de algoritmos?

•  Especificar uma sequência de passos lógicos, para que o computador possa executar uma tarefa qualquer. –  O computador não tem vontade própria. –  Faz apenas o que mandamos.

•  Com um algoritmo, podemos conceber uma solução para um dado problema, independente de uma linguagem computacional específica.

Page 12: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 12

© Adriano Mauro Cansian 23

Algoritmo e Instruções

•  Um texto contendo comandos (instruções) – Devem ser executados na ordem especificada. – Corresponde a representação objetiva.

Execução: o algoritmo é um evento dinâmico: ele evolui no tempo.

Ele “roda”.

© Adriano Mauro Cansian 24

Algoritmo e Instruções

•  Deve utilizar Estruturas Básicas de controle – Formas naturais de pensar, e adequadas à

construção de algoritmos inteligíveis. – Sempre em “alto nível”. – Por exemplo:

SE ......... ENTÃO .......... SENÃO ........

Page 13: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 13

© Adriano Mauro Cansian 25

Imperativo: ordens!

•  Algoritmo possui um caráter imperativo. •  Deve-se dar “ordens” no algoritmo:

– Uma ação no algoritmo: um comando, ou ordem

•  (“faça” / “execute” / “some” / “imprima”).

– Ordem executável para obter um efeito desejado.

Características dos algoritmos

Características e formas de representação

Page 14: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 14

© Adriano Mauro Cansian 27

Características dos algoritmos •  Todo algoritmo deve ter algumas

características básicas: 1.  Não dar margem à dupla interpretação

•  (não ser ambíguo);

2.  Ter capacidade de receber dado(s) de entrada; 3.  Poder gerar informações de saída; 4.  Ser efetivo: todas as etapas especificadas no

algoritmo devem ser alcançáveis em um tempo finito;

5.  Ter fim.

© Adriano Mauro Cansian 28

Formas de apresentação

•  Algoritmos podem ser representados, dentre outras maneiras, por: – DESCRIÇÃO NARRATIVA

– FLUXOGRAMA

– LINGUAGEM ALGORÍTMICA •  Pseudo-linguagem, parecida com a linguagem de

programação que iremos usa.

Page 15: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 15

© Adriano Mauro Cansian 29

Descrição narrativa (1) •  Uso da língua nativa para escrever. •  Exemplo: Receita de Bolo

1.  Selecione 50g manteiga, 2 ovos, 2 Kg de farinha, 500ml leite e 100g fermento.

2.  Misture os ingredientes;3.  Despeje a mistura na fôrma de bolo;4.  Leve a fôrma ao forno;5.  Espere 20 minutos;6.  Retire a fôrma do forno;7.  Deixe esfriar;8.  Prove.

© Adriano Mauro Cansian 30

Descrição narrativa (2) •  Vantagens:

•  A língua nativa é bastante conhecida;

•  Desvantagens: –  Imprecisão; – Pouca confiabilidade

•  Por causa da imprecisão; – Extenso

•  Normalmente, escreve-se muito, para dizer pouca coisa.

Page 16: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 16

© Adriano Mauro Cansian 31

Fluxograma (1)

•  Utilização de símbolos gráficos para representar algoritmos.

•  Símbolos padronizados para início, entrada de dados, cálculos, saída de dados, fim, dentre outros.

!! Neste curso não usaremos fluxogramas

© Adriano Mauro Cansian 32

Fluxograma (2)

Início

Leia NUM

DOBRO ← NUM*2

Escreva DOBRO

Fim

Início do algoritmo Entrada do número Cálculo do dobro do número Apresentação do resultado Fim do algoritmo

Page 17: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 17

Linguagem algorítmica

© Adriano Mauro Cansian 34

Linguagem Algorítmica (1) •  Consiste na definição de uma pseudo-linguagem

de programação para representar algoritmos; •  Comandos e instruções são em português ou inglês. •  Exemplo: Algoritmo CALCULA_DOBRO

1.  início2.   Leia NUM3.   DOBRO ß 2 * NUM

4.   Escreva DOBRO5.  fim

Page 18: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 18

© Adriano Mauro Cansian 35

Linguagem Algorítmica (2) •  Vantagens:

–  Independência da solução. •  Trata-se de solução lógica apenas.

•  Não interessa quem vai executar.

–  Usa o português como linguagem de base;

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

© Adriano Mauro Cansian 36

Resolvendo um problema manualmente

•  Exemmplo: resolver o seguinte problema: –  A partir de dois números, que serão informados,

calcular a adição dos mesmos. –  Aproximadamente são utilizados os passos a seguir:

a.  saber quais são os números;

b.  calcular a soma dos números;

c.  responder à questão com o valor do resultado.

Page 19: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 19

Escrita de algoritmos

© Adriano Mauro Cansian 38

Escrita de algoritmos

•  Escrever algoritmos ou programar, consiste em:

•  Dividir qualquer problema em muitos pequenos passos.

• Usando uma ou mais operações básicas possíveis.

Page 20: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 20

© Adriano Mauro Cansian 39

Passos, comandos e linguagem (1)

•  Passos do algoritmo são denominados de comandos.

•  Em linguagem de alto nível teríamos uma sequência de comandos assim:

Leia X,Y SOMA ß X + Y Escreva SOMA

Vamos trabalhar somente com alto nível

Estruturas Básicas da Construção de Algoritmos

Page 21: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 21

© Adriano Mauro Cansian 41

Estruturas básicas

•  Existem 3 estruturas básicas de controle, nas quais se baseiam os algoritmos: – Sequenciação;

– Decisão; – Repetição.

•  Detalharemos cada uma delas, a seguir:

© Adriano Mauro Cansian 42

Sequenciação (1) •  Os comandos do algoritmo fazem parte de uma

sequência. •  É importante a ordem na qual se encontram

–  Pois serão executados um de cada vez, estritamente, de acordo com essa ordem.

Comando-1Comando-2

Comando-3

:

Comando-n

Page 22: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 22

© Adriano Mauro Cansian 43

Decisão ou seleção (1) •  Essa estrutura também é conhecida por estrutura

condicional. •  A execução depende de uma condição acontecer. •  Vejamos o funcionamento:

SE <condição> ENTÃO

<executa comando-1> SENÃO

<executa comando-2>

Ou seja, SE a <condição> for verdadeira (então) será executado o <comando-1> e, em caso contrário (senão), teremos a execução de <comando-2>.

© Adriano Mauro Cansian 44

Decisão ou seleção (2) •  A decisão deve ser sempre usada quando há a

necessidade de testar alguma condição

•  E, em função desta condição, tomar uma atitude (realizar uma ação).

•  Em nosso dia-a-dia, estamos sempre tomando decisões, vejamos um exemplo:

Se tiver dinheiro suficiente, então vou jantar no Habbibs; Caso contrário (senão), vou comer um misto no Chalé;

Page 23: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 23

© Adriano Mauro Cansian 45

Repetição ou iteração (1)

•  Também é conhecida por “looping” ou laço.

•  Tarefas individuais são repetidas um número determinado de vezes.

–  Ou tantas vezes quanto uma condição lógica seja satisfeita.

•  Exemplos: a)  Vou atirar pedras na vidraça até quebrá-la;

b)  Baterei cinco pênaltis; c)  Enquanto tiver saúde e dinheiro, vou viajar de carro.

© Adriano Mauro Cansian 46

Repetição ou iteração (2)

•  Ex.(a): vai-se repetir a ação de atirar pedras na janela até que seja satisfeita a condição de quebrar a janela.

•  Ex.(b): haverá a repetição da atitude de bater um pênalti um número determinado de vezes (condição = cinco).

•  Ex. (c): a condição que me permitirá continuar viajando de carro é ter dinheiro e saúde.

Page 24: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 24

Alguns exemplos de estruturas

Em algoritmos

47

Exemplo: Sequenciação

•  Problema: Trocar uma lâmpada •  Solução (Algoritmo explorando sequenciação)

– Algoritmo trocar_lâmpada_versão1 1.  pegar uma escada; 2.  posicionar a escada embaixo da lâmpada; 3.  buscar uma lâmpada nova; 4.  subir na escada; 5.  retirar lâmpada queimada; 6.  colocar lâmpada nova; 7.  descer da escada;

Page 25: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 25

Exemplo: Seleção ou Decisão

•  Problema: Trocar uma lâmpada •  Solução (Algoritmo explorando sequenciação e seleção)

– Algoritmo trocar_lâmpada_versão2 1.  acionar o interruptor; 2.  se a lâmpada não acender, então

a.  pegar uma escada; b.  posicionar a escada embaixo da lâmpada; c.  buscar uma lâmpada nova; d.  subir na escada; e.  retirar lâmpada queimada; f.  colocar lâmpada nova. g.  descer da escada;

Exemplo: Repetição •  Problema: Trocar 10 lâmpadas queimadas

•  Solução (Algoritmo explorando sequenciação, seleção e repetição)

– Algoritmo trocar_lâmpada_versão3 1.  Para 10 lâmpadas, faça

i.  ir até o interruptor da lâmpada 1 de 10; ii.  acionar o interruptor; iii.  se a lâmpada não acender, então

a.  pegar uma escada; b.  posicionar a escada embaixo da lâmpada; c.  buscar uma lâmpada nova; d.  subir na escada; e.  retirar lâmpada queimada; f.  colocar lâmpada nova; g.  Descer da escada;

2.  Repetir etapas 1.i até 1.iii. para próxima lâmpada

Page 26: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 26

© Adriano Mauro Cansian 51

Conclusão das estruturas básicas

•  A utilização combinada dessas 3 estruturas descritas vai permitir expressar a solução para problemas, usando qualquer que seja a linguagem.

•  Todas as linguagens de programação oferecem essas estruturas.

© Adriano Mauro Cansian 52

Refinamentos sucessivos (1)

•  Um algoritmo é considerado completo se todos os seus comandos forem do entendimento do seu executor. –  Um comando que não for do entendimento do

executor terá que ser desdobrado em novos comandos, que constituirão um refinamento do comando inicial.

–  E assim sucessivamente, até que os comandos sejam entendidos pelo destinatário.

Page 27: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 27

© Adriano Mauro Cansian 53

Refinamentos sucessivos (2)

•  Por exemplo, o algoritmo para calcular a média aritmética de dois números, pode ser escrito da seguinte forma:

Algoritmo CALCULA_MÉDIA Início

Receba os dois números Calcule a média dos dois números Exiba o resultado

Fim

© Adriano Mauro Cansian 54

Refinamentos sucessivos (3) •  Podemos desdobrar o comando “Calcule a média

dos dois números” em:

Soma os dois números

Divida o resultado por 2

•  Após esse refinamento, o algoritmo pode ser considerado completo.

Page 28: Linguagem Computacional - angel.acmesecurity.orgadriano/aulas/lc/2016/4-algoritmos... · – A partir de dois números, que serão informados, calcular a adição dos mesmos. –

1 - Algoritmos

Prof. Dr. Adriano Mauro Cansian 28

© Adriano Mauro Cansian 55

Conclusão sobre refinamentos sucessivos

•  À medida que o algoritmo passa a ser maior e mais complexo, esta visão global torna-se menos clara e, neste caso, um algoritmo apresentado com os refinamentos sucessivos separados oferece uma melhor abordagem para quem precisar entendê-lo.

© Adriano Mauro Cansian 56

Resumo •  Até aqui vimos:

–  Definições de algoritmos. –  Características e modelos descritivos dos algoritmos. –  Linguagem algorítmica. –  Ambiente, funcionamento e escrita dos algoritmos. –  Estruturas básicas: seqüenciação, decisão, seleção e

repetição –  Refinamentos sucessivos.