A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Informática e Computação Estrutura de Repetição aula 13

Apresentações semelhantes


Apresentação em tema: "Informática e Computação Estrutura de Repetição aula 13"— Transcrição da apresentação:

1 Informática e Computação Estrutura de Repetição aula 13
Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia

2 Referência ao Programa:
Programação de Computadores Estrutura de Repetição Referência ao Programa: Elementos Técnicas de construção de algoritmos e programas  ESTRUTURA DE REPETIÇÃO

3 Informática e Computação Estrutura de Repetição
ESTUDO DE CASOS Cálculo de series

4 Exercício Faça um programa que leia vários inteiros positivos e mostre. no final. a soma dos números pares e a soma dos números ímpares. O programa para quando entrar um número maior que 1000

5 #include <iostream>
using namespace std; main() { setlocale(LC_ALL,""); int numero=1, controle=0; long soma_par=0, soma_impar=0; while(numero<=1000) system("cls"); cout<<"\n\nDigite número inteiro positivo menor que 1000 : "; cin>>numero; if(numero<=1000) while(controle<numero) controle++; if(controle%2==0) soma_par=soma_par+controle; else soma_impar=soma_impar+controle; } cout<<"\n\nA soma dos números positivos pares é : "<<soma_par; cout<<"\n\nA soma dos números positivos impares é : "<<soma_impar<<"\n\n"; system("pause"); controle=0; soma_par=0; soma_impar=0;

6 Exercício Imprima uma sequencia de números inteiros até um valor definido usando um laço while e a variável contadora. Parar quando a limite definido for igual a 0 (zero). Imprima somente 5 inteiros por linha. Sugestão: use o cálculo x % 5. Quando o valor deste é 0, imprima um caractere nova linha; caso contrário imprima um caractere de tabulação horizontal

7 #include <iostream>
using namespace std; main() { setlocale(LC_ALL,""); int x=1, limite=1;

8 while(limite>0) { system("cls"); cout<<"\n\nEntre com o valor limite a ser calculado: "; cin>>limite; if(limite>0) cout<<"\n"; while ( x <= limite ) cout << x; if ( x % 5 == 0) cout <<"\n"; else cout << "\t"; x++; } x=1; system ("pause");

9 #include <iostream>
using namespace std; main() { setlocale(LC_ALL,""); int x=1, limite=1; while(limite>0) system("cls"); cout<<"\n\nEntre com o valor limite a ser calculado: "; cin>>limite; if(limite>0) cout<<"\n"; while ( x <= limite ) cout << x; if ( x % 5 == 0) cout <<"\n"; else cout << "\t"; x++; } x=1; system ("pause");

10 Precisamos executar pelo menos uma vez
Exemplo 1: Desenvolver um programa para calcular e mostrar o valor de pi dado pela sequencia abaixo com precisão 0,0001 e mostrar também quantos termos foram utilizados. QUAL ESTRUTURA USAR? Precisamos executar pelo menos uma vez Não sabemos a quantidade de termos PODEMOS USAR A ESTRUTURA do while

11 Desenvolver um programa para calcular e mostrar o valor de pi
// Prog para calcular Pi #include <iostream> using namespace std; main() { double PI =0 , T = 4 ; int D = 1, C = 1; do //calculo do T e do PI if (C%2 == 0 ) PI = PI - T; // termo par else PI = PI + T; // termo impar D = D + 2; // próximo denom. T = 4.0/D; // próximo termo C = C + 1; // incrementa contador } while (PI < ) ; // repete o do enquanto PI menor que cout<<"O VALOR DE PI c/ PRECISAO EH "<<PI<<endl; cout<<"UTILIZANDO " << C << " TERMOS"; system("PAUSE"); Desenvolver um programa para calcular e mostrar o valor de pi

12 Exemplo 2: Desafio em casa: escrever o programa do exemplo 2 acima.
Dicas Estrutura de repeticão calc T e S ? for usando D para controle (1<=D<=9) T= 1/pow (D,3)*SINAL O sinal do D= 1 (prim termo é + )SINAL=1 S  soma dos termos iniciar S=0 Mudo o sinal do seg SINAL=SINAL*(-1); Repito até 5 termo D=9 sai da repetição PI pow (S*32 , 1.0/3)

13 Referência ao Programa: Elementos Técnicas de construção de algoritmos e programas ESTRUTURA DE REPETIÇÃO Desenvolver um programa para ler : o sexo (1-feminino, 2-masculino) e a altura de um grupo de várias pessoas . ( Quantidade a determinar ) O programa deve calcular: • a altura média das mulheres e a altura média dos homens; • a maior e a menor altura do grupo, dizendo se a altura é de um homem ou de uma mulher.

14 inicio Entrar com a quantidade de dados a contar Entrar com os dados de altura e sexo (contar e parar até quantidade) se mulher : acumular altura, conta mulher se altura > maior mulher guardar altura na maior mulher e se altura < menor mulher guardar altura na menor mulher senão se homem: acumular altura, conta homem se altura > maior homem guardar altura no maior homem e se altura < menor homem guardar altura no menor homem senão invalidar entrada de sexo (decrementa e volta) fim

15 Calcula e mostra: Média altura homem = alt acumulada homens / quat homens Média altura mulher = alt acumulada mulheres / quat mulheres Maior do grupo? se maior homem>maior mulher mostra a altura do mais alto que é homem senao mostra a altura do mais alto que é mulher se for igual mostra é homem e mulher o mai alto Menor do grupo? se menor homem < menor mulher ……… o mais baixo é h senao é mulher……

16 #include <iostream> #include <iomanip> using namespace std; main() { setlocale(LC_ALL,""); //define acentuação cout << fixed; cout<< setprecision (2); //define a quantidade de casas decimais int numero, controle,Quant; //numero => Controlar a sequencia de dados a digitar //controle => Definir o Sexo Masculino e Feminino //quant => Quantidade de dados a digitar float Alt, SAlt_H, SAlt_M, AH_maior, AH_menor, AM_maior, AM_menor, Thomens, Tmulheres; //Alt => dados de entrada para a altura //SAlt_H => soma da altura dos homens //SAlt_M => soma da altura das mulheres //AH_maior => maior altura dos homens //AH_menor => meior altura dos homens //AM_maior => maior altura das mulheres //AM_menor => menor altura das mulheres //Thomens => total de homens //Tmulheres => total de mulheres

17 float Media_homens, Media_mulheres, maior, menor; //Media_homens => altura média dos homens //Media_mulheres => altura média das mulheres //maior => para a maior altura //menor => para a menor altura string SexoMa, SexoMe; //SexoMa => para a altura do sexo maior masculino ou feminino //SexoMe=> para a altura do sexo menor masculino ou feminino numero=0; SAlt_H=SAlt_M=AH_maior=AH_menor=AM_maior=AM_menor=Thomens=Tmulheres=0; cout<<"\nEntre com a quantidade de dados a digitar "; cin>>Quant;

18 do { system("cls"); cout<<"\n\nQuantidade a Digitar "<<Quant; cout<<"\n\nDigite 1-Masculino 2-Feminino : "; cout<<"\n\nDigite o "<<numero+1<<"o. sexo : "; cin>>controle; if(controle<1 || controle>2) { cout<<"\n\nSexo Inválido\n\n\n\n"; system("pause"); } else { cout<<"Digite a "<<numero+1<<"a. Altura : "; cin>>Alt; if(Alt>2.5 || Alt<0.30) { controle=100; cout<<"\n\nAltura Fora do limite, Inválida\n\n\n\n"; system("pause"); } }

19 if (controle==1) { if(Alt>=AH_maior) AH_maior=Alt; if(Alt<=AH_menor && controle!=0 || AH_menor==0) AH_menor=Alt;{ numero=numero+1; Thomens=Thomens+1; SAlt_H=SAlt_H+Alt; } } if (controle==2) { if(Alt>=AM_maior) AM_maior=Alt; if(Alt<=AM_menor && controle!=0 || AM_menor==0) AM_menor=Alt; { numero=numero+1; Tmulheres=Tmulheres+1; SAlt_M=SAlt_M+Alt; } } } while (numero<Quant);

20 Media_homens=SAlt_H/Thomens; Media_mulheres=SAlt_M/Tmulheres; if(AH_maior>AM_maior) { maior=AH_maior; SexoMa="Masculino"; } else { maior=AM_maior; SexoMa="Feminino"; } if(AH_menor<AM_menor) { menor=AH_menor; SexoMe="Masculino"; } else { menor=AM_menor; SexoMe="Feminino"; } system("cls"); cout<<"\n\n\nA altura média dos homens é : "<<Media_homens; cout<<"\n\nA altura média das mulheres é : "<<Media_mulheres; cout<<"\n\n\nA maior altura é : "<<maior<<" e o sexo é "<<SexoMa; cout<<"\n\nA menor altura é : "<<menor<<" e o sexo é "<<SexoMe; cout<<"\n\n\n"; system ("pause"); }


Carregar ppt "Informática e Computação Estrutura de Repetição aula 13"

Apresentações semelhantes


Anúncios Google