Você está na página 1de 23

Faculdade de Engenharia

Técnicas de Programação

Algorítmo

Eng. Maurício Filipe João


Sumário
• Algoritmo x Programa
• Linguagens de Programação
• Abstração
• Classes de Linguagens de Programação
• Relação entre Algoritmos e Programação
Algoritmo
• Definições:
– “Um conjunto finito de regras que provê
uma seqüência de operações para resolver
um tipo de problema específico” [KNUTH]
– “Seqüência ordenada, e não ambígua, de
passos que levam à solução de um dado
problema” [TREMBLAY]
• Ou seja:
– Um algoritmo é como uma “receita de bolo” para o
computador, onde estão definidos todos os
comandos que ele deve executar para alcançar um
objetivo
Algoritmo
• "Serve como modelo para programas, pois sua
linguagem é intermediária à linguagem humana e
às linguagens de programação, sendo então, uma
boa ferramenta na validação da lógica de tarefas a
serem automatizadas."
• “Os algoritmos, servem para representar a solução
de qualquer problema, mas no caso do
Processamento de Dados, eles devem seguir as
regras básicas de programação para que sejam
compatíveis com as linguagens de programação.”
Algorítmo
• Um algoritmo é uma forma de indicar o
caminho para a solução dos mais variados
problemas
• Em geral, existem muitos caminhos que
levam à solução de um problema
• Portanto, para cada problema existe mais
do que um algoritmo [Orth 2001]
Algorítmos: Exemplos
• Instruções para se utilizar um aparelho
eletrodoméstico;
• Uma receita para preparo de algum prato;
• Guia de preenchimento para declaração do
imposto de renda;
• A regra para determinação de máximos e
mínimos de funções por derivadas sucessivas;
• A maneira como as contas de água, luz e
telefone são calculadas mensalmente; etc.
Algorítmos: Importância
• O computador, por si só, não tem vontade
própria !
– É necessário 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,
independente de uma linguagem específica e
até mesmo do próprio computador.
Algorítmos: Características
• ter fim;
• não dar margem à dupla interpretação;
• 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.
Aprendendo Algorítmos
Exemplos
• Exemplos de Algorítmo usando o método
da narração descritiva
1. Somar três números
PASSO 1 – Ler os três números
PASSO 2 – Atribuir a soma a uma variável
que armazene o resultado
PASSO 3 – Mostrar o resultado
• Exemplos de Algorítmo usando o método
da narração descritiva
2. Fazer um Sanduíche
PASSO 1 – Pegar o pão
PASSO 2 – Cortar o pão ao meio
PASSO 3 – Passar a maionese
PASSO 4 – Por alface e tomate
PASSO 5 – Por o amburguer frito no pão
PASSO 6 - Comer
• Exemplos de Algorítmo usando o método da
narração descritiva
3. Sacar dinheiro no banco 24 horas
PASSO 1 – Ir ao banco
PASSO 2 – Colocar o cartão
PASSO 3 – Digitar a senha
PASSO 4 – Solicitar a quantia
PASSO 5 – Se houver saldo suficiente para o
saque, realizar o saque. Caso contrário exibir
mensagem saldo insuficiente
PASSO 6 – Retirar o cartão
PASSO 7 – Sair do banco
Método para a Construção de Algorítmos

– Ler atentamente o enunciado destacando


pontos mais importantes
– Definir os dados de entrada, ou seja, dados
fornecidos
– Definir os processamentos necessários para
se obter os dados de saída
– Definir os dados de saída
– Construir o algorítmo
– Testar o algorítmo realizando simulações
Tipos de Algorítmos

– Descrição Narrativa
– Fluxograma
– Pseudocódigo ou portugol
Tipos de Algorítmos

– Descrição Narrativa
• Analisa-se o enunciado do problema,
escrevendo os passos para a solução, utilizando
a linguagem natural
– Vantagem: não se aprende nenhuma nova
linguagem
– Desvantagem: às vezes não há um
mapeamento direto do algorítmo na
linguagem de programação
Tipos de Algorítmos

– Fluxograma
• Consiste em analisar o enunciado do problema e
escrever utilizando símbolos gráficos
predefinidos os passos a serem seguidos para a
resolução do problema
– Vantagem: O entendimento de elementos gráficos é
mais fácil
– Desvantagem: Necessário aprender a simbologia dos
fluxogramas
Tipos de Algorítmos
Fluxograma

Utilizado para indicar início e fim do algorítmo

Indica o sentido do fluxo de dados

Indica cálculos e atribuições de valores

Representa a entrada de dados

Representa a saída de dados

Indica desvio condicional do fluxo normal de execução


• Exemplos de Algorítmos
– Faça um algorítmo para mostrar o resultado
da multiplicação de dois números
• Descrição narrativa:
PASSO 1 – Ler os dois números que serão multiplicados
PASSO 2 – Multiplicar os números
PASSO 3 – Mostrar o resultado obtido na multiplicação
• Exemplos de Algorítmos
– Faça um algorítmo para mostrar o resultado
da multiplicação de dois números
• Fluxograma

Início N1, N2

M=N1 * N2

M Fim
• Exemplos de Algorítmos
– Faça um algorítmo para mostrar o resultado da
multiplicação de dois números
• Pseudocódigo (Portugol)
ALGORÍTMO
DECLARE N1,N2,M NUMERICO
ESCREVA “Digite dois números “
LEIA N1, N2
M N1 * N2
ESCREVA “Multiplicação = “, M
FIM ALGORÍTMO
• Exemplos de Algorítmos
– Faça um algorítmo para mostrar o resultado
da multiplicação de dois números
• Implementação na Linguagem de
Programação Pascal
program fape (input,output);
var
n1,n2,m:integer;
begin
write('ENTRE COM DOIS NUMEROS: ');
read(n1,n2);
m:=n1*n2;
writeln;
writeln('A multiplicacao e:',m);
read(n1);
end.
Problemas Complexos
• Problema da Torre de Hanói
– Seja a seguinte situação:
• deve-se mover todos os discos do primeiro eixo para o
terceiro mantendo-se a ordem original
• em cada movimento, pode-se mover apenas um disco
• um disco nunca poderá ser sobreposto por outro maior
• FIM

Você também pode gostar