Prévia do material em texto
Representação de algoritmos em forma de fluxograma Apresentação Nesta Unidade de Aprendizagem, estudaremos a solução de problemas através da representação de algoritmos sequenciais em forma de fluxogramas, sua estrutura e exemplos de aplicação. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Identificar a estrutura básica de um algoritmo sequencial em fluxograma.• Analisar algoritmos sequenciais em forma de fluxograma.• Construir algoritmos sequenciais através de fluxogramas.• Desafio Um engenheiro necessita de auxílio para calcular o quanto vai consumir de tinta para pintar uma parede do quarto de um de seus clientes.Para auxiliá-lo, desenvolva um algoritmo em forma de fluxograma para calcular a quantidade necessária de litros e a quantidade de latas de tinta para pintar a parede do quarto. As dimensões (altura e largura) da parede do quarto em reforma deverão ser informadas. Considere que: - a parede do apartamento é retangular; - deverá ser pintada somente uma parede; - a parede do quarto a ser pintada possui uma janela com a medida de 1,30 metro de largura por 1,10 metro de altura (essa área deve ser descontada); - cada lata tem 5 litros de tinta; - o consumo de tinta é de 0,3 L/m2. Analise o problema apresentado e responda: a) Quais são os dados de entrada? b) Qual a sequência correta do processamento para solucionar o problema? c) Quais são os dados de saída? d) Represente a solução em forma de fluxograma. Você poderá utilizar qualquer editor para construir o fluxograma e deverá entregar em forma de imagem. Infográfico Observe a partir da imagem a estrutura de um algoritmo feito a partir do modelo fluxograma. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/aab89b25-3425-4f8d-99b0-a993fb9b5c5d/256eca54-b374-4fb5-b49e-c8ff0d13ca50.png Conteúdo do Livro Os algoritmos são parte essencial na construção e desenvolvimentos de programas. A partir de um algoritmo bem estruturado, claro e não ambíguo é possível facilitar a depuração de programas e consequentemente ajudar os programadores no desenvolvimento. Diferentes maneiras de representar os algoritmos podem ser explanadas, como os fluxogramas. Tanto a criação quanto a interpretação de fluxogramas na construção de algoritmos podem ser algo desafiador na área da computação. Conhecer os elementos que compõem um fluxograma facilitam a interpretação e criação. Além disso, saber abordar uma problematização e extrair um fluxograma do mesmo é um ponto bem importante na construção de algoritmos. No capitulo Representação de algoritmos em forma de fluxogramas, você vai poder conhecer os principais elementos de um fluxograma, tendo como base exemplos de interpretação e criação dos mesmos. Importante destacar que este capítulo aborda apenas os fluxogramas de algoritmos sequenciais, e não outras estruturas, como iteração. Boa leitura! ALGORITMOS E PROGRAMAÇÃO OBJETIVOS DE APRENDIZAGEM > Identificar a estrutura básica de um algoritmo sequencial em fluxograma. > Analisar algoritmos sequenciais em forma de fluxograma. > Construir algoritmos sequenciais através de fluxogramas. Introdução Na área da informática, a análise e a criação de algoritmos são tarefas essenciais para criar um estudo sistematizado sobre determinado problema que pode ser resolvido via computação. Entender como os algoritmos funcionam e suas re- presentações são conhecimentos-chave para o entendimento básico de toda a programação de computadores. Pode-se definir os algoritmos como uma sequência lógica que deve ser obe- decida fielmente para obter um resultado final, ou seja, trata-se de uma forma de representar a solução computacional de um problema. Existem diversas maneiras de representar algoritmos, como descrição narrativa, fluxogramas e pseudocódigo (linguagem algorítmica) (MANZANO; OLIVEIRA, 2016). Neste capítulo, você estudará especificamente os algoritmos sequenciais, que podem ser caracterizados como um conjunto de ações/processamentos executados em sequência linear, obedecendo a ordem que foi escrita. Além disso, você com- preenderá a representação de algoritmos sequenciais em forma de fluxogramas, Representação de algoritmos em forma de fluxograma Renata Junges Padilha como seus elementos principais e como construí-los. Para isso, exemplos serão apresentados, demonstrando sua criação e interpretação Conceitos básicos Ao contrário do que alguns pensam, os algoritmos não necessitam de uma linguagem de programação para serem analisados e compreendidos. A maneira como são representados é autossuficiente, além de utilizar formas simples de serem criados e interpretados. De acordo com Edelweiss e Livi (2014), os algoritmos podem ser representados por meio de linguagem textual, pseu- dolinguagem e fluxograma. Os algoritmos sequenciais, foco deste capítulo, se baseiam no conceito de ações que são processadas de forma linear na mesma ordem em que foram escritas. Nessa estruturação, os comandos são executados um após o outro, numa sequência preestabelecida (BERG; FIGUEIRÓ, 2006). Antes de apresentar os principais elementos básicos de um fluxograma de algoritmo sequencial, é importante entender que os fluxogramas são elementos que permitem obter uma visão gráfica ampla da situação/pro- blema a ser abordado computacionalmente por meio de um algoritmo. Os fluxogramas são compostos por blocos e linhas (setas), que representam as ações e o fluxo de execução, respectivamente. A estrutura de fluxograma de algoritmo sequencial é caracterizada por apenas um fluxo (caminho) de execução, não havendo outros fluxos alternativos, como estruturas de decisão ou de repetição (EDELWEISS; LIVI, 2014; OLIVEIRA, 2004). Como mencionado anteriormente, cada bloco no fluxograma representa uma ação a ser tomada. A Figura 1 representa os principais elementos de um fluxograma em conformidade com a padronização da American National Standards Institute (Ansi). Cada um destes elementos que compõem o flu- xograma será detalhado a seguir. Representação de algoritmos em forma de fluxograma2 Figura 1. Blocos utilizados nos fluxogramas. Fonte: Adaptada de Edelweiss e Livi (2014). Os elementos e/ou blocos dos fluxogramas são compostos por Início, Entrada e Saída de Dados, Atribuição e Fim. Os elementos Início e Fim re- presentam o ponto de partida para iniciar e finalizar o fluxograma, como se fossem uma espécie de delimitador do fluxo de informações. A Entrada de Dados representa a lista de variáveis que alimenta o algoritmo, ou seja, dados que devem ser inseridos para realizar o processamento. Já a Saída de Dados representa o resultado obtido a partir da entrada dos dados e o processamento realizado. O elemento Atribuição, também chamado de Processamento de Dados, nada mais é que o cálculo/ação que o algoritmo irá executar a partir da entrada das variáveis, trazendo o resultado na saída de dados. A utilização de fluxogramas não é recomendada somente quando o algoritmo se torna muito extenso, contendo diversos elementos, fazendo com que seu objetivo, que é facilitar a interpretação do algoritmo, não seja cumprido. É importante ressaltar que um fluxograma é composto pelos elementos presentes na Figura 1, mas também pela ordem do fluxo (passos) a ser seguido, representado por setas conectando os elementos. Alguns autores trazem também outra visão sobre os elementos presentes num fluxograma, como pode ser visto na Figura 2. Representação de algoritmos em forma de fluxograma 3 Figura 2. Outros blocos utilizados nos fluxogramas, conforme o padrão ISO 5807. Fonte: Adaptada de Pereira (2018). Símbolo Descrição Terminal (início e final do algoritmo) Entrada de dados (via teclado) Processamento de dados (cálculos) Saída de dados (via vídeo) Tomada de decisão (condição) Execução de processo predefinido Ponto de conexão Basicamente,os elementos descritos na Figura 1 também podem ser vistos na Figura 2: o elemento Terminal representa o Início e o Fim; Entrada de Dados são as informações inseridas; Processamento de Dados diz respeito à Atribuição (onde são realizados os cálculos/ações); e a Saída de Dados re- presenta o resultado obtido. É importante conhecer esses outros elementos do padrão ISO 5807 para poder interpretá-los quando necessário. Neste capítulo, serão abordados os elementos que compõem os fluxogramas de algoritmos sequenciais apenas, deixando de lado o elemento de tomada de decisão, por exemplo (PEREIRA, 2018). A próxima seção demonstrará como os fluxogramas de algoritmos sequencias podem ser interpretados, a partir de exemplos para facilitar o entendimento. Interpretação de fluxogramas de algoritmos sequenciais Uma maneira bem simples de iniciar o estudo sobre a interpretação de fluxo- gramas de algoritmos sequenciais é a partir de um exemplo tirado de Edelweiss e Livi (2014). Observe o fluxograma apresentado na Figura 3. Representação de algoritmos em forma de fluxograma4 Figura 3. Exemplo de fluxograma de algoritmo sequencial. Fonte: Adaptada de Edelweiss e Livi (2014). Analisando o fluxograma, é possível observar que o exemplo trata da obtenção da soma de dois números quaisquer. A representação do algoritmo é expressa pelos elementos básicos Início, Entrada, Processamento, Saída e Fim. Neste exemplo, a entrada é composta pelas variáveis valor1 e valor2, que podem ser entradas oriundas da digitação no teclado por parte do usuário. Logo em seguida, o processamento realiza a soma dos valores (valor1 e valor2) e armazena na variável soma. Como saída, o fluxograma apresenta a variável resultante (soma) do processamento. A criação de fluxogramas tem por objetivo facilitar a leitura e interpretação do algoritmo que se deseja construir ou compreender. A Figura 4 ilustra um fluxograma que descreve um programa que recebe três notas de alunos e retorna nas saídas as notas lidas, soma e média aritmética. A entrada dos dados representados no fluxograma da Figura 4 é obtida a partir da leitura de três notas. Neste exemplo, é possível visualizar que existe mais de uma saída em diferentes momentos do fluxograma, o que pode ocorrer dependendo muito de como o algoritmo precisa ser estruturado. Representação de algoritmos em forma de fluxograma 5 Figura 4. Fluxograma de algoritmo lendo notas e obtendo diferentes saídas. Fonte: Adaptada de Edelweiss e Livi (2014). Logo após a leitura das três notas (na entrada), elas são impressas (sa- ída), tendo como objetivo mostrar ao usuário o que foi lido. Na sequência, a atribuição/processamento é realizada, calculando a soma das três notas. Em seguida, é impressa a soma no bloco de saída. Por fim, a média aritmética é realizada no último bloco de processamento, retornando ao usuário o resultado obtido. A partir da interpretação do fluxograma ilustrado na Figura 4, é possível realizar a construção do algoritmo correspondente. Destaca-se que as dife- rentes saídas impressas no fluxograma são uma forma de proporcionar ao programador uma visão dos dados que estão sendo lidos. Apesar do foco deste capítulo não ser a representação dos algoritmos em forma de pseudolinguagem (pseudocódigo), é interessante ter uma dimensão de como ficaria a representação neste formato a partir do fluxograma da Figura 4. De acordo com Edelweiss e Livi (2014), um pseudocódigo expressa os algoritmos de uma forma similar a uma linguagem de programação, mas sem entrar em detalhes, como informações sobre os tipos de dados. Além disso, as operações são expressas numa linguagem natural, facilitando o entendimento. Representação de algoritmos em forma de fluxograma6 A pseudolinguagem a seguir demonstra o resultado do algoritmo a partir da análise do fluxograma da Figura 4, trazendo informações complementares como as declarações das variáveis. Algoritmo Média1 {INFORMA A SOMA E A MÉDIA DAS 3 NOTAS DE UM ALUNO} Entradas: nota1, nota2, nota3 (real) Saídas: soma, média (real) início ler (nota1, nota2, nota3) {ENTRADA DAS 3 NOTAS} escrever (nota1, nota2, nota3) {INFORMA AS NOTAS LIDAS} soma ← nota1 + nota2 + nota3 {CALCULA A SOMA} escrever (soma) {INFORMA SOMA} média ← soma / 3 {CALCULA A MÉDIA} escrever (média) {INFORMA MÉDIA CALCULADA} fim . Com base nos exemplos apresentados anteriormente, é possível ter uma dimensão de como os fluxogramas podem ser interpretados, tomando como base o conhecimento dos seus principais elementos e seu fluxo. Na próxima seção, será abordada a construção de fluxogramas de algoritmos sequenciais a partir de exemplos de problematizações, mostrando o passo a passo da sua construção. Construção de fluxogramas de algoritmos sequenciais Até aqui, este capítulo apresentou alguns exemplos e ilustrações de fluxo- gramas construídos a fim de esclarecer sua lógica e sua montagem. Trazendo uma abordagem um pouco diferente, nesta seção serão apresentadas pro- blematizações a fim de analisar a construção de fluxogramas. Nem sempre é uma tarefa fácil realizar a análise de determinados proble- mas, pois um algoritmo deve ser claro e não ambíguo. Muitas vezes, o que é claro para um pode ser mais difícil para outro. Em termos computacionais, para construir um algoritmo a partir de um problema é preciso compreender o problema, descobrir uma forma de solucioná-lo, projetar o algoritmo e sua representação e analisar sua utilidade. Representação de algoritmos em forma de fluxograma 7 Construir fluxogramas a partir de um dado problema nem sempre é uma tarefa fácil. Por isso, é bem importante ter conhecimento sobre diferentes ferramentas para criar fluxogramas. Com isso em vista, o site Melhoria na Prática traz um panorama geral sobre as melhores ferramentas para desenvolver fluxogramas, levando em consideração facilidade de uso, integrações, recursos, entre outros critérios (OS 7 MELHORES..., 2022). Vejamos um exemplo de problema/situação a ser analisado, tendo como objetivo criar um fluxograma para sintetizar e facilitar o entendimento do programador que irá desenvolver o programa correspondente. Digamos que o usuário necessita de um conversor de moedas para ter conhecimento de quanto dinheiro precisa levar para sua viagem. O conversor deve obter um valor em reais e convertê-lo em dólares. Depois de obter o valor, o algoritmo deve imprimir o valor já convertido. Sabe-se que o câmbio do dólar é variável, podendo mudar de um dia para outro. Nesse caso, há duas alternativas: pedir para usuário informar o câmbio do dia ou buscar externamente a informação. Neste exemplo, será usada a opção do próprio usuário informar a cotação do câmbio. A Figura 5 ilustra os passos tomados para a criação do fluxograma do problema apresentado neste exemplo. Figura 5. Fluxograma representando o problema do conversor de moedas. Representação de algoritmos em forma de fluxograma8 A entrada é composta pelo valor que se deseja converter, assim como o valor do dólar que usuário deve informar (1). Logo após a entrada, uma saída é mostrada (2), retornando o valor digitado pelo usuário. No processamento, é realizado o cálculo da conversão do valor de reais para dólares e atribuição na variável conv (3). Por fim, na etapa 4, a saída final imprime o valor convertido em dólares (variável conv). Vejamos outro exemplo de problematização. Suponhamos agora que um empresário deseja ter controle sobre o aumento salarial dos seus funcionários para fins de verificação do orçamento da empresa. Para isso, necessita de um programa que calcule a porcentagem de aumento, assim como o novo salário de todos os seus funcionários. Como ele não sabe exatamente quanto de aumento precisa dar, resolveu basear-se na necessidade que um funcionário X precisaria ganhar. Por exemplo: funcionário-base que ganha R$2.000,00 precisa passar a ganhar R$2.400,00, ou seja, todos os funcionários terão um aumento de 20%. O programa deve apresentara porcentagem de aumento, assim como o novo salário dos funcionários. Com base nas informações disponíveis, a Figura 6 ilustra em detalhes a construção do fluxograma do algoritmo sequencial. Representação de algoritmos em forma de fluxograma 9 Figura 6. Fluxograma representando o problema do aumento salarial. Realizando a análise da construção do fluxograma, é possível perce- ber que inicialmente (1) é dada entrada no salário atual (sal_atual) de um determinado funcionário modelo, assim como o salário acrescido do valor desejado (sal_base). A porcentagem de aumento baseada nos valores obtidos é calculada no processamento (2). Após imprimir qual é a porcentagem de aumento (3), o fluxograma realiza novamente a entrada do salário dos fun- cionários (4). Na etapa 5, é realizado o cálculo do aumento sobre o salário do funcionário, com base na porcentagem de aumento calculada anteriormente. Por fim, na etapa 6 o fluxograma apresenta como saída o resultado do novo salário dos funcionários. Representação de algoritmos em forma de fluxograma10 A utilização de fluxogramas para representar algoritmos torna a extração das informações muito mais simples e menos ambígua. Construir fluxogramas pode ser algo desafiador, mas a observação dos detalhes e a geração de um panorama sobre a problematização podem facilitar as coisas. Além disso, ter conhecimento sobre os principais elementos é importante para poder interpretar ou construir fluxogramas. Cabe ressaltar que neste capítulo fo- ram abordados fluxogramas de algoritmos sequenciais, mas existem outras estruturas, como fluxos de seleção e iteração. É essencial ter dimensão do quanto os algoritmos são importantes para facilitar a depuração dos programas por parte dos programadores e/ou equipe de desenvolvimento. Assim como na construção dos algoritmos, os fluxogramas devem apresentar um conteúdo claro, preciso e não ambíguo. Referências BERG, A.; FIGUEIRÓ, J. P. Lógica de programação. 3. ed. Canoas: ULBRA, 2006. EDELWEISS, N.; LIVI, M. A. C. Algoritmos e programação com exemplos em Pascal e C. Porto Alegre: Bookman, 2014. MANZANO, J. A. N. G.; OLIVEIRA, J. F. Algoritmos: lógica para desenvolvimento de pro- gramação de computadores. 28. ed. São Paulo: Saraiva, 2016. OLIVEIRA, L. A. H. G. Introdução à informática. Natal: UFRN, 2004. PEREIRA, S. L. Algoritmos e lógica de programação em C: uma abordagem didática. São Paulo: Saraiva, 2018. Leituras recomendadas CORMEN, T. H. et al. Algoritmos: teoria e prática. 3. ed. Rio de Janeiro: Elsevier, 2012. MARTINS, C. T. K.; RODRIGUES, M. Estudo de algoritmos. [S. l.: s. n], 2015. OS 7 MELHORES softwares para criar fluxogramas de 2022. Melhoria na prática, 2022. Disponível em: https://melhorianapratica.com.br/melhor-software-fluxograma-on- line-2021/. Acesso em: 10 jun. 2022. Os links para sites da web fornecidos neste capítulo foram todos testados, e seu funcionamento foi comprovado no momento da publicação do material. No entanto, a rede é extremamente dinâmica; suas páginas estão constantemente mudando de local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade sobre qualidade, precisão ou integralidade das informações referidas em tais links. Representação de algoritmos em forma de fluxograma 11 Dica do Professor Assista ao vídeo para conhecer as soluções práticas apresentadas de algoritmos sequencias em forma de fluxograma. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/c45f95bb06cfe78e64a266dd0ae66277 Exercícios 1) Considerando o conceito e as características de um algoritmo sequencial, analise as sentenças apresentadas abaixo. ,I. A estrutura básica de um algoritmo sequencial é comandos de entrada, atribuição e saída, e utiliza uma estrutura de execução sequencial. II. Um algoritmo sequencial executa os comandos colocados em sequência, no mínimo, uma vez. III. O algoritmo sequencial não utiliza laços de repetição nem testes condicionais. É correto o que se afirma na(s): A) Alternativa I. B) Alternativas I e III. C) Alternativa II. D) Todas as alternativas estão corretas. E) Nenhuma alternativa está correta. 2) Considere os seguintes blocos aplicados na representação em fluxograma: Quais figuras podem ser utilizadas para representar comandos de saída? A) Figuras 2, 3 e 4. B) Figuras 1, 3 e 4. C) Figuras 2, 5 e 6. D) Figuras 4, 5 e 6. E) Somente a figura 2. O algoritmo em fluxograma 3) Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. tem os seguintes valores como entrada: Digite o valor para a: 2,5 Digite o valor para b: 3,2 Analise e realize o teste do algoritmo com os valores de entrada apresentados acima e selecione a alternativa que representa a funcionalidade do algoritmo e qual será o valor de saída para a variável area. A) O algoritmo calcula a área de um círculo. O valor de saída será 8,0. B) O algoritmo calcula a área de um retângulo. O valor de saída será 6,0. C) O algoritmo calcula a área de um quadrado. O valor de saída será 6,0. D) O algoritmo calcula a área de um triângulo. O valor de saída será 4,0. E) O algoritmo calcula a área de um quadrado. O valor de saída é 8,0. Uma construtora realizou uma pesquisa com seus funcionários e verificou que cerca de 50% deles estão acima do peso. A pesquisa também apontou que os funcionários necessitam de reeducação alimentar e não praticam atividades físicas. Assim, a empresa contratou uma nutricionista e um restaurante para a preparação das refeições de seus colaboradores. Também buscou uma parceria com uma academia e está introduzindo uma campanha para que os funcionários busquem uma vida mais saudável focando em atividades físicas e reeducação alimentar. Primeiramente, os profissionais da academia medirão o índice de massa corporal (IMC) dos funcionários da construtora para determinar, juntamente com a nutricionista contratada, o tipo de treinamento personalizado para cada pessoa e também o cardápio que deverá ser oferecido para os diversos casos para a empresa. O IMC é uma das formas mais utilizadas para determinar se os níveis de gordura e o peso da pessoa estão dentro do recomendado pela Organização Mundial da Saúde. A fórmula para calcular o IMC necessita do peso e da altura do indivíduo: 4) https://statics-marketplace.plataforma.grupoa.education/sagah/3d82a75b-d3f9-4956-9a93-3a1f446a54e8/c74e9f93-f63f-46ee-8273-cdd10e3fb599.png O algoritmo deve mostrar como saída a tabela abaixo, para que seja possível ver em que categoria o funcionário da construtora se encontra. Valores do IMC: Abaixo do peso – menor que 18,5 Normal – entre 18,5 e 24,9 Acima do peso – entre 25 e 29,10 Obeso – 30 ou mais Analise os algoritmos em forma de fluxograma apresentados a seguir. Em qual alternativa é correta a representação do fluxograma para a solução do problema? A) Alternativa I. B) Alternativa III. C) Alternativas I e II. D) Alternativas I, II e III. E) Nenhuma alternativa. Observe o fluxograma: 5) Analise o algoritmo e selecione a alternativa que representa sua funcionalidade. A) Calcula a quantidade de dias utilizados por um veículo em uma viagem. Tem como entrada a média de consumo, o tempo da viagem em horas e a velocidade média por hora. B) Calcula a quantidade de litros gastos por um veículo em uma viagem. Tem como entrada a média de dias da viagem, o tempo da viagem em horas e a velocidade média por hora. C) Calcula a quantidade de semanas utilizados por um veículo em uma viagem. Tem como entrada a média de consumo, o tempo da viagem em horas e a velocidade média por hora. D) Calcula a quantidade de litros gastos por um veículo em uma viagem. Tem como entrada a média de consumo, o tempo da viagem em horas e a velocidade média por hora. E) Calcula a quantidade de semanas gastas por um veículo em uma viagem. Tem comoentrada a média de semanas, o tempo da viagem em horas e a velocidade média por hora. Na prática O fluxograma é uma representação gráfica utilizada para representar o fluxo de um processo, ou seja, a sequência de execução de suas operações. Saiba mais Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: 5 modelos de fluxogramas para download Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Combinação entre as técnicas de fluxograma e mapa de processo no mapeamento de um processo produtivo Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://www.oficinadanet.com.br/post/10652-5-modelos-de-fluxogramas-para-download http://www.abepro.org.br/biblioteca/enegep2007_tr570434_9458.pdf