Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Lógica de Programação, Notas de aula de Lógica Matemática

Material sobre Lógica de Programação

Tipologia: Notas de aula

2017

Compartilhado em 08/11/2017

m_douglas1607
m_douglas1607 🇧🇷

4.7

(7)

26 documentos

1 / 18

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Material Didático do Instituto Metrópole Digital - IMD
Versão 2.0 - Todos os Direitos reservados
Lógica de Programação
Aula 10 - Estruturas de repetição –
repetição com variável de controle
Apresentação
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12

Pré-visualização parcial do texto

Baixe Lógica de Programação e outras Notas de aula em PDF para Lógica Matemática, somente na Docsity!

Material Didático do Instituto Metrópole Digital - IMD Versão 2.0 - Todos os Direitos reservados

Lógica de Programação

Aula 10 - Estruturas de repetição –

repetição com variável de controle

Apresentação

Apresentação

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.

  1. Quais os tipos existentes de estruturas de repetição?

Estrutura de Repetição com Variável de

Controle

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:

Pseucódigo

para <variável inteira> de ate passo faca

<instruções>

fimpara

OU

para <variável inteira> de ate faca

<instruções>

fimpara

Fluxograma

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 PARA CALCULAR A MÉDIA ARITMÉTICA ENTRE DUAS
NOTAS PARA 50 ALUNOS DE UMA SALA

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!

Atividade 02

  1. Execute o algoritmo da média no VisuAlg.
  2. Escreva um algoritmo que calcule a soma dos primeiros 30 números pares. Lembre-se de que, nesse momento, você deve alterar o valor de incremento.

Exercício Resolvido 01

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

  • idade//incrementa a idade (a cada valor digitado)

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!

Resumo

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!

Autoavaliação

  1. Qual o objetivo das estruturas de repetição?
  2. Como podemos classificar essas estruturas?
  3. Qual a sintaxe da estrutura de repetição com variável de controle? Explique cada um de seus comandos.
  4. Escreva um algoritmo que leia as duas notas de cinco alunos de uma turma, calcule e mostre: a. a média aritmética de cada aluno;

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.

  1. Escreva um algoritmo que leia dois números e calcule a média aritmética de todos os que estiverem entre os números lidos, incluindo estes.
  2. Escreva um algoritmo que leia dois números e multiplique o valor da soma de todos os pares que estiverem entre os números lidos por 3, incluindo os números lidos.
  3. Escreva um algoritmo que mostre os 10 primeiros números da sequência de Fibonacci. Sabe-se que essa sequência é iniciada com 1 e 1. Os números seguintes são resultados da soma dos dois anteriores: 1, 1, 2, 3, 5, 8... e assim por diante.

Referências

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.