SENAI - Fundamentos de Programação - Estruturas de Repetição

33
10/04/14 1 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014 Estruturas de Repetição SENAI Suíço-Brasileira “Paulo Ernesto Tolle” 2014 William Martins / Gabriel Martinez / Danilo Santana

Transcript of SENAI - Fundamentos de Programação - Estruturas de Repetição

Page 1: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 1 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Estruturas de Repetição

SENAI Suíço-Brasileira “Paulo Ernesto Tolle” 2014

William Martins / Gabriel Martinez / Danilo Santana

Page 2: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 2 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Como simplificar trabalhos repetitivos?

Page 3: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 3 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Trabalho Repetitivo?

Faça um algoritmo que escreva todos os números pares de 0 a 10

Page 4: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 4 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Repetindo um trabalho repetitivo?

Faça um algoritmo que escreva todos os números pares de 0 a 100

Page 5: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 5 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Repetindo de novo um trabalho repetitivo?

Faça um algoritmo que escreva todos os números pares de 0 a 1000

Page 6: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 6 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Repetindo de novo um trabalho repetitivo de forma igual?

Faça um algoritmo que escreva todos os números pares de 0 a 1.000.000

Page 7: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 7 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Repetindo de novo um trabalho repetitivo?

Faça um algoritmo que escreva todos os números pares de 0 a 1000

Page 8: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 8 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Como simplificar trabalhos repetitivos?

Page 9: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 9 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Duas formas de repetição

While Repetição enquanto uma condição for verdadeira For Repetição baseada em número de vezes pré-determinado

Page 10: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 10 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

While: Fluxograma

Page 11: SENAI - Fundamentos de Programação - Estruturas de Repetição
Page 12: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 12 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

While: Estrutura

   1  while(condicao) { 2  /* comandos */ 3  }

Page 13: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 13 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

While: Sintaxe do C

1  char resposta = 'S'; 2  int resultado = 0; 3  while (resposta == 'S’){ 4  resultado++; 5  printf("%d\n", resultado); 6  printf("Continuar? S ou N: "); 7  scanf(" %c", &resposta); 8  }

Page 14: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 14 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Do … While: Fluxograma

Page 15: SENAI - Fundamentos de Programação - Estruturas de Repetição
Page 16: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 16 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Do … While: Estrutura

   1  do { 2  /* comandos */ 3  } while (condicao);  

Page 17: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 17 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Do … While: Sintaxe do C

1  float salario = 0; 2  scanf(”%f", &salario); 3  do { 4  salario += 50; 5  printf("Sal.: %f\n", salario); 6  } while(salario < 2000);    

Page 18: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 18 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

For: Fluxograma

Page 19: SENAI - Fundamentos de Programação - Estruturas de Repetição
Page 20: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 20 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

For: Estrutura

   1  for(inicio; condicao; proximo) { 2  /* comandos */ 3  }    

Page 21: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 21 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

For: Sintaxe no C

   1  int i = 0; 2  for(i=1; i<=10; i++) { 3  printf("%d\n", i); 4  }    

Page 22: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 22 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Observações sobre o for

•  A variável i pode ter qualquer nome.i foi apenas um exemplo, poderia se chamar contador, quantidade, clientes, batatas…

•  O Incremento pode ser feito com base em qualquer valor

Page 23: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 23 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Observações sobre o for

•  É muito comum o uso de ++, porém poderiamos utilizar qualquer outra forma de incremento

•  O valor da variável de incremento não deve ser alterada dentro do loop. Dá pra fazer, mas não é comum e pode confundir outros programadores.

Page 24: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 24 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

For: Break; Continue;

break; Força a finalização do for. continue; Passa para a próxima volta no loop.

Page 25: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 25 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Exercícios

1. Escreva um programa em C que lê 15 valores reais, encontra o maior e o menor deles e mostra o resultado.

Page 26: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 26 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Exercícios

2. Faça uma Programa que receba um número inteiro, calcule e imprima a tabuada desse número. (de 0 a 9 apenas)

Page 27: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 27 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Exercícios 3. Faça um programa em C que leia um número real e exiba uma tabela que exiba os múltiplos desse número de 1 a 200. Essa tabela é útil para lojas de Xerox. Por exemplo: 1 = 0,06 2 = 0,12 3 = 0,18 … 10 = 0,60 11 = 0,66 12 = 0,72 13 = 0,18 … 20 = 1.20

191 = 11.46 192 = 11.52 193 = 11.58 … 200 = 12.00

Page 28: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 28 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Exercícios

4. Desenvolva um programa que leia a nota de n alunos e diga a maior e a menor nota. O programa para quando o usuário digitar uma nota menor que 0.

Page 29: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 29 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Exercícios

5. Melhore o programa anterior e faça o programa exibir a média da classe.

Page 30: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 30 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Exercícios

6. Altere o programa anterior para que ele exiba a quantidade de alunos aprovados e reprovados. A média de corte é 7.

Page 31: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 31 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Exercícios

7. Em uma eleição presidencial, existem quatro candidatos. Os votos são informados através de código. Os códigos utilizados são:

•  1,2,3,4 para os respectivos candidatos •  5 voto nulo; •  6 voto em branco.

Page 32: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 32 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Exercícios

Escreva uma Programa que calcule e imprima: •  total de votos para cada candidato; •  total de votos nulos; •  total de votos em branco;

Para finalizar a votação, deve ser inserido o valor 0

Page 33: SENAI - Fundamentos de Programação - Estruturas de Repetição

10/04/14 33 Escola SENAI Suíço-Brasileira “Paulo Ernesto Tolle” - 2014

Como simplificar trabalhos repetitivos?