Prévia do material em texto
LISTA 1 DE EXERCÍCIOS Estruturas de Seleção (SE e ESCOLHA – IF e SWITCH) Aluno Curso Davi Silva Sousa Engenharia de Telemunicaçõ Instruções - Leia os exemplos antes de iniciar a execução da lista. - Tente desenvolver os programas no DEV C++ usando a linguagem C. - Leve dúvidas para nossa próxima aula. - A entrega desta lista será realizada no Portal Didático. EXERCÍCIOS Proponha um programa capaz de ler dois números reais (numerador e denominador). Se o denominador for diferente de 0, o programa deve imprimir o resultado da divisão do numerador pelo denominador. Caso contrário, o programa deve imprimir a mensagem “Divisão Impossível”. Utilize a estrutura if-else. #include <stdio.h> #include <stdlib.h> using namespace std; int main () { float numerador, denominador, divisao; printf ("Digite o valor do numerador: \n"); scanf ("%f", &numerador); printf ("Digite o valor do denominador:"); scanf ("%f", &denominador); if (denominador !=0) { divisao = (numerador)/(denominador); printf ("O resultado da divisao e %f", divisao); } else { printf ("Divisao impossivel"); } return 0; } Proponha um programa que leia dois valores inteiros e imprima o maior deles. Utilize a estrutura if-else. #include <stdio.h> #include <stdlib.h> using namespace std; int main () { int numero1, numero2; printf ("Digite o valor do primeiro numero: \n"); scanf ("%d", &numero1); printf ("Digite o valor do segundo numero:\n"); scanf ("%d", &numero2); if ((numero1) != (numero2)) { if ( numero1 > numero2) { printf ("O maior numero e %d", numero1); } else { printf ("O maior numero e %d", numero2); } } else { printf ("Os numeros sao iguais, digite numeros diferentes"); } return 0; } Proponha um programa que leia um código de produto e retorne seu nome utilizando a estrutura if-else. Considere os seguintes códigos: Código Nome do produto 1 Parafuso 2 Porca 3 Prego <qualquer outro número> <escrever produto não-cadastrado> #include <stdio.h> #include <stdlib.h> using namespace std; int main () { int codigo; printf ("Digite o codigo do produto desejado:"); scanf ("%d", &codigo); if (codigo == 1) { printf ("Parafuso"); } else if (codigo == 2) { printf ("Porca"); } else if(codigo == 3) { printf ("Prego"); } else { printf ("Produto nao cadastrado"); } return 0; } Construa o programa do exercício anterior utilizando a estrutura switch. #include <stdio.h> #include <stdlib.h> using namespace std; int main () { int codigo; printf ("Digite o codigo do produto desejado:"); scanf ("%d", &codigo); switch (codigo) { case 1: printf("Parafuso"); break; case 2: printf ("Porca"); break; case 3: printf ("Prego"); break; default: printf ("Produto nao cadastrado"); break; } return 0; } Faça um programa que receba 3 valores que representarão os lados de um triângulo e verifique se os valores formam um triângulo. Lembre-se que para formar um triângulo: - nenhum dos lados pode ser menor ou igual a zero; - um lado não pode ser maior do que a soma dos outros dois; Construa este programa utilizando a estrutura if-else. #include <stdio.h> #include <stdlib.h> using namespace std; int main () { float ladoA, ladoB, ladoC; printf ("Digite o primeiro valor para um lado do triangulo:"); scanf ("%f", &ladoA); printf ("Digite o segundo valor para um lado do triangulo:"); scanf ("%f", &ladoB); printf ("Digite o terceiro valor para um lado do triangulo:"); scanf ("%f", &ladoC); if (((ladoA && ladoB && ladoC) != 0) && ((ladoA && ladoB && ladoC) > 0)) { if ( ladoA <= ladoB + ladoC) { if (ladoB <= ladoA + ladoC) { if (ladoC <= ladoA + ladoC) { printf ("os valores formam um triangulo"); } } } } else { printf ("Os valores não formam um triangulo"); } return 0; } Faça um programa para um Caixa que receba o preço de um produto e o valor pago pelo cliente e retorne o troco a ser dado. Se o valor do produto for menor ou igual a zero, o programa deve emitir a mensagem “produto com preço errado” e abortar a operação. Caso contrário, o programa deve imprimir o valor de troco a ser dado. Construa este programa utilizando a estrutura if-else. #include <stdio.h> #include <stdlib.h> using namespace std; int main () { float valordoproduto, valorpago, troco; printf ("Digite o valor do produto\n"); scanf ("%f", &valordoproduto); printf ("Digite o valor pago:\n"); scanf ("%f", &valorpago); troco = (valordoproduto) - (valorpago); if (valordoproduto <=0) { printf ("O valor esta com preco errado e\n"); "pause"; } else { printf ("O valor do troco e: %f\n", troco); } return 0; } Exercício Extra #include <iostream> using namespace std; char * centenas[] = {"", "cento", "duzentos", "trezentos", "quatrocentso", "quientos", "seiscentos", "setecentos", "oitocentos", "novecentos"}; char * dezenas[] = {"dez", "onze", "doze", "treze", "quatorze", "quinze", "dezesseis", "dezessete", "dezoito", "dezenove"}; char * dezenasVinte[] = {"", "dez", "vinte", "trinta", "quarenta", "cinquenta", "sessenta", "setenta", "oitenta", "noventa"}; char * unidades [] = { "", "um", "dois", "tres", "quatro", "cinco", "seis", "sete", "oito", "nove"}; void imprimirUnidade(int centena, int dezena, int unidade) { if (centena == 0 && dezena == 0 && unidade == 0) { return; } cout << centenas[centena] << " "; if (centena > 0 && dezena > 0) { cout << "e "; } if (dezena == 1) { cout << dezenas[unidade] << " "; } else { cout << dezenasVinte[dezena] << " "; if (dezena > 0 && unidade > 0) { cout << "e "; } cout << unidades[unidade] << " "; } } void imprimirBilhao(int unidade) { switch (unidade) { case 1: cout << "um bilhao "; break; case 2: cout << "dois bilhoes "; break; } } void imprimirMilhao(int centena, int dezena, int unidade) { if (centena == 0 && dezena == 0 && unidade == 0) { return; } imprimirUnidade(centena, dezena, unidade); if (unidade == 1 && dezena == 0 && centena == 0) { cout << "milhao "; } else { cout << "milhoes "; } } void imprimirMilhar(int centena, int dezena, int unidade) { if (centena == 0 && dezena == 0 && unidade == 0) { return; } imprimirUnidade(centena, dezena, unidade); cout << "mil "; } void numeroPorExtenso(unsigned long long long int num) { int ub, centMilhao, dezMilhao, unidMilhao, centMilhar, dezMilhar, uniMilhar, centena, dezena, unidade; cout << num << " = "; if (num == 0) { cout << "zero" << endl; return; } //Bilhao ub = num / 1000000000; num = num - (ub * 1000000000); //Milhao centMilhao = num / 100000000; num = num -(centMilhao *100000000); dezMilhao = num / 10000000; num = num -(dezMilhao *10000000); unidMilhao = num / 1000000; num = num - (unidMilhao *1000000); //Milhar centMilhar = num / 100000; num = num -(centMilhar *100000); dezMilhar = num / 10000; num = num - (dezMilhar*10000); uniMilhar = num / 1000; num = num - (uniMilhar *1000); //Unidade centena = num / 100; num = num - (centena *100); dezena = num / 10; num = num - (dezena*10); unidade = num / 1; num = num - (unidade *1); imprimirBilhao(ub); imprimirMilhao(centMilhao, dezMilhao, unidMilhao); imprimirMilhar(centMilhar, dezMilhar, uniMilhar); imprimirUnidade(centena, dezena, unidade); cout << endl; } int main() { unsigned long long long int numero; double f; cout << "Digite um numero:" << endl; cin >> numero; if (numero >= 0 && numero <= 2000000000) { for (unsigned long long long int i = 1; i <= 5; i++) { //f = numero * i; numeroPorExtenso(numero * i); } } else { cout << "Numero invalido" << endl; } return 0; }