Buscar

3 ESTRUTURAS DE REPETIÇÃO (1)

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
ESTRUTURAS DE REPETIÇÃO
UNIDADE
3
PROFESSOR: EDILSON LIMA
ALGORITMOS E PROGRAMAÇÃO
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
3 ESTRUTURA DE REPETIÇÃO 
3.1 Repetição controlada por variável
3.2 Repetição condicional com teste no início
3.3 Repetição condicional com teste no final
ROTEIRO
ROTEIRO
PROFESSOR: EDILSON LIMA
02/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
São usadas sempre que for necessário repetir um conjunto de declarações para manter a abstração de controle do algoritmo. São as mais complicadas, e as que exigem o maior cuidado na sua escolha e aplicação.
As estruturas de repetição, também chamadas de comandos de iteração ou laços (loops), possibilitam a execução de um conjunto de instruções até que certa condição seja atendida.
As estruturas de repetição provém uma maneira de repetir um conjunto de procedimentos até que determinado objetivo seja atingido, quando a repetição se encerra. Todas as estruturas de repetição têm em comum o fato de haver uma condição de controle, expressa através de uma expressão lógica, que é testada em cada ciclo para determinar se a repetição prossegue ou não.
ROTEIRO
3 ESTRUTURA DE REPETIÇÃO
PROFESSOR: EDILSON LIMA
03/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
As estruturas de repetição são basicamente três: enquanto-faça, faça-enquanto e para-faça. 
A diferença básica é que enquanto-faça primeiro testa a condição para depois realizar o bloco de comando, ao contrário de faça-enquanto que primeiro executa o bloco para depois realizar o teste. A estrutura para-faça tem embutida um mecanismo de controle para determinar quando o laço deverá ser terminado.
Algumas linguagens de programação especificam ainda uma palavra reservada para sair da estrutura de repetição de dentro do bloco de código, "quebrando" a estrutura. Também é oferecido por algumas linguagens uma palavra reservada para terminar uma iteração específica do bloco de código, forçando nova verificação da condição.
ROTEIRO
3 ESTRUTURA DE REPETIÇÃO
PROFESSOR: EDILSON LIMA
04/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
Contadores e Acumuladores
Há situações onde é necessário realizarmos contagens de ocorrências, ou somatórios e produtórios de valores dentro de um conjunto de dados, devemos utilizar variáveis específicas para fazer o armazenamento dos resultados. Chamamos de contadores para as variáveis que realizam a contagem de ocorrências de um determinado valor (ou situação) e de acumuladores para as variáveis responsáveis por armazenar os resultados de somatórios e produtórios de valores.
ROTEIRO
3.1 Repetição controlada por variável
PROFESSOR: EDILSON LIMA
05/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
Contadores
Os contadores são normalmente inicializados com valor 0 (zero) e incrementados em 1 (um) a cada vez que uma nova ocorrência (ou situação) é observada.
inicio
	var contador: inteiro;
	contador = 0;
	...
	contador = contador + 1;
fim.
ROTEIRO
3.1 Repetição controlada por variável
PROFESSOR: EDILSON LIMA
06/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
Por exemplo, considere que dentro de um conjunto de informações referentes a idades e sexos de 50 pessoas, desejemos saber quantas dessas pessoas são do sexo feminino e possuem 18 anos ou mais. Para isso, é necessário inserir um contador para armazenar a quantidade de ocorrências da condição definida no enunciado. Esse contador deve ser inicializado com 0 e incrementado em 1 sempre que o sexo de uma dada pessoa é feminino e sua idade é maior ou igual a 18, como no Algoritmo a seguir.
inicio
	var sexo: texto;
	var idade, i, n: inteiro;
 n = 0; {a variável n será o contador que armazenará o número de pessoas que pertencem ao conjunto solicitado no enunciado, ela é inicializada com o valor 0}
ROTEIRO
3.1 Repetição controlada por variável
PROFESSOR: EDILSON LIMA
07/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
 para i de 0 até 49 passo 1 faça
 escreva (“Digite o sexo (‘M’ ou ‘F’) e idade da pessoa.”);
 leia(sexo, idade);
 se sexo = ‘F’ e idade >= 18 então
 n = n + 1; {aumenta em 1 a quantidade de pessoas que pertence ao conjunto}
	 fim se;
 fim para;
 escreva (“A quantidade de pessoas do sexo feminino e com idade maior igual a n é ”, n);
fim.
ROTEIRO
3.1 Repetição controlada por variável
PROFESSOR: EDILSON LIMA
08/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
Acumuladores
Os acumuladores são utilizados em dois tipos de situações, para a realização de somatórios e para a realização de produtórios. No caso dos somatórios, o acumulador é normalmente inicializado com o valor 0 e incrementado no valor de um outro termo qualquer, dependendo do problema em questão.
inicio
	var acumulador: inteiro;
	 acumulador = 0;
	...
	 acumulador = acumulador + 1;
fim.
ROTEIRO
3.1 Repetição controlada por variável
PROFESSOR: EDILSON LIMA
09/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
Considere que no problema anterior, ao invés de desejarmos calcular a quantidade de pessoas que são do sexo feminino e possuem 18 anos, desejemos calcular a soma das idades das pessoas que estão nessa situação. Nesse caso, precisamos inserir no algoritmo um acumulador, que deve ser inicializado em 0, e incrementado no valor da idade da pessoa em questão.
inicio
	var sexo: texto;
	var idade, i, soma: inteiro;
 soma = 0; {a variável n será o contador que armazenará o número de pessoas que pertencem ao conjunto solicitado no enunciado, ela é inicializada com o valor 0}
ROTEIRO
3.1 Repetição controlada por variável
PROFESSOR: EDILSON LIMA
10/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
ROTEIRO
3.1 Repetição controlada por variável
PROFESSOR: EDILSON LIMA
11/23
 para i de 0 até 49 passo 1 faça
 escreva (“Digite o sexo (‘M’ ou ‘F’) e idade da pessoa.”);
 leia(sexo, idade);
 se sexo = ‘F’ e idade >= 18 então
 soma = soma + idade; {aumenta o somatório no valor da idade da pessoa em questão}
	 fim se;
 fim para;
 escreva (“A soma da idade das pessoas do sexo feminino e com idade maior igual a 18 anos é ”, soma );
fim.
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
Repetição com variável de controle
A construção "para" (ou "repetição com variável de controle") é uma estrutura de repetição que designa uma variável de controle para cada iteração do bloco, e uma operação de passo a cada iteração. Sua estrutura básica é a seguinte:
para variavel de inicio até fim passo incremento faça 
 ...
 bloco de código
 ...
fim para
ROTEIRO
3.1 Repetição controlada por variável
PROFESSOR: EDILSON LIMA
12/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
No exemplo anterior, variável é uma variável de controle, inicio é o estado inicial da variável e final é o estado de saída da estrutura de repetição. O passo indica qual será o incremento
entre cada iteração do código. No início da estrutura, inicio é atribuído à variável, e é verificado se variável é igual a final, a condição de parada. Caso não seja, o bloco de código é executado e então o passo é adicionado à variável (variável = variável + incremento). Segue-se então com nova verificação da condição de parada. O passo é opcional, e caso seja omitido assume-se incremento de uma unidade.
var i: inteiro;
para i de 1 até 55 passo 1 faça
 escreva (“não vou mais fazer zoada e irei prestar atenção na aula”);
fim para;
ROTEIRO
3.1 Repetição controlada por variável
PROFESSOR: EDILSON LIMA
13/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
LINGUAGEM C
O laço for que em algoritmo é equivalente ao "para" é uma palavra-chave em C que é usado para fazer loops, onde determinada rotina seja repetida enquanto a condição for verdadeira. 
for (inicio; condicoes_de_repeticao; incremento)
{ 
 ...
}
ROTEIRO
3.1 Repetição controlada por variável
PROFESSOR: EDILSON LIMA
14/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
A sintaxe indica que em inicio, são atribuídos valores iniciais a variaveis; em condições_de_repetição, estabelecem-se, as condições nas quais a execução da sequencia de comandos será repetida; em incrementos, incrementam-se valores as variaveis. 
int i;
I = 0;
for (i, i <= 55, i++) {
 printf (“não vou mais fazer zoada e irei prestar atenção na aula”);
}
ROTEIRO
3.1 Repetição controlada por variável
PROFESSOR: EDILSON LIMA
15/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
A instrução enquanto (também chamada "repetição pré-testada") é a mais difundida estrutura de repetição, e sua estrutura básica é a seguinte:
enquanto (condição) faça 
 ...
 (bloco de código) 
 ...
fim enquanto 
Nesta estrutura, a condição é primeiramente verificada, e se for verdadeira o bloco é executado. No final de execução do bloco a condição é novamente testada.
ROTEIRO
3.2 Repetição condicional com teste no início
PROFESSOR: EDILSON LIMA
16/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
LINGUAGEM C
O laço while que em algoritmo é equivalente ao “enquanto" é uma palavra-chave em C que é usado para fazer loops, onde determinada rotina seja repetida enquanto a condição for verdadeira. 
ROTEIRO
3.2 Repetição condicional com teste no início
PROFESSOR: EDILSON LIMA
17/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
Algoritmo MédiaClasse 
//Esse algoritmo calcula a média das notas de uma classe com N alunos
início
 var contador,N : inteiro;
 var soma,nota,media : real;
 contador = 1;
 soma = 0;
 escreva(”Numero de alunos: ”);
 leia(N);
 enquanto contador <= N faça
 escreva(“Nota do aluno”,contador,”: ”);
 leia (nota);
 soma = soma + nota;
 contador = contador + 1;
 fim enquanto;
 media = soma / N;
 escreva(“Média da classe = “, media);
fim.
ROTEIRO
3.2 Repetição condicional com teste no início
PROFESSOR: EDILSON LIMA
18/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
#include <iostream>
#include <stdio.h>
using namespace std;
// Algoritmo MédiaClasse Esse algoritmo calcula a média das notas de uma classe com N alunos
int main(){
 int contador,N;
 float soma, nota, media;
 contador = 1;
 soma = 0.0;
 printf("\ndigite o numero de alunos: ");
 scanf("%i", &N);
 while(contador <= N){
 printf("Digite a nota do aluno%i:", contador);
 scanf("%f", &nota);
 soma = soma + nota;
 contador = contador + 1;
 }
 media = soma / N;
 printf("A media da turma e: %.2f", media);
 system("pause"); 
 return 0;
}
ROTEIRO
3.2 Repetição condicional com teste no início
PROFESSOR: EDILSON LIMA
19/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
A instrução repita enquanto (também chamada "repetição pós-testada") é uma variação da construção anterior, e difere pois a verificação da condição é feita após uma execução do bloco. Sua estrutura básica é a seguinte:
repita 
 ...
 (bloco de código) 
 ...
enquanto (condição) 
Nesta estrutura, o bloco de código é primeiramente executado e então a condição é verificada, e se for verdadeira o bloco é executado novamente.
ROTEIRO
3.3 Repetição condicional com teste no fim
PROFESSOR: EDILSON LIMA
20/23
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
ROTEIRO
3.3 Repetição condicional com teste no fim
PROFESSOR: EDILSON LIMA
21/23
LINGUAGEM C
Ao contrário das estruturas for e while, que testam a condição do laço no início, a estrutura do-while verifica a condição no final. Isto significa que será executada pelo menos uma vez.
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
ROTEIRO
3.3 Repetição condicional com teste no fim
PROFESSOR: EDILSON LIMA
22/23
#include <iostream>
#include <stdio.h>
using namespace std;
// Algoritmo calcula a média de numeros digitados
int main(){
 int N = 0;
 float soma, numero;
 soma = 0.0;
 do {
 printf ("Introduza um numero (0 encerra o programa)? ");
 scanf ("%f", &numero);
 if (numero != 0){
 soma += numero;
 N++;
 }
 } while (numero != 0);
 printf ("A soma dos %i numeros digitados e %.2f", N, soma);
}
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
ARAÚJO, Everton C. Algoritmos: fundamento e prática. Capítulo 10 - Pseudocódigos – Estrutura Condicional.
MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo. Algoritmos: lógica para desenvolvimento de programação de computadores. Capítulo 4 - Estruturas de Controle – A Tomada de Decisão.
BORATTI, Isaias C; OLIVEIRA, Álvaro Borges. Introdução à programação – algoritmos. Capítulo: 3 - Estrutura de Seleção. Capítulo: 4 - Estrutura de Repetição.
MEDINA, Marco; FERTIG, Cristina. Algoritmos e programação - teoria e prática. Capítulo: 3 - Comandos de Condição. Capítulo: 4 - Comandos de Repetição.
ASCENCIO, Ana Fernanda Gomes; VENERUCHI, Edilene Aparecida. Fundamentos de programação de computadores. Capítulo: 4 - Estrutura de Repetição.
ROTEIRO
Bibliografia
PROFESSOR: EDILSON LIMA
23/23

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais