PCI- Estrutura de Repeti ção
description
Transcript of PCI- Estrutura de Repeti ção
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çãoRepetiçã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);}1 2 3 4 5 6 7 8 9 10
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çãoExercícios: Implemente os algoritmos 2-20 correspondentes à instrução Para dos slides AEDI-estrutura-repeticao.ppt do site da disciplina AEDI do ano 2014.
Estrutura de RepetiçãoRepetição controlada por condição
Comando whileEstrutura:while ( condicao ){comandos;}Enquanto a condicão for verdadeira (!=0), ele executa o(s) comando(s);
Estrutura de RepetiçãoRepetiçã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çãoExemplo : Imprimir os 10 primeiros números inteiros
int i=1;while (i<=10){
printf(“%d”,i);i++;
}
Estrutura de RepetiçãoExemplo 1: Imprimir os n primeiros números inteirosint i=1,n;scanf(“%d",&n);while (i<=n){
printf(“%d ",i);i++;
}
Estrutura de RepetiçãoExemplo 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);
}
Exemplo 3. 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: 9 x 6
9 6→ 64 122 241 48→ +48
___ 54
Repetição controlada por condiçãoRepetição controlada por condição
Estrutura de RepetiçãoExemplo 3: Imprimir os n primeiros números inteirosint i=1,a,b,pro;scanf(“%d %d",&a,&b);
pro=0while (a!=1) {
if (a%2!=0)pro=pro+b;
a=a/2;b=b*2;
}pro =pro+b;
Estrutura de RepetiçãoExercí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çãoRepetição controlada por condiçãoEstrutura:do{comandos;}while ( condicao );Diferença do while: Sempre executa comandos na primeira vez.Teste condicional é feito por último.
Estrutura de RepetiçãoRepetição controlada por condiçãoEstrutura:do{comandos;}while ( condicao );Diferença do while: Sempre executa comandos na primeira vez.Teste condicional é feito por último.
Estrutura de RepetiçãoExemplo : 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çãoExemplo 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çãoExemplo 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çãoExercícios: Implemente o algoritmo 2 correspondente à instrução repita – até que dos slides AEDI-estrutura-repeticao.ppt do site da disciplina AEDI do ano 2014.