Prévia do material em texto
Disciplina de ALGORITMOS E PROGRAMAÇÃO Prof. Alexandre Leite ALGORITMOS e ALGORITMOS COMPUTACIONAIS DEFINIÇÃO DE ALGORITMOS E ALGORITMOS COMPUTACIONAIS Elaboração de algoritmos Leituras complementares sugeridas 2 Algoritmos 3 Um algoritmo é uma seqüência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Um algoritmo é um caminho para a solução de um problema. Em geral, existem muitos caminhos que levam a uma solução satisfatória. Algoritmos 4 Exemplo 1: Uma possível solução para trocar o pneu de um carro 1 – pegue o macaco, a chave de rodas e o estepe 2 – afrouxe os parafusos do pneu 3 – suspenda o carro com o macaco 4 – retire todos os parafusos 5 – retire o pneu 6 – coloque o estepe 7 – aperte levemente os parafusos 8 – abaixe o macaco 9 – aperte os parafusos 10 – guarde o macaco, a chave de roda e o pneu Algoritmos 5 Exemplo 1: Outra possível solução para trocar o pneu de um carro 1 – pegue o macaco, a chave de rodas e o estepe 2 – afrouxe os parafusos do pneu 3 – suspenda o carro com o macaco 4 – retire todos os parafusos 5 – retire o pneu 6 – coloque o estepe 7 – aperte levemente os parafusos 8 – abaixe o macaco 9 – aperte os parafusos 10 – guarde o macaco, a chave de roda e o pneu Algoritmos 6 Exemplo 1: Cuidado com o escopo do algoritmo 1 – pegue o macaco, a chave de rodas e o estepe 2 – afrouxe os parafusos do pneu 3 – suspenda o carro com o macaco 4 – retire todos os parafusos 5 – retire o pneu 6 – coloque o estepe 7 – aperte levemente os parafusos 8 – abaixe o macaco 9 – aperte os parafusos 10 – guarde o macaco, a chave de roda e o pneu 11 – leve ao borracheiro o pneu furado 12 – ande com o carro pra ver se ficou legal Algoritmos 7 Exemplo 1: Cuidado com o escopo do algoritmo 1 – pegue o macaco, a chave de rodas e o estepe 2 – afrouxe os parafusos do pneu 3 – suspenda o carro com o macaco 4 – retire todos os parafusos 5 – retire o pneu 6 – coloque o estepe 7 – aperte levemente os parafusos 8 – abaixe o macaco 9 – aperte os parafusos 10 – guarde o macaco, a chave de roda e o pneu 11 – leve ao borracheiro o pneu furado 12 – ande com o carro pra ver se ficou legal Algoritmos 8 Exemplo 2: Uma possível solução para fritar um ovo 1 – coloque óleo na frigideira 2 – leve a frigideira ao fogo 3 – quebre o ovo numa tigela 4 – coloque o ovo na frigideira 5 – aguarde o ovo fritar 6 – retire o ovo frito da frigideira 7 – coloque o ovo frito num papel toalha Algoritmos 9 5 – retire o pneu 9 – aperte os parafusos 1 – pegue o macaco, a chave de rodas e o estepe 3 – suspenda o carro com o macaco 10 – guarde o macaco, a chave de roda e o pneu 4 – retire todos os parafusos 6 – coloque o estepe 8 – abaixe o macaco 2 – afrouxe os parafusos do pneu 7 – aperte levemente os parafusos CUIDADO!!! A ORDEM DAS INSTRUÇÕES IMPORTAM!! As instruções abaixo não são algoritmos 6 – retire o ovo frito da frigideira 1 – coloque óleo na frigideira 3 – quebre o ovo numa tigela 7 – coloque o ovo frito num papel toalha 4 – coloque o ovo na frigideira 5 – aguarde o ovo fritar 2 – leve a frigideira ao fogo Algoritmos Computacionais 10 O computador, a princípio, não executa nada. Para que ele faça uma determinada tarefa como somar dois números, por exemplo, é necessário que ele execute um programa. Um programa é um conjunto de instruções que indicam ao computador, passo a passo, o que ele tem que fazer. Então um programa é um algoritmo computacional escrito numa linguagem de programação Uma linguagem de programação contém comandos básicos que fazem o computador escrever algo na tela, realizar cálculos aritméticos, receber uma entrada de dados via teclado, imprimir um texto, etc. Linguagem de Programação Algoritmo computacional PROGRAMA DE COMPUTADOR Algoritmos Computacionais 11 Os algoritmos de “trocar o pneu de um carro” e “fritar um ovo” não são computacionais. São ditos algoritmos informais. Um algoritmo computacional é aquele que pode ser executado pelo computador, que pode ser escrito numa linguagem de programação, tais como, Java, C, Python, VB... Alguns exemplos: - cálculo da média entre 3 números (algoritmo simples) - definição da melhor rota entre dois locais (algoritmo complexo) A partir de agora, neste texto, algoritmos computacionais serão apenas algoritmos Definição de algoritmos e algoritmos computacionais ELABORAÇÃO DE ALGORITMOS Leituras complementares sugeridas Elaboração de algoritmos 13 ● Entenda claramente o problema: ninguém consegue propor uma solução sem entender o problema ● Identifique o escopo: onde inicia e onde termina o problema ● Divida o problema em três etapas: entrada, processamento e saída ● Faça os testes da solução proposta: nem sempre o que achamos ser uma solução é uma solução. Elaboração de algoritmos 14 ENTRADA: São os dados de entrada do algoritmo. PROCESSAMENTO: São os algoritmos utilizados para chegar ao resultado final. Normalmente são cálculos ou tomadas de decisão SAÍDA: São os dados de saída já processados do algoritmo. Ao montar um algoritmo precisamos dividir o problema em três etapas fundamentais: Elaboração de algoritmos 15 Exemplo 1: Um aluno da 3ª série realizou quatro provas P1, P2, P3 e P4. A média final deverá ser calculada como (P1 + P2 + P3 + P4) / 4. Pergunta-se qual a média final deste aluno? Para a elaboração do algoritmo, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são P1, P2, P3 e P4 b) Qual será o processamento a ser aplicado? R: O procedimento será somar os dados de entrada e dividi-los por 4, que é o cálculo da média c) Quais são os dados de saída? R: O dado de saída é a média final Elaboração de algoritmos 16 Um possível algoritmo para o exemplo anterior pode ser: Obtenha a nota P1 Obtenha a nota P2 Obtenha a nota P3 Obtenha a nota P4 Calcule a média com (P1+P2+P3+P4)/4 Mostre a média calculada. 17 Exemplo 2: A condição para um aluno estar aprovado na disciplina de Algoritmos e Programação é ter a média aritmética das quatro notas das provas igual ou superior a seis. Escrever um algoritmo que mostre se ao final do semestre letivo o aluno estará aprovado ou reprovado Elaboração de algoritmos Dica!! Antes de sair escrevendo o algoritmo identifique as partes do problema nas etapas abaixo 18 Dados de entrada: as 4 notas das provas Processamento: calcular a média aritmética das 4 notas Dados de saída: mostrar “Aprovado” se a média for igual ou superior a 6 ou mostrar “Reprovado” em caso contrário Exemplo 2: A condição para um aluno estar aprovado na disciplina de Algoritmos e Programação é ter a média aritmética das quatro notas das provas igual ou superior a seis. Escrever um algoritmo que mostre se ao final do semestre letivo o aluno estará aprovado ou reprovado Elaboração de algoritmos Obtenha as notas P1, P2, P3 e P4 Média = (P1+P2+P3+P4)/4 Se Média >= 6 então Escreva “Aprovado” senão Escreva “Reprovado” Fim se 19 Uma das formas mais conhecidas para se testar um algoritmo é aplicar o TESTE DE MESA. Este teste simula a execução de um algoritmo sem utilizar o computador, empregando apenas um papel e uma caneta. Para a realização do teste de mesa cria-se uma tabela onde nas colunas ficam as variáveis do algoritmo e nas linhas os locais do algoritmo onde essas váriaveis sofrem alteração. No contexto desta aula, definiremos que uma variável de um algoritmo é um elemento que contém uma informação. Elaboração de algoritmos 20 Demonstração do teste de mesa no algoritmo do exemplo 2 1. Obtenha as notas P1, P2, P3 e P4 2. Média = (P1 + P2 + P3 + P4) / 4 3. Se Média >=6 então 4. escreva “Aprovado” 5. Senão 6. escreva “Reprovado” 7. Fim se A tabela para a aplicação do teste de mesa no algoritmo será Linhas P1 P2 P3 P4 Média 1 2 Elaboração de algoritmos 21 1. Obtenha as notas P1, P2, P3 e P4 2. Média = (P1 + P2 + P3 +P4) / 4 3. Se Média >=6 então 4. escreva “Aprovado” 5. Senão 6. escreva “Reprovado” 7. Fim se TESTE número 1 No teste 1 o algoritmo mostrará “Aprovado”, já que a média atingida foi 8,25 Elaboração de algoritmos TESTE número 2 Neste teste 2 o algoritmo mostrará “Aprovado”, pois o aluno ficou com média 6 TESTE número 3 Neste teste 3 o algoritmo mostrará “Reprovado”, pois a média é 5,5 UEBA!! O algoritmo funciona! 22 1. Obtenha as notas P1, P2, P3 e P4 2. Média = (P1 + P2 + P3 + P4) / 4 3. Se Média > 6 então 4. escreva “Aprovado” 5. Senão 6. escreva “Reprovado” 7. Fim se Linhas P1 P2 P3 P4 Média 1 5 10 5 4 2 6 Neste teste o algoritmo mostrará “Reprovado”, o que está errado, pois o aluno para ser aprovado precisa ter a média igual ou superior a 6 Elaboração de algoritmos Calma, pessoal. Nem sempre as coisas funcionam logo de primeira. A linha 3 deixa o algoritmo errado Definição de algoritmos e algoritmos computacionais Elaboração de algoritmos LEITURAS COMPLEMENTARES SUGERIDAS 23 24 FURLAN, Marco A. S. [et al.]. Algoritmos e lógica de programação: um texto introdutório para a engenharia. 3ª edição. São Paulo: Cengage, 2019 Apenas no Capitulo 1. Introdução 25 Professor Gustavo Guanabara https://www.cursoemvideo.com/course/curso-de-algoritmo/ Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25