PCI- Estrutura de Repetição
Profa. Mercedes Gonzales
Márquez
Conceito
Estrutura que permite repetir a execução de um bloco sob
o controle de uma condição ou um número prédeterminado de vezes.
• Exemplos:
– Preencher uma tabela
– Aplicar operação a todos elementos da lista
– Testar vários números
– Percorrer matrizes, vetores, listas
Estrutura de Repetição
Repetição com Variável de controle.
Estrutura for:
Sintaxe:
for(inicialização; condição; atualização) {
sentenças;
...
}
int numero;
for (numero = 1; numero <= 10; numero++) {
printf(“%d ”, numero);
}
Estrutura de Repetição
• Cabeçalho agrupa:
– Inicialização
– Condição
– Atualização
• Separa:
– Controle (lógica) de repetição
– Código a ser repetido
Estrutura de Repetição
• int main() {
Int numero, divisor, resto;
printf("Digite o numero: ");
scanf("%d", &numero);
For (divisor = 1; divisor <= numero; divisor++) {
resto = numero % divisor;
if(resto == 0) {
printf("Divisor: %d \n", divisor);
}
}
return 0;
Estrutura de Repetição
Exercícios:
Implemente
os
algoritmos
2-20
correspondentes à instrução Para dos slides AEDIestrutura-repeticao.ppt do site da disciplina AEDI do
ano 2014.
Estrutura de Repetição
Repetição controlada por condição
Comando while
Estrutura:
while ( condicao ){
comandos;
}
Enquanto a condicão for verdadeira (!=0), ele executa
o(s) comando(s);
Estrutura de Repetição
Repetição controlada por condição (duas questões)
1. O que acontece se a condição for falsa na primeira vez?
while (a!=a)
a=a+1;
R: Ele nunca entra na repetição (loop).
2. O que acontece se a condição for sempre verdadeira?
while (a == a)
a=a+1;
R: Ele entra na repetição e nunca sai (loop infinito)
Estrutura de Repetição
Exemplo : Imprimir os 10 primeiros números inteiros
int i=1;
while (i<=10){
printf(“%d”,i);
i++;
}
Estrutura de Repetição
Exemplo 1: Imprimir os n primeiros números inteiros
int i=1,n;
scanf(“%d",&n);
while (i<=n){
printf(“%d ",i);
i++;
}
Estrutura de Repetição
Exemplo 2: Faça um algoritmo que determine os
quadrados de um conjunto de números inteiros positivos.
int num;
scanf (“%d”,&num);
while (num>0){
printf(“%d”,num*num);
scanf (“%d”,&num);
}
Repetição controlada por condição
Exemplo 3. Escrever um algoritmo que receba dois números inteiros
positivos, e determine o produto dos mesmos, utilizando o seguinte
método de multiplicação:
•dividir, sucessivamente, o primeiro número por 2, até que se obtenha 1
como quociente;
•paralelamente, dobrar, sucessivamente, o segundo número;
•somar os números da segunda coluna que tenham um número ímpar na
primeira coluna. O total obtido é o produto procurado.
Exemplo:
9x6
9
6→
6
4
12
2
24
1
48→
+48
___
54
Estrutura de Repetição
Exemplo 3: Imprimir os n primeiros números inteiros
int i=1,a,b,pro;
scanf(“%d %d",&a,&b);
pro=0
while (a!=1) {
if (a%2!=0)
pro=pro+b;
a=a/2;
b=b*2;
}
pro =pro+b;
Estrutura de Repetição
Exercícios: Implemente os algoritmos 4-7
correspondentes à instrução enquanto-faça dos slides
AEDI-estrutura-repeticao.ppt do site da disciplina AEDI
do ano 2014.
Estrutura de Repetição
Repetição controlada por condição
Estrutura:
do{
comandos;
}while ( condicao );
Diferença do while: Sempre executa comandos na
primeira vez.
Teste condicional é feito por último.
Estrutura de Repetição
Repetição controlada por condição
Estrutura:
do{
comandos;
}while ( condicao );
Diferença do while: Sempre executa comandos na
primeira vez.
Teste condicional é feito por último.
Estrutura de Repetição
Exemplo : Imprimir os 10 primeiros números inteiros
int i;
i=1;
do{
printf("\n %d",i);
i = i+1;
}while(i<= 100);
Estrutura de Repetição
Exemplo 1: Imprimir os n primeiros números inteiros
int i, n;
i=1;
scanf("%d",&n);
do{
printf("\n %d",i);
i++;
}while(i<=n);
O que acontece se o usuário digitar 0 (n=0)?
O que acontece se usarmos o while?
Estrutura de Repetição
Exemplo 2: Faça um algoritmo que determine os
quadrados de um conjunto de números inteiros
positivos.
int num;
scanf (“%d”,&num);
do{
printf(“%d”,num*num);
scanf (“%d”,&num);
while (num>0)
}
Estrutura de Repetição
Exercícios: Implemente o algoritmo 2 correspondente à
instrução repita – até que dos slides AEDI-estruturarepeticao.ppt do site da disciplina AEDI do ano 2014.
Download

PCI-Estrutura-Repeticao