PCI- Estrutura de Repeti ção

20
PCI- Estrutura de Repetição Profa. Mercedes Gonzales Márquez

description

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 - PowerPoint PPT Presentation

Transcript of PCI- Estrutura de Repeti ção

Page 1: PCI- Estrutura de Repeti ção

PCI- Estrutura de Repetição

Profa. Mercedes Gonzales Márquez

Page 2: PCI- Estrutura de Repeti ção

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

Page 3: PCI- Estrutura de Repeti ção

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

Page 4: PCI- Estrutura de Repeti ção

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

Page 5: PCI- Estrutura de Repeti ção

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;

Page 6: PCI- Estrutura de Repeti ção

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.

Page 7: PCI- Estrutura de Repeti ção

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);

Page 8: PCI- Estrutura de Repeti ção

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)

Page 9: PCI- Estrutura de Repeti ção

Estrutura de RepetiçãoExemplo : Imprimir os 10 primeiros números inteiros

int i=1;while (i<=10){

printf(“%d”,i);i++;

}

Page 10: PCI- Estrutura de Repeti ção

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++;

}

Page 11: PCI- Estrutura de Repeti ção

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);

}

Page 12: PCI- Estrutura de Repeti ção

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

Page 13: PCI- Estrutura de Repeti çã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;

Page 14: PCI- Estrutura de Repeti ção

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.

Page 15: PCI- Estrutura de Repeti ção

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.

Page 16: PCI- Estrutura de Repeti ção

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.

Page 17: PCI- Estrutura de Repeti ção

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);

Page 18: PCI- Estrutura de Repeti ção

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?

Page 19: PCI- Estrutura de Repeti ção

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)}

Page 20: PCI- Estrutura de Repeti ção

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.