You are on page 1of 14

Algoritmos

PROGRAMAÇÃO I (COM06842)
LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)

F REDDY B RASILEIRO
www.inf.ufes.br/~fbrasileiro
fbrasileiro@inf.ufes.br
Conteúdo
3. Algoritmos
1. Principais características dos algoritmos
2. Regras para construção de algoritmos
3. Refinamentos sucessivos
4. 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
Indica o INÍCIO ou FIM de um processamento. Exemplo: Início do
Terminal algoritmo.

Indica entrada de dados. Exemplo: Digite a nota da prova 1.


Entrada

Processamento : Calculo de dois números.


Processamento

Mostra informações ou resultados. Exemplo: Mostre o resultado do


Saída
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á
Condição 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

You might also like