Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lógica de Programação Itabaiana - SE Maio de 2016 Sumário Assunto: Algoritmos 1. Representação de Algoritmos 2. Indentação 3. Comentários 4. Tipos de Processamento Representação de Algoritmos Para descrever um algoritmo, pode-se usar representações gráficas ou textuais. O uso dessas representações vai depender do grau de detalhamento que se deseja de um algoritmo. 01 Representação de Algoritmos As principais formas de representação de um algoritmo são: • Descrição Narrativa; • Fluxograma; • Pseudocódigo. 02 Representação de Algoritmos Descrição Narrativa (ou algoritmos naturais): são algoritmos usados no dia-a-dia, descritos em linguagem natural. Exemplos: uma receita culinária; a troca de um pneu furado ou a troca de uma lâmpada e etc. 03 Representação de Algoritmos Descrição Narrativa Além dos que usamos no nosso dia-a-dia, os algoritmos são muito usados para a especificação de tarefas que devem ser repetidas sempre da mesma maneira. Para automatizar uma tarefa, é fundamental descrever seus passos de forma detalhada e clara, para que qualquer um que venha a executá-la saiba exatamente o que fazer. 04 Representação de Algoritmos Descrição Narrativa Exemplo: se uma indústria precisa que uma tarefa seja automatizada, deve descrevê-la através de um algoritmo. Este algoritmo poderá ser lido por um operário ou transformado em programa para uma máquina. 05 Representação de Algoritmos Descrição Narrativa Existem várias formas de se representar um algoritmo. Pode-se escrevê-lo através da linguagem natural que usamos no dia-a-dia. 06 Representação de Algoritmos Descrição Narrativa Exemplo: cálculo da média de um aluno • Obter as notas da 1ª e da 2ª prova; • Calcular a média aritmética entre as duas notas; • Se a média for maior ou igual a 8, o aluno foi aprovado, senão ele está de exame. 07 Representação de Algoritmos Fluxograma (ou diagrama de fluxo): é uma representação gráfica que utilizam formas geométricas padronizadas ligadas por setas de fluxo, para indicar as diversas ações (instruções) e decisões que devem ser seguidas para resolver o problema em questão. 08 Representação de Algoritmos Fluxograma Os algoritmos são expressos graficamente utilizando-se formas geométricas padronizadas, cada uma com um significado específico; O fluxograma permite visualizar os caminhos (fluxos) e as etapas de processamento de dados possíveis. 09 Representação de Algoritmos Fluxograma Exemplos de símbolos que são usados nos fluxogramas. 10 Representação de Algoritmos Fluxograma Atividades 03 1. Faça um fluxograma que lê 2 valores e mostra a soma destes valores: • A princípio, faça o início do fluxograma; • Em seguida, lê o 1º valor que será armazenado na variável “valor1”; • Depois, lê o 2º valor que será armazenado na variável “valor2”; • Efetue a soma de “valor1” com “valor2” e armazene o resultado desta operação aritmética na variável “resultado”; • Em seguida, mostre o valor armazenado na variável “resultado”; • E finalizamos o fluxo. 11 Representação de Algoritmos Fluxograma Atividades 03 12 Representação de Algoritmos Fluxograma Ferramenta Existem bons programas, alguns até gratuitos, que permitem o desenho de fluxogramas no próprio computador. Exemplo: Dia Diagram Editor http://dia-installer.de/ 13 Representação de Algoritmos Fluxograma Ferramenta Dia Diagram Editor 14 Representação de Algoritmos Fluxograma Atividades 03 2. Receber o valor do salário de um trabalhador, calcular e mostrar o valor diário deste salário. 3. Calcular e mostrar a metade de um número qualquer informado pelo usuário. 4. Ler três números quaisquer e mostrar o resultado da soma destes números. 15 Representação de Algoritmos Fluxograma Atividades 03 5. Ler quatro números quaisquer e mostrar o resultado da média destes números. 6. Ler a idade de uma pessoa expressa em anos, meses e dias e mostrar expressa apenas em dias. 16 Representação de Algoritmos Fluxograma Atividades 03 7. Ler um número qualquer e verificar se este número e maior ou igual a 10. Para a opção verdadeira mostrar a palavra “Maior”, senão mostrar a palavra “Menor”. 17 Representação de Algoritmos Fluxograma Atividades 03 8. Ler 5 valores, calcular e mostrar a média aritmética destes valores. Se o resultado for maior que 100, mostrar a palavra “Maior que 100”, senão mostrar a palavra “Menor que 100”. 9. Mostrar se um número qualquer é positivo, ou negativo, ou zero. 18 Representação de Algoritmos Pseudocódigo (Linguagem Estruturada ou Portugol): esta forma de representação de um algoritmo assemelha-se muito à forma com que os programas são escritos e consiste na descrição dos passos do algoritmo através de frases construídas sob uma sintaxe rigorosamente definida. 19 Representação de Algoritmos Pseudocódigo Exemplo: 20 Representação de Algoritmos Pseudocódigo Algoritmo: é a 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; 21 Representação de Algoritmos Pseudocódigo Variáveis (Declaração das 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 (Procedimentos e Funções): consiste em uma porção opcional do pseudocódigo onde são definidos os subalgoritmos; 22 Representação de Algoritmos Pseudocódigo 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”. 23 Representação de Algoritmos Pseudocódigo Exemplo: Implementação em Portugol no VisualG. 24 Indentação Onde inicia e encerra os blocos nesta implementação? 25 Indentação Onde inicia e termina os blocos no trecho do exemplo da implementação abaixo? 26 Indentação A indentação (deslocamento para a direita) de um bloco de instruções significa que tal bloco esta subordinada ao bloco anterior e facilita a compreensão e a manutenção do algoritmo e dos códigos-fontes em uma linguagem de programação. A indentação torna o código mais legível e facilita o seu entendimento, pois é possível identificar perfeitamente onde inicia e termina um bloco de instruções. 27 Indentação Onde inicia e termina os blocos no trecho do exemplo da implementação abaixo? 28 Indentação Onde inicia e termina os blocos no trecho do exemplo da implementação abaixo? 29 Indentação Onde inicia e termina os blocos no trecho do exemplo da implementação abaixo? 30 Comentários Todas as linguagem de programação oferecem um tipo de recurso que permite ao programador acrescentar pequenos trechos ao código-fonte que não têm validade no sentido de executar um operação. Assim, é chamado de comentários que servem como orientação ao programador, informando detalhes sobre um ponto específico do código. 31 Comentários Os comentários já servem como uma documentação gravada no próprio programa.Os compiladores ignoram essas linhas, não as incluindo no código executável. Cada linguagem de programação possui uma forma típica de indicar os comentários no programa. 32 Comentários Em programas de poucas linhas a inclusão de comentários pode parecer irrelevante, mas quando trabalhamos com programas de centenas ou milhares de linhas, a falta de comentários pode prejudicar muito o entendimento do programa futuramente. 33 Comentários Exemplo: 34 Comentários Exemplo: 34 Comentários Exemplo: 34 Tipos de Processamento Em qualquer algoritmo, podemos ter 3 tipos de processamento, quais são? 35 Tipos de Processamento Em qualquer algoritmo, podemos ter 3 tipos de processamento, quais são? • Sequencial • Condicional • Com repetição 35 Tipos de Processamento Processamento Sequencial As instruções do algoritmo são executadas uma após a outra, sem que haja qualquer desvio na sequência das instruções, sendo cada instrução executada uma única vez. 36 Tipos de Processamento Processamento Sequencial Exemplo: obter a média aritmética de 4 notas. 1. Início 2. Some as duas primeiras notas 3. Some a 3ª nota com o resultado da instrução 2 4. Some a 4ª nota com o resultado da instrução 3 5. Divida o resultado da instrução 4 por 4 6. Fim 37 Tipos de Processamento Processamento Sequencial Exemplo: obter a média aritmética de 4 notas. Sendo as quatro notas 10, 5, 8 e 1, a execução será: 1. Início 2. 10 + 5 = 15 3. 15 + 8 = 23 4. 23 + 1 = 24 5. 24 / 4 = 6 6. Fim 38 Tipos de Processamento Processamento Condicional Um conjunto de instruções (pode ser apenas uma instrução) é executado ou não, dependendo de uma condição. Se a condição que estiver sendo testada tiver resposta afirmativa, o conjunto de instruções é executado. 39 Tipos de Processamento Processamento Condicional Exemplo: obter a média aritmética de 4 notas. Se a média for maior ou igual a 7, o aluno está aprovado, caso contrário, está reprovado. 1. Início 2. Some as duas primeiras notas 3. Some a 3ª nota com o resultado da instrução 2 4. Some a 4ª nota com o resultado da instrução 3 5. Divida o resultado da instrução 4 por 4 40 Tipos de Processamento Processamento Condicional Exemplo: obter a média aritmética de 4 notas. Se a média for maior ou igual a 7, o aluno está aprovado, caso contrário, está reprovado. 1. Início 2. Some as duas primeiras notas 3. Some a 3ª nota com o resultado da instrução 2 4. Some a 4ª nota com o resultado da instrução 3 5. Divida o resultado da instrução 4 por 4 ??? 40 Tipos de Processamento Processamento Condicional Exemplo: obter a média aritmética de 4 notas. Se a média for maior ou igual a 7, o aluno está aprovado, caso contrário, está reprovado. 6. Se o resultado da instrução 5 for maior ou igual a 7 7. Aluno Aprovado!!! 8. Se o resultado da instrução 5 for menor que 7 9. Aluno Reprovado!!! 10. Fim 41 Tipos de Processamento Processamento Condicional Exemplo: 1. Início 2. Some as duas primeiras notas 3. Some a 3ª nota com o resultado da instrução 2 4. Some a 4ª nota com o resultado da instrução 3 5. Divida o resultado da instrução 4 por 4 6. Se o resultado da instrução 5 for maior ou igual a 7 7. Aluno Aprovado!!! 8. Se o resultado da instrução 5 for menor que 7 9. Aluno Reprovado!!! 10. Fim 42 Tipos de Processamento Processamento Condicional Exemplo: obter a média aritmética de 4 notas. Se a média for maior ou igual a 7, o aluno está aprovado, caso contrário, está reprovado. Sendo as quatro notas 10, 5, 8 e 1, a execução será: ??? 43 Tipos de Processamento Processamento Condicional Exemplo: 1. Início 2. 10 + 5 = 15 3. 15 + 8 = 23 4. 23 + 1 = 24 5. 24 / 4 = 6 6. Resposta negativa 7. Instrução não executado 8. Resposta afirmativa (resultado < 7) 9. Aluno Reprovado!!! 10. Fim 44 Tipos de Processamento Processamento Condicional Note que a instrução seis foi executada. Como a resposta foi negativa, ou seja, média inferior a 7, então o aluno foi reprovado. Assim, não foi executada a instrução sete. 45 Tipos de Processamento Processamento com Repetição O conjunto de instruções (pode ser apenas uma instrução) é executado um determinado número de vezes, sendo determinada uma condição de parada. 46 Tipos de Processamento Processamento com Repetição Exemplo: obter a média aritmética das 4 notas de todos os alunos da sala. 1. Início 2. Para cada aluno da sala 3. Some as duas primeiras notas 4. Some a 3ª nota com o resultado da instrução 3 5. Some a 4ª nota com o resultado da instrução 4 6. Divida o resultado da instrução 5 por 4 7. Fim 47 Tipos de Processamento Processamento com Repetição Exemplo: obter a média aritmética das 4 notas de todos os alunos da sala. Se existem dois alunos na sala e suas notas são: • Aluno 1: 10, 5, 8, 1 • Aluno 2: 4, 6, 7, 3 Como será a execução do algoritmo? 48 Tipos de Processamento Processamento com Repetição Exemplo: Aluno 1: 10 + 5 = 15 15 + 8 = 23 23 + 1 = 24 24 / 4 = 6 Aluno 2: 4 + 6 = 10 10 + 7 = 17 17 + 3 = 20 20 / 4 = 5 49 Tipos de Processamento Processamento com Repetição Obs.: Um laço de repetição necessita sempre de uma condição de parada que seja válido, caso contrário o programa entrará em um “laço infinito”. Os três tipos de processamento de algoritmos, também podem aparecer um dentro do outro. 50 Lógica de Programação Algoritmos – Parte 2 Prof. Dr Wanderson Roger Azevedo Dias wanderson.dias@ifs.edu.br
Compartilhar