aula 08 introdução à algoritmos - ifrn.edu.br
TRANSCRIPT
![Page 1: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/1.jpg)
Aula 08 – Introdução à
Algoritmos
Disciplina: Fundamentos de Lógica e Algoritmos
Prof. Bruno Gomes
http://www.profbrunogomes.com.br/
![Page 2: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/2.jpg)
Agenda da Aula
Introdução aos Algoritmos:
Conceitos Iniciais;
Programa de Computador;
Formas de Representação de Algoritmos.
![Page 3: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/3.jpg)
Dúvida
O que fazer para resolver um problema?
Definição do problema;
Verificar quais são as formas de resolvê-lo;
Definir e utilizar uma das formas de resolução doproblema;
Analisar se o problema foi resolvido.
![Page 4: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/4.jpg)
Algoritmos
Vem do nome do matemático iraniano:
Abu Abdullah Mohammad Ibn Musa al-Khawarizmi.
Considerado também o fundador da álgebra;
Algumas Definições:
“Um procedimento passo a passo para a solução deum problema”;
“Uma sequência detalhada de ações a seremexecutadas para realizar alguma tarefa”.
![Page 5: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/5.jpg)
Algoritmos
Algoritmo NÃO é:
A solução de um problema!!
Consiste nos passos necessários para se chegarà solução!
![Page 6: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/6.jpg)
Algoritmos
Usamos algoritmos no nosso cotidiano;
É aplicado nas mais diversas áreas doconhecimento.
Quem pode citar exemplos?
![Page 7: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/7.jpg)
Exemplo: Receita de Bolo
Como fazer um bolo?
![Page 8: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/8.jpg)
Exemplo: Cálculo Matemático
Como calcular a média de duas notas de umaluno?
![Page 9: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/9.jpg)
Exemplo: Ida à Escola
Após acordar, o que você faz para chegar até aEscola?
![Page 10: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/10.jpg)
Outros Exemplos
Instruções no Manual para se utilizar umaparelho eletrônico;
Maneira como são calculadas mensalmente ascontas de água, luz e telefone.
![Page 11: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/11.jpg)
Características de um Algoritmo
Deve ter fim;
Deve ser bem definido;
Deve permitir gerar informações de saída;
Não pode ter dupla interpretação (ambiguidade).
![Page 12: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/12.jpg)
Importância de Algoritmos
"A noção de algoritmo é básica para toda aprogramação de Computadores“.
Knuth - Prof. da Universidade de Stanford.
"O conceito central da programação e da ciênciada computação é o conceito de algoritmo".
Wirth - Prof. da Universidade de Zurique.
![Page 13: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/13.jpg)
Observação
A partir de um algoritmo, o programador poderáimplementá-lo em qualquer linguagem deprogramação que conheça ou deseje.
![Page 14: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/14.jpg)
ALGORITMOS NA COMPUTAÇÃO
![Page 15: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/15.jpg)
Contextualizando:Programa de Computador
Um computador contém: UCP (processador);
Memória;
Dispositivos de Entrada e Saída.
O processador contém instruções que é capaz deexecutar: Operações matemáticas; Interações com dispositivos
E/S;
Elas são executadas sequencialmente (passo a passo).
![Page 16: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/16.jpg)
Programa de Computador
Esse conjunto de instruções que será executadopelo processador é chamado de Programa deComputador.
Esta sequência de passos permitem que oproblema possa ser resolvido de maneiraautomática e repetitiva.
![Page 17: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/17.jpg)
Programa de Computador
Conclusão:
Um programa de computador nada mais é que um tipo de algoritmo.
![Page 18: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/18.jpg)
O que o computador entende?
Uma linguagem composta apenas por números.
Linguagem de Máquina.
![Page 19: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/19.jpg)
Linguagens de Programação
A classificação das linguagens é feitaconsiderando sua proximidade com alinguagem de máquina.
Quanto mais próximo:
Linguagens de Programação de Baixo Nível.
Quanto mais distantes:
Linguagens de Programação de Alto Nível.
![Page 20: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/20.jpg)
Linguagens de Baixo Nível
Devido a dificuldade em se programar em linguagens debaixo nível, foram criadas novas linguagens mais fáceisde se entender.
Foi criada a linguagem de montagem (Assembly):
Instruções alfanuméricas;
Código em Linguagemde Montagem
AssemblerCódigo em Linguagem
de Máquina
Representação
![Page 21: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/21.jpg)
Linguagens de Alto Nível
Criação das Linguagens de Alto Nível:
Independentes de Processador;
Código mais elaborado;
Linguagens mais próximas da “lógica humana”.
Exemplos:
Java, C#, C++, entre muitas outras.
![Page 22: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/22.jpg)
Tipos de Linguagens de Programação
Compilada: São transformadas em linguagem de máquina através de
um compilador (compilação);
Só são executadas após toda a compilação.
Exemplo: Delphi, Java, C#, entre outras.
Interpretada: São lidas e interpretadas (executadas) por um
interpretador.
São executadas a medida que são interpretadas.
Exemplo: Javascript, VBScript, ASP, Perl e PHP
![Page 23: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/23.jpg)
Reflexão
“Programar é uma arte. Resume-se a ensinar umcomputador a fazer o que tem de ser feito. Não bastaapenas sentar em uma cadeira e começar a escrevercódigo, você não é apenas um mero codificador. Estaarte exige que você seja um bom ouvinte, aprendacom facilidade e acima de tudo seja um excelenteinterpretador. (...)”
Carlos Brando
![Page 24: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/24.jpg)
FORMAS DE REPRESENTAÇÃO DE ALGORITMOS
![Page 25: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/25.jpg)
Revisando
Algoritmo é uma Sequência Lógica:
Passos (instruções) executados até atingir umobjetivo ou solução de um problema.
Instruções:
Indicam as ações a serem executadas;
“Um conjunto de regras ou normas definidas para arealização ou emprego de algo”.
![Page 26: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/26.jpg)
Formas de Representação mais Utilizadas
Linguagem Natural ou Descrição Narrativa;
Fluxograma;
Pseudocódigo - Código.
![Page 27: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/27.jpg)
Descrição Narrativa
Utilização da Linguagem Humana Natural;
Representa a solução do problema em passosdescritivos;
Pouco utilizado na computação.
![Page 28: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/28.jpg)
Descrição Narrativa
Exemplo:
Troca de um pneu furado de carro:
- Afrouxar ligeiramente as porcas- Suspender o carro- Retirar as porcas e o pneu- Colocar o pneu reserva- Apertar as porcas- Abaixar o carro- Dar o aperto final nas porcas
InstruçõesFluxo do
Algoritmo
![Page 29: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/29.jpg)
Observações
As ações especificadas devem ser claras eprecisas;
Pouco usada na prática:
Muitas vezes dá oportunidade a más interpretações,ambiguidades e imprecisões.
![Page 30: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/30.jpg)
Exemplo 2
Calcular a Média de um Aluno:
- Obter suas duas notas- Realizar a soma das duas notas- Divide o resultado da soma por 2- Exibir a média do aluno
![Page 31: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/31.jpg)
Fluxograma
Apresentam os Algoritmos de Forma Gráfica;
Formado de figuras geométricas para descreveras instruções e ações a serem executadas noalgoritmo.
![Page 32: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/32.jpg)
Formas Geométricas
Primeiras Formas:
Início do algoritmo
Instrução / Processamento
Fim do Algoritmo
![Page 33: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/33.jpg)
Exemplo
Calcular a Média de um Aluno:
Obter as 2 notas
Calcular Média
Exibir a Média
![Page 34: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/34.jpg)
Fluxograma
Deve possuir:
Um estado inicial;
Ter um período de tempo finito;
Produzir um estado final previsível e bem definido.
![Page 35: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/35.jpg)
Dúvidas?
![Page 36: Aula 08 Introdução à Algoritmos - ifrn.edu.br](https://reader035.vdocuments.pub/reader035/viewer/2022071219/62cc022a52b0dd2d0269387b/html5/thumbnails/36.jpg)
Prática
Crie um algoritmo em descrição narrativa eFluxograma das duas situações abaixo: Fazer e tomar um café;
Receber um número em metros, e depois deverealizar a conversão para centímetros e exibir oresultado;
Receber um número inteiro, calcular o quadrado donúmero, e depois exibir o resultado.
Observação: detalhar o cálculo utilizado nosalgoritmos.