Buscar

UNIDADE 20 Estrutura de repetição para (pseudocódigo)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Estrutura de repetição para. 
(pseudocódigo)
APRESENTAÇÃO
Na construção de algoritmos utilizando pseudocódigo, a estrutura de repetição "para...faça" é 
um recurso importante para definição de um bloco de comandos que precisam ser repetidos, 
utilizando-se 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 "para...faç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 “para...faç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 dividindo-se por 7, 
que são os dias da semana). Assim, deseja-se 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 
“para...faç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 
 escreval("Digite a temperatura das 8h:") 
 leia(tempdia) 
 
 escreval("Digite a temperatura das 20h:") 
 leia(tempnoite) 
 media<- (tempdia + tempnoite) / 2 
 escreval("Temperatura media do dia: ", media) 
 somamedia<- somamedia + media 
 fimpara 
 mediasemana<- somamedia / 7 
 escreval("Temperatura 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 [0,10]. Portanto, é utilizada a seguinte expressão para o cálculo da média de cada 
aluno:
Média = (Trabalho * 20 + Seminario * 30 + Prova * 50)/100
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 “para...faç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 
"para...faç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 "para...faça". Conheça um pouco mais sobre o conteúdo lendo as páginas 129 a 134 do 
seguinte livro: EDELWEISS, N.; LIVI, M.A.C. 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 978-85-8260-190-7
 1. Informática. 2. Algoritmos – Programação. I. Livi, 
 Maria Aparecida Castro. II. Título. 
CDU 004.421
 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ós-Graduaçã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 10/2052
Edelweiss_Iniciais_eletronica.indd ii 14/05/14 16:51
Capítulo 5 Estruturas de Repetição 129
■ representação do comando para/faça em fluxogramas.
O comando para/faç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 ao(s) comando(s) a ser(em) repetido(s); ou pela horizontal, que leva para o 
comando seguinte quando terminarem as repetições, conforme mostrado na Figura 5.2. 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 5.3 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 para/faç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 5.2 Fluxograma do comando para/faça.
Edelweiss_05.indd 129 12/03/14 09:02
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 para/faç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 controledeve 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 + 1i
ENTRADA
valor
SAÍDA
valor
figura 5.3 Exemplo de fluxograma com comando para/faça.
Edelweiss_05.indd 130 12/03/14 09:02
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 para/faça. 
Por exemplo, o comando
para var_contr de 1 incr 1 até 10 faça
 início
 var_contr ← var_contr + 1
 escrever (var_contr)
 fim
exibe somente os valores pares: a variável de controle var_contr é inicializada em 1, valor 
com o qual é executado o comando composto. O primeiro comando contido no comando 
composto incrementa novamente var_contr, que passa a valer 2, valor que é então exibido. 
O controle volta ao comando para/faça, onde var_contr é 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 para/faça, não sendo, por isso, considerado adequado pela programação estruturada.
exemplo. O Algoritmo 4.4, 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 4.4. O Algoritmo 5.1 mostra esse 
processamento, identificando cada aluno pela sua ordem.
Algoritmo 5.1 – 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}
Edelweiss_05.indd 131 12/03/14 09:02
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 ≥ 7,5
então conceito ← 'B'
senão se média ≥ 6,0
então conceito ← 'C'
senão conceito ← 'D' {MÉDIA < 6}
 escrever (conceito) {INFORMA CONCEITO}
 fim {PARA/FAÇ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, aconselha-se a declaração e a 
utilização de uma constante (Seção 2.2.3) 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 5.2 mostra a utilização de constantes em comandos para/faç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 5.2 – 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édia_turma (real)
 Variáveis auxiliares:
 contador (inteiro) {VARIÁVEL DE CONTROLE}
Edelweiss_05.indd 132 12/03/14 09:02
Capítulo 5 Estruturas de Repetição 133
 soma_médias (real)
 Constante: NALUNOS = 30 {NÚMERO DE ALUNOS DA TURMA}
início
 soma_mé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}
 soma_médias ← soma_médias + média {SOMA DAS MÉDIAS}
 fim
 média_turma ← soma_médias / NALUNOS {MÉDIA DA TURMA}
 escrever (média_turma)
fim
5.2.1 aninhamento de comandos para/faça
Qualquer comando pode ser incluído no laço de repetição, inclusive outro comando 
para/faça. Quando ocorre o aninhamento de comandos para/faç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 para/faç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 para/faça, a variável de controle do 
laçoexterno é 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}
escrever(n1, n2)
Edelweiss_05.indd 133 12/03/14 09:02
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 para/faç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 para/faç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
{PARA/FAÇA INTERNO AO COMANDO COMPOSTO}
escrever(valor)
 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.
Edelweiss_05.indd 134 12/03/14 09:02
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 "para...faça" facilitará o trabalho 
do programador. Vamos aprender a construir pseudocódigos com essa estrutura?
Confira o vídeo!
Conteúdo interativo disponível na plataforma de ensino!
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 [A,B] 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) 
 
 
B) 
 
 
C) 
 
 
D) 
E) 
 
Uma progressão aritmética é uma sequência de valores (termos), em que os termos (a 
partir do segundo) são obtidos adicionando-se 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.) 
Deseja-se 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. 
2) 
Analise as alternativas a seguir e selecione a que apresenta a implementação correta 
desse algoritmo. 
A) 
 
B) 
 
 
C) 
 
D) 
 
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 
3) 
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.
O pseudocódigo a seguir foi construído para atender à solicitação do funcionário da 
empresa de pesquisas: 
Conteúdo interativo disponível na plataforma de ensino!
 
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, 10,11 }.
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 "para...faça", a instrução fimpara é opcional e poderia ser retirada 
do algoritmo, pois ele continuaria correto.
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. 
4) 
Analise as alternativas a seguir e selecione a que possui a melhor solução para 
calcular a série matemática. 
A) 
 
 
B) 
 
 
C) 
 
D) 
 
E) 
 
 
Analise o algoritmo abaixo e marque a alternativa que representa qual função matemática 
é realizada pelo mesmo: 
 
5) 
 
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 tornam-se 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 torna-se adulto e começa a reproduzir-se 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 reproduzir-se, 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 F(X) 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, F(X) = 1 X = 2, F(X) = 2 X >= 
3, F(X) = F(X-1) + F(X-2) 
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, quedeverá 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 “para...faç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 
 escreval("Digite a quantidade de meses para previsao: ") 
 leia(total) 
 T1 <- 1 
 T2 <- 1 
 escreval("T ( 1)=",T1) 
 escreval("T ( 2)=",T2) 
 para mes de 3 ate total passo 1 faca 
 Termo <- T1 + T2 
 escreval("T (",mes,")=",Termo) 
 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 hindu-ará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 MAIS
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.
Conteúdo interativo disponível na plataforma de ensino!
Lógica de Programação com VisualG - Estrutura de Repetição - PARA.
Conteúdo interativo disponível na plataforma de ensino!

Outros materiais