UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 ALGORITMOS Profª ª Danielle Casillo
ALGORITMOS Um algoritmo é uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Um algoritmo não é a solução do problema, pois, se assim fosse, cada problema teria um único algoritmo; um algoritmo é um caminho para a solução de um problema. 2
ALGORITMOS Em geral, existem muitos (senão infinitos) caminhos que levam a uma solução satisfatória. 3
ALGORITMOS NÃO COMPUTACIONAIS Um algoritmo não computacional é um algoritmo cuja sequência de passos, a princípio, não pode ser executada por um computador. Exemplo: 4
ALGORITMOS NÃO COMPUTACIONAIS Exemplo: 1. Sacar dinheiro do banco 24 horas 1. Ir até um banco 24 horas 2. Colocar o cartão 3. Digitar a senha 4. Solicitar a quantia desejada 5. Se o saldo for maior ou igual à quantia desejada, sacar; caso contrário, mostrar mensagem de impossibilidade de saque. 6. Retirar o cartão 7. Sair do banco 24 horas. 5
ALGORITMOS NÃO COMPUTACIONAIS Exemplo: 1. Fazer um Sanduíche 1. Pegar o pão 2. Cortar o pão ao meio 3. Pegar a maionese Aula 02 - Algoritmos 4. Passar a maionese no pão 5. Pegar e cortar alface e tomate 6. Colocar alface e tomate no pão 7. Pegar o Hambúrguer 8. Fritar o Hambúrguer 9. Colocar o Hambúrguer no pão 6
ALGORITMOS NÃO COMPUTACIONAIS Você pode estar pensando: Mas eu realizo essas atividades de maneira diferente! Esse pensamento é correto, pois às vezes um problema pode ser resolvido de diversas maneiras, porém, gerando a mesma resposta, ou seja, podem existir vários algoritmos para solucionar o mesmo problema. 7
PORTUGUÊS ESTRUTURADO (PORTUGOL PORTUGOL) Para que o algoritmo possa ser executado por uma máquina é importante que as instruções sejam corretas e sem ambiguidades. Portanto, a forma especial de linguagem que utilizaremos é bem mais restrita que o Português e com significados bem definidos para todos os termos utilizados nas instruções. 8
PORTUGUÊS ESTRUTURADO (PORTUGOL PORTUGOL) O português estruturado é, na verdade, uma simplificação extrema do Português, limitada a umas poucas palavras e estruturas que têm um significado muito bem definido. O objetivo do nosso curso é aprender a resolver problemas utilizando a linguagem, Para isso, há somente um caminho: resolver muitos problemas. O processo é semelhante ao de tornar-se competente em um jogo qualquer: aprender as regras do jogo (a sintaxe) é só o primeiro passo, tornar-se um bom jogador (programador) exige tempo, muito exercício e 9 dedicação.
ALGORITMOS COMPUTACIONAIS Um programa é um conjunto de milhares de instruções que indicam ao computador, passo a passo, o que ele tem que fazer. Logo, um programa nada mais é do que um algoritmo computacional descrito em uma linguagem de programação. 10
ALGORITMOS COMPUTACIONAIS Uma linguagem de programação contém os comandos que fazem o computador escrever algo na tela, realizar cálculos aritméticos, receber uma entrada de dados via teclado, e milhares de outras coisas, mas estes comandos precisam estar em uma ordem lógica. 11
MÉTODO PARA CONSTRUÇÃO DE ALGORITMOS Para construção de qualquer algoritmo, é necessário seguir estes passos: Compreender completamente o problema a ser resolvido, destacando os pontos mais importantes e os objetos que o compõem. Definir os dados de entrada, ou seja, quais dados serão fornecidos. 12
MÉTODO PARA CONSTRUÇÃO DE ALGORITMOS Definir o processamento, ou seja, quais cálculos serão efetuados. O processamento é responsável pela transformação dos dados de entrada em dados de saída. Definir os dados de saída. Construir o algoritmo. Testar o algoritmo realizando simulações. 13
TIPOS DE ALGORITMOS Os três tipos mais utilizados de algoritmos são: Descrição Narrativa Fluxograma Pseudocódigo ou Portugol ou Português Estruturado 14
DESCRIÇÃO NARRATIVA Consiste em analisar o enunciado do problema e escrever, utilizando uma linguagem natural (por exemplo, a língua portuguesa), os passos a serem seguidos para sua resolução. Vantagem: Não é necessário aprender nenhum conceito novo, pois é a linguagem natural. 15
Exemplo: DESCRIÇÃO NARRATIVA 1. Somar três números 1. Recebe os três números 2. Somar os três números 3. Mostrar o resultado obtido 16
FLUXOGRAMA Utiliza símbolos gráficos predefinidos para a resolução do problema. 17
FLUXOGRAMA Exemplo: Somar três números 18
PORTUGUÊS ESTRUTURADO Consiste em analisar o enunciado do problema e escrever, por meio de regras predefinidas, os passos a serem seguidos para sua resolução. Vantagem: A passagem do algoritmo para qualquer linguagem de programação é quase imediata, bastando conhecer as palavras reservadas dessa linguagem que serão utilizadas. 19
PORTUGUÊS ESTRUTURADO A estrutura geral de um algoritmo é: Algoritmo "<nome do algoritmo>" var < declaração de variáveis> inicio < lista de comandos> fimalgoritmo 20
PORTUGUÊS ESTRUTURADO Exemplo: Somar três números ALGORITMO Soma var A, B, C, D: inteiro inicio escreva ( Digite o valor de A: ) leia (A) escreva ( Digite o valor de B: ) leia (B) escreva ( Digite o valor de C: ) leia (C) D <- A + B + C escreva ( D=, D) fimalgoritmo 21
EXERCÍCIOS 1. Faça um algoritmo para mostrar o resultado da multiplicação de dois números (Descrição Narrativa, Fluxograma e Pseudocódigo): a) Descrição Narrativa: 1. Receber os números que serão multiplicados 2. Multiplicar os números 3. Mostrar o resultado obtido na multiplicação 22
EXERCÍCIOS b) Fluxograma: 23
EXERCÍCIOS c) Pseudocódigo ALGORITMO Multiplicacao var M, N1, N2: inteiro inicio escreva ( Digite o valor de N1: ) leia (N1) escreva ( Digite o valor de N2: ) leia (N2) M <- N1 * N2 escreva ( M =, M) fimalgoritmo 24
EXERCÍCIOS 2. Faça um algoritmo para mostrar o resultado da divisão de dois números (Descrição Narrativa, Fluxograma e Pseudocódigo) 25
EXERCÍCIOS 3. Faça um algoritmo em Descrição Narrativa, Fluxograma e Pseudocódigo para calcular a média aritmética de um aluno e mostrar a situação, que pode ser aprovado ou reprovado. a) Descrição Narrativa 1. Receber as duas notas 2. Calcular a média aritmética 3. Mostrar a média aritmética 4. Se a média for maior ou igual a 7, então a situação do aluno é aprovado; caso contrário, a situação é reprovado. 26
EXERCÍCIOS b) Fluxograma 27
EXERCÍCIOS c) Pseudocódigo ALGORITMO Media var M, N1, N2: real inicio escreva ( Digite o valor de N1: ) leia (N1) escreva ( Digite o valor de N2: ) leia (N2) M <- (N1 + N2) / 2 escreva ( M =, M) se (M >= 7) entao escreva( O aluno esta Aprovado ") senao escreva( O aluno esta Reprovado ") fimse fimalgoritmo 28
EXERCÍCIOS 4. Faça um algoritmo (Descrição Narrativa, Fluxograma e Pseudocódigo) para calcular o novo salário de um funcionário. Sabe-se que os funcionários que recebem atualmente salário de até R$500,00 terão aumento de 20%; os demais terão aumento de 10%. 29