










Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Material sobre Lógica de Programação
Tipologia: Notas de aula
1 / 18
Esta página não é visível na pré-visualização
Não perca as partes importantes!











Material Didático do Instituto Metrópole Digital - IMD Versão 2.0 - Todos os Direitos reservados
Nas aulas anteriores, conhecemos as estruturas de decisão simples, compostas, aninhadas e as decisões de múltipla escolha. Vimos que tais decisões são utilizadas quando há a necessidade de se estabelecer desvios na execução dos comandos e quando o algoritmo tem que decidir que caminho seguir. Vimos também que essa decisão é tomada de acordo com uma condição específica.
A partir de agora, conheceremos outro grupo de estrutura de controle: as estruturas de repetição. Perceberemos que em alguns momentos haverá a necessidade de repetir um determinado trecho do algoritmo por um número específico de vezes. O objetivo das estruturas de repetição é executar uma instrução (ou conjunto de instruções) repetidas vezes, enquanto (ou até que) uma dada condição seja satisfeita. Nesta aula, identificaremos as características de uma estrutura de repetição e a sua classificação em: estrutura de repetição com teste condicional no início, estrutura com teste condicional no final e estrutura com variável de controle. Além disso, estudaremos mais detalhadamente a estrutura de repetição com variável de controle, desejando que você, ao longo da aula, torne-se capaz de construir algoritmos utilizando-a.
Vídeo 01 - Apresentação
ALGORITMO "Repete frase"
INICIO
escreval("Bem-vindo ao Metrópole Digital.")
escreval("Bem-vindo ao Metrópole Digital.")
escreval("Bem-vindo ao Metrópole Digital.")
escreval("Bem-vindo ao Metrópole Digital.")
FIMALGORITMO
Parece simples, não? Mas e se mudássemos o número de repetições? Se, ao invés de cinco vezes, tivéssemos que escrever essa mesma frase cem vezes? Ou mil vezes? Seria um tanto exaustivo para você ficar digitando tantas vezes o mesmo comando. Para o computador, também, não seria interessante. Já falamos brevemente na aula anterior sobre o aumento da demanda por processamento e memória, quando um mesmo comando é repetido muitas vezes.
A solução para esse impasse é a utilização das estruturas de repetição.
Veja o mesmo algoritmo de outra forma:
algoritmo "Repete frase"
var
contador : inteiro
inicio
para contador de 1 ate 5 passo 1 faca
escreval("Bem-vindo ao Metrópole Digital.")
fimpara
fimalgoritmo
No algoritmo anterior, criamos uma variável de controle (contador) que é quem determina quantas vezes o comando escreval será executado. A repetição só para quando a condição não for mais atendida, ou seja, quando o contador for maior que 5.
Repetição (ouloop) é um conjunto de ações que são executadas repetidamente.
O objetivo das estruturas de repetição é executar uma série de instruções emloop, enquanto (ou até que) uma dada condição analisada seja verdadeira.
Vídeo 02 - Estruturas de Repetição
b. Isso afetaria o desempenho do computador, ao executar o algoritmo? Justifique sua resposta.
Na repetição com variável de controle, a quantidade de execuções do comando que será repetida é conhecida previamente. Uma variável é criada para funcionar como contador para essas repetições e cessar a repetição no momento em que a contagem chegar ao final. Há, também, um valor de incremento, que define com qual intervalo entre as unidades a repetição executará.
Vídeo 04 - Estrutura de Repetição com Variável de Controle
No exemplo do início da aula (quando escrevemos uma frase cinco vezes), utilizamos esse tipo de estrutura de repetição.
Vamos conhecer a sintaxe dessa estrutura:
para <variável inteira> de
<instruções>
fimpara
OU
para <variável inteira> de
<instruções>
fimpara
Veja a seguir algumas considerações sobre a sintaxe da estrutura.
escreval("Digite as notas do aluno ",contador,":")
escreval("Primeira nota:")
leia(nota1)
escreval("Segunda nota:")
leia(nota2)
media <- (nota1+nota2)/
escreval("O aluno ",contador," teve média igual a: ",media)
Esses comandos são executados emloop
algoritmo segue após o comando fimpara.
Vamos ver o exemplo da média, utilizando a estrutura de repetição com variável de controle:
algoritmo "Calcula Média com Repetição"
var
nota1, nota2, media : real//declaração das variáveis do algoritmo
contador : inteiro//declaração da variável de controle
inicio
para contador de 1 ate 50 passo 1 faca
fimpara
fimalgoritmo
Como na estrutura sequencial, declaramos as variáveis para as notas e a média. Em seguida, declaramos uma variável inteira, que será o contador. Definimos, depois, os valores inicial e final (de 1 a 50, que é a quantidade de alunos) e o valor de incremento (1, pois o laço percorrerá um a um os alunos). Perceba que a utilização do passo nesse caso não era necessária pois assume-se 1 como valor de incremento quando não se utiliza esse comando.
Enquanto o valor da variável for menor ou igual a 50, o laço se repete: são solicitadas as notas e a média é calculada e exibida para cada aluno.
Quando é exibida a média do último aluno, a estrutura termina.
Agora vamos praticar!
Uma escola está realizando matrículas para um curso aberto à comunidade, com limite de 20 vagas. Assumindo que os alunos são cadastrados por computador, escreva um algoritmo que:
I. leia a idade e o sexo do aluno;
II. informe que a turma está lotada, quando o número de inscritos atingir a quantidade de vagas;
III. mostre a idade média dos candidatos; IV. mostre os candidatos (homens e mulheres) maiores de idade.
escreval("Digite a sua idade: ")
leia(idade)
escreval("Digite o sexo (M ou F): ")
leia(sexo)
Algoritmo solicita e lê os dados (em loop)
se sexo = "F" entao
qtd_mulheres <- qtd_mulheres + 1
fimse
Testa, para cada um dos alunos, se o sexo é feminino e, se for, incrementa (em um) a variável qtd_mulheres (que corresponde à quantidade de mulheres).
se idade >=18 entao
qtd_maiores <- qtd_maiores +
fimse
Testa, para cada um dos alunos, se é maior de idade e, se for, incrementa (em um) a variável qtd_maiores (que corresponde à quantidade de maiores).
soma_idades <- soma_idades
fimpara//fim da estrutura de repetição
idade_media <- soma_idades/ //cálculo da média de idade
escreval("A turma está lotada.")
escreval("A média de idade dos inscritos é de: ",idade_media)
escreval("A quantidade de mulheres inscritas é: ",qtd_mulheres)
escreval("A quantidade de alunos maiores de idade é: ", qtd_maiores)
Exibição dos resultados
fimalgoritmo
Agora, você pode ver que, para atender às solicitações do enunciado da questão, foi necessário utilizar a estrutura de decisão dentro da repetição.
Para saber a quantidade de mulheres dentre os inscritos, tivemos que testar, um a um, os valores digitados para a variável sexo. Feito isso, incrementamos o valor, no caso da condição (sexo feminino) ser verdadeira.
se sexo = "F" entao
qtd_mulheres <- qtd_mulheres + 1
fimse
A complexidade do estudo dos algoritmos está aumentando. É importante, portanto, que você exercite bastante os conhecimentos que está adquirindo nas aulas. Lembre-se de que não há como melhorar a sua habilidade de raciocínio lógico sem exercitá-la.
Bons estudos!
Nesta aula, conhecemos as estruturas de repetição. Vimos que tais estruturas executam comandos ou grupos de comandos emloop (repetidamente), enquanto (ou até que) uma condição específica seja atendida. Aprendemos também as classificações das estruturas de repetição, que são: estruturas com teste condicional no início, estruturas com teste condicional no final e estruturas com variável de controle. Estudamos, com detalhes, as estruturas com variável de controle, conhecendo sua sintaxe e semântica, através de exemplos e exercícios. Esperamos que, com isso, seja possível identificar as características dessa estrutura e construir algoritmos utilizando-a!
b. a mensagem de aluno reprovado, caso a média seja menor que 4.0;
c. a mensagem de aluno em recuperação, caso a média esteja entre 4.0 e 7.0;
d. a mensagem de aluno aprovado, caso a média seja maior ou igual a 7.0;
e. o total de alunos aprovados; f. o total de alunos reprovados;
g. o total de alunos em recuperação; h. a média da turma.
ASCENCIO, Ana F. Gomes; CAMPOS, Edilene A. V. de. Fundamentos de programação de computadores: algoritmos, Pascal e C/C++. São Paulo: Prentice Hall, 2002. 355p.
BERRIEL FILHO, Olmes. Estruturas de decisão do tipo escolha. In: _______. Curso de linguagens e técnicas de programação I. São Paulo: Faculdades Integradas
Tibiriçá, 2004. Disponível em: http://www.berriel.com.br/ltpi/aula06/aula06.htm. Acesso em: 22 mai.
COSTA, Yandre M. e G. da. Algoritmos e estrutura de dados: estruturas de seleção. Paraná: Universidade Estadual de Maringá, 2006. Disponível em: http://www.din.uem.br/~yandre/FC/EST_SEL.pdf. Acesso em: 22 mai.