Baixe o app para aproveitar ainda mais
Prévia do material em texto
AlgoritmoEstruturade Dados (RevisãoI...ALP/ATP) Prof.AlexandreWagnerChagasFaria TópicosdarevisãoI �Operadores:Aritiméticos,Lógicos,Relacionais; �Estuturas condicionais:SimpleseCompostas; �Estruturasderepetição:Comnúmerodefinido,controle noinício,controlenofim; OperadoresAritméticos � Operadoresaritméticosé oconjuntode símbolos que representam as operações básicas da matemática: OperadoresAritméticos:Principais � OperadoresAritméticos � + :soma � - :subtração � * :multiplicação � /:divisão � %:restodadivisão Voltar Descriçãodosoperadores: Prioridades: OperadoresAritméticos a)Amultiplicaçãoé dadaatravésdooperador*: Exemplo:z=x*y; b)Asomaé realizadaatravésdooperador+: Exemplo:z=x+y; c)Asubtraçãoé dadaatravésdooperador-; Exemplo:z=x-y; d)Adivisãoé dadaatravésdooperador/; Exemplo:z=x/y; OperadoresRelacionais � OperadoresRelacionais,fazemcomparações. Muitoutilizadosnosalgoritmos. OperadoresRelacionais � ==:igualdade � <:menor � >:maior � >=:maiorouigual � <=:menorouigual � !=:diferente � OperadoresRelacionais Descrição != 10!=11,X!=Y OperadoresLógicos OperadoresLógicos � E:conjunção&& � OU:disjunção || � NÃO:negação! TabelaverdadeNÃOEOU Sepositivoediferentede10 Semaiorque20emenorque30 Semaioramareloouazul Seamareloeazul Exemplo: Suponhaquetemos03variáveis:A=5,B=8eC=1. Osresultadosdasexpressõesseriam: A!=B Atividade(continuação) � A(1))( V&& V)(1) && ( V|| F)(1) � b(1))( F&& V)(0) || ( F|| V)(1) � c(1))( V|| V)(1) || ( V&& F)(0) � d(1))(( ! V)(0) && ( V|| F)(1) )(0) || ( ! F)(1) Operadores– RESUMOOFICIAL � Estesoperadorescombinamasoperaçõesaritméticascom atribuição. � Aoperaçãodaesquerdaé sempreonomedeuma variáveledadireita,umaexpressãoqualquer. � Aoperaçãoconsisteematribuirumnovovalorá variável dedempederá dooperadordaexpressãoà direita OperadoresAritméticosdeAtribuição OperadoresAritméticosdeAtribuição (=+) i+=2 equivaleai=i+2; (-+) d-=3,equivalead=d-3; (*=) x*=y+1,equivaleax=x*(y+1); (/=) t/=2.5,equivaleat=t/2.5; (%=) p%=5,equivaleap=p%5; Exercício (=+) i+=3x equivalea; (-+) d-=4.7,equivalea ; (*=) x*=u-11,equivalea; (/=) t/=7,equivalea ; (%=) p%=12,equivalea ; EstruturasdeSeleçãoouDecisão � Sãoestruturasquepermitemalterarofluxodeexecução, de forma que é possível decidir qual parte deve ser executada; � Essa decisão de execução é tomada a partir de alguma condição,que temcomoresultadoapenasverdadeiroou falso. � Umacondiçãoé representadaporexpressões relacionais lógicas � Estasestruturasdedecisãopodemaindaserclassificadas emsimplescompostasouencadeadas. Comandosdedecisão: � Os programas utilizam instruções de seleção ou decisão, para escolher entre cursos/caminhos alternativosdeações. Comandosdedecisão: � Os comandos de decisão, também conhecidos como desvio, são uma importante parte das técnicas de programação.Geralmenteassociadasaestruturasquenão sãoseqüenciais... � Comessasinstruções,pode-sefazercomqueoprograma proceda de uma ou outra maneira, de acordo co as decisões lóticas tomadas, em funções de resultados anteriores. � As estruturas de decisão são: SEENTÃO, SE ENTÃO SENÃO,CASOSELECIONE � A instrução SE consiste em um comando SE seguidodeumaexpressãodeteste. � Se a expressão de teste for verdadeira, então a instruçãoé executada,casocontrario,nadaefeito SE Expressãodeteste. � Aexpressãodeteste,é umaexpressãológicaque,quando inspecionada,gera-seumresultadofalsoouverdadeiro. � Sea(expressãodeteste)forverdadeira,ocomandoapós a cláusula ENTÃO será executada. No entanto se a mesma for falsa, o comando não será executado, e continuará para os próximos comandosda seqüência de execução. SintaxeemC++ if (expressãodeteste) { instrução; instrução; } if (expressãodeteste) instrução; UmaInstrução: MaisdeumaInstrução: ExemploemC++ 1. #include<iostream.h> 2. int main () 3. { 4. int numero; 5. cout<<"\nEntre comumnumero:"; 6. cin>>numero; 7. if (numero>20) 8. cout<<"\nVoce digitouumnumeromaiorque20!"<<endl; 9. system("pause"); 10. } ExemploemC++ 1. #include<iostream.h> 2. int main () 3. { 4. int num1,num2,soma; 5. cout<<"\nEntre com02numeros:"<<endl; 6. cin>>num1>>num2; 7. soma=num1+num2; 8. if (soma>10) 9. cout<<"\nA somaemaiorque10!"; 10. cout<<"\n\n"; 11. system("pause"); 12. } ExemploemC++ 1. #include<iostream.h> 2. int main() 3. { 4. int idade; 5. cout<<"\nEntre comsuaidade:"; 6. cin>>idade; 7. if (idade>=18&&idade<=65) 8. cout<<"\nVoce eeleitorobrigatorio!"; 9. cout<<"\n\n"; 10. system("pause"); 11. } ExemploemC++: #include<iostream.h> using namespace std; int main () { int a,b,c; cout<<"\nEntre com02valores:"; cout<<"\n"; cin>>a>>b; c=a+b; if (a>b||c>10) cout<<"\nAemenorqueBouaSOMAemaiorque10!!!"; cout<<"\n\n"; system("pause"); } Oqueesteprogramafaz? Exercícios � 01.Façaumalgoritmoemportugol eC++queleiaumnúmeroe mostreelenatelacasosejapar. � 02.Façaumalgoritmoemportugol eC++queleiaumnúmeroe mostreelenatelacasosejaimpar. � 03.Façaumalgoritmoemportugol eC++queleiaumnúmeroe mostreelenatelacasosejamúltiplode5. � 04. Faça um algoritmo em portugol e C++ que leia 04 notas: Algoritmos, Calculo, Física e Geometria Analítica. Calcule a média das notas. Caso a média for menor que 70, deverá ser mostradoamensagem:Vocêsestá REPROVADO. Exercício01 1. #include<iostream.h> 2. int main () 3. { 4. int num,resto; 5. cout<<"\nEntre comumnumero;"; 6. cin>>num; 7. resto=(num%2); 8. if (resto==0) 9. cout<<"\nOnumero"<<num<<"epar!"; 10. cout<<"\n\n"; 11. system("pause"); 12. } Exercício02 1. #include<iostream.h> 2. int main () 3. { 4. int num,resto; 5. cout<<"\nEntre comumnumero:"; 6. cin>>num; 7. resto=(num%2); 8. if (resto==1)//(resto!=0) 9. cout<<"\nOnumero"<<num<<"eimpar!"; 10. cout<<"\n\n"; 11. system("pause"); 12. } Exercício03 1. #include<iostream.h> 2. int main () 3. { 4. int num,resto; 5. cout<<"\nEntre comumnumero:"; 6. cin>>num; 7. resto=(num%5); 8. if (resto==0) 9. cout<<"\nOnumero"<<num<<"emultiplo de5!"; 10. cout<<"\n\n"; 11. system("pause"); 12. } Exercício05 1. #include<iostream.h> 2. int main () 3. { 4. int alg,calc,fis,ga; 5. float media; 6. cout<<"\nEntre comanotadeAlgoritmo:"; 7. cin>>alg; 8. cout<<"\nEntre comanotadeCalculo:"; 9. cin>>calc; 10. cout<<"\nEntre comanotadeFisica:"; 11. cin>>fis; 12. cout<<"\nEntre comanotadeGeometriaAnalitica:"; 13. cin>>ga; 14. media=(alg+calc+fis+ga)/4; 15. cout<<"\nA mediae:"<<media; 16. if (media<70) 17. cout<<"\nVoce estaREPROVADO:"; 18. cout<<"\n\n"; 19. system("pause"); 20. } Seleçãodedecisãocomposta � Quandoé necessáriotestarsituaçõesondesetem maisdeumaalternativaparaamesmacondição. � Um grupo de instruções são realizadas se a condiçãoforverdadeiraeoutrogrupoé realizadas casosejafalsa � O comando se senão, é uma expansão de um simples comandoSE. � Ocomandosepermitequeexecutemosalgosomentesea suaexpressãodetesteforverdadeira,casocontrárionadaé executado. � Tambémconhecidacomoestruturacondicionalcompostae encadeada SE...SENAO � Suponhamos que você queira executar alguma coisaseaexpressãodetesteforverdadeiraeoutra coisaseaexpressãodetesteforfalsa. � Nestecaso,deveusarocomandoSENAO. SE...SENAO Sintaxedocomandoif/else C++ 01instrução if (teste) instruções; else instruções; Váriasinstruções if (teste) { instruções; instruções; } else { instruções; instruções; } Exemplodeumaseleçãocomposta � Construa um algoritmo em PORTUGOL que determine (imprima) se um dado número N inteiro (recebido através do teclado) é PAR ou ÍMPAR. Algoritmo ALGORITMO DECLARE N,resultadoNUMERICO ESCREVA “Entrecomumnúmero:”; LEIAN); resultado<-resto(N,2); SE (resultado==0)ENTÃO ESCREVA N,"é PAR"; SENÃO ESCREVA N,"é ÍMPAR"; FIM_SE FIM_ALGORITMO ExemploemC++ 1. #include<iostream.h> 2. int main () 3. { 4. int N,resultado; 5. cout<<"\nFavor entrarcomumnumero:"; 6. cin>>N; 7. resultado=(N%2); 8. if (resultado==0) 9. cout<<"\nO numero"<<N<<"ePAR!"; 10. else 11. cout<<"\nO numero"<<N<<"eIMPAR!"; 12. cout<<"\n\n"; 13. system("pause"); 14.} Inédito exemploda média!C++ 1. #include<iostream.h> 2. int main() 3. { 4. float nota1,nota2,nota3,nota4,media; 5. cout<<"\nEntre comsuasnotasentre0-100!"; 6. cout<<"\nEntre comanotadeCalculo:"; 7. cin>>nota1; 8. cout<<"\nEntre comanotadeGeometria:"; 9. cin>>nota2; 10. cout<<"\nEntre comanotadeATP:"; 11. cin>>nota3; Continuação... 12. cout<<"\nEntre comanotadeQuimica:"; 13. cin>>nota4; 14. media=(nota1+nota2+nota3+nota4)/4; 15. cout<<"\nSua mediae:"<<media; 16. if (media>=70) 17. cout<<"\nVoce estaAPROVADO!"; 18. else 19. cout<<"\nVoce estaREPROVADO!"; 20. cout<<"\n\n"; 21. system("pause"); 22. } Exercícios 1. Construa um algoritmo emC++que determine (imprima) se umdado númeroN inteiro(recebidoatravésdoteclado)é PARouÍMPAR. 2. EscrevaumalgoritmoemC++queleiaumnúmeroe imprimaaraizquadradado númerocasoelesejapositivoouigualazeroeoquadradodonúmerocasoeleseja negativo. 3. Escreva um algoritmo em C++ que receba um número e imprima uma das mensagens:“é múltiplode3” ou“nãoé múltiplode3”. 4. ConstruaumalgoritmoemC++queimprimaqualomenorequalomaiorvalorde doisnúmerosAeB,lidosatravésdoteclado 5. Construa um algoritmo em C++ que indique se um número digitado está compreendidoentre20e90ounão(20e90nãoestãonafaixade valores). 6. CriarumalgoritmoemC++queleiadoisnúmeroseimprimiroquadradodomenor númeroeraizquadradadomaiornúmero,seforpossível. ResoluçãoemC++ ConstruaumalgoritmoemC++quedetermine(imprima)seumdadonúmeroN inteiro(recebidoatravésdoteclado)é PARouÍMPAR. #include<iostream.h> int main () { int numero,resto; cout<<"\nEntrecomumnumero:"; cin>>numero; resto=(numero%2); if (resto==0) cout<<"\nO numero"<<numero<<"epar"; else cout<<"\nO numero"<<numero<<"eimpar"; cout<<"\n"; system("pause"); } EscrevaumalgoritmoemC++que leiaumnúmeroe imprimaa raizquadradadonúmero casoelesejapositivoouigualazeroeoquadradodonúmerocasoelesejanegativo. #include<iostream.h> #include<math.h> int main () { float n,r,q; cout<<"\nEntre comumnumero:"; cin>>n; r=sqrt(n); q=pow(n,2); if (n>=0) cout<<"\nAraize:"<<r; else cout<<"\nApotenciae:"<<q; cout<<"\n\n"; system("pause"); } Escreva um algoritmo em C++ que receba um número e imprima uma das mensagens: “é múltiplo de 3” ou “não é múltiplo de 3”. #include<iostream.h> int main () { int numero,resto; cout<<"\nEntrecomumnumero:"; cin>>numero; resto=(numero%3); if (resto==0) cout<<"\nO numero"<<numero<<"emultiplo de3!"; else cout<<"\nO numero"<<numero<<"nao emultiplo de3!"; cout<<"\n"; system("pause"); } ConstruaumalgoritmoemC++queimprimaqualomenorequalo maiorvalordedoisnúmerosAeB,lidosatravésdoteclado. #include<iostream.h> int main () { int num1,num2; cout<<"\nEntrecomumnumero:"; cin>>num1; cout<<"\nEntre comoutronumero:"; cin>>num2; if (num1>num2) cout<<"\nO primeironumeroemaiorqueosegundo"; else cout<<"\nO segundonumeroemaiorqueoprimeiro"; cout<<"\n"; system("pause"); } ConstruaumalgoritmoemC++queindiqueseumnúmerodigitado está compreendidoentre20e90ounão(20e90nãoestãona faixadevalores). #include<iostream.h> int main () { int num; cout<<"\nEntrecomumnumero:"; cin>>num; if (num>20&&num<90) cout<<"\nO numero"<<num<<"estaentre20e90!"; else cout<<"\nO numero"<<num<<"nao estaentre20e90!"; cout<<"\n"; system("pause"); } Criar um algoritmo em C++ que leia dois números e imprimir o quadrado do menornúmeroeraizquadradadomaior número,seforpossível. #include<iostream.h> #include<math.h> int main () { int num1,num2; float q,r; cout<<"\nEntrecomumnumero:"; cin>>num1; cout<<"\nEntre comoutronumero:"; cin>>num2; if (num1<num2) { q=pow(num1,2); r=sqrt(num2); cout<<"\nOquadradodomenornumeroe:"<<q; cout<<"\nAraizdomaiornumeroe:"<<r; } else { q=pow(num2,2); r=sqrt(num1); cout<<"\nOquadradodomenornumeroe:"<<q; cout<<"\nAraizdomaiornumeroe:"<<r; } cout<<"\n"; system("pause"); } SEaninhados � Comandos SE aninhados, são comandos SE dentrodeoutrocomandoSE. SE(teste)ENTÃO instruções; SE(teste)ENTÃO instruções; SENÃO instruções; FIM_SE SENÃO instruções; FIM_SE if (teste){ instruções; if (teste){ instruções;} else { instruções;} } else { instruções; } Exemplo:umpoucomaiscomplexo!! �Dados três valores A, B e C, construa um algoritmoemPORTUGOL,queimprimaos valoresdeformaascendente(domenorpara omaior). 1. ALGORITMO; 2. DECLAREA,B,C; 3. ESCREVA“Digiteos3n° ”; 4. LEIAA,B,C; 5. SE(A<B)e(A<C)ENTÃO 6. ESCREVA"1º - ",A; 7. SE(B<C)ENTÃO 8. ESCREVA"2º - ",B; 9. ESCREVA"3º - ",C; 10. SENÃO 11. ESCREVA"2º - ",C; 12. ESCREVA"3º - ",B; 13. FIM_SE 14. FIM_SE 15. SE(B<A)E(B<C)ENTÃO 16. ESCREVA"1º - ",B; 17. SE(A<C)ENTÃO 18. ESCREVA"2º - ",A; 19. ESCREVA"3º - ",C; 20. SENÃO 21. ESCREVA"2º - ",C; 22. ESCREVA"3º - ",A; 23. FIM_SE 24. FIM_SE 25. SE(C<A)E(C<B)ENTÃO 26. ESCREVA"1º - ",C; 27. SE(A<B)ENTÃO 28. ESCREVA"2º - ",A; 29. ESCREVA"3º - ",B; 30. SENÃO 31. ESCREVA"2º - ",B; 32. ESCREVA"3º - ",A; 33. FIM_SE 34. FIM_SE 35. FIM_ALGORITMO 1. #include<iostream.h> 2. using namespace std; 3. int main () 4. { 5. int a,b,c; 6. cout<<"\nEntre com3numeros:"; 7. cout<<"\n"; 8. cin>>a>>b>>c; 9. if (a<b&&a<c) 10. { 11. cout<<"\nO primeironumeroe:"<<a; 12. if (b<c) 13. { 14. cout<<"\nO segundonumeroe:"<<b; 15. cout<<"\nO terceironumeroe:"<<c; 16. } 17. else 18. { 19. cout<<"\nO segundonumeroe:"<<c; 20. cout<<"\nO terceironumeroe:"<<b; 21. } 22. } 23. ExemploemC++ 24. if (b<a&&b<c) 25. { 26. cout<<"\nO primeironumeroe:"<<b; 27. if (a<c) 28. { 29. cout<<"\nO segundonumeroe:"<<a; 30. cout<<"\nO terceironumeroe:"<<c; 31. } 32. else 33. { 34. cout<<"\nO segundonumeroe:"<<c; 35. cout<<"\nO terceironumeroe:"<<a; 36. } 37. } 38. if (c<a&&c<b) 39. { 40. cout<<"\nO primeironumeroe:"<<c; 41. if (b<a) 42. { 43. cout<<"\nO segundonumeroe:"<<b; 44. cout<<"\nO terceironumeroe:"<<a; 45. } 46. else 47. { 48. cout<<"\nO segundonumeroe:"<<a; 49. cout<<"\nO terceironumeroe:"<<b; 50. } 51. } 52. cout<<"\n"; 53. system("pause"); 54. } Exercícios: � Escreva um algoritmo em PORTUGOL para determinar se um númeroA é divisível por um outro número B. Esses valores devem ser fornecidos pelo usuário(9): � ConstruirumalgoritmoemC++queleiadoisnúmeros eefetueaadição.Casoovalorsomadosejamaiorque 20,estedeverá serapresentadosomando-seaelemais 8;casoovalorsomadosejamenorou iguala20,este deverá serapresentadosubtraindo-se5. Seleçãoencadeada � Quandosurgeanecessidade,devidoaquestõesde processamento,agrupar-seváriasseleções,nestes casossetemaSeleçãoencadeada. � Normalmenteusa-seestaestruturaquandosetem várias combinações de condições a serem satisfeitasparaseexecutarumadeterminadaação oublocodeações. Sintaxeumaseleçãocompostaencadeada SE(teste)ENTÃO instruções; SENÃO SE(teste)ENTÃO instruções; SENÃO SE(teste)ENTÃO instruções; SENÃO instruções; FIM_SE FIM_SE FIM_SE Exemplode múltiplas opções ALGORITMO DECLAREnotaNUMERICO; ESCREVA“Entrecomsuanota:”; LEIAnota; SE(nota>=90)ENTÃO ESCREVA“SeuconceitoeA!”; SENÃOSE(nota>=80)ENTÃO ESCREVA“SeuconceitoeB!”; SENÃOSE(nota>=70)ENTÃO ESCREVA“SeuconceitoeC!”; SENÃOSE(nota>=60)ENTÃO ESCREVA“SeuconceitoeD!”; SENÃO ESCREVA“Asituacao estadificil!!!!”; FIM_SE FIM_ALGORITMO Exemplode múltiplas opçõesC++ #include<iostream.h> int main() { int nota; cout<<"\nEntrecomsuanota:"; cin>>nota; if (nota>=90) cout<<"\nSeuconceitoe:A!"; else if (nota>=80) cout<<"\nSeuconceitoe:B!"; else if (nota>=70) cout<<"\nSeuconceitoe:C!"; else if (nota>=60) cout<<"\nSeuconceitoe:D!"; else cout<<"\nAsituacao estabemdificil!!"; cout<<"\n\n"; system("pause"); } Exemplodeumaseleçãocomposta encadeada � EscrevaumalgoritmoemPORTUGOL/C++para determinar se um dado número N (recebido atravésdoteclado)é POSITIVO,NEGATIVOou NULO. Algoritmoemportugol ALGORITMO DECLARENNUMERICO; ESCREVA“Entrecomumnumero:“; LEIA(N); SE(N>0)ENTÃO ESCREVAN,"é POSITIVO"; SENÃO SE(N<0)ENTÃO ESCREVAN,"é NEGATIVO"; SENÃO ESCREVAN,"é NULO"; FIM_SE FIM_SE FIM_ALGORITMO AlgoritmoemC++ #include<iostream.h> #include<math.h> int main () { int num1; cout<<"\nEntre comumnumero:"; cin>>num1; if (num1>0) cout<<"\nOnumeroepositivo!"; else if (num1<0) cout<<"\nO numeroenegativo!"; else cout<<"\nO numeroenulo!"; cout<<"\n"; system("pause"); } Exemplodeumaseleçãocompostaencadeada: � ConstruaumalgoritmodePORTUGOL/C++para determinar se o indivíduo esta com um peso favorável.Essasituaçãoé determinadaatravésdo IMC(ÍndicedeMassaCorpórea),queé definida como sendo a relação entre o peso (PESO) e o quadradodaAltura(ALTURA)doindivíduo.Ou seja 2ALTURA PESOIMC = Tabela: e,asituaçãodopesoé determinadapelatabela abaixo: ExemploemC++ 1. #include<iostream.h> 2. #include<math.h> 3. int main () 4. { 5. float altura,peso,imc; 6. cout<<"\nEntre comseupeso:"; 7. cin>>peso; 8. cout<<"\nEntre comsuaaltura:"; 9. cin>>altura; 10. imc=peso/(pow(altura,2)); 11. cout<<"\nSeu indice e:"<<imc; 12. cout<<"\n"; 13. if (imc<20) 14. cout<<"\nAbaixo dopeso!"; 15. else if (imc>=20&&imc<25) 16. cout<<"\nPeso normal!"; 17. else if (imc>=25&&imc<30) 18. cout<<"\nSobre Peso!"; 19. else if (imc>=30&&imc<40) 20. cout<<"\nObseso!!"; 21. else 22. cout<<"\nObseo Morbido!!!!"; 23. cout<<"\n\n"; 24. system("pause"); 25. } Exemplodaformulaçãodasoluçãodeum problema.(adaptadodeForbellone eEberspacher (2005)) � Dado três valoresX,Y,Z, verificar se eles podem ser comprimentos dos lados de um triângulo. Se forem, verificar se compõem um triângulo eqüilátero, isósceles ou escaleno. Também informarsenãocompuseremnenhumtriângulo. EntradaseSaídas � Dados de entrada: 3 lados de um “suposto” triangulo(X,YeZ); � Dados de saída: Mensagens: Não compõe um triangulo, Triângulo eqüilátero, Triângulo Isósceles,Triânguloescaleno Oqueé umtriângulo? � Definição formal:Figurageométrica fechadados três lados, emquecadaumé menorquea soma dosoutrosdois: A<(B+C) B<(A+C) C<(A+B) Tiposdetriângulos: � Oqueé umtrianguloeqüilátero? � Umtriângulocomos3ladosiguais. � Oqueé umtriânguloisósceles? � Umtriângulocomdoisladosiguais. � Oqueé umtriânguloescaleno? � Umtriângulocomtodososladosdiferentes TabelaVerdade Expressõeslógicas � É triangulo:(X<Y+Z)e(Y<X+Z)e(Z<X+Y) � É eqüilátero:(X=Y)e(Y=Z) � É isósceles:(X=Y)ou(Y=Z)ou(X=Z) � É escaleno:(X<>Y)e(Y<>Z)e(Z<>X) C++ 1. #include<iostream.h> 2. #include<math.h> 3. int main () 4. { 5. int x,y,z; 6. cout<<"\nEntre comosvaloresdosladosdotriangulo:"; 7. cout<<"\n"; 8. cin>>x>>y>>z; 9. if ((x<y+z)&&(y<z+x)&&(z<x+y)) 10. { 11. cout<<"\nEste eumtriangulo!"; 12. if ((x==y)&&(y==z)) 13. cout<<"\nEste eumtrianguloEquilatero!"; 14. else { 15. if((x==y)||(y==z)||(x==z)) 16. cout<<"\nEste eumtrianguloIsosceles!"; 17. else 18. cout<<"\nEste eumtrianguloEscaleno!";} 19. } 20. else 21. cout<<"\nEste nãoeumtriangulo!!!"; 22. cout<<"\n\n"; 23. system("pause"); 24. } ExemploemC++ � Faça um programa em C++, que ao entrar com umnúmero,correspondenteaosmeses,apresente natelaqualomêscorrespondente. Obs:Paraefeitosdidáticosserá efetuadosomenteaté omês4. Exemploem C++ #include<iostream.h> int main() { int mes; cout<<"\nEntre comonumerodomes:"; cin>>mes; if (mes==1) cout<<"\nJaneiro"; else if (mes==2) cout<<"\nFevereiro"; else if (mes==3) cout<<"\nMarco:"; else if (mes==4) cout<<"\nAbril"; else cout<<"\nMes desconhecido"; cout<<"\n\n"; system("pause"); } ExemploemC++ � CrieumprogramaemC++que leia a idadede umapessoaeinformeasuaclasseeleitoral: � nãoeleitor(abaixode16anos); � eleitorobrigatório(entreafaixade18emenorde65 anos); � eleitor facultativo(de16até 18anosemaiorde65 anos,inclusive). ProgramaemC++ #include<iostream.h> using namespace std; int main () { int idade; cout<<"Porfavor,entrecomsuaidade:"; cin >>idade; if (idade<16) cout<<"\nVoce nao eeleitor!"; else if (idade<18||idade>=65) cout<<"\nVoce eeleitorfacultativo."; else cout<<"\nVoce eeleitorobrigatorio!!"; cout<<"\n"; system("pause"); } Exercícios: I. ConstruirumalgoritmoemC++paracalcularasraízesdeuma equaçãodo2º grau, sendoqueosvaloresdoscoeficientesA, B,eCdevemserfornecidospelousuárioatravésdoteclado. II. CriarumalgoritmoemC++querecebaovalordex,ecalcule eimprimaovalordef(x). > ≤< ≤< ≤ = 3xse, 32se, 21se,*2 1se,5 )( 3 2 x xx xx x xf 1. #include<iostream.h> 2. #include<math.h> 3. int main () 4. { 5. float a,b,c; 6. float delta,x1,x2; 7. cout<<"\nEntre comoscoeficientesdaeq!"; 8. cout<<"\n"; 9. cin>>a>>b>>c; 10. delta=((b*b)-(4*a*c)); 11. cout<<"\nO valordedeltae:"<<delta; 12. if (delta>0) 13. { 14. cout<<"\nA eq possui2raizes diferentes!"; 15. x1=(-b+sqrt(delta))/(2*a); 16. x2=(-b-sqrt(delta))/(2*a); 17. cout<<"\nA primeiraraize:"<<x1; 18. cout<<"\nA segundaraize:"<<x2; 19. } 20. else if (delta==0) 21. { 22. cout<<"\nA eq.possui2raizes diferentes!"; 23. x1=(-b/(2*a)); 24. x2=x1; 25. cout<<"\nA primeiraraize:"<<x1; 26. cout<<"\nA segundaraize:"<<x2; 27. } 28. else 29. cout<<"\nA eq.nao possuiraizes!"; 30. cout<<"\n\n"; 31. system("pause"); 32. } 1;-4;-5 1;-2;6 4;20;25 EXERCICIOI Equaçãodo2°Grau! EXERCICIO.II Criarumalgoritmoemc++ que receba o valor de x, e calcule e imprima o valor def(x). > ≤< ≤< ≤ = 3xse, 32se, 21se,*2 1se,5 )( 3 2 x xx xx x xf 1. #include<iostream.h> 2. #include<math.h> 3. int main () 4. { 5. int x,fx; 6. cout<<"\nEntre comovalordeX:"; 7. cin>>x; 8. if (x<=1) 9. { 10. fx=5; 11. cout<<"\nO valordefx e:"<<fx; 12. } 13. else if (x<=2) 14. { 15. fx=2*x; 16. cout<<"\nO valordefx e:"<<fx; 17. } 18. else if (x<=3) 19. { 20. fx=x*x; 21. cout<<"\nO valordefx e:"<<fx; 22. } 23. else 24. { 25. fx=pow(x,3); 26. cout<<"\nO valordefx e:"<<fx; 27. } 28. cout<<"\n"; 29. system("pause"); 30. } Exercícios: � ConstruirumalgoritmoemC++queleiaumnúmeroeimprimase eleé iguala5,a200,a400,seestá nointervaloentre500e1000, inclusive,ouseelaestá foradosescoposanteriores(19): � Depoisdaliberaçãodogovernoparaasmensalidadesdosplanosde saúde,aspessoascomeçaramafazerpesquisasparadescobrirum bomplano, nãomuito caro.Umvendedor de umplano de saúde apresentouatabelaaseguir.CriarumalgoritmoemC++queentre comaidadedeumapessoaeimprimaovalorqueeladeverá pagar, segundoaseguintetabela(26): CASO/SELECIONA � O comando SELECIONA, permite selecionar entreváriasaçõesalternativas. � Embora as construções SE-SENÃO (if-else) possam executar testes para a escolha de uma entre várias alternativas, muitas vezes são deselegantes. � OcomandoSELECIONAtemumformatolimpo eclaro. � O corpo de cada caso é composto por qualquer númerodeinstruções. � Geralmenteaúltimainstruçãoé obreak emC++. � Ocomandobreak causaasaídaimediatade todo corpoSELECIONA. � Na falta do comando break, todas as instruções após o caso escolhido serão executadas, mesmo quepertencemaoscasosseguintes: CASO/SELECIONA SintaxedocomandoCASO/SELECIONA seleciona (variável){ caso(valor1): instrução; caso(valor2): instrução; caso(valor3): instrução; casocontrario: instrução; } varmes; inicio escreva“Entrecomonumerodomes:”; leiames; seleciona(mes) { caso1: escreva“Janeiro”; caso2: escreva“Fevereiro”; caso3: escreva“Março”; caso4: escreva“Abril”; casocontrario: escreva“Valornãoencontrado”; } fim Exemplo: switch (variávelouconstante) { case(constante1): instrução; instrução; break; case(constante2): instrução; instrução; break; case(constante3): instrução; instrução; break; default: instrução; } SintaxedocomandoCASO/SELECIONAC++ com; com: com; com: com; com: com: com; ExemploemC++ � Faça um programa em C++, que ao entrar com umnúmero,correspondenteaosmeses,apresente natelaqualomêscorrespondente. Obs:Paraefeitosdidáticosserá efetuadosomenteaté omês4. Exemploem C++ #include<iostream.h> int main() { int mes; cout<<"\nEntre comonumerodomes:"; cin>>mes; switch(mes) { case1: cout<<"\nJaneiro";break; case2: cout<<"\nFevereiro";break; case3: cout<<"\nMarco";break; case4: cout<<"\nAbril";break; default: cout<<"\nMes desconhecido:"; } cout<<"\n\n"; system("pause"); } Exercício01 � Façaumalgoritmoemportugol,eseurespectivo programa em C++, que ao digitar um numero, entre 1 e 7, ele forneça o dia da semana correspondente.Casoousuárioinsiraumnúmero fora desta faixa o algoritmo/programa deverá informaraousuárioquenãoexistediadasemana correspondente. Até apróximaaula AlexandreWagner alexandre.faria@prof.una.br
Compartilhar