140 likes | 258 Views
Informática e Computação Estrutura de Repetição aula 13. Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia. Programação de Computadores Estrutura de Repetição. Referência ao Programa: Elementos Técnicas de construção de algoritmos e programas
E N D
Informática e Computação Estrutura de Repetiçãoaula 13 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia
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
Informática e ComputaçãoEstrutura de Repetição ESTUDO DE CASOS Cálculo de series
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
// Prog para calcular Pi #include <iostream> usingnamespacestd; 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 < 3.1416) ; // repete o do enquanto PI menor que 3.1416 cout<<"O VALOR DE PI c/ PRECISAO 0.0001 EH "<<PI<<endl; cout<<"UTILIZANDO " << C << " TERMOS"; system("PAUSE"); } Desenvolver um programa para calcular e mostrar o valor de pi
Exemplo 2: Desafio em casa: escrever o programa do exemplo 2 acima. Dicas Estrutura de repeticãocalc 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)
Referência ao Programa: Elementos Técnicas de construção de algoritmos e programasESTRUTURA 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.
inicio Entrar com a quantidade de dados a contarEntrar 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
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……
#include <iostream>#include <iomanip>usingnamespacestd;main() {setlocale(LC_ALL,""); //define acentuaçãocout << fixed;cout<< setprecision (2); //define a quantidade de casas decimaisint numero, controle,Quant; //numero => Controlar a sequencia de dados a digitar //controle => Definir o Sexo Masculino e Feminino //quant => Quantidade de dados a digitarfloatAlt, 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
floatMedia_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;
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"); } }
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);
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");}