Baixe o app para aproveitar ainda mais
Prévia do material em texto
* ALGORITMOS Prof. Antonio Carlos Marcelino de Paula * AGENDA * Conceitos Características básicas Formas de representação * Conceitos * Lógica técnica de encadear pensamentos para atingir determinado objetivo Sequência Lógica passos executados até atingir um objetivo ou solução de um problema. Instruções “um conjunto de regras ou normas definidas para a realização ou emprego de algo” em informática, instrução é a informação que indica a um computador uma ação elementar a ser executada. * Algoritmos * “Processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, as regras formais para a obtenção do resultado ou da solução do problema” [AURÉLIO] * Algoritmos * descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações seqüência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema seqüência finita de passos que levam a execução de uma tarefa * Algoritmos * * Algoritmos * Características básicas ser finito não dar margem à dupla interpretação não ser ambíguo capacidade de receber dado(s) de entrada do mundo exterior poder gerar informações de saída para o mundo externo ao do ambiente do algoritmo * Algoritmos * Características básicas ser efetivo todas as etapas especificadas no algoritmo devem ser alcançáveis em um tempo finito ser sequencial (ordenado) * Algoritmos * Formas de Representação Descrição Narrativa; Fluxograma Convencional; Pseudocódigo, também conhecido como Linguagem Estruturada ou Portugol. * Algoritmos * Descrição narrativa Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. Exemplo Chupar uma bala Pegar a bala Retirar o papel Chupar a bala Jogar o papel no lixo * Algoritmos * Trocar uma lâmpada no teto de sua casa ??? Trocar o pneu de um carro ??? * Algoritmos * Trocar uma lâmpada no teto de sua casa Verifica interruptor Se interruptor ligado, desligo Pegar uma nova lâmpada Pegar a escada Subir a escada com a lâmpada Desenroscar a lâmpada Trocar a lâmpada Descer da escada Ligar o interruptor * Algoritmos * Trocar o pneu de um carro Desligar o carro Pegar as ferramentas (chave, macaco e triangulo) Pegar o estepe Desenroscar os 4 parafusos do pneu furado Suspender o carro com o macaco Colocar o estepe Enroscar os 4 parafusos Baixar o carro com o macaco Guardar as ferramentas * Algoritmos * Faça um algoritmo para somar dois números e multiplicar o resultado pelo primeiro número: Informar o valor do primeiro número (N1); Informar o valor do segundo número (N2); Somar N1 com N2 e Atribuir a R; Multiplicar R por N1; * Algoritmos * Problema Resolução Formal do Problema Interpretação Programa * Fluxograma * Fluxograma Convencional É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintos. Tal propriedade facilita o entendimento das idéias contidas nos algoritmos. * Fluxograma * Fluxograma Convencional * Fluxograma * Fluxograma Convencional Exemplo: Cálculo da média de um aluno sob a forma de um fluxograma. Partindo do símbolo inicial, há sempre um único caminho orientado a ser seguido, representando a existência de uma única seqüência de execução das instruções * Fluxograma - Exemplo * * Fluxograma * As Estruturas básicas para construção de algoritmos são: SEQUÊNCIA SELEÇÃO REPETIÇÃO * Fluxograma * SEQUÊNCIA É representada pela conexão de dois ou mais símbolos de processamento, ligados por um símbolo indicativo do sentido do fluxo de execução. * Fluxograma * SELEÇÃO É representado pelo uso combinado dos símbolos de decisão, de processamento e de indicação do sentido do fluxo de execução. Uma variação da seqüência envolve uma decisão sobre qual dos vários caminhos disponíveis deve ser seguido. * Fluxograma * SELEÇÃO * Fluxograma * REPETIÇÃO É representada pelo uso combinado dos símbolos de decisão de processamento e de indicação do sentido do fluxo de execução. A estrutura de repetição é representada utilizando as estruturas: ENQUANTO-FAÇA REPITA-ATÉ * Fluxograma * REPETIÇÃO ENQUANTO-FAÇA * Fluxograma * REPETIÇÃO REPITA-ATÉ * Fluxogramas – Exemplo (1) Chupar uma Bala inicio pegar bala chupar bala retirar papel jogar papel no lixo fim * Fluxogramas – Exemplo (2) Trocar Lâmpada sim não * Fluxogramas – Exemplo (3) Somar dois números e multiplicar o resultado pelo primeiro número. * Fluxogramas – Exemplo (4) Cálculo da média do aluno e dizer se ele está aprovado ou reprovado. A média mínima é 7. * Fluxogramas – Exemplo (5) Exiba os números de 1 a 10. * Algoritmos * Pseudocódigo Esta forma de representação de algoritmos é rica em detalhes, como a definição dos tipos das variáveis usadas no algoritmo. Por assemelhar-se bastante à forma em que os programas são escritos,encontra muita aceitação. * Fluxograma * Pseudocódigo Os algoritmos atuais são muito complexos. Para facilitar o desenvolvimento, o algoritmo é dividido em blocos, que realizam determinadas tarefas que quando juntos formam a solução completa. Esta forma de desenvolvimento se chama Programação Estruturada. * Fluxograma * Programação Estruturada A programação estruturada produz algoritmos complexos mas fáceis de se ler (e entender!). A descrição narrativa e o fluxograma não se adaptam à programação estruturada. Sua forma de programação chama-se Programação Linear. Para se escrever algoritmos estruturados são usados os PSEUDOCÓDIGOS. * Fluxograma * Pseudocódigo – Português estruturado O Pseudocódigo utilizado no desenvolvimento de algoritmos estruturados é chamado de Português Estruturado. * Fluxograma * Pseudocódigo Algoritmo <nome_do_algoritmo> <declaração_de_variáveis>; <subalgoritmos> Início <corpo do algoritmo> Fim * Fluxograma * Algoritmo é uma palavra que indica o início da definição de um algoritmo em forma de pseudocódigo. <nome_do_algoritmo> é um nome simbólico dado ao algoritmo com a finalidade de distingui-lo dos demais. <declaração_de_variáveis> consiste em uma porção opcional onde são declaradas as variáveis globais usadas no algoritmo principal e, eventualmente, nos subalgoritmos. <subalgoritmos> consiste de uma porção opcional do pseudocódigo onde são definidos os subalgoritmos. Início e Fim são respectivamente as palavras que delimitam o início e o término do conjunto de instruções do corpo do algoritmo. * Fluxograma * Representação do algoritmo do cálculo da média de um aluno, na forma de um pseudocódigo. Algoritmo Calculo_Media; Var N1, N2, MEDIA: real; Início Leia (N1, N2); MEDIA ¬ (N1 + N2) / 2; Se MEDIA >= 7 então Escreva “Aprovado” Senão Escreva “Reprovado”; Fim_se Fim * Exercícios Escreva algoritmos para os seguintes problemas. Utilize Fluxograma como notação. Leia um número e exiba seu sucessor; Leia três números e exibir (Sim ou Não) se o primeiro é maior que a soma dos outros dois; Leia a base e a altura de um triângulo. Em seguida, escreva a área do mesmo; Leia quatro valores, calcule a média aritmética e a exiba; Leia três números, calcule o quadrado de cada um, some-os e mostre o resultado;
Compartilhar