Buscar

Computação Básica - Estrutura de repetição contada

Prévia do material em texto

Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
COMPUTAÇÃO BÁSICA
Estruturas de Repetição contada
Prof. Bruno Macchiavello (bruno@cic.unb.br)
Universidade de Brasília – UnB 
Instituto de Ciências Exatas – IE 
Departamento de Ciência da Computação – CIC 
Prof. Bruno Macchiavello 1
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Repetição Contada
• A estrutura de repetição contada é
significativamente diferente das duas estruturas de
repetição condicionais vistas anteriormente.
• Aquela em que sabemos, antes de ela ocorrer,• Aquela em que sabemos, antes de ela ocorrer,
quantas vezes ela deverá ocorrer. Ou seja, consiste
em realizar um número determinado de loops para
um conjunto ações (ou comandos).
• Lembrando que esse número pode ser informado
pelo usuário, e atribuído em uma variavel.
Prof. Bruno Macchiavello 2
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Prof. Bruno Macchiavello 3
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Essas 
instruções são 
realizadas pela 
estrutura
Prof. Bruno Macchiavello 4
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Repetição Contada
• Pseudocódigo
� Se a variável de controle vai ser incrementada de 1 (um):
Para <variavel> ← <valor inicial> até <condição> faça
<conjunto de instruções>
FimPara
� Se a variável de controle vai ser incrementada por um passo de 
incremento diferente de 1 (um):
FimPara
Para <variavel> ← <valor inicial> até <condição> [passo <incremento>] faça
<conjunto de instruções>
FimPara
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Repetição Contada
• Em Ansi C, fica:
For (<variavel> = <valor inicial>; <condição>; <incremento>) {
<conjunto de instruções>
Prof. Bruno Macchiavello 6
}
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exemplo 1
Exemplo:
Sendo dado um número, crie um algoritmo que escreva todos os 
números ímpares menores ou iguais a esse número e maiores do 
que um. Assuma que o número informado é positivo.
Algoritmo NumerosImpares
Variáveis
Prof. Bruno Macchiavello 7
Variáveis
numero, i : inteiro
Início
Escreva (“Informe um numero : ”)
Leia (numero)
Para i ← 1 até numero faça
Se (resto(i,2) <> 0 ) então
Escreva (i, “é impar”)
FimSe
FimPara
Fim
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exemplo 1
• Teste de Mesa
TESTE DE MESA para a digitação do número 5
número i (i > numero) (resto(i,2) <> 0) saída
5 1 Não Sim 1
Prof. Bruno Macchiavello 8
5 1 Não Sim 1
5 2 Não Não
5 3 Não Sim 3
5 4 Não Não
5 5 Não Sim 5
5 6 Sim
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exemplo 1
Programa em C do algoritmo anterior
#include <stdio.h>
int main () {
int numero,i;
printf(“Digite um número\n");
Prof. Bruno Macchiavello 9
printf(“Digite um número\n");
scanf("%d",&numero); 
for (i = 1; i <= numero; i++) {
if ((i % 2) != 0)
printf(“%d é ímpar\n",i);
}
return(0);
}
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exemplo 2
• Exemplo 3: Vamos fazer um algoritmo para 
calcular a seguinte série:
Prof. Bruno Macchiavello 10
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exemplo 2
Algoritmo Serie
variaveis
num,i: inteiro
fracao,soma: real
inicio
Prof. Bruno Macchiavello 11
num ← -1 /* ”num” será o valor do numerador*/
soma←0 /*a soma total inicialmente é zero*/
para i ← 1 até 50 faça /*são 50 iterações*/
num ← num + 2 /*o numerador é impar*/
fracao← num/i /*cálculo da fração*/
soma ← soma + fracao
Fimpara
escreva(“O resultado é: “,soma)
Fim
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exemplo 2
• Em C:
#include <stdio.h>
int main() 
{
int num=-1,i;
float fracao,soma=0;
Prof. Bruno Macchiavello 12
float fracao,soma=0;
for (i=1;i<=50;i++) /*são 50 iterações*/
{
num+=2;
fracao = (float)num/i ; /*cálculo da fração*/
soma = soma + fracao;
}
printf("O resultado é: %.2f",soma);
return(1);
}
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exemplo 2
• Em C, utilizando a estrutura contada estendida:
#include <stdio.h>
int main() 
{
int i,num;
float fracao,soma=0;
Prof. Bruno Macchiavello 13
float fracao,soma=0;
for (num=1,i=1;i<=50;i++,num+=2) /*são 50 iterações*/
{
fracao = (float)num/i ; /*cálculo da fração*/
printf(" %d %d %f\n",num,i,fracao); 
soma = soma + fracao;
}
printf("O resultado é: %.2f",soma);
return(1); 
}
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exercícios
1. Faça um algoritmo que apresente a soma acumulada de todos os 
valores entre 1 e 100.
2. Dado um conjunto de N números, calcular e mostrar a média aritimética
dos mesmos.
3. Faça um algoritmo que exiba a tabuada dos números de 10 a 20.
Por ex: 10x1, 10x2, 10x3.... 10x10
Prof. Bruno Macchiavello 14
Por ex: 10x1, 10x2, 10x3.... 10x10
11x1, 11x2, 11x3.... 11x10
4. Um banco concederá um crédito especial aos seus N clientes 
preferenciais a partir do saldo médio no último ano. Fazer um algoritmo 
que leia o número N, o nome do cliente, seu saldo médio em unidades e 
calcule o valor do crédito de acordo com o seguinte critério: se o saldo 
médio for menor que 200 unidades o percentual será de 20% do valor do 
saldo médio, se o saldo médio for de 200 a 400 unidades o percentual 
será de 30% do valor do saldo médio e se o saldo médio for maior que 
400 unidades o percentual será de 40% do valor do saldo médio. Imprimir 
o nome do cliente, seu saldo médio e o valor do crédito.
Departamento de Ciência da ComputaçãoDepartamento de Ciência da Computação
Universidade Universidade de de BrasíliaBrasília
Computação BásicaComputação Básica
Exercícios
5. Escrever um algoritmo que imprima todas as possibilidades de que, no 
lançamento de dois dados, a soma dos valores de cada dado seja igual a 
7 (adaptado de Forbellone; Eberspächer, 2000).
Prof. Bruno Macchiavello 15

Continue navegando