Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos e Lógica de Programação Prof. Helton Molina Sapia Prof. Helton Molina Sapia Formalização de algoritmos Prof. Helton Molina Sapia Formas de Representação de Algoritmos As três formas mais comuns de representar algoritmos são: 1.Descrição Narrativa 2.Fluxograma 3.Pseudocódigo (Portugol) Prof. Helton Molina Sapia Descrição Narrativa Detalhar passo a passo a resolução de um problema utilizando a linguagem natural, como por exemplo a língua portuguesa. Essa forma apresenta a vantagem de não requerer nenhum conceito novo, basta saber a língua natural. Mas cuidado, pois a língua natural permite várias interpretações, o que pode significar uma desvantagem para o correto entendimento do algoritmo. Prof. Helton Molina Sapia Descrição Narrativa Algoritmo para obter o quadrado de um número: 1. Conhecer o número. 2. Multiplicar o número por ele mesmo. 3. Mostrar o resultado da multiplicação. Prof. Helton Molina Sapia Fluxograma É uma representação gráfica que utilizando símbolos, previamente acordados, apresenta a resolução de um determinado problema. • Os símbolos são de fácil entendimento então como vantagem temos uma representação mais simples. Prof. Helton Molina Sapia Fluxograma • O erro no entendimento de algum símbolo comprometerá a transcrição para um programa, além dessa desvantagem, o fluxograma pode perder detalhes da descrição narrativa. Prof. Helton Molina Sapia Fluxograma DICA A norma ISO 5807/1985 apresenta uma padronização de símbolos a serem utilizados nos fluxogramas, é importante que cada símbolo seja utilizado dentro do contexto de sua aplicação. Prof. Helton Molina Sapia Fluxograma Todo fluxograma deve ter bem claro o seu início e o seu fim, permitindo assim uma correta interpretação dos passos a serem seguidos. Setas indicam o caminho que deve ser seguido. Início Início Fim Fim Prof. Helton Molina Sapia Fluxograma Algoritmo para obter o quadrado de um número: Início Início Fim Fim N N R = N * N R = N * N R R Prof. Helton Molina Sapia Fluxograma Conjunto de símbolos utilizados em fluxograma. Símbolo Nome Utilidade Terminador Representar o início ou o fim do algoritmo. Seta Indica o sentido do fluxo de dados, ou atribuição de valores. Entrada de Dados Representa dados básicos de entrada. Processo Representa qualquer tipo de processamento como cálculos e atribuições de valores. Prof. Helton Molina Sapia Fluxograma Conjunto de símbolos utilizados em fluxograma. Símbolo Nome Utilidade Decisão Representar uma decisão ou um desvio, dentre vários caminhos possíveis somente um é assumido de acordo com a condição. Saída de Dados Indica uma saída de dados legíveis por seres humanos. Prof. Helton Molina Sapia Pseudocódigo Consiste basicamente na escrita da resolução do problema obedecendo a regras específicas. Sua escrita é muito próxima das linguagens reais de programação representando assim uma vantagem no momento de converter a escrita. Exige domínio sobre as regras de escrita de pseudocódigo (desvantagem). Prof. Helton Molina Sapia Pseudocódigo Regras de escrita de pseudocódigo: O pseudocódigo possui uma estrutura padrão: ALGORITMO DECLARE bloco de comandos FIM_ALGORITMO Prof. Helton Molina Sapia Pseudocódigo Regras de escrita de pseudocódigo: É necessário declarar as variáveis que serão utilizadas, os tipos mais comuns são: ALGORITMO DECLARE X NUMÉRICO Y, Z LITERAL T LÓGICO bloco de comandos FIM_ALGORITMO Prof. Helton Molina Sapia Pseudocódigo Regras de escrita de pseudocódigo: Para atribuir valores ou operações a variáveis deve ser utilizado o símbolo : ALGORITMO DECLARE X NUMÉRICO Y LITERAL T LÓGICO X 1 Y “um” T verdadeiro FIM_ALGORITMO Prof. Helton Molina Sapia Pseudocódigo Regras de escrita de pseudocódigo: É possível ler os dados digitados pelo usuário para uma variável especificada: ALGORITMO DECLARE X NUMÉRICO LEIA X FIM_ALGORITMO Prof. Helton Molina Sapia Pseudocódigo Regras de escrita de pseudocódigo: Também é possível mostrar dados ou mensagens na tela ou impressora: ALGORITMO DECLARE X NUMÉRICO ESCREVA “O conteúdo de X é ”, X FIM_ALGORITMO Prof. Helton Molina Sapia Pseudocódigo Algoritmo que calcula a área de um retângulo: ALGORITMO DECLARE L1, L2, A NUMÉRICO ESCREVA “Digite os dois lados do retângulo:” LEIA L1, L2 A L1 * L2 ESCREVA “A área do retângulo é ”, A FIM_ALGORITMO Prof. Helton Molina Sapia Estruturas de programação As estruturas de programação permitem basicamente que qualquer algoritmo computável seja escrito, consistem em: Estruturas sequenciais Estruturas de decisão Estruturas de repetição Prof. Helton Molina Sapia Estruturas sequenciais Estrutura de programação sequencial: Representam comandos que são executados obrigatoriamente sem desvio de caminho. Problema: Sabendo que 1 m2 de parede consome 5 quilos de cimento e que o saco de cimento pesa 50 quilos, dada uma quantidade de sacos de cimento informe o rendimento em m2 de parede construída. Prof. Helton Molina Sapia Estruturas sequenciais Descrição Narrativa 1. Conhecer a quantidade de sacos de cimento 2. Calcular quantidade de sacos de cimento vezes 50 e dividir por 5. 3. Mostrar o resultado informando que esta será a quantidade de m2 de parede construída. Prof. Helton Molina Sapia Estruturas de decisão Estas estruturas de programação permitem uma tomada de decisão sobre um caminho a ser escolhido de acordo com o resultado de uma expressão lógica, podem ser simples ou compostas. Possui apenas duas situações possíveis, verdadeiro ou falso. Também é conhecida com estrutura condicional. Prof. Helton Molina Sapia Estruturas de decisão Operadores lógicos: E, OU, NÃO Tabela E Tabela OU Tabela NÃO V e V = V V ou V = V Não V = F V e F = F V ou F = V Não F = V F e V = F F ou V = V F e F = F F ou F = F Prof. Helton Molina Sapia Estruturas de decisão Estrutura condicional simples. SE condição ENTÃO comando Ou SE condição ENTÃO INÍCIO comando 1 comando 2 comando 3 FIM Prof. Helton Molina Sapia Estruturas de decisão Estrutura condicional composta. Prof. Helton Molina Sapia Estruturas de decisão Problema: Dado um número inteiro, verificar se é par ou impar. Descrição narrativa 1.Conhecer o número inteiro 2.Dividir o número por dois e guardar o resto 3.Se o resto for zero informe que o número é par 4.Senão informe que o número é impar Prof. Helton Molina Sapia Estrutura de repetição Estas estruturas permitem que alguns trechos ou até mesmo todo o algoritmo seja executado repetidas vezes. O número de repetições pode variar conforme uma condição, ou ainda ser fixo. Basicamente existem os tipos: PARA ENQUANTO REPITA Prof. Helton Molina Sapia Estrutura de repetição Número definido de repetições (PARA) PARA I valor inicial ATÉ valor final FAÇA [PASSO n] INÍCIO comando1 comando2 ... comandoN FIM Prof. Helton Molina Sapia Estrutura de repetição Número indefinido de repetições e teste no início (ENQUANTO) ENQUANTO condição FAÇA INÍCIO comando1 comando2 ... comandoN FIM Prof. Helton Molina Sapia Estrutura de repetição Número indefinido de repetições e teste no final (REPITA) REPITA comando1 comando2 ... comandoN ATÉ condição Prof. Helton Molina Sapia Estrutura de repetição A diferença básica entre a estrutura ENQUANTO e a estrutura REPITA é que a estrutura REPITA será executada pelo menos uma vez, pois a condição de parada se encontra no final. Problema Determinar o máximo divisor comum entre dois números inteiros utilizando o algoritmo de Euclides (400-300 a.C.) Prof. Helton Molina Sapia Estrutura de repetição Descrição narrativa 1.Conhecer os dois número inteiro x e y 2.Enquanto y for diferente de zero execute os passos de 3 a 5, de pois vá para o passo 6 3.Armazene em r o resto da divisão entre x e y 4.Armazene em x o valor de y 5.Armazene em y o valor de r 6.Exibir o resultado do máximo divisor comum que está em x. Prof. Helton Molina Sapia Estrutura de repetição Fluxograma Início Início Fim Fim x,y x,y r x mod y r x mod y x x Y≠0 Y≠0 Verdadeiro Falso x y x y y r y r Prof. Helton Molina Sapia Estrutura de repetição Prof. Helton Molina Sapia DÚVIDAS ????????
Compartilhar