Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estruturas Condicionais Resolução dos Exercícios Primeira Lista (Slide 27) 1) Ler dois números inteiros e informar se o primeiro valor lido é maior, menor ou igual ao segundo. #include <stdio.h> #include <stdlib.h> int main() { //Declaracao das variaveis int num1, num2; //Leitura dos dados printf ("Digite o primeiro numero: "); scanf ("%d", &num1); printf ("Digite o segundo numero: "); scanf ("%d", &num2); //Inicio das comparacoes e impressao do resultado if (num1 == num2) { printf ("O primeiro numero eh igual ao segundo."); } else { if (num1 < num2) { printf ("O primeiro numero eh menor que o segundo."); } else { printf ("O primeiro numero eh maior que o segundo."); } } return 0; } 2) Ler um número inteiro e informar se ele é divisível por 2. #include <stdio.h> #include <stdlib.h> int main() { //Declaracao da variavel int num; //Leitura do dado printf ("Digite um numero: "); scanf ("%d", &num); //Comparacao if (num%2 == 0) { printf ("O numero eh divisivel por 2."); } else { printf ("O numero nao eh divisivel por 2."); } return 0; } 3) Altere o algoritmo anterior para que seja informado se o número é divisível por 2 e por 3 simultaneamente. #include <stdio.h> #include <stdlib.h> int main() { //Declaracao da variavel int num; //Leitura do dado printf ("Digite um numero: "); scanf ("%d", &num); //Comparacao if (num%2 == 0 && num%3 == 0) { printf ("O numero eh divisivel por 2 e por 3 simultaneamente."); } else { printf ("O numero nao eh divisivel por 2 e por 3 simultaneamente."); } return 0; } 4) Altere o algoritmo anterior para que seja informado se o número é divisível por 2 e por 3, mas que não seja divisível por 5. #include <stdio.h> #include <stdlib.h> int main() { //Declaracao da variavel int num; //Leitura do dado printf ("Digite um numero: "); scanf ("%d", &num); //Comparacao if (num%2 == 0 && num%3 == 0 && num%5 != 0) { printf ("O numero eh divisivel por 2 e por 3, e nao eh divisivel por 5."); } else { printf ("O numero nao possui as condicoes adequadas."); } return 0; } 5) Desenvolver um algoritmo para ler o número do dia da semana e imprimir o seu respectivo nome por extenso. Considerar o número 1 como domingo, 2 para segunda etc. Caso o dia da semana não exista (menor do que 1 ou maior do que 7), exibir a mensagem Dia da semana inválido". #include <stdio.h> #include <stdlib.h> int main() { //Declaracao de variavel int dia; //Leitura do dado printf ("Digite um numero referente ao dia da semana: "); scanf ("%d", &dia); //Teste switch (dia) { case 1: printf ("Domingo"); break; case 2: printf ("Segunda"); break; case 3: printf ("Terca"); break; case 4: printf ("Quarta"); break; case 5: printf ("Quinta"); break; case 6: printf ("Sexta"); break; case 7: printf ("Sabado"); break; default : printf ("Dia da semana invalido!"); } return 0; } 6) Fazer um algoritmo para ler dois números e um dos símbolos das operações: +, -, * e /. Imprimir o resultado da operação efetuada sobre os números lidos. #include <stdio.h> #include <stdlib.h> int main() { //Declaracao de variaveis float num1, num2, resultado; char sinal; //Leitura dos dados printf ("Digite o primeiro numero: "); scanf ("%f", &num1); printf ("Digite um sinal de operacao (+, -, / ou *): "); //%*c pega o buffer do teclado, ou seja, //o ENTER pressionada apos a leitura do primeiro numero scanf ("%*c%c", &sinal); printf ("Digite o segundo numero: "); scanf ("%f", &num2); //Teste switch (sinal) { case '+': { resultado = num1 + num2; printf ("A resposta eh: %.2f.", resultado); } break; case '-': { resultado = num1 - num2; printf ("A resposta eh: %.2f.", resultado); } break; case '/': { if (num2 == 0) { printf("Impossivel dividir por zero!"); } else { resultado = num1 / num2; printf ("A resposta eh: %.2f.", resultado); } } break; case '*': { resultado = num1 * num2; printf ("A resposta eh: %.2f.", resultado); } break; default : printf ("Sinal da operacao invalido"); } return 0; } 7) Os funcionários de uma empresa receberam um aumento de salário: técnicos (código = 1), 50%; gerentes (código = 2), 30%; demais funcionários (código = 3), 20%. Escrever um algoritmo para ler o código do cargo de um funcionário e o valor do seu salário atual, calcular e imprimir o novo salário após o aumento. #include <stdio.h> #include <stdlib.h> int main() { //declaração de variáveis int cod; float salario_atual, salario_novo; //leitura dos dados printf ("Digite o salario atual do funcionario: "); scanf ("%f", &salario_atual); printf ("Digite seu codigo: "); scanf ("%d", &cod); //teste e cálculo do salário switch (cod) { case 1: { salario_novo = salario_atual*1.5; printf ("Seu novo salario eh: %.2f.", salario_novo); } break; case 2: { salario_novo = salario_atual*1.3; printf ("Seu novo salario eh: %.2f.", salario_novo); } break; case 3: { salario_novo = salario_atual*1.2; printf ("Seu novo salario eh: %.2f.", salario_novo); } break; default: printf ("Codigo invalido!"); } return 0; } 8) Desenvolver um algoritmo para ler o valor inteiro da idade de uma pessoa e imprimir uma das mensagens: se idade < 13: Criança, se 13 < idade < 20: Adolescente, se 20 < idade < 60: Adulto e se idade > 60: Idoso. #include <stdio.h> #include <stdlib.h> int main() { //declaração de variáveis int idade; //leitura de dados printf ("Digite uma idade: "); scanf ("%d", &idade); //comparação e impressão da fase da vida correspondente à idade if (idade < 0) { printf ("Nao existe idade negativa!"); } else { if (idade < 13) { printf ("Crianca"); } else { if (idade <20) { printf ("Adolescente"); } else { if (idade <60) { printf ("Adulto"); } else { printf ("Idoso"); } } } } return 0; } 9) Elaborar um algoritmo para ler o código de um produto e informar a sua origem: a) Código do produto entre 1 e 20: Europa b) Código do produto entre 21 e 40: Ásia c) Código do produto entre 41 e 60: América d) Código do produto entre 61 e 80: África e) Código do produto maior que 80: Paraguai #include <stdio.h> #include <stdlib.h> int main() { //declaração de variáveis int cod; //leitura de dados printf ("Digite o codigo do produto: "); scanf ("%d", &cod); //comparação e impressão do local correspondente ao código if (cod < 1) { printf ("Nao existe esse codigo!"); } else { if (cod <= 20) { printf ("Europa");} else { if (cod <= 40) { printf ("Asia"); } else { if (cod <= 60) { printf ("America"); } else { if (cod <= 80) { printf ("Africa"); } else { printf ("Paraguai"); } } } } } return 0; } 10) Para auxiliar os vendedores de uma loja na orientação aos clientes sobre as diversas formas de pagamento, desenvolver um algoritmo para: a) Imprimir o seguinte menu: Forma de pagamento: 1. A vista. 2. Cheque para trinta dias. 3. Em duas vezes. 4. Em três vezes. 5. Em quatro vezes. 6. A partir de cinco vezes. Entre com sua opção: b) Ler o código da opção de pagamento. c) Imprimir uma das mensagens de acordo com a opção lida: Opção = 1: Desconto de 20% Opção = 2, 3 ou 4: Mesmo preço a vista Opção = 5: Juros de 3% ao mês Opção = 6: Juros de 5% ao mês Opção <1 ou opção >6: Opção inválida #include <stdio.h> #include <stdlib.h> int main() { //Declaracao da variavel int cod; //Impressao do menu, parte a) do exercicio printf ("Forma de pagamento:\n1. A vista.\n2. Cheque para trinta dias.\n"); printf ("3. Em duas vezes.\n4. Em tres vezes.\n5. Em quatro vezes.\n"); printf ("6. A partir de cinco vezes.\n\nEntre com sua opcao: "); //Leitura do codigo, parte b) do exercicio scanf ("%d", &cod); //Parte c) do exercicio switch (cod) { case 1: printf ("Desconto de 20%%"); break; case 2: printf ("Mesmo preco a vista"); break; case 3:printf ("Mesmo preco a vista"); break; case 4:printf ("Mesmo preco a vista"); break; case 5: printf ("Juros de 3%% ao mes"); break; case 6: printf ("Juros de 5%% ao mes"); break; default: printf ("Opcao invalida!"); } return 0; } Segunda Lista (Slide 44) 1) Faça um programa para ler dois número inteiros, faça a divisão do primeiro pelo segundo (se o segundo for diferente de zero). #include <stdio.h> #include <stdlib.h> int main() { //declaração de variáveis float num1, num2, resposta; //leitura de dados printf("Digite o primeiro numero: "); scanf ("%f", &num1); printf("Digite o segundo numero: "); scanf ("%f", &num2); //comparação e cálculo da divisão if (num2 != 0) { resposta = num1/num2; printf ("%.2f dividido por %.2f eh %.2f.", num1, num2, resposta); } else { printf ("Nao existe divisao por zero!"); } return 0; } 2) Faça um programa para ler dois números reais e verificar se ambos são maiores que zero. Caso positivo, informar “Valores são válidos” . Caso contrário, informar “Valores inválidos”. #include <stdio.h> #include <stdlib.h> int main() { //declaração de variáveis float num1, num2; //leitura de dados printf("Digite o primeiro numero: "); scanf ("%f", &num1); printf("Digite o segundo numero: "); scanf ("%f", &num2); //comparação if (num1 > 0 && num2 > 0) { printf ("Valores sao validos"); } else { printf ("Valores invalidos"); } return 0; } 3) Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um programa que calcule seu peso ideal, utilizando as seguintes fórmulas: para homens: (72.7*h)-58 para mulheres: (62.1*h)-44.7 #include <stdio.h> #include <stdlib.h> int main() { //declaração de variáveis int sexo; float peso, altura; //leitura de dados printf ("Digite sua altura: "); scanf ("%f", &altura); printf ("Digite seu sexo:\n1 para masculino\n2 para feminino\n"); scanf ("%d", &sexo); //comparação e cálculo do peso if (sexo == 1) { peso = (72.7*altura)-58; } else { if (sexo == 2) { peso = (62.1*altura)-44.7; } else { printf ("Sexo não foi informado adequadamente!"); peso = -1; } } if (peso != -1) { printf ("Seu peso ideal eh: %.2f", peso); } return 0; } 4) Faça um programa que leia 3 comprimentos (x,y e z) e responda se eles formam um triângulo, ou seja, se x < y + z e y < x + z e z < x + y. #include <stdio.h> #include <stdlib.h> int main() { //declaração de variáveis float x, y, z; //leitura de dados printf("Digite o primeiro comprimento: "); scanf ("%f", &x); printf("Digite o segundo comprimento: "); scanf ("%f", &y); printf("Digite o terceiro comprimento: "); scanf ("%f", &z); //comparação if (x < y+z && y < x+z && z < x+y) { printf ("Os comprimentos formam um triangulo."); } else { printf ("Os comprimentos nao formam um triangulo."); } return 0; } 5) Fazer um algoritmo para ler dois números e um dos símbolos das operações: +, -, * e /. Imprimir o resultado da operação efetuada sobre os números lidos. Exercício 6 da lista anterior. 6) Faça um programa para ler um caracter e imprimir as seguintes mensagens, segundo o caso: *Sinal de Menor *Sinal de maior *Sinal de Igual *Outro caracter #include <stdio.h> #include <stdlib.h> int main() { //declaração de variáveis char caracter; //leitura de dados printf ("Digite um caracter: "); scanf ("%c", &caracter); //teste switch (caracter) { case '<': printf ("Sinal de Menor"); break; case '>': printf ("Sinal de Maior"); break; case '=': printf ("Sinal de Igual"); break; default: printf ("Outro caracter"); } return 0; } 7) Elabore um programa que, dada a idade de um nadador, classifique-o em uma das seguintes categorias: *infantil A = 5 - 7 anos *infantil B = 8 - 10 anos *juvenil A = 11 - 13 anos *juvenil B = 14 - 17 anos *adulto = 18 - 30 anos *sênior = maiores de 30 anos #include <stdio.h> #include <stdlib.h> int main() { //declaração de variáveis int idade; //leitura de dados printf ("Digite a idade do nadador: "); scanf ("%d", &idade); //comparação if (idade < 5) { printf ("Idade invalida!"); } else { if (idade < 8) { printf ("Infantil A"); } else { if (idade < 11) { printf ("Infantil B"); } else { if (idade < 14) { printf ("Juvenil A"); } else { if (idade < 18) { printf ("Juvenil B"); } else { if (idade < 31) { printf ("Adulto"); } else { printf ("Senior"); } } } } } } return 0; }
Compartilhar