200 likes | 295 Views
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
E N D
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); } 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ção Exercí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çã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: 9 x 6 • 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 inti, 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-estrutura-repeticao.ppt do site da disciplina AEDI do ano 2014.