Algoritmos - Informática

Propaganda
Algoritmos
PROGRAMAÇÃO I (COM06842)
LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
F REDDY B RASILEIRO
www.inf.ufes.br/~fbrasileiro
[email protected]
Conteúdo
3. Algoritmos
1.
2.
3.
4.
Principais características dos algoritmos
Regras para construção de algoritmos
Refinamentos sucessivos
Representação de algoritmos
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
2
Características
• Capacidade de receber dado(s) de entrada;
• Capacidade de gerar informações de saída;
• Ser finito;
• Não ser ambíguo;
• Ser efetivo.
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
3
Regras para construção
Precisa-se descrever a sequência de instruções de maneira
simples e objetiva.
Técnicas:
• Usar somente um verbo por frase;
• Imaginar que você está desenvolvendo um algoritmo para
pessoas que não trabalham com informática;
• Usar frases curtas e simples;
• Ser objetivo;
• Procurar usar palavras que não tenham sentido dúbio;
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
4
Refinamentos sucessivos
Um comando que não for do entendimento do destinatário
terá de ser desdobrado em novos comandos, que
constituirão um refinamento do comando inicial. [FARRER]
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
5
Exemplo – N termos de Fibonacci
• Receba o valor N
• Processe os 2 primeiros termos
• Processe os termos restantes
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
6
Exemplo – N termos de Fibonacci
• Receba o valor N
• Processe os 2 primeiros termos
◦ N >= 1?
◦ Imprima 1
◦ N >= 2?
◦ Imprima 1
• Processe os termos restantes
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
7
Exemplo – N termos de Fibonacci
• Receba o valor N
• Processe os 2 primeiros termos
◦ N >= 1?
◦ Imprima 1
◦ N >= 2?
◦ Imprima 1
• Processe os termos restantes
◦ N >= 3?
◦ i = 3;
◦ Enquanto i <= 3
◦ F(i) = F(i-1) + F(i-2)
◦ Imprima F(i)
◦ i=i+1
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
8
Representação de Algoritmos
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
9
Fluxograma
Terminal
Indica o INÍCIO ou FIM de um processamento. Exemplo: Início do
algoritmo.
Indica entrada de dados. Exemplo: Digite a nota da prova 1.
Entrada
Processamento : Calculo de dois números.
Processamento
Saída
Condição
Mostra informações ou resultados. Exemplo: Mostre o resultado do
calculo.
Verifica uma a validade de uma condição. Exemplo: Se a média for
inferior a 7,0 então o aluno está reprovado, senão ele está
aprovado.
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
10
Exemplo
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
11
Pseudo-código
• Expressões concisas e pré-definidas para representar as
ações e o fluxo de execução.
• Descrição textual, estruturada e regida por regras que
descrevem os passos executados no algoritmo.
• Palavras-chaves, indentação, um passo por linha, um
símbolo para indicar o final do passo (por exemplo, o
ponto-e-virgula “;”).
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
12
Pseudo-código
Vantagens:
• Usa o português como base;
• Pode-se definir quais e como os dados vão estar
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.
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
13
Exemplo
algoritmo CALCULA_MEDIA;
var
P1, P2, P3, MEDIA: real;
inicio
leia (P1,P2,P3);
MEDIA <- (P1 + P2 + P3) / 3;
escreva (MEDIA);
se MEDIA >= 7,0 então
escreva (‘APROVADO’);
senão
escreva (‘REPROVADO’);
fim-se;
fim.
PROGRAMAÇÃO I (COM06842) / LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
14
Download