Baixe o app para aproveitar ainda mais
Prévia do material em texto
Profª. Zirlene Effgen zirlene@ucl.br Algoritmos e linguagens de programação 2 Profª. Zirlene Effgen Algoritmos O uso de algoritmos é quase tão antigo quanto a matemática. Com o passar do tempo, entretanto, ele foi bastante esquecido pela matemática. Com o advento das máquinas de calcular e mais tarde os computadores, o uso de algoritmos ressurgiu com grande vigor, como uma forma de indicar o caminho para a solução dos mais variados problemas. Algoritmo não é a solução do problema, pois, se assim fosse, cada problema teria um único algoritmo. Algoritmo é o caminho para a solução de um problema, e em geral, os caminhos que levam a uma solução são muitos. 3 Profª. Zirlene Effgen Algoritmos - Conceitos Ao longo dos anos surgiram muitas formas de representar os algoritmos, alguns utilizando linguagens semelhantes às linguagens de programação e outras utilizando formas gráficas. 4 Profª. Zirlene Effgen Algoritmos - Conceitos “Algoritmo é um conjunto finito de regras, bem definidas, para a solução de um problema em um tempo finito e com um número finito de passos.” 5 Profª. Zirlene Effgen Vamos considerar o processo de construção de algoritmo conforme figura abaixo: ENTRADA: São os dados de entrada do algoritmo. PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final. SAÍDA: São os dados já processados. Algoritmos - Conceitos 6 Profª. Zirlene Effgen Para resolver os problemas compucionalmente devemos ter sempre em mente os seguintes passos: a) Entender o problema proposto; b) Verificar todos os dados disponíveis para resolvê- lo; c) Dividir o problema em partes menores, se ele for complexo; d) Ter bem definido seu objetivo. Para isso é importante questionar: Qual o resultado que se deseja alcançar? Responda a essa questão e trace os passos; Algoritmos - Conceitos 7 Profª. Zirlene Effgen Para resolver os problemas compucionalmente devemos ter sempre em mente os seguintes passos: e) Se não conseguir chegar ao seu objetivo, reflita a esse respeito e reveja os passos utilizados. Refaça Algoritmos - Conceitos 8 Profª. Zirlene Effgen Qual é o padrão de comportamento utilizado para gerar a seqüência abaixo? 1, 5, 9, 13, 17, 21, 25 Algoritmos - Conceitos 9 Profª. Zirlene Effgen Vamos pensar na lógica para construirmos algoritmos: 1. Some dois números 2. Ensine a trocar lâmpada (verificar se queimou) 3. Arrumar um namorado (a) Algoritmos - Conceitos 10 Profª. Zirlene Effgen Método para construção de algoritmos: Ler atentamente o enunciado; Destacar partes mais importantes; Definir dados de entrada e saída; Definir o que será processado; Construir o algoritmo Testá-lo. Algoritmos - Conceitos 11 Profª. Zirlene Effgen Algoritmos - Conceitos Para que um computador possa desempenhar uma tarefa é necessário que esta seja detalhada passo a passo, numa forma compreensível pela máquina, utilizando aquilo que se chama de programa. Neste sentido, um programa de computador nada mais é que um algoritmo escrito numa forma compreensível pelo computador. 12 Profª. Zirlene Effgen Algoritmos - Representação Algumas formas de representação de algoritmos tratam dos problemas apenas em nível lógico, abstraindo-se de detalhes de implementação muitas vezes relacionados com alguma linguagem de programação específica. Por outro lado, existem formas de representação de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurecer a idéia principal, o algoritmo, dificultando seu entendimento. Formas de representação:Formas de representação: 1)Descrição Narrativa 2)Fluxograma Convencional 3)Diagrama de Blocos 4)Diagrama de Chapin 5)Pseudocódigo, também conhecido como Linguagem Estruturada ou Portugol. 13 Profª. Zirlene Effgen Algoritmos - Representação 1)Descrição Narrativa Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. 14 Profª. Zirlene Effgen Algoritmos - Representação 2)Fluxograma Convencional O fluxograma, além de se uma ferramenta de representação lógica de programação, é uma das sete Ferramentas do Controle de Qualidade. 15 Profª. Zirlene Effgen Algoritmos - Representação 3)Diagrama de Blocos Tem como objetivo descrever o método e a seqüência do processo dos planos num computador. Pode ser desenvolvido em qualquer nível de detalhe que seja necessário. Esta ferramenta usa diversos símbolos geométricos, os quais estabelecerão as seqüências de operações a serem efetuadas em um processamento computacional. Após a elaboração do diagrama de bloco, será realizada a codificação do programa. 16 Profª. Zirlene Effgen Algoritmos - Representação 3)Diagrama de Blocos 17 Profª. Zirlene Effgen Algoritmos - Representação 4)Diagrama de Chapin O diagrama foi criado por Ned Chapin a partir de trabalhos de Nassi- Shneiderman, os quais resolveram substituir o fluxograma tradicional por um diagrama que apresenta uma visão hierárquica e estruturada da lógica do programa. A grande vantagem de usar este tipo de diagrama é a representação das estruturas que tem um ponto de entrada e um ponto de saída e são compostas pelas estruturas básicas de controle de seqüência, seleção e repartição 18 Profª. Zirlene Effgen Algoritmos - Representação 4)Diagrama de Chapin 19 Profª. Zirlene Effgen Algoritmos - Representação 5)Pseudocódigo Esta forma de representação de algoritmos, também conhecida como português estruturado ou portugol, é bastante rica em detalhes e, por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação, sendo portanto a forma de representação de algoritmos que será adotada nesta disciplina. Na verdade, esta representação é suficientemente geral para permitir que a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta. 20 Profª. Zirlene Effgen Algoritmos - Representação 5)Pseudocódigo A representação de um algoritmo na forma de pseudocódigo é a seguinte: Algoritmo <nome_do_algoritmo> <declaração_de_variáveis> <subalgoritmos> Início <corpo_do_algoritmo> Fim. Onde.... 21 Profª. Zirlene Effgen Algoritmos - Representação 5)Pseudocódigo 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 distinguí-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. 22 Profª. Zirlene Effgen Algoritmos - Representação Representação do algoritmo de cálculo da média de um aluno na forma de um pseudocódigo. 5)Pseudocódigo 23 Profª. Zirlene Effgen Exercícios 1)Construa um Diagrama de blocos que: Leia 4 (quatro) números Calcule o quadrado para cada um Somem todos os quadrados Mostre o resultado 24 Profª. Zirlene Effgen Exercícios A 10 B 5 C A + B B 20 A 10 Escrever A, B, C A 10 B 20 Escrever B B 5 Escrever A, B A 30 B 20 C A + B Escrever C B 10 Escrever B, C C A + B Escrever A, B, C 2) Analise os algoritmos abaixo e diga o que será impresso na tela ao serem executados: X 1 Y 2 Z Y - X Escrever Z X 5 Y X + Z Escrever X, Y, Z1) 2) 3) 4) 25 Profª. Zirlene Effgen Exercícios 3)O que o algoritmo abaixo irá imprimir, como resultado caso sejam fornecidos os números 10 (como número 1) e 20 (como número 2)? 26 Profª. Zirlene Effgen Exercícios 4)Qual o resultado impresso pelo algoritmo abaixo caso sejam fornecidos os seguintes números: 10, 8 e 6? Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26
Compartilhar