Sie sind auf Seite 1von 91

Introdução Formas de representação Resumo

Introdução à Algoritmos e Programação

Ivanovitch Medeiros Dantas da Silva

Universidade Federal do Rio Grande do Norte


Departamento de Engenharia de Computação e Automação
DCA0800 - Algoritmos e Lógica de Programação

Natal, 01 de setembro de 2011

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Sumário

1 Introdução

2 Formas de representação
Descrição Narrativa
Fluxograma Convencional
Pseudocódigo

3 Resumo

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Sumário

1 Introdução

2 Formas de representação
Descrição Narrativa
Fluxograma Convencional
Pseudocódigo

3 Resumo

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Conceito de algoritmo
O que é um algoritmo?

Segundo o dicionário Aurélio, a palavra algoritmo é


definida como:
Matemático - processo de cálculo ou de resolução de um
grupo de problemas semelhantes, em que se estipulam,
com generalidade e sem restrições, regras formais para a
obtenção do resultado ou da solução do problema.
Informática - conjunto de regras e operações
bem-definidas e ordenadas, destinadas à solução de um
problema ou de uma classe de problemas, em um número
finito de etapas.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Conceito de algoritmo
O que é um algoritmo?

Segundo o dicionário Aurélio, a palavra algoritmo é


definida como:
Matemático - processo de cálculo ou de resolução de um
grupo de problemas semelhantes, em que se estipulam,
com generalidade e sem restrições, regras formais para a
obtenção do resultado ou da solução do problema.
Informática - conjunto de regras e operações
bem-definidas e ordenadas, destinadas à solução de um
problema ou de uma classe de problemas, em um número
finito de etapas.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Conceito de algoritmo
O que é um algoritmo?

Segundo o dicionário Aurélio, a palavra algoritmo é


definida como:
Matemático - processo de cálculo ou de resolução de um
grupo de problemas semelhantes, em que se estipulam,
com generalidade e sem restrições, regras formais para a
obtenção do resultado ou da solução do problema.
Informática - conjunto de regras e operações
bem-definidas e ordenadas, destinadas à solução de um
problema ou de uma classe de problemas, em um número
finito de etapas.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Caracterı́sticas de um algoritmo

Um algoritmo representa uma sequência de ações.


Essas ações devem ser executadas em uma ordem
preestabelecida.
Cada algoritmo possui um conjunto finito de ações.
Essas ações devem possuir um significado e ser
formalizadas segundo alguma convenção.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo

Existe um algoritmo embutido em toda tarefa,


independentemente de ela ser relacionada a um programa
de computador.
Algoritmos são usados nas ações de comer, respirar, ir
para a faculdade, dirigir um automóvel, cozinhar, etc.

Algoritmos não servem apenas para programar


computadores! São de uso geral!

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo

Existe um algoritmo embutido em toda tarefa,


independentemente de ela ser relacionada a um programa
de computador.
Algoritmos são usados nas ações de comer, respirar, ir
para a faculdade, dirigir um automóvel, cozinhar, etc.

Algoritmos não servem apenas para programar


computadores! São de uso geral!

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo

Existe um algoritmo embutido em toda tarefa,


independentemente de ela ser relacionada a um programa
de computador.
Algoritmos são usados nas ações de comer, respirar, ir
para a faculdade, dirigir um automóvel, cozinhar, etc.

Algoritmos não servem apenas para programar


computadores! São de uso geral!

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo

Existe um algoritmo embutido em toda tarefa,


independentemente de ela ser relacionada a um programa
de computador.
Algoritmos são usados nas ações de comer, respirar, ir
para a faculdade, dirigir um automóvel, cozinhar, etc.

Algoritmos não servem apenas para programar


computadores! São de uso geral!

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Exemplo não computacional de um algoritmo

Algoritmo para fazer um sorvete de chocolate.


Entrada: Ingredientes
Saı́da : Sorvete de chocolate
1 Inı́cio
2 Ponha o chocolate em uma tigela refratária
3 Deixe a tigela no micro-ondas durante um minuto em potência máxima
4 Tire o chocolate do forno com cuidado e mexa-o até esfriar
5 Bata-o no liquidificador com o leite condensado e o leite
6 Despeje tudo em uma forma de gelo e espere congelar por três horas
7 Distribua o sorvete em taças
8 Decore com as raspas ou com o chocolate granulado
9 Sirva
10 Fim

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 1 Disco

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 1 Disco

Mova o disco da haste 1 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 1 Disco

OK

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 2 Discos

1
2

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 2 Discos

2 1

Mova o disco da haste 1 para haste 2.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 2 Discos

1 2

Mova o disco da haste 1 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 2 Discos

1
2

Mova o disco da haste 2 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 2 Discos

OK
1
2

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 3 Discos

1
2
3

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 3 Discos

2
3 1

Mova o disco da haste 1 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 3 Discos

3 2 1

Mova o disco da haste 1 para haste 2.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 3 Discos

1
3 2

Mova o disco da haste 3 para haste 2.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 3 Discos

1
2 3

Mova o disco da haste 1 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 3 Discos

1 2 3

Mova o disco da haste 2 para haste 1.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 3 Discos

2
1 3

Mova o disco da haste 2 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 3 Discos

1
2
3

Mova o disco da haste 1 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 3 Discos

OK
1
2
3

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

1
2
3
4

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

2
3
4 1

Mova o disco da haste 1 para haste 2.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

3
4 1 2

Mova o disco da haste 1 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

3 1
4 2

Mova o disco da haste 2 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

1
4 3 2

Mova o disco da haste 1 para haste 2.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

1
4 3 2

Mova o disco da haste 3 para haste 1.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

1 2
4 3

Mova o disco da haste 3 para haste 2.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

1
2
4 3

Mova o disco da haste 1 para haste 2.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

1
2
3 4

Mova o disco da haste 1 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

2 1
3 4

Mova o disco da haste 2 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

1
2 3 4

Mova o disco da haste 2 para haste 1.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

1
2 3 4

Mova o disco da haste 3 para haste 1.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

1 3
2 4

Mova o disco da haste 2 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

3
2 1 4

Mova o disco da haste 1 para haste 2.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

2
3
1 4

Mova o disco da haste 1 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

1
2
3
4

Mova o disco da haste 2 para haste 3.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 4 Discos

OK 1
2
3
4

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Aplicabilidade de um algoritmo
Torre de Hanoi – 5 Discos

1
2
?
3
4
5

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Propriedades de um algoritmo

Valores de entrada
Todo algoritmo deve possuir zero, uma ou mais entradas
de dados
Valores de saı́da
Todo algoritmo possui uma ou mais saı́das, que
simboliza(m) seu(s) resultados(s)
Finitude
Toda tarefa a ser realizada possui um inı́cio, meio e fim.
Passos elementares
Um algoritmo computacional deve ser explicitado por meio
de operações elementares.
Correção
Deve permitir que, com sua execução, se chegue a saı́da
desejada.
Ivanovitch Silva Introdução à Algoritmos e Programação
Introdução Formas de representação Resumo

Propriedades de um algoritmo

Valores de entrada
Todo algoritmo deve possuir zero, uma ou mais entradas
de dados
Valores de saı́da
Todo algoritmo possui uma ou mais saı́das, que
simboliza(m) seu(s) resultados(s)
Finitude
Toda tarefa a ser realizada possui um inı́cio, meio e fim.
Passos elementares
Um algoritmo computacional deve ser explicitado por meio
de operações elementares.
Correção
Deve permitir que, com sua execução, se chegue a saı́da
desejada.
Ivanovitch Silva Introdução à Algoritmos e Programação
Introdução Formas de representação Resumo

Propriedades de um algoritmo

Valores de entrada
Todo algoritmo deve possuir zero, uma ou mais entradas
de dados
Valores de saı́da
Todo algoritmo possui uma ou mais saı́das, que
simboliza(m) seu(s) resultados(s)
Finitude
Toda tarefa a ser realizada possui um inı́cio, meio e fim.
Passos elementares
Um algoritmo computacional deve ser explicitado por meio
de operações elementares.
Correção
Deve permitir que, com sua execução, se chegue a saı́da
desejada.
Ivanovitch Silva Introdução à Algoritmos e Programação
Introdução Formas de representação Resumo

Propriedades de um algoritmo

Valores de entrada
Todo algoritmo deve possuir zero, uma ou mais entradas
de dados
Valores de saı́da
Todo algoritmo possui uma ou mais saı́das, que
simboliza(m) seu(s) resultados(s)
Finitude
Toda tarefa a ser realizada possui um inı́cio, meio e fim.
Passos elementares
Um algoritmo computacional deve ser explicitado por meio
de operações elementares.
Correção
Deve permitir que, com sua execução, se chegue a saı́da
desejada.
Ivanovitch Silva Introdução à Algoritmos e Programação
Introdução Formas de representação Resumo

Propriedades de um algoritmo

Valores de entrada
Todo algoritmo deve possuir zero, uma ou mais entradas
de dados
Valores de saı́da
Todo algoritmo possui uma ou mais saı́das, que
simboliza(m) seu(s) resultados(s)
Finitude
Toda tarefa a ser realizada possui um inı́cio, meio e fim.
Passos elementares
Um algoritmo computacional deve ser explicitado por meio
de operações elementares.
Correção
Deve permitir que, com sua execução, se chegue a saı́da
desejada.
Ivanovitch Silva Introdução à Algoritmos e Programação
Introdução Formas de representação Resumo

Propriedades de um algoritmo

Valores de entrada
Todo algoritmo deve possuir zero, uma ou mais entradas
de dados
Valores de saı́da
Todo algoritmo possui uma ou mais saı́das, que
simboliza(m) seu(s) resultados(s)
Finitude
Toda tarefa a ser realizada possui um inı́cio, meio e fim.
Passos elementares
Um algoritmo computacional deve ser explicitado por meio
de operações elementares.
Correção
Deve permitir que, com sua execução, se chegue a saı́da
desejada.
Ivanovitch Silva Introdução à Algoritmos e Programação
Introdução Formas de representação Resumo

Como aprender algoritmos?

Como não se aprende algoritmos:


Copiando algoritmos ou decorando algoritmos já
implementados

Algoritmos só se aprendem:


Construindo algoritmos e testando algoritmos

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Resolver problemas através de algoritmos


Pensar antes de agir

1 Ao se deparar com um problema novo, tente


primeiramente entendê-lo.
O que se deve descobrir ou calcular?
Quais são os dados disponı́veis?
Quais as condições necessárias para resolver o problema?
2 Consulte seus apontamentos, verifique se você já resolveu
algum problema parecido.
3 Faça o algoritmo.
4 Teste o algoritmo com diversos dados de entrada.
5 É possı́vel melhorar o algoritmo?

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Resolver problemas através de algoritmos


Pensar antes de agir

1 Ao se deparar com um problema novo, tente


primeiramente entendê-lo.
O que se deve descobrir ou calcular?
Quais são os dados disponı́veis?
Quais as condições necessárias para resolver o problema?
2 Consulte seus apontamentos, verifique se você já resolveu
algum problema parecido.
3 Faça o algoritmo.
4 Teste o algoritmo com diversos dados de entrada.
5 É possı́vel melhorar o algoritmo?

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Resolver problemas através de algoritmos


Pensar antes de agir

1 Ao se deparar com um problema novo, tente


primeiramente entendê-lo.
O que se deve descobrir ou calcular?
Quais são os dados disponı́veis?
Quais as condições necessárias para resolver o problema?
2 Consulte seus apontamentos, verifique se você já resolveu
algum problema parecido.
3 Faça o algoritmo.
4 Teste o algoritmo com diversos dados de entrada.
5 É possı́vel melhorar o algoritmo?

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Resolver problemas através de algoritmos


Pensar antes de agir

1 Ao se deparar com um problema novo, tente


primeiramente entendê-lo.
O que se deve descobrir ou calcular?
Quais são os dados disponı́veis?
Quais as condições necessárias para resolver o problema?
2 Consulte seus apontamentos, verifique se você já resolveu
algum problema parecido.
3 Faça o algoritmo.
4 Teste o algoritmo com diversos dados de entrada.
5 É possı́vel melhorar o algoritmo?

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Resolver problemas através de algoritmos


Pensar antes de agir

1 Ao se deparar com um problema novo, tente


primeiramente entendê-lo.
O que se deve descobrir ou calcular?
Quais são os dados disponı́veis?
Quais as condições necessárias para resolver o problema?
2 Consulte seus apontamentos, verifique se você já resolveu
algum problema parecido.
3 Faça o algoritmo.
4 Teste o algoritmo com diversos dados de entrada.
5 É possı́vel melhorar o algoritmo?

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Resolver problemas através de algoritmos


Pensar antes de agir

1 Ao se deparar com um problema novo, tente


primeiramente entendê-lo.
O que se deve descobrir ou calcular?
Quais são os dados disponı́veis?
Quais as condições necessárias para resolver o problema?
2 Consulte seus apontamentos, verifique se você já resolveu
algum problema parecido.
3 Faça o algoritmo.
4 Teste o algoritmo com diversos dados de entrada.
5 É possı́vel melhorar o algoritmo?

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Sumário

1 Introdução

2 Formas de representação
Descrição Narrativa
Fluxograma Convencional
Pseudocódigo

3 Resumo

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Formas de representação de algoritmos

Dentre as formas de representação de algoritmos mais


conhecidas podemos citar:
Descrição Narrativa
Fluxograma Convencional
Pseudocódigo, também conhecido como Linguagem
Estruturada ou Portugol

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Descrição Narrativa

Descrição Narrativa
A linguagem natural

Nesta forma de representação os algoritmos são


expressos diretamente em linguagem natural
Uma receita de bolo
Tomando um banho
Entrada: Ingredientes
Entrada: Uma pessoa suja
Saı́da : Bolo
Saı́da : Uma pessoa limpa
1 Inı́cio
1 Inı́cio
2 Misture os ingredientes
2 Entrar no banheiro e tirar a roupa
3 Unte a forma com manteiga
3 Abrir a torneira do chuveiro
4 Despeje a mistura na forma
4 Entrar na água
5 Se houver coco ralado então despeje sobre a
5 Ensaboar-se
mistura
6 Sair da água
6 Leve a forma ao forno
7 Fechar a torneira
7 Enquanto não corar deixe a forma no forno
8 Enxugar-se
8 Retire do forno
9 Vestir-se
9 Deixe esfriar
10 Fim
10 Fim

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Descrição Narrativa

Descrição Narrativa
A linguagem natural

Trocar o pneu do carro

Entrada: Chave de roda e um macaco Cálculo da média de um aluno


Saı́da : Carro com o pneu trocado Entrada: 3 notas
Saı́da : Aprovado ou reprovado
1 Inı́cio
2 Afrouxar ligeiramente as porcas 1 Inı́cio
3 Suspender o carro 2 Obter as suas 3 notas de provas
4 Retirar as porcas e o pneu 3 Calcular a média aritmética
5 Colocar o pneu reserva 4 Se a média for maior que 7,
6 Apertar as porcas 5 o aluno foi aprovado,
7 Abaixar o carro 6 senão ele foi reprovado
8 Dar o aperto final nas porcas 7 Fim
9 Fim

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Introdução

Para um algoritmo ser útil, deve ser entendido da mesma


forma por todas as pessoas que o utilizarem
Na Descrição Narrativa os algoritmos que foram
apresentados usaram uma linguagem informal para
representar os passos a serem executados
Apesar de intuitivo, essas linguagens informais podem
conduzir a ambiguidades

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Introdução

Para um algoritmo ser útil, deve ser entendido da mesma


forma por todas as pessoas que o utilizarem
Na Descrição Narrativa os algoritmos que foram
apresentados usaram uma linguagem informal para
representar os passos a serem executados
Apesar de intuitivo, essas linguagens informais podem
conduzir a ambiguidades

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Introdução

Para um algoritmo ser útil, deve ser entendido da mesma


forma por todas as pessoas que o utilizarem
Na Descrição Narrativa os algoritmos que foram
apresentados usaram uma linguagem informal para
representar os passos a serem executados
Apesar de intuitivo, essas linguagens informais podem
conduzir a ambiguidades

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Introdução

Para um algoritmo ser útil, deve ser entendido da mesma


forma por todas as pessoas que o utilizarem
Na Descrição Narrativa os algoritmos que foram
apresentados usaram uma linguagem informal para
representar os passos a serem executados
Apesar de intuitivo, essas linguagens informais podem
conduzir a ambiguidades

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Definição

Segundo o dicionário Michaelis, para o domı́nio da


informática, a palavra fluxograma tem os seguintes
significados:
1 Diagrama para representação de um algoritmo
2 Representação gráfica, por sı́mbolos especiais, da
definição, análise ou método de solução de um problema
A propriedade de poder representar algoritmos
graficamente torna essa metodologia muito popular
Uma forma intermediária entre a Descrição Narrativa e o
Pseudocódigo. Menos imprecisa que a primeira, porém
não se preocupa com detalhes de implementação do
programa.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Definição

Segundo o dicionário Michaelis, para o domı́nio da


informática, a palavra fluxograma tem os seguintes
significados:
1 Diagrama para representação de um algoritmo
2 Representação gráfica, por sı́mbolos especiais, da
definição, análise ou método de solução de um problema
A propriedade de poder representar algoritmos
graficamente torna essa metodologia muito popular
Uma forma intermediária entre a Descrição Narrativa e o
Pseudocódigo. Menos imprecisa que a primeira, porém
não se preocupa com detalhes de implementação do
programa.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Definição

Segundo o dicionário Michaelis, para o domı́nio da


informática, a palavra fluxograma tem os seguintes
significados:
1 Diagrama para representação de um algoritmo
2 Representação gráfica, por sı́mbolos especiais, da
definição, análise ou método de solução de um problema
A propriedade de poder representar algoritmos
graficamente torna essa metodologia muito popular
Uma forma intermediária entre a Descrição Narrativa e o
Pseudocódigo. Menos imprecisa que a primeira, porém
não se preocupa com detalhes de implementação do
programa.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Definição

Segundo o dicionário Michaelis, para o domı́nio da


informática, a palavra fluxograma tem os seguintes
significados:
1 Diagrama para representação de um algoritmo
2 Representação gráfica, por sı́mbolos especiais, da
definição, análise ou método de solução de um problema
A propriedade de poder representar algoritmos
graficamente torna essa metodologia muito popular
Uma forma intermediária entre a Descrição Narrativa e o
Pseudocódigo. Menos imprecisa que a primeira, porém
não se preocupa com detalhes de implementação do
programa.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Definição

Segundo o dicionário Michaelis, para o domı́nio da


informática, a palavra fluxograma tem os seguintes
significados:
1 Diagrama para representação de um algoritmo
2 Representação gráfica, por sı́mbolos especiais, da
definição, análise ou método de solução de um problema
A propriedade de poder representar algoritmos
graficamente torna essa metodologia muito popular
Uma forma intermediária entre a Descrição Narrativa e o
Pseudocódigo. Menos imprecisa que a primeira, porém
não se preocupa com detalhes de implementação do
programa.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Definição

Segundo o dicionário Michaelis, para o domı́nio da


informática, a palavra fluxograma tem os seguintes
significados:
1 Diagrama para representação de um algoritmo
2 Representação gráfica, por sı́mbolos especiais, da
definição, análise ou método de solução de um problema
A propriedade de poder representar algoritmos
graficamente torna essa metodologia muito popular
Uma forma intermediária entre a Descrição Narrativa e o
Pseudocódigo. Menos imprecisa que a primeira, porém
não se preocupa com detalhes de implementação do
programa.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Sı́mbolos de fluxogramas

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Fluxograma mı́nimo

O menor fluxograma que se pode escrever é aquele que


não executa absolutamente nada
Todo fluxograma deve ter um inı́cio e um fim
Os retângulos arredondados são conhecidos como
terminadores

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Fluxograma com comandos sequenciais

Um fluxograma com comandos sequenciais é aquele que,


a partir do sı́mbolo Inı́cio, permite a execução das
instruções subsequentes sem desvio algum até se
alcançar o sı́mbolo Fim.

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Fluxograma com comandos de decisão

Problema - Dado as 3 notas de


um aluno:
Fazer um algoritmo baseado em
fluxogramas para determinar se o
aluno foi ou não aprovado
Calculo da nota é uma média
aritmética das 3 notas
O aluno com média inferior a 7 está
reprovado
Ivanovitch Silva Introdução à Algoritmos e Programação
Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Fluxograma com comandos de decisão

Fazer um algoritmo em fluxogramas para determinar as


raı́zes de uma equação de segundo grau (Ax 2 + Bx + C),
utilizando a fórmula de Bhaskara:


−B± B 2 −4AC
x= 2A

Informações adicionais
Os valores de A, B, e C são conhecidos
O algoritmo apenas encontra raı́zes de equações de
segundo grau
As raı́zes são apenas números reais

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Fluxograma com comandos de decisão

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Fluxograma Convencional

Fluxograma Convencional
Fluxograma com comandos de repetição

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Pseudocódigo

Pseudocódigo
Introdução

Este modo de representar algoritmos procura empregar


uma linguagem que esteja o mais próximo possı́vel de
uma linguagem de programação de computadores de alto
nı́vel
A ideia é usar as vantagens do emprego da linguagem
natural, porém com uma descrição rica em detalhes, por
exemplo:
Tipos das variáveis
Estruturas de decisão
Estruturas de repetição
Essa representação é suficientemente geral para permitir
a tradução de um algoritmo nela representado para uma
linguagem de programação especı́fica seja praticamente
direta
Ivanovitch Silva Introdução à Algoritmos e Programação
Introdução Formas de representação Resumo

Pseudocódigo

Pseudocódigo
Introdução

Este modo de representar algoritmos procura empregar


uma linguagem que esteja o mais próximo possı́vel de
uma linguagem de programação de computadores de alto
nı́vel
A ideia é usar as vantagens do emprego da linguagem
natural, porém com uma descrição rica em detalhes, por
exemplo:
Tipos das variáveis
Estruturas de decisão
Estruturas de repetição
Essa representação é suficientemente geral para permitir
a tradução de um algoritmo nela representado para uma
linguagem de programação especı́fica seja praticamente
direta
Ivanovitch Silva Introdução à Algoritmos e Programação
Introdução Formas de representação Resumo

Pseudocódigo

Pseudocódigo
Introdução

Este modo de representar algoritmos procura empregar


uma linguagem que esteja o mais próximo possı́vel de
uma linguagem de programação de computadores de alto
nı́vel
A ideia é usar as vantagens do emprego da linguagem
natural, porém com uma descrição rica em detalhes, por
exemplo:
Tipos das variáveis
Estruturas de decisão
Estruturas de repetição
Essa representação é suficientemente geral para permitir
a tradução de um algoritmo nela representado para uma
linguagem de programação especı́fica seja praticamente
direta
Ivanovitch Silva Introdução à Algoritmos e Programação
Introdução Formas de representação Resumo

Pseudocódigo

Pseudocódigo
Introdução

Este modo de representar algoritmos procura empregar


uma linguagem que esteja o mais próximo possı́vel de
uma linguagem de programação de computadores de alto
nı́vel
A ideia é usar as vantagens do emprego da linguagem
natural, porém com uma descrição rica em detalhes, por
exemplo:
Tipos das variáveis
Estruturas de decisão
Estruturas de repetição
Essa representação é suficientemente geral para permitir
a tradução de um algoritmo nela representado para uma
linguagem de programação especı́fica seja praticamente
direta
Ivanovitch Silva Introdução à Algoritmos e Programação
Introdução Formas de representação Resumo

Pseudocódigo

Pseudocódigo
Forma geral de representar um algoritmo

Um pseudocódigo genérico algoritmo - é uma palavra que indica o


inı́cio da definição de um algoritmo em
forma de pseudocódigo
1 algoritmo ”Nome do A l g o r i t m o ”
2 // Função : modelo nome do algoritmo - é um nome
3 // Autor : Ivanovitch Silva simbólico dado ao algoritmo com a
4 // Data : 01/09/2011 finalidade de distingui-los dos demais
5 // Seção de Declarações var - engloba uma porção opcional onde
6 var são declaradas as variáveis globais usadas
7 // Declaração das variáveis no algoritmo
8 inicio
9 // Seção de Comandos inicio e fimalgoritmo - são
10 fimalgoritmo respectivamente as palavras que delimitam
o inı́cio e o término do conjunto de
instruções do corpo do algoritmo

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Pseudocódigo

Pseudocódigo
Um exemplo - cálculo da média

Cálculo da média de um aluno


1 algoritmo ” C á l c u l o da nota do aluno ”
2 // Função : Calcula média
3 // Autor : Ivanovich Silva
4 // Data : 01/09/2011
5 // Seção de Declarações
6 var
7 N1 , N2 , N3 , Media : real
8 inicio
9 escreva ( ” L e i a o v a l o r de N1 ” )
10 leia ( N1 )
11 escreva ( ” L e i a o v a l o r de N2 ” )
12 leia ( N2 )
13 escreva ( ” L e i a o v a l o r de N3 ” )
14 leia ( N3 )
15 Media <− ( N1 + N2 + N3 ) / 3
16 se Media >= 7 entao
17 escreva ( ”O aluno passou com a m édia ” , Media )
18 senao
19 escreva ( ”O aluno reprovou com a m édia ” , Media )
20 fimse
21 fimalgoritmo

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Sumário

1 Introdução

2 Formas de representação
Descrição Narrativa
Fluxograma Convencional
Pseudocódigo

3 Resumo

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Sı́ntese

Há diversas formas de representação de algoritmos que


diferem entre si pela quantidade de detalhes de
implementação que fornecem ou, inversamente, pelo grau
de abstração que possibilitam com relação à
implementação do algoritmo em termos de uma linguagem
de programação especı́fica
Dentre as principais formas de representação de
algoritmos destacam-se: a descrição narrativa, o
fluxograma convencional e o pseudocódigo (ou
linguagem estruturada).

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Sı́ntese

Há diversas formas de representação de algoritmos que


diferem entre si pela quantidade de detalhes de
implementação que fornecem ou, inversamente, pelo grau
de abstração que possibilitam com relação à
implementação do algoritmo em termos de uma linguagem
de programação especı́fica
Dentre as principais formas de representação de
algoritmos destacam-se: a descrição narrativa, o
fluxograma convencional e o pseudocódigo (ou
linguagem estruturada).

Ivanovitch Silva Introdução à Algoritmos e Programação


Introdução Formas de representação Resumo

Sı́ntese

Há diversas formas de representação de algoritmos que


diferem entre si pela quantidade de detalhes de
implementação que fornecem ou, inversamente, pelo grau
de abstração que possibilitam com relação à
implementação do algoritmo em termos de uma linguagem
de programação especı́fica
Dentre as principais formas de representação de
algoritmos destacam-se: a descrição narrativa, o
fluxograma convencional e o pseudocódigo (ou
linguagem estruturada).

Ivanovitch Silva Introdução à Algoritmos e Programação

Das könnte Ihnen auch gefallen