introdução a algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo...
TRANSCRIPT
![Page 1: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/1.jpg)
Introdução a Algoritmos
Professor: Marcelo Santos Linder
Universidade Federal do Vale do São Francisco
Professor: Marcelo Santos Linder
E-mail: [email protected]
Página: www.univasf.edu.br/~marcelo.linder
![Page 2: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/2.jpg)
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
![Page 3: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/3.jpg)
Conceito de Problema
O que é um
problema?
3
![Page 4: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/4.jpg)
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.
![Page 5: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/5.jpg)
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.
![Page 6: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/6.jpg)
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....
![Page 7: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/7.jpg)
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.
![Page 8: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/8.jpg)
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.
![Page 9: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/9.jpg)
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.
![Page 10: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/10.jpg)
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
![Page 11: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/11.jpg)
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.
![Page 12: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/12.jpg)
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.
![Page 13: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/13.jpg)
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.
![Page 14: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/14.jpg)
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.
![Page 15: Introdução a Algoritmos - univasf.edu.brmarcelo.linder/arquivos_iaa/aulas/aula1.pdf · algoritmo será implementado em uma linguagem de computação gerando um programa,oqualvisainstruirumcomputador](https://reader034.vdocuments.pub/reader034/viewer/2022042208/5eab3679f9bbbf42690f38f4/html5/thumbnails/15.jpg)
Funcionalidade do Algoritmo
15
Mundo Real Máquina