Post on 30-Apr-2020
Introdução a Algoritmos
Professor: Marcelo Santos Linder
Universidade Federal do Vale do São Francisco
Professor: Marcelo Santos Linder
E-mail: marcelo.linder@univasf.edu.br
Página: www.univasf.edu.br/~marcelo.linder
Informações Gerais
Material de apoioOs slides utilizados em aula, Programa da Disciplina, datas de avaliações e demais informações referentes à disciplina encontram-se na página www.univasf.edu.br/~marcelo.linder
2
PD Datas
Conceito de Problema
O que é um
problema?
3
Conceito de Problema
Problema (Dicionário Michaelis):
Substantivo Masculino.
Questão matemática proposta para serresolvida.
Questão difícil, delicada, suscetível de
4
Questão difícil, delicada, suscetível dediversas soluções.
Qualquer coisa de difícil explicação; mistério,enigma.
Dúvida, questão.
Exemplos de Problema
Problemas fazem parte do nossocotidiano.
Exemplo de problemas cotidianos:
Trocar a resistência de um chuveiro.
Definir onde Almoçar.
5
Definir onde Almoçar.
Sempre que nos deparamos com umproblema buscamos um procedimento parasolucionar o mesmo.
Exemplo de Solução
Por exemplo, para trocar a resistência deum chuveiro devemos:
Adquirir uma resistência nova;
Localizar o chuveiro a ser manipulado;
Abrir o chuveiro;
Retirar a resistência defeituosa;
6
Retirar a resistência defeituosa;
Colocar a resistência nova;
Fechar o chuveiro;
Descartar a resistência defeituosa.
Definir onde Almoçar....
Conceito de Lógica
O que orientou a obtenção dosprocedimentos (passos) para as soluçõesvislumbradas?
A lógica.
O que é lógica?
.
7
O que é lógica?
A lógica é o ramo da Filosofia e daMatemática que estuda os métodos eprincípios que permitem fazer distinção entreraciocínios válidos e não válidos,determinando o processo que leva aoconhecimento verdadeiro.
Conceito de Lógica
O uso da lógica é primordial na solução deproblemas. Com ela é possível alcançarobjetivos com eficiência e eficácia.
Ninguém ensina outra pessoa a pensar,mas a desenvolver e aperfeiçoar esta
.
8
mas a desenvolver e aperfeiçoar estatécnica, com persistência e constância.
Conceito de Algoritmo
Ao utilizarmos a lógica para listar passosordenados que resultam na solução de umdeterminado problema estamos construindo umalgoritmo.
Contrapondo o que normalmente se imagina, otermo algoritmo não foi originado na computação emuito menos pode ser utilizado apenas no contexto
9
muito menos pode ser utilizado apenas no contextocomputacional.
Podemos definir um algoritmo como:
uma sequência de passos que visa atingir umobjetivo bem definido;
uma sequência de passos bem definida quedeve ser seguida para a realização de uma tarefaou solução de um problema.
Exemplos de Algoritmos
Como vimos os conceitos de algoritmo são bemamplos, sendo importante salientar que qualquertarefa que siga determinado padrão pode serdescrita por um algoritmo, como por exemplo:
ALGORITMO: TROCAR UMA LÂMPADAPASSO 1: Pegar a lâmpada novaPASSO 2: Pegar a escadaPASSO 3: Posicionar a escada embaixo da
ALGORITMO: SACAR DINHEIROPASSO 1: Ir até o caixa eletrônicoPASSO 2: Colocar o cartãoPASSO 3: Digitar a senha
10
PASSO 3: Posicionar a escada embaixo dalâmpada queimada
PASSO 4: Subir na escada coma lâmpada novaPASSO 5: Retirar a lâmpada queimadaPASSO6: Colocar a lâmpada novaPASSO 7: Descer da escadaPASSO 8: Ligar o interruptorPASSO9: Guardar a escadaPASSO 10: Jogar a lâmpada velha no lixo
PASSO 3: Digitar a senhaPASSO 4: Solicitar o saldoPASSO 5: Se o saldo for maior ou
igual à quantia desejada,sacar a quantia desejada;caso contrário sacar ovalor do saldo
PASSO6: Retirar dinheiro e cartãoPASSO 7: Sair do caixa eletrônico
Descrição Narrativa
Conforme vimos até o momento a descriçãonarrativa em linguagem natural foi utilizada nadescrição dos algoritmos.
Qual a vantagem?
Não há a necessidade de aprender nenhum
11
Não há a necessidade de aprender nenhumnovo conceito.
Qual a desvantagem?
Em virtude da ambiguidade presente nalinguagem natural a descrição narrativa épassível de mais de uma interpretação.
Descrição Narrativa
Um exemplo de ambiguidade presente em uma sentença na linguagem natural é:
O policial escutou o barulho da porta.
12
Esta frase pode ter pelo menos duas interpretações:
1 - O policial escutou o barulho produzido pelaporta.
2 - O policial estava junto à porta e escutou obarulho.
Métodos de Representação de Algoritmos
Do ponto de vista computacional umalgoritmo será implementado em umalinguagem de computação gerando umprograma, o qual visa instruir um computador(uma máquina) a executar determinadatarefa.
13
tarefa.
Devemos ter consciência que umcomputador não é dotado da capacidade detomar decisões com base em premissas.Portanto, não podemos instruir umcomputador com sentenças dúbias.
Métodos de Representação de Algoritmos
Sendo assim, consideraremos que umalgoritmo é uma sequência, que não permiteambiguidade, de passos finitos, passível deser executada com um esforço finito emtempo finito e que acaba para qualquerentrada (inclusive erro).
14
entrada (inclusive erro).
O algoritmo tem como papel fundamentalser o elo de ligação entre dois mundos (real ecomputacional). A atividade de programaçãotem início com a construção do algoritmo.
Funcionalidade do Algoritmo
15
Mundo Real Máquina