ALGORITMOS AULA 1 Profª Amanda Gondim
O que é lógica? NOÇÕES DE LÓGICA A lógica trata da correção do pensamento Ensina-nos a usar corretamente as leis do pensamento É a arte de pensar corretamente A forma mais complexa do pensamento é o raciocínio Ordem da razão (nossa razão pode funcionar desordenadamente) ou ordem no pensamento 2
Exemplos: EXISTE LÓGICA NO DIA-A-DIA? a) A gaveta está fechada. A agenda está na gaveta. Preciso primeiro abrir a gaveta, para depois pegar a agenda. b) Ana é mais velha do que João João é mais velho do que Pedro Portanto, Ana é mais velha do que Pedro. 3
Exemplo: ALGORITMO Receita de bolo, onde você tem uma série de ingredientes necessários, uma sequência de diversos passos a serem cumpridos para que se consiga fazer determinado tipo de bolo (objetivo bem definido). Mapa para se chegar à UFERSA, que também possui uma sequência de passos a serem seguidos e um objetivo bem definido. 4
ALGORITMO Problema de uma lâmpada queimada que deve ser trocada, atividade bem cotidiana. Pegue uma escada; Posicione-a embaixo da lâmpada; Busque uma lâmpada nova; Suba na escada; Retire a lâmpada; Coloque uma lâmpada nova; Acenda o interruptor. 5
ALGORITMO O objetivo de trocar a lâmpada queimada pode ser atingido com tal algoritmo que descreve a sequência de passos a ser seguida. Porém, e se a lâmpada não estiver queimada? podemos efetuar um teste antes de trocá-la. ligue o interruptor SE a lâmpada não acender, então: pegue uma escada posicione-a embaixo da lâmpada busque uma lâmpada nova suba na escada retire a lâmpada coloque uma lâmpada nova Ligue o interruptor. 6
ALGORITMO E se a lâmpada nova não funcionar? O objetivo portanto não foi atingido. Devemos então trocar a lâmpada diversas vezes, até que funcione. ligue o interruptor; SE a lâmpada não acender, então: pegue uma escada; posicione-a embaixo da lâmpada; busque uma lâmpada nova; suba na escada; retire a lâmpada; coloque uma lâmpada nova. ENQUANTO a lâmpada não acender: repetitivo) retire a lâmpada; coloque outra lâmpada. O fluxo sequencial de execução foi alterado de forma que após a ação coloque outra lâmpada o teste se a lâmpada não acender volte a ser executado o número de vezes necessário para se atingir o objetivo. (fluxo 7
ALGORITMOS NÃO COMPUTACIONAIS Exemplo: Fazer um Sanduíche 1. Pegar o pão 2. Cortar o pão ao meio 3. Pegar a maionese 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 8
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. 9
PORTUGUÊS ESTRUTURADO (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. 10
PORTUGUÊS ESTRUTURADO (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. 11
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. 12
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. 13
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. 14
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 15
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. 16
DESCRIÇÃO NARRATIVA Exemplo: Somar três números 1. Recebe os três números 2. Somar os três números 3. Mostrar o resultado obtido 17
FLUXOGRAMA Utiliza símbolos gráficos predefinidos para a resolução do problema. Algoritmos 18
FLUXOGRAMA Exemplo: Somar três números 19
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. 20
PORTUGUÊS ESTRUTURADO A estrutura geral de um algoritmo é: Algoritmo "<nome do algoritmo>" var < declaração de variáveis> inicio < lista de comandos> fimalgoritmo 21
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 22
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 23
EXERCÍCIOS b) Fluxograma: 24
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 25
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) 26
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, 27a situação é reprovado.
EXERCÍCIOS b) Fluxograma 28
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 29