Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial...

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

Transcript of Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial...

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

Informática e Computação

Estrutura de Repetiçãoaula 12

Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia

Page 2: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

Informática e ComputaçãoEstrutura de Repetição

ESTUDO DE CASOS

Page 3: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

Programação de Computadores Estrutura de Repetição

“SOLUÇÃO EXERCÍCIO DA AULA ANTERIOR”

Desenvolver um programa que lê a senha (letras e/ou números) e valida a mesma.

Page 4: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

#include <iostream>#include<string>using namespace std;main(){ string senha; do { cout << "Digite um senha: "; cin>>senha; } while(senha!="MARIO");

cout<<"Acertou a senha: "<<senha<<endl; system("PAUSE");} validacao_senha.exe

Desenvolver um programa que lê a senha (letras e/ou

números) e valida a mesma.

Page 5: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

#include <iostream>#include<string>using namespace std;main(){ string senha; cout << "Digite uma senha: "; cin>>senha; while(senha!="senha") { if(senha!="senha") { system("cls"); cout<<"\n\nVoce errou tente novamente, digitou : "<<senha<<“\n”; cout << "\n\nDigite uma senha: "; cin>>senha; } } system("cls"); cout<<"\n\nAcertou a senha: "<<senha<<"\n\n"; system("pause");} validacao_senha.exe

Versão

02

Page 6: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

Estruturas de Repetição

while do - while for

Page 7: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

Uma estrutura de repetição tem 4 componentes:

Informática e Computação

Estrutura de Repetição

int numero = 1;

while (numero <= 10) {

cout << numero;

numero = numero + 1;}

1. Inicialização

2.Condição

3.Sentenças

4.Atualização

Page 8: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

Informática e ComputaçãoEstrutura de Repetição

for

início;for (inicialização; teste; atualização)

{comando 1;comando 2;...}

fim;

Sin

taxe

:

comandos

teste0

inicialização

atualização

fim

início

1

• Executa sentenças (comandos) enquanto a condição (expressão ou teste) for verdadeira.

• faz a inicialização o teste e atualização num único comando

Page 9: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

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

Exemplo1 for

int numero;for (numero=1 ; numero<=10; numero++)

{cout << numero<<"\t";}

inicio:

MOSTRAR NA TELA OS NUMEROS DE 1 ATÉ 10

início;for (inicialização; teste; atualização)

{comando 1;comando 2;...} fim;

numero=1 numero<=10 numero++

EXECUÇÃO

Page 10: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

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

Exemplo1 for

int numero;for (numero=1 ; numero<=10; numero++)

{cout << numero<< "\t";}

inicio:

Resultado na tela:

1 2 3 4 5 6 8 9 107

MOSTRAR NA TELA OS NUMEROS DE 1 ATÉ 10

numero=1 numero<=10 numero++

numero

EXECUÇÃO

comandos

testeF

inicialização

atualização

fim

início

V

inicialização

Teste V ou F incrementaVentra

F sai

1234567891011

Page 11: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

Programação de Computadores Estrutura de Repetição

Desenvolver um programa que tabula a temperatura em Graus Farenheit para Graus Celsius.

C = 5/9*(F-32)

FVaria de 50 a 150 de 10 em 10oF oC

o50 ?

o60 ?

o150 ?

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

#include <iostream>#include <iomanip>using namespace std;main(){float C;cout<<setiosflags(ios::fixed) // ponto decimal

<<setiosflags(ios::showpoint) //sempre imprimir o ponto decimal

<<setprecision(2); // imprimir com 2 casas decimais

for (int F=50; F<=150;F+=10) { C = 5.0/9*(F-32); cout<<"\t"<<F<<"\t\t "<<C<<"\n\n"; }system("PAUSE");} temperatura1.exe

Desenvolver um programa que tabula a temperatura em Graus Farenheit para Graus Cesius.

C = 5/9*(F-32)

Varia de 50 a 150 de 10 em 10

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

Estruturas de Repetição

while do - while for

Page 14: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

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

CASOS DE USOS

while (expressão) { ... }– Não há variável contadora– Inicialização, teste ou atualização complexos– Informações da condição obtidas na execução

do { ... } while (expressão);– Executar um bloco pelo menos uma vez– Só é possível avaliar a condição depois de executar– Informações da condição obtidas após execução

Page 15: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

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

CASOS DE USOS

for (inicialização; teste; reinicialização) { ... }

– Há variável contadora de repetições– Inicialização, teste e atualização simples– Separa claramente as instruções de controledas instruções do bloco

Page 16: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

Por que usar o for ?

Cabeçalho agrupa:– Inicialização– Condição– Atualização

Separa:– Controle (lógica) de repetição– Código a ser repetido

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

Programador não“esquece”

nenhuma etapa

Códigoorganizado

Page 17: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

Programação de Computadores Estrutura de Repetição

Desenvolver um programa que lê as notas de várias pessoas e determina a maior nota.

Quantidade de pessoas (notas) ?

Usar qual estrutura de repetição ?

Determinação da maior nota ? Ler a 1a nota e armazenar como sendo a maiorLer a 2a nota e se ela for maior, substitui a maior anterior e assim por diante.

Quando parar de entrar com as notas?Usamos um flag (bandeira) ex.: Nota negativa

Variáveis:• Nota• MaiorNota

= -1

MaiorNota = Nota

Page 18: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

#include <iostream> // PROCESSA MAIOR NOTAusing namespace std;main(){float NOTA, MAIORNOTA; //estruturas de dados MAIORNOTA = -1; //leia e processe os dados de entrada ( primeira nota e quando parar de ler ) cout<< "(Para finalizar informe uma nota negativa) "<<endl; cout<< "Informe uma nota: "<<endl; cin>>NOTA;while ( NOTA >= 0 ) // repetir enquanto nota por positiva{

if (NOTA > MAIORNOTA)MAIORNOTA = NOTA;

cout<< "Informe outra nota: "; cin>>NOTA;}//exiba os resultados de saídacout<< "A maior nota encontrada foi: "<< MAIORNOTA<<endl;system("PAUSE");} maiornota.exe

Variáveis:• Nota• MaiorNota

Determinação da maior nota ? Ler a 1a nota e armazenar como sendo a maior. Ler a 2a nota e se ela for maior, substitui a maior anterior e assim por diante. Até ler uma nota = -1

//inicialize a maior para que a primeira Nota seja maior

Page 19: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

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

Desafio

Desenvolver um programa que lê as notas de várias pessoas e determina a maior nota bem como

a quantidade de pessoas que tiraram essa nota.

Validar as notas devem ser entre 0 (zero) e 10 (dez)

Page 20: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

#include <iostream> // PROCESSA MAIOR NOTAusing namespace std;main(){float NOTA, MAIORNOTA; //estruturas de dados MAIORNOTA = -1; //leia e processe os dados de entrada ( primeira nota e quando parar de ler ) cout<< "(Para finalizar informe uma nota negativa) "<<endl; cout<< "Informe uma nota: "<<endl; cin>>NOTA;while ( NOTA >= 0 ) // repetir enquanto nota por positiva{

if (NOTA > MAIORNOTA)MAIORNOTA = NOTA;

cout<< "Informe outra nota: "; cin>>NOTA;}//exiba os resultados de saídacout<< "A maior nota encontrada foi: "<< MAIORNOTA<<endl;system("PAUSE");} maiornota.exe

Variáveis:• Nota• MaiorNota

//inicialize a maior para que a primeira Nota seja maior

Desafio

Desenvolver um programa que lê as notas de várias pessoas e determina a maior

nota bem como a quantidade de pessoas que tiraram essa nota.

Validar as notas devem ser entre 0 (zero) e 10 (dez)

Page 21: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

#include <iostream>using namespace std;main(){ setlocale(LC_ALL,""); float Nota, Maior_Nota=-1; int Quantidade=1; cout<< "\n\nPara finalizar informe uma nota negativa\n\n"; cout<< "Informe uma nota: "; cin>>Nota;

Page 22: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

while ( Nota >= 0 ) // repetir enquanto nota por positiva { if (Nota > 10) { cout<<"\nVocê Digitou : "<<Nota<<" Valor Inválido\n"; system("pause"); } else { if (Nota >= Maior_Nota) { if(Maior_Nota==Nota) Quantidade=Quantidade+1; else { Maior_Nota = Nota; Quantidade=1; } } } system("cls"); cout<< "\n\nPara finalizar informe uma nota negativa\n\n"; cout<< "Informe outra nota: "; cin>>Nota; }

Page 23: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

cout<< "\n\nA maior nota encontrada foi: "<< Maior_Nota<<"\n\n"; cout<< "A quantidade de Pessoas foi : "<<Quantidade<<"\n\n"; system("pause");}

Page 24: Informática e Computação Estrutura de Repetição aula 12 Réplica do Calculador Diferencial criado por Charles Babbage –Wikipédia.

#include <iostream>using namespace std;main(){ setlocale(LC_ALL,""); float Nota, Maior_Nota=-1; int Quantidade=1; cout<< "\n\nPara finalizar informe uma nota negativa\n\n"; cout<< "Informe uma nota: "; cin>>Nota; while ( Nota >= 0 ) // repetir enquanto nota por positiva { if (Nota > 10) { cout<<"\nVocê Digitou : "<<Nota<<" Valor Inválido\n"; system("pause"); } else { if (Nota >= Maior_Nota) { if(Maior_Nota==Nota) Quantidade=Quantidade+1; else { Maior_Nota = Nota; Quantidade=1; } } } system("cls"); cout<< "\n\nPara finalizar informe uma nota negativa\n\n"; cout<< "Informe outra nota: "; cin>>Nota; } cout<< "\n\nA maior nota encontrada foi: "<< Maior_Nota<<"\n\n"; cout<< "A quantidade de Pessoas foi : "<<Quantidade<<"\n\n"; system("pause");}