·

Engenharia de Produção ·

Introdução à Lógica e Programação

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

Estrutura de repetição para pseudocódigo Apresentação Na construção de algoritmos utilizando pseudocódigo a estrutura de repetição parafaça é um recurso importante para definição de um bloco de comandos que precisam ser repetidos utilizandose uma variável de controle Nesta Unidade de Aprendizagem estudaremos a construção de pseudocódigos com repetições construídas com essa estrutura Bons estudos Ao final desta Unidade de Aprendizagem você deve apresentar os seguintes aprendizados Identificar problemas que precisem de repetição laços para construção da solução algorítmica Construir pseudocódigos que utilizem a estrutura de repetição parafaça Resolver problemas através de sua especificação com algoritmos Desafio A utilização de estruturas de repetição permite que o mesmo processo seja realizado diversas vezes Quando é conhecida a quantidade de vezes que o processo deverá ser repetido a melhor estrutura de repetição a ser utilizada é a parafaça Considere que um pesquisador mediu a temperatura ambiente em sua cidade durante uma semana fazendo duas medições diárias uma às 8 horas e outra às 20 horas A partir dessas medições ele deseja obter as seguintes informações a temperatura média do dia calculada pela média aritmética da temperatura da manhã e da noite de cada dia a temperatura média da semana calculada pelo somatório das médias das temperaturas de cada dia dividindose por 7 que são os dias da semana Assim desejase um programa algoritmo que atenda às necessidades do pesquisador O pseudocódigo a seguir apresenta uma possível solução para o problema utilizando o comando parafaça algoritmo pesquisador var tempdia tempnoite media somamedia mediasemana numerico dia inteiro inicio media 0 somamedia 0 para dia de 1 ate 7 passo 1 faca escrevalDigite a temperatura das 8h leiatempdia escrevalDigite a temperatura das 20h leiatempnoite media tempdia tempnoite 2 escrevalTemperatura media do dia media somamedia somamedia media fimpara mediasemana somamedia 7 escrevalTemperatura media da semana mediasemana fimalgoritmo Agora é a sua vez Uma professora costuma realizar três avaliações em suas turmas trabalho T seminário S e prova P Os pesos dessas avaliações são diferentes T tem peso de 20 da média da disciplina S tem peso de 30 e P tem peso de 50 As notas de cada avaliação são sempre expressas no intervalo 010 Portanto é utilizada a seguinte expressão para o cálculo da média de cada aluno Média Trabalho 20 Seminario 30 Prova 50100 A professora precisa aplicar essa expressão para calcular a média de cada um de seus alunos Para facilitar seu trabalho é solicitado um programa que realize esse processo para cada turma Construa um algoritmo em pseudocódigo que leia a quantidade de alunos da turma da professora Com o comando parafaça o programa deve ler as notas de cada aluno trabalho seminário e prova calcular e mostrar a média de cada um Infográfico Comandos de entrada e saída de decisão e de repetição são os elementos básicos para a construção de algoritmos A construção de pseudocódigos que utilizem o comando de repetição parafaça é o foco de estudo desta Unidade de Aprendizagem Conteúdo do livro Repetições nas quais é possível definir a quantidade de iterações são bem implementadas com a estrutura parafaça Conheça um pouco mais sobre o conteúdo lendo as páginas 129 a 134 do seguinte livro EDELWEISS N LIVI MAC Algoritmos e programação com exemplos em Pascal e C Vol 23 Série Livros Didáticos Informática UFRGS Porto Alegre Bookman 2014 Boa leitura 23 s é r i e l i v r o s d i d á t i c o s i n f o r m á t i c a u f r g s algoritmos e programação com exemplos em Pascal e C nina edelweiss maria aparecida castro livi E22a Edelweiss Nina Algoritmos e programação com exemplos em Pascal e C recurso eletrônico Nina Edelweiss Maria Aparecida Castro Livi Dados eletrônicos Porto Alegre Bookman 2014 Editado também como livro impresso em 2014 ISBN 9788582601907 1 Informática 2 Algoritmos Programação I Livi Maria Aparecida Castro II Título CDU 004421 as autoras Nina Edelweiss é engenheira eletricista e doutora em Ciência da Computação pela Uni versidade Federal do Rio Grande do Sul Durante muitos anos lecionou em cursos de Enge nharia e de Ciência da Computação na UFRGS na UFSC e na PUCRS Foi ainda orientadora do Programa de PósGraduação em Ciência da Computação da UFRGS É coautora de três livros tendo publicado diversos artigos em periódicos e em anais de congressos nacionais e internacionais Participou de diversos projetos de pesquisa financiados por agências de fomento como CNPq e FAPERGS desenvolvendo pesquisas nas áreas de bancos de dados e desenvolvimento de software Maria Aparecida Castro Livi é licenciada e bacharel em Letras e mestre em Ciência da Computação pela Universidade Federal do Rio Grande do Sul Desenvolveu sua carreira pro fissional na UFRGS onde foi programadora e analista de sistema antes de ingressar na carreira docente Ministrou por vários anos a disciplina de Algoritmos e Programação para alunos dos cursos de Engenharia da Computação e Ciência da Computação Sua área de interesse prioritário é o ensino de Linguagens de Programação tanto de forma presencial quanto a distância Catalogação na publicação Ana Paula M Magnus CRB 102052 EdelweissIniciaiseletronicaindd ii 140514 1651 Capítulo 5 Estruturas de Repetição 129 representação do comando parafaça em fluxogramas O comando parafaça é representado em fluxogramas por um bloco especial compreen dendo um losango com um retângulo acoplado onde são mostrados a variável de controle seu valor inicial seu incremento ou decremento e o teste que determina o término de sua execução A partir desse bloco o fluxo do programa pode seguir dois caminhos pela linha vertical que leva aos comandos a serem repetidos ou pela horizontal que leva para o comando seguinte quando terminarem as repetições conforme mostrado na Figura 52 Lem brar que se o laço de repetição contiver mais de um comando eles deverão ser agrupados em um comando composto A Figura 53 mostra o fluxograma do exemplo anterior em que a leitura e a escrita de uma variável são repetidas 10 vezes valores inicial final e incremento definidos por expressões Os valores inicial final e do incremento podem ser definidos explicitamente ou através do resultado de uma expres são Caso seja utilizada uma expressão seu resultado deve ser do mesmo tipo da variável de controle As expressões contidas no cabeçalho de um comando parafaça são avaliadas somente uma vez no início da sua execução Por exemplo considerando as variáveis inteiras i var1 e var2 o cabeçalho para i de var1 incr 1 até 7 var2 faça comando teste de término verdadeiro falso inicialização incremento ou decremento figura 52 Fluxograma do comando parafaça Edelweiss05indd 129 120314 0902 130 Algoritmos e Programação com Exemplos em Pascal e C indica que a variável de controle i é inicializada com o valor contido na variável var1 e que o valor final é o resultado da expressão 7 var2 avaliada no início do comando Mes mo que o valor de var2 seja alterado durante a execução do comando parafaça o valor calculado para o limite final não será alterado As expressões contidas no cabeçalho podem também apresentar variáveis iguais como no exemplo a seguir para i de var1 até var1 10 faça O valor do incremento deve ser inteiro e diferente de zero podendo ser positivo ou negativo Quando o incremento for positivo o valor inicial da variável de controle deve ser menor ou igual ao valor final quando for negativo o valor inicial deve ser maior ou igual ao valor final para que o comando seja executado pelo menos uma vez Caso o valor do incremento seja 1 sua definição pode ser omitida Exemplos para i de 1 incr 2 até 10 faça INCREMENTO POSITIVO escrever i para i de 7 incr 1 até 3 faça INCREMENTO NEGATIVO escrever i para i de 1 até 10 faça INCREMENTO 1 FICA IMPLÍCITO escrever i utilização da variável de controle dentro do laço Como mostrado nos últimos exem plos a variável de controle pode ser utilizada nos comandos dentro do laço de repetição Embora seja permitido não é aconselhável alterar o valor da variável de controle dentro do i 10 verdadeiro falso i 1 i 1 i ENTRADA valor SAÍDA valor figura 53 Exemplo de fluxograma com comando parafaça Edelweiss05indd 130 120314 0902 Capítulo 5 Estruturas de Repetição 131 laço pois isso poderia alterar a quantidade de repetições a serem realizadas A alteração explícita do conteúdo da variável de controle através de uma atribuição incluída dentro do laço faz que em cada repetição a variável de controle seja alterada duas vezes a primeira vez através do comando inserido no laço e a segunda controlada pelo comando parafaça Por exemplo o comando para varcontr de 1 incr 1 até 10 faça início varcontr varcontr 1 escrever varcontr fim exibe somente os valores pares a variável de controle varcontr é inicializada em 1 valor com o qual é executado o comando composto O primeiro comando contido no comando composto incrementa novamente varcontr que passa a valer 2 valor que é então exibido O controle volta ao comando parafaça onde varcontr é novamente incrementada em uma unidade passando a valer 3 Novamente é incrementada no corpo do comando passan do a valer 4 e o valor é apresentado O último valor informado será 10 Observar que mesmo se utilizado intencionalmente esse recurso descaracteriza a estrutura do comando de repeti ção parafaça não sendo por isso considerado adequado pela programação estruturada exemplo O Algoritmo 44 visto no Capítulo 4 mostra o processo completo para a obten ção das notas de um aluno bem como cálculo e informação da média e conceito obtidos Observando as entradas e saídas especificadas nesse algoritmo vêse como entradas as variá veis nota1 nota2 nota3 e como saídas as variáveis média e conceito Esses dados se refe rem a um único aluno Mas e se a turma for composta de 30 alunos Sem utilizar repetição seriam necessárias cinco variáveis para cada aluno num total de 150 variáveis Contudo os comandos a serem repetidos se referem ao processamento de um único aluno isto é a leitura de três notas o cálculo da média o cálculo do conceito e a informação da média e do con ceito obtidos por esse aluno No caso de 30 alunos esse procedimento deverá ser repetido 30 vezes cada repetição correspondendo ao processamento completo das informações de um aluno As mesmas áreas de memória podem ser preenchidas em diferentes momentos com diferentes conteúdos uma vez que os dados de cada aluno são processados isoladamente e de forma independente Assim a solução do problema é obtida através da repetição por 30 vezes dos mesmos comandos utilizados no Algoritmo 44 O Algoritmo 51 mostra esse processamento identificando cada aluno pela sua ordem Algoritmo 51 Média30 INFORMA MÉDIA E CONCEITO DOS 30 ALUNOS DE UMA TURMA Entradas nota1 nota2 nota3 real Saídas aluno inteiro média real conceito caractere Variável auxiliar aluno inteiro VARIÁVEL DE CONTROLE início para aluno de 1 incr 1 até 30 faça INICIAL INCREM E FINAL Edelweiss05indd 131 120314 0902 132 Algoritmos e Programação com Exemplos em Pascal e C início ler nota1 nota2 nota3 ENTRADA DAS 3 NOTAS média nota1 nota2 nota3 3 CALCULA MÉDIA escrever aluno média INFORMA ORDEM DO ALUNO E SUA MÉDIA se média 9 CÁLCULO DO CONCEITO então conceito A senão se média 75 então conceito B senão se média 60 então conceito C senão conceito D MÉDIA 6 escrever conceito INFORMA CONCEITO fim PARAFAÇA fim utilização de constantes no cabeçalho O valor final utilizado em comandos de repetição por contagem costuma corresponder ao número de elementos envolvidos no problema em questão No exemplo anterior o valor final 30 corresponde ao número de alunos a processar Se o desejado fosse no mesmo exemplo calcular a média da turma seria utilizado esse mes mo valor como divisor da expressão aritmética onde a soma das médias individuais obtidas por cada aluno seria dividida pelo número de alunos considerados E esse mesmo valor seria utilizado em outras sequências de instruções envolvendo o processamento de informações referentes a essa turma Consequentemente a alteração do número de alunos processados implicaria na alteração do valor 30 em diferentes pontos do programa Essas alterações além de trabalhosas podem gerar erros de execução resultantes da utilização equivocada desse valor em algum ponto do programa Para evitar esse problema aconselhase a declaração e a utilização de uma constante Seção 223 contendo esse valor evitando assim a necessidade de especificações e alterações repetidas em diferentes pontos do programa Também o valor inicial da variável de controle pode ser definido através de uma constante facilitando sua alteração O Algoritmo 52 mostra a utilização de constantes em comandos parafaça Aqui a cons tante NALUNOS é utilizada como limite do laço de repetições e como divisor no cálculo da média das notas da turma Notar que o conteúdo atual da variável de controle é usado dentro do laço de repetições para informar o número sequencial do aluno cuja média está sendo mostrada Algoritmo 52 MédiaAlunoETurma INFORMA MÉDIA DOS ALUNOS DE UMA TURMA E A MÉDIA GERAL DESTA TURMA Entradas nota1 nota2 nota3 real Saídas média real médiaturma real Variáveis auxiliares contador inteiro VARIÁVEL DE CONTROLE Edelweiss05indd 132 120314 0902 Capítulo 5 Estruturas de Repetição 133 somamédias real Constante NALUNOS 30 NÚMERO DE ALUNOS DA TURMA início somamédias 0 SOMA MÉDIAS INDIVIDUAIS VALOR INICIAL ZERO para contador de 1 incr 1 até NALUNOS faça início ler nota1 nota2 nota3 ENTRADA DAS 3 NOTAS média nota1 nota2 nota3 3 CALCULA MÉDIA escrever contador média INFORMA NÚMERO DO ALUNO E MÉDIA somamédias somamédias média SOMA DAS MÉDIAS fim médiaturma somamédias NALUNOS MÉDIA DA TURMA escrever médiaturma fim 521 aninhamento de comandos parafaça Qualquer comando pode ser incluído no laço de repetição inclusive outro comando parafaça Quando ocorre o aninhamento de comandos parafaça a cada iteração do laço externo o laço interno é executado de forma completa No trecho de algoritmo a seguir a tabuada dos números 1 a 10 é gerada a partir do aninha mento de comandos parafaça Observar a inclusão dos comentários sinalizando o final dos laços Os comentários embora não obrigatórios aumentam a legibilidade dos algoritmos e programas que incluem aninhamentos funcionando de forma complementar à indentação para multiplicando de 1 incr 1 até 10 faça LAÇO EXTERNO início escrever Tabuada de multiplicando para multiplicador de 1 incr 1 até 10 faça início LAÇO DA GERAÇÃO DA TABUADA DE MULTIPLICANDO produto multiplicando multiplicador escrever multiplicando X multiplicador produto fim DO LAÇO DO MULTIPLICADOR fim DO LAÇO DO MULTIPLICANDO Nesse outro exemplo de aninhamento de comandos parafaça a variável de controle do laço externo é incrementada até um valor constante e a variável de controle do laço interno é decrementada até o valor corrente da variável de controle do laço externo para n1 de 1 incr 1 até 2 faça LAÇO EXTERNO para n2 de 3 incr 1 até n1 faça LAÇO INTERNO escrevern1 n2 Edelweiss05indd 133 120314 0902 134 Algoritmos e Programação com Exemplos em Pascal e C Os valores de n1 e n2 mostrados pelo comando escrever seriam 1 3 1 2 1 1 2 3 2 2 O aninhamento de repetições também ocorre quando é utilizado um comando composto que contenha outro comando parafaça Nesse caso a cada repetição são executados os comandos que compõem o comando composto na ordem definida e todas as repetições do comando parafaça interno Por exemplo no comando para k de 1 incr 1 até 10 faça LAÇO EXTERNO início COMANDO COMPOSTO ler número para valor de 1 incr 1 até número faça PARAFAÇA INTERNO AO COMANDO COMPOSTO escrevervalor fim para cada valor do laço externo a cada uma das 10 execuções do laço externo é lido um novo valor para a variável número que serve de limite para a repetição do laço interno Edelweiss05indd 134 120314 0902 Encerra aqui o trecho do livro disponibilizado para esta Unidade de Aprendizagem Na Biblioteca Virtual da Instituição você encontra a obra na íntegra Dica do professor Em muitas situações será possível saber a quantidade de vezes que uma repetição deve ser executada Nesses casos a utilização da estrutura de repetição parafaça facilitará o trabalho do programador Vamos aprender a construir pseudocódigos com essa estrutura Confira o vídeo Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar Exercícios 1 Desenvolva um algoritmo que solicite ao usuário informar dois números inteiros A e B realize o somatório dos números no intervalo AB e mostre o resultado na tela Por exemplo se A 1 e B 5 o algoritmo realizará a soma 1 2 3 4 5 15 e mostrará o resultado na tela Qual das soluções abaixo representa uma solução correta para a resolução do algoritmo acima A algoritmo somatorio var A B L S inteiro inicio escrevaDigite um valor para A leiaA escrevaDigite um valor para B leiaB S 0 para L de A ate B passo 1 faca S s 1 fimpara escrevalSomatorio S fimalgoritmo algoritmo somatorio var A B L S inteiro inicio escrevaDigite um valor para A leiaA escrevaDigite um valor para B leiaB para L de A ate B faca S 0 S s 1 fimpara escrevalSomatorio S fimalgoritmo algoritmo somatorio var A B L S inteiro inicio escrevaDigite um valor para A leiaA escrevaDigite um valor para B leiaB S 0 para L de A ate B passo 2 faca S s L fimpara escrevalSomatorio S fimalgoritmo E 2 Uma progressão aritmética é uma sequência de valores termos em que os termos a partir do segundo são obtidos adicionandose um valor constante ao termo anterior Esse valor constante é chamado de razão da progressão aritmética Por exemplo na progressão aritmética 1 5 9 13 17 21 a razão é 4 Veja 1 4 5 5 4 9 9 4 13 e assim por diante Desejase construir um algoritmo que leia o primeiro termo da progressão aritmética o valor da razão e a quantidade de termos que devem ser gerados A partir dessas informações o algoritmo deve listar os termos da progressão aritmética Por exemplo primeiro termo 4 razão 2 quantidade de termos 5 deverá listar os valores 4 6 8 10 12 Analise as alternativas a seguir e selecione a que apresenta a implementação correta desse algoritmo algoritmo progressao var primeiro razao termos novo L inteiro inicio escrevalProgressão Aritmética escrevaDigite o primeiro termo leiaprimeiro escrevaDigite a razão leiarazao escrevaDigite a quantidade de termos leiatermos novo primeiro para L de primeiro ate termos passo 1 faca escrevalnovo novo novo razao fimpara fimalgoritmo algoritmo progressao var primeiro razao termos novo L inteiro inicio escrevalProgressão Aritmética escrevaDigite o primeiro termo leiaprimeiro escrevaDigite a razão leiarazao escrevaDigite a quantidade de termos leiatermos novo primeiro para L de 1 ate termos passo 1 faca novo novo razao escrevalnovo fimpara fimalgoritmo algoritmo progressao var primeiro razao termos novo L inteiro inicio escrevalProgressão Aritmética escrevaDigite o primeiro termo leiaprimeiro escrevaDigite a razão leiarazao escrevaDigite a quantidade de termos leiatermos novo 0 para L de primeiro ate termos passo 1 faca escrevalnovo novo novo razao fimpara fimalgoritmo algoritmo prograssao var primeiro razao termos novo L inteiro inicio escrevalProgressão Aritmética escrevaDigite o primeiro termo leiaprimeiro escrevaDigite a razão leiarazao escrevaDigite a quantidade de termos leiatermos novo primeiro para L de primeiro ate termos passo 1 faca escrevalnovo fimpara fimalgoritmo E O funcionário de uma empresa de pesquisas precisa fazer a seguinte pergunta para um conjunto de no mínimo 50 pessoas O que você mais gosta de fazer nas férias 1 Viajar 2 Praticar esportes 3 Ver televisão 4 Estar com amigos 5 Outras coisas O funcionário precisa registrar a resposta de cada pessoa e ao final depois de entrevistar os 50 indivíduos contabilizar quantos responderam cada alternativa e seu percentual Para facilitar seu trabalho o funcionário encomendou um programa que deverá ler a alternativa de resposta de cada entrevistado e contar as respostas dadas para cada alternativa Ele também deseja que o programa mostre qual o número da pessoa que está sendo entrevistada para que ele saiba quantas faltam para atingir sua meta Ao final depois de atingir a meta o programa deve mostrar a quantidade de respostas de cada alternativa e seu percentual 3 O pseudocódigo a seguir foi construído para atender à solicitação do funcionário da empresa de pesquisas Veja aqui Analise o algoritmo e assinale a alternativa verdadeira dentre as opções a seguir A A repetição para L de 1 ate meta passo 1 faca não está corretamente implementada B Se for digitado o valor 10 para a variável meta a variável L receberá os seguintes valores durante a execução do algoritmo 1 2 3 4 5 6 7 8 9 1011 C A expressão de cálculo dos percentuais não está correta D As variáveis P1 P2 P3 P4 e P5 foram declaradas como sendo do tipo real mas poderiam ter sido declaradas como inteiro já que isso não comprometeria o funcionamento do algoritmo E Na estrutura de repetição parafaça a instrução fimpara é opcional e poderia ser retirada do algoritmo pois ele continuaria correto 4 Um matemático adora criar e calcular valores de séries mas mesmo assim gostaria que o computador lhe auxiliasse nesse processo com um programa que calcule o valor da seguinte série S 1 1 3 2 5 3 7 4 99 50 Perceba a evolução dos valores do numerador e denominador de cada termo da série Os numeradores iniciam em 1 e são incrementados de 2 unidades a cada novo termo já o denominador inicia em 1 e é incrementado de 1 unidade a cada novo termo Analise as alternativas a seguir e selecione a que possui a melhor solução para calcular a série matemática algoritmo serie var denominador inteiro numerador serie real inicio escrevalSérie Matemática serie 0 numerador 1 para denominador de 1 ate 50 passo 1 faca escrevalnumerador denominador serie serie numerador denominador numerador numerador 1 fimpara escrevalResultado serie fimalgoritmo algoritmo serie var denominador inteiro numerador serie real inicio escrevalSérie Matemática serie 0 numerador 1 para denominador de 1 ate 50 passo 1 faca escrevalnumerador denominador serie serie numerador denominador numerador numerador 2 fimpara escrevalResultado serie fimalgoritmo E 5 Analise o algoritmo abaixo e marque a alternativa que representa qual função matemática é realizada pelo mesmo A Mínimo Denominador Comum B Somatório C Combinação D Fatorial E Permutação Na prática Há determinadas espécies de animais cuja taxa de reprodução é expressiva como os coelhos Nessa espécie nasce um par de animais a cada mês e eles tornamse aptos à reprodução a partir do segundo mês de vida Assim o criador de animais dessa espécie gostaria de saber quantos bichos terá depois de X quantidade de meses investidos na criação Considere que cada par de animais tornase adulto e começa a reproduzirse a partir do segundo mês de vida e que os pares adultos geram novos pares a cada mês 30 dias Assim no primeiro mês teremos apenas um par de filhotes no segundo mês esse par se desenvolve e já no terceiro mês passa a reproduzirse gerando filhotes No terceiro mês teremos dois pares de animais um par já em idade de reprodução adulto e outro filhote No quarto mês os adultos se reproduzirão gerando mais um par e o outro par se desenvolve No quinto mês teremos dois pares em idade de reprodução que terão cada um novos pares e o outro par que está em desenvolvimento Ficamos então com cinco pares de animais Seguindo essa lógica no sexto mês a criação já terá oito pares de animais Assim é possível seguir essa evolução mês a mês para determinar o tamanho de pares da criação até a quantidade de meses desejada Esse processo forma uma sequência numérica que foi descrita por Fibonacci e leva seu nome Considere que X é a quantidade de meses e FX será a quantidade de pares de animais Essa sequência é definida da seguinte maneira Assim essa série pode ser utilizada para prever o tamanho da criação por exemplo quantos pares de animais existirão ao final de três anos 36 meses Podemos construir um algoritmo que realize esse processo que deverá ter os seguintes passos X 1 FX 1 X 2 FX 2 X 3 FX FX 1 FX2 O que nos leva à sequência representada na tabela a seguir em que X é a posição do termo na série e Termo Série é o valor do elemento na série Assim essa série pode ser utilizada para prever o tamanho da criação por exemplo quantos pares de animais existirão ao final de três anos 36 meses Podemos construir um algoritmo que realize esse processo que deverá ter os seguintes passos Ler a quantidade de meses total para os quais desejamos gerar a previsão série inicializar os valores dos primeiros termos T1 1 e T2 1 fazer a repetição para a geração dos termos inicializando mês 3 para a geração do terceiro termo da série variando mês até total a cada iteração incrementar de uma unidade o valor de mês perceba que essa forma de repetição é mais facilmente implementada pelo comando parafaça calcular o novo termo T1 T2 soma dos dois termos anteriores mostrar o valor do termo calculado preparar para o cálculo do próximo termo trocando os valores de T1 e T2 T1 T2 T2 Termo A seguir é apresentado o algoritmo implementado em pseudocódigo algoritmo fibonacci var total mes T1 T2 Termo inteiro inicio escrevalDigite a quantidade de meses para previsao leiatotal T1 1 T2 1 escrevalT 1T1 escrevalT 2T2 para mes de 3 ate total passo 1 faca Termo T1 T2 escrevalT mesTermo T1 T2 T2 Termo fimpara fimalgoritmo A imagem a seguir apresenta a simulação da execução do algoritmo na ferramenta VisuAlg Digite a quantidade de meses para previsao 24 T 1 1 T 2 1 T 3 2 T 4 3 T 5 5 T 6 8 T 7 13 T 8 21 T 9 34 T 10 55 T 11 89 T 12 144 T 13 233 T 14 377 T 15 610 T 16 987 T 17 1597 T 18 2584 T 19 4181 T 20 6765 T 21 10946 T 22 17711 T 23 28657 T 24 46368 Para compreender melhor o funcionamento desse algoritmo vamos fazer um teste de mesa que nos possibilitará entender como ocorre a troca dos valores das variáveis dentro da repetição Suponha que foi lido o valor 10 para total quantidade de meses para a previsão Perceba que o novo termo é sempre formado pela soma dos termos anteriores na sequência os termos T1 e T2 recebem os novos valores para que seja possível calcular o próximo termo Conhecendo um pouco sobre Leonardo Fibonacci Leonardo de Pisa era filho de Guglielmo Bonacci e passou a ser chamado de Fibonacci filius Bonacci Teve importante contribuição na matemática por ter sido um dos introdutores dos números hinduarábicos na Europa e principalmente por introduzir o zero Ficou famoso pela sequência que leva seu nome No livro que escreveu Liber Abacci propôs um problema dos pares de coelhos paria coniculorum Esse problema é um clássico utilizado no ensino de programação Saiba Para ampliar o seu conhecimento a respeito desse assunto veja abaixo as sugestões do professor Lógica de Programação Estruturas de Repetição Loop PARA Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar Lógica de Programação com VisualG Estrutura de Repetição PARA Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar