Você está na página 1de 40

CONCEITOS DE

ALGORITMOS
Profª. Fernanda Gomes Silva
Funcionamento dos
Computadores

AGENDA Conceitos de Algoritmos

Exemplos de Algoritmos

Exercícios Práticos
FINALIDADE DOS COMPUTADORES

Apoio de Softwares.
SOFTWARE
WWW.MENTI.COM
24 80 00 7
ETAPAS DO DESENVOLVIMENTO DE
SOFTWARES
ALGORITMO

Dados Entrada

Processamento Saída dos Dados


ALGORITMO

Saída Inesperada
CONCEITO DE ALGORITMO

O que é um algoritmo?

“É uma sequência de passos que visa


atingir um objetivo específico”
(FORBELLONE, 1999).
CONCEITO DE ALGORITMO

O que é um algoritmo?

“É a descrição de uma sequência de


passos que deve ser seguida para a
realização de uma tarefa” (ASCENCIO,
1999).
CONCEITO DE ALGORITMO

“É uma sequência finita de instruções ou


operações cuja execução, em tempo finito,
resolve um problema computacional,
qualquer que seja sua instância”
(SALVETTI, 1999).
CONCEITO DE ALGORITMO

Um algoritmo é um conjunto finito de regras que


fornece uma sequência de operações para
resolver um problema específico. É algo como
uma receita, ou uma rotina.

Já fazemos isto intuitivamente em nossas vidas.


CONCEITO DE ALGORITMO
CONCEITO DE ALGORITMO

Observando a receita de bolo, podemos contemplar


as cinco características que são inerentes aos
algoritmos (CRUZ; KNOPMAN, 2001):
CONCEITO DE ALGORITMO

Um algoritmo sempre deve terminar após um


número finito de passos.
Veja que o algoritmo do nosso exemplo encerra no
momento em que o bolo está pronto para ser
saboreado.
CONCEITO DE ALGORITMO

Cada passo do algoritmo deve ser bem


definido e sem ambiguidades, ou seja, não
deve dar margem para uma interpretação
dupla.
CONCEITO DE ALGORITMO

Um algoritmo deve ter zero ou mais entradas,


que são as informações que devem ser
fornecidas antes do algoritmo ser iniciado (no
caso da receita de bolo, as entradas são os
ingredientes, ou seja, o açúcar, os ovos, etc.).
CONCEITO DE ALGORITMO

Um algoritmo deve ter uma ou mais saídas. O número


de saídas tem uma relação específica com as entradas.
Mais uma vez, observando a nossa receita, vemos que
os ingredientes (entradas) são misturados dentro da
sequência de passos, gerando uma única saída (o bolo).
CONCEITO DE ALGORITMO

Todo algoritmo deve ser descrito por operações básicas e


possíveis de ser realizadas de forma precisa, dentro de um
determinado tempo, por qualquer pessoa. Por exemplo, se
na receita víssemos uma instrução do tipo “coloque açúcar à
vontade”, isso impossibilitaria a sua execução de uma forma
precisa.
CONCEITO DE ALGORITMO

É importante lembrar, no entanto, que podem


existir várias maneiras de solucionar um
problema.
O importante é chegar à solução. Melhor
ainda, se essa solução for atingida de forma
eficiente e eficaz.
DESCRIÇÃO NARRATIVA

A descrição narrativa é uma forma de


representação de algoritmos. Nessa forma de
representação, analisamos o enunciado do
problema e, simplesmente, descrevemos a
sequência de passos em nossa língua nativa
(em nosso caso, o português).
DESCRIÇÃO NARRATIVA

A vantagem de se utilizar esse


procedimento é que não precisamos
aprender nenhum conceito novo, pois já
temos domínio sobre a nossa língua
nativa.
DESCRIÇÃO NARRATIVA

A desvantagem é que a língua natural pode ser


interpretada de diferentes maneiras. Em
comparação com uma linguagem de programação, a
linguagem natural é abstrata, imprecisa e pouco
confiável. Isso poderia trazer problemas na hora de
transcrever o algoritmo para o programa (em uma
linguagem de programação).
DESCRIÇÃO NARRATIVA

Digamos que você tem um amigo chegando ao aeroporto


(madrugada) e ele precisa ir do aeroporto até sua casa.
Qual algoritmo você daria para ele?

WWW.MENTI.COM
24 80 00 7
DESCRIÇÃO NARRATIVA
DESCRIÇÃO NARRATIVA

Todos os cinco algoritmos atingem exatamente a mesma meta,


mas cada um deles o faz de modo completamente diferente.
Cada algoritmo possui um custo e um tempo de viagem
diferentes. O táxi, por exemplo, é a maneira mais rápida e cara.
Já o ônibus é definitivamente mais barato, mas bem mais lento.
Você escolhe o algoritmo com base nas circunstâncias.
EXEMPLO DE ALGORITMOS

Todos nós resolvemos pequenos problemas do nosso cotidiano


mesmo sem que a gente perceba. Por exemplo:
1) Preciso fazer uma ligação para meu primo.
2) Vou ter que ir ao posto abastecer o carro, pois ele está quase
sem combustível.
São problemas que já sabemos como resolver, uma vez que não é
primeira vez que fazemos uma ligação telefônica ou abastecemos
o carro.
Mas como é que estes problemas são resolvidos?
RESOLUÇÃO DE PROBLEMAS

Instrução é uma ação que devemos realizar, por


exemplo:
❏ Clique com o mouse sobre a figura.
❏ Segure o botão desligar do celular.
❏ Espere abrir o sinal de trânsito.
❏ Conecte o cabo da TV na tomada.
Mas uma instrução só não consegue resolver um
problema.
CONJUNTO DE INSTRUÇÕES

Quando nos deparamos com um problema usamos, de


forma instintiva, um conjunto de instruções para
resolvê-lo.
Vamos pegar o exemplo da ligação do telefone:
1) Disque o número desejado
2) Aperte no botão verde
3) Converse com a pessoa
4) Desligue o telefone
CONJUNTO DE INSTRUÇÕES

Uma preocupação quando se escreve um


conjunto de instruções é ser claro e preciso.
Sendo assim, temos que detalhar um pouco
mais o conjunto de instruções para não
causar nenhuma dúvida.
CONJUNTO DE INSTRUÇÕES

Vamos ver como ficaria a solução do problema do telefone:


1) Disque o número desejado
2) Aperte no botão verde
3) SE o telefone estiver ocupado
a) Volte ao passo 1
4) SE ficar chamando sem atender
a) Volte ao passo 1
5) Converse com a pessoa
6) Desligue o telefone
CONJUNTO DE INSTRUÇÕES

É importante considerar:
USO DA LÓGICA PARA RESOLUÇÃO DE
PROBLEMAS
Sempre que desejamos resolver problemas usamos
o que chamamos de raciocínio lógico.
Exemplo: Torre de Hanoi (sete passos).
USO DA LÓGICA PARA RESOLUÇÃO DE
PROBLEMAS
CONSTRUÇÃO DE ALGORITMOS
CONSTRUÇÃO DE ALGORITMOS

❏ Algoritmos não se aprendem:


❏ Copiando Algoritmos
❏ Estudando Algoritmos
❏ Algoritmos só se aprendem:
❏ Construindo Algoritmos
CONSTRUÇÃO DE ALGORITMOS

Algoritmo: Escovar os dentes


CONSTRUÇÃO DE ALGORITMOS

Algoritmo: Sacar dinheiro


CONSTRUÇÃO DE ALGORITMOS

Algoritmo: Lavar o cabelo


CONSTRUÇÃO DE ALGORITMOS

Algoritmo: Calcular a média aritmética de dois


números
AGORA É A SUA VEZ...