Baixe o app para aproveitar ainda mais
Prévia do material em texto
Exercicios 1) Construa um programa que, tendo como dados de entrada dois pontos quaisquer no plano, P(x1,y1) e Q(x2,y2), escreva a distância entre eles. A fórmula que efetua tal cálculo é: Código fonte : #include<iostream> #include<math.h> main() { float x1,x2,y1,y2,D,P,Q; printf ("Digite as coordenadas doponto P "); scanf ("%f" "%f", &x1, &y1); printf ("Digite as coordenadas do ponto Q"); scanf ("%f" "%f", &x2, &y2); D=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));printf ("Distância entre P e Q= %f\n",D); system ("pause"); } Testando o Programa * Teste 1: Digite as coordenadas do ponto P 2 3 Digite as coordenadas do ponto Q 5 6DistÔncia entre P e Q= 4.242640 Pressione qualquer tecla para continuar. . . * Teste 2: Digite as coordenadas do ponto P 3 7 Digite as coordenadas do ponto Q 9 2 DistÔncia entre P e Q= 7.810250Pressione qualquer tecla para continuar. . . * Teste 3: Digite as coordenadas do ponto P 10 18 Digite as coordenadas do ponto Q 32 25 DistÔncia entre P e Q= 23.086792 Pressione qualquer tecla para continuar. . . 2) Receber o salário de um trabalhador e o valor da prestação de um empréstimo, se a prestação for maior que 20% do salário imprima: Empréstimo não concedido, caso contrário imprima: Empréstimo concedido Código fonte : #include <iostream> main() { double s,p; printf ("Informe os valores do salario e da prestacao:"); scanf ("%1f" "%1f",&s,&p); if (p>s*.20) printf ("Emprestimo negado\n"); else printf ("Emprestimo concedido\n"); system("pause"); } Teste 1: Informe os valores do salario e da prestacao:1000 20 Emprestimo concedido Pressione qualquer tecla para continuar. . . Teste 2: Informe os valores do salario e da prestacao:100 1 Emprestimo negado Pressione qualquer tecla para continuar. . . Teste 3: Informe os valores do salario e da prestacao:1600 200 Emprestimo concedido Pressione qualquer tecla para continuar. . .} 3) Faça um programa que receba o valor dos catetos de um triângulo retângulo, calcule e mostre o valor da hipotenusa. Código fonte: #include<iostream> #include<math.h> main() {float a,b,h; printf("Informe o valor dos catetos"); scanf ("%f %f", &a, &b); h=sqrt(a*a+b*b); printf("hipotenusa= %.2f\n",h); system("pause"); } Teste1: Informe o valor dos catetos: 3 4 hipotenusa= 5 Pressione qualquer tecla para continuar. . . Teste 2: Informe o valor dos catetos4 6 hipotenusa= 7.21 Pressione qualquer tecla para continuar. . . Teste 3: Informe o valor dos catetos5 12 hipotenusa= 13.00 Pressione qualquer tecla para continuar. . . 4) Elabore um programa que leia o raio de uma esfera e calcule a área e o volume. Código fonte #include<iostream> #include<math.h> main() { double r; printf("Digite o valor do raio da esfera"); scanf("%lf", &r); printf("area= %.2lf\n", 4*3.14*r*r); printf("volume= %.2lf\n", (4*3.14*r*r*r)/3); system("pause"); } Teste1: Digite o valor do raio da esfera15 area= 2826.00 volume= 14130.00 Pressione qualquer tecla para continuar. . . Teste 2: Digite o valor do raio da esfera18 area= 4069.44 volume= 24416.64 Pressione qualquer tecla para continuar. . . Teste 3: Digite o valor do raio da esfera260 area= 8490.56 volume= 73584.85 Pressione qualquer tecla para continuar. . . 5) Faça um programa que receba o salário de um funcionário e o percentual de aumento, calcule e mostre o valor do aumento e o novo salário. Código fonte #include<iostream> #include<math.h> main() {double s,p; printf ("Informe o salario:"); scanf ("%lf",&s); printf ("Informe o percentual de aumento"); scanf ("%lf",&p); printf ("Valor do aumento= %lf\n", (p*100)/s); printf ("Novo salario= %lf\n", (p*100)/s+s); system("pause"); } Teste 1: Informe o salario:1200 Informe o percentual de aumento20 Valor do aumento= 1.666667 Novo salario= 1201.666667 Pressione qualquer tecla para continuar. . . Teste 2: Pressione qualquer tecla para continuar. . . Informe o salario:1100 Informe o percentual de aumento70 Valor do aumento= 6.363636 Novo salario= 1106.363636 Pressione qualquer tecla para continuar. . . Teste 3: Informe o salario:1300 Informe o percentual de aumento210 Valor do aumento= 153846 Novo salario= 153846 Pressione qualquer tecla para continuar. . . 6) Desenvolva um programa que calcule o consumo de combustível de um automóvel em uma determinada viagem. O programa deve pedir que o usuário informe: Quantos quilômetros têm a viagem, Quantos quilômetros o carro faz com um litro, O preço do litro do combustível O processamento do algoritmo deve mostrar: Quantos litros de combustível serão gastos com a viagem e Quanto dinheiro será gasto com combustível. Código fonte #include<iostream> #include<math.h> main() { double kp, kl, pc; printf("Informe distancia"); scanf("%lf", &kp); printf("Digite quantos quilometros o carro faz com um litro"); scanf("%lf", &kl); printf("digite o preço do litro de combustivel"); scanf("%lf", &pc); printf("total de consumo de combustivel=%.3lf\n", (kp/kl)*pc); printf("valor total gasto com combustivel=%.3lf\n",(kp/kl)*pc); system("pause"); } Teste 1: Informe distancia70 Digite quantos quilometros o carro faz com um litro10 digite o preþo do litro de combustivel3.15 total de consumo de combustivel=22.050 valor total gasto com combustivel=22.050 Pressione qualquer tecla para continuar. . . Teste 2: Informe distancia120 Digite quantos quilometros o carro faz com um litro11 digite o preþo do litro de combustivel3.20 total de consumo de combustivel=34.909valor total gasto com combustivel=34.909 Pressione qualquer tecla para continuar. . . 7) Determine se um determinado ano lido é bissexto. Sendo que um ano é bissexto se for divisível por 400 ou se for divisível por 4 e não for divisível por 100. ex: 1988, 1992, 1996. Código fonte #include<iostream> main() {int ano; printf("Informe o ano"); scanf("%i",&ano); if(ano%4==0 and (ano%100!=0)or(ano%400==0)) printf("este ano he bixesto\n"); else printf("este ano nao he bixesto"); system("pause"); } Teste 1: Informe o ano1984 este ano he bixesto Pressione qualquer tecla para continuar. . . Teste 2: Informe o ano2007 este ano nao he bixestoPressione qualquer tecla para continuar. . . teste 3: Informe o ano2012 este ano he bixesto Pressione qualquer tecla para continuar. . . 8) Faça um programa que receba uma medida em pés, e mostre a conversão para polegadas, jardas e milhas. Sabe-se que: 1 pé = 12 polegadas , 1 jarda = 3 pés 1 milha=1760 jardas Código fonte #include<iostream> #include<math.h> main () {double pes; printf ("Escreva a medida dos pes:"); scanf ("%lf", &pes); printf ("Conversor de pes para polegadas=%lf\n",pes*12); printf ("Conversor de pes para jardas=%lf\n", pes*3); printf ("Conversor de pes para milhas=%lf\n", pes*5280); system ("pause"); } Teste 1: Escreva a medida dos pes:15 Conversor de pes para polegadas=180.000000 Conversor de pes para jardas=45.000000 Conversor de pes para milhas=79200.000000 Pressione qualquer tecla para continuar. . . Teste 2: Escreva a medida dos pes:82 Conversor de pes para polegadas=984.000000 Conversor de pes para jardas=246.000000 Conversor de pes para milhas=432960.000000 Pressione qualquer tecla para continuar. . . Teste 3: Escreva a medida dos pes:60 Conversor de pes para polegadas=720.000000 Conversor depes para jardas=180.000000 Conversor de pes para milhas=316800.000000 Pressione qualquer tecla para continuar. . . 9) Ler uma data de nascimento de uma pessoa fornecida através de três dados inteiros: Dia, Mês e Ano. Testar a validade desta data para saber se esta é uma data válida. Testar se o dia fornecido é um dia válido: dia > 0, dia <= 28 para o mês de fevereiro (29 se o ano for bissexto), dia <= 30 em abril, junho, setembro e novembro, dia <= 31 nos outros meses. Testar a validade do mês: mês > 0 e mês < 13. Testar a validade do ano: ano <= ano atual (use uma constante definida com o valor igual a 2014). Imprimir: "data válida" ou "data inválida" no final da execução do programa. Código fonte #include <iostream> main() { int d,m,a; printf ("informe o dia:"); scanf ("%i", &d); printf ("informe o mes:"); scanf ("%i", &m); printf ("Informe o ano:"); scanf ("%i", &a); if(a>2016 and a<0) printf("\n\nData invalida! \n\n\n\n\n"); else if (a>12 and a<0) printf ("\n\nData invalida! \n\n\n\n\n"); else if ((m==4 or m==6 or m==9 or m==11) and (d<1 or d>30)) printf ("\n\ndata invalida! \n\n\n\n\n"); else if ((m==1 or m==3 or m==5 or m==7 or m==8 or m==10 or m==12) and (d<1 or d>31)) printf ("\n\nData invalida! \n\n\n\n\n"); else if ((m==2) and (d<1 and d>29)) printf ("\n\nData invalida! \n\n\n\n\n"); else if ((m==2) and (a%400!=0) and (a%4!=0 or a%100==0) and (d==29)) printf ("\n\nData invalida! \n\n\n\n\n"); else printf ("\n\nData valida! \n\n\n\n\n"); system ("pause"); } Teste 1: informe o dia:29 informe o mes:02 Informe o ano:2011 Data invalida! Pressione qualquer tecla para continuar. . . Teste 2: informe o dia:16 informe o mes:06 Informe o ano:2006 Data valida! Pressione qualquer tecla para continuar. . . Teste 3: informe o dia:32 informe o mes:10 Informe o ano:2008 Data invalida! Pressione qualquer tecla para continuar. . . 10) O índice de Massa Corporal (IMC) é uma medida utilizada para medir a obesidade adotada pela Organização Mundial de Saúde (OMS). É o padrão internacional para avaliar o grau de obesidade. O sobrepeso e a obesidade, indicados pelo IMC, são fatores de risco para doenças tais como a hipertensão arterial, diabetes, além de outras patologias consideradas de alto risco para a Saúde Pública O cálculo do IMC é feito dividindo a massa (em quilogramas) pela altura (em metros) ao quadrado. Resultado (IMC) Situação Abaixo de 17 Muito abaixo do peso Entre 17 e 18,49 Abaixo do peso Entre 18,5 e 24,99 Peso normal Entre 25 e 29,99 Acima do peso Entre 30 e 34,99 Obesidade I Entre 35 e 39,99 Obesidade II (severa) Acima de 40 Obesidade III (mórbida) Faça um programa que: a) Leia a massa e a altura de uma pessoa; b) Calcule e imprima o valor do IMC; c) Com o resultado do IMC calculado, verifique a situação desta pessoa, isto é, a faixa que ela se encontra; d) Se a pessoa estiver com o IMC normal, envie uma mensagem parabenizando-a; e) Caso a pessoa esteja com o IMC acima do normal, calcule imprima quantos quilos ela deverá perder; f) Caso a pessoa esteja com o IMC abaixo do normal, calcule e imprima quantos quilos ela deverá ganhar. Código fonte #include <iostream> #include <math.h> main() { float IMC,a,p; printf("Informe sua altura"); scanf ("%f", &a); printf("informe seu peso"); scanf("%f", &p); IMC=p/(a*a); printf ("seu imc e: %.2f\n",IMC); if (IMC<17) printf ("VOce esta muito abaixo do peso\n") and printf ("Voce precisa ganhar %.2f kg \n", (18.5*(a*a)-p)); if (IMC>=17 and IMC<=18.49) printf ("Voce esta abaixo do peso \n")and printf ("Voce precisa ganhar %.2f kg \n",(18.5*(a*a)-p)); if (IMC>=18.5 and IMC <=24.49) printf ("Seu e normal \n") and printf ("Parabéns ! seu peso e ideal \n"); if (IMC>=25 and IMC <=29.99) printf ("Voce esta acima do peso \n") and printf("Voce precisa perder %.2f kg \n",(p-25*(a*a))); if (IMC>=30 and IMC <=34.99) printf ("obsidade I \n") and printf("Voce precisa perder %.2f kg \n", (p-25*(a*a))); if (IMC>=35 and IMC <=39.99) printf ("Obesidade II(severa) \n") and printf ("Voce precisa perder peso %2f kg \n",(p-25*(a*a))); if (IMC>=40) printf ("Obesidade III (Morbita) \n") and printf ("Voce precisa perder peso %.2f kg \n", (p-25*(a*a))); system ("pause"); } Teste 1: Informe sua altura166 informe seu peso78 seu imc e: 28,36 Voce esta muito abaixo do peso Voce precisa ganhar 509708.00 kg Pressione qualquer tecla para continuar. . . Teste 2: Informe sua altura180 informe seu peso60 seu imc e: 18,51 Voce esta muito abaixo do peso Voce precisa ganhar 599340.00 kg Pressione qualquer tecla para continuar. . Teste 3: nforme sua altura175 informe seu peso75 seu imc e: 20,83 Voce esta muito abaixo do peso Voce precisa ganhar 566487.50 kg Pressione qualquer tecla para continuar. . 11) Faça um programa que calcule e mostre a tabuada de um número digitado pelo usuário. Código fonte #include<iostream> #include<math.h> main () {int n; printf ("Digite um numero entre 1 e 10:"); scanf ("%i", &n); printf ("%i\n", n*1); printf ("%i\n", n*2); printf ("%i\n", n*3); printf ("%i\n", n*4); printf ("%i\n", n*5); printf ("%i\n", n*6); printf ("%i\n", n*7); printf ("%i\n", n*8); printf ("%i\n", n*9); printf ("%i\n", n*10); system ("pause"); Teste 1: Digite um numero entre 1 e 10:5 5 10 15 20 25 30 35 40 45 50 Pressione qualquer tecla para continuar. . . Teste 2: Digite um numero entre 1 e 10:1 1 2 3 4 5 6 7 8 9 10 Pressione qualquer tecla para continuar. . . Teste 3: Digite um numero entre 1 e 10:8 8 16 24 32 40 48 56 64 72 80 Pressione qualquer tecla para continuar. . . 12) Faça um programa que receba o salário de n funcionários e, usando a tabela a seguir calcule e mostre o novo salário. Faixa Salarial % de aumento Até R$800,00 12% R$800,01, até R$1.000,00 10% R$1.000,01, até R$1.200,00 9%, Acima de R$1.200,00 5% . Código fonte #include<iostream> main () {double s; printf ("Digite o salario de um funcionario:"); scanf ("%lf", &s); if (s<=800) printf ("Novo salario= %lf \n",(s*.12)+s); else if (s>800 && s<=1000) printf ("Novo salario= %lf \n",(s*.10)+s); else if (s>1000 && s<=1200) printf ("Novo salario= %lf \n",(s*.09)+s); else if (s>1200) printf ("Novo salario= %lf \n",(s*.05)+s); system ("pause"); } Teste 1: Digite o salario de um funcionario:1200 Novo salario= 1308.000000 Pressione qualquer tecla para continuar. . . Teste 2: Digite o salario de um funcionario:1200 Novo salario= 1308.000000 Pressione qualquer tecla para continuar. . . Teste 3: Digite o salario de um funcionario:1400 Novo salario= 1470.000000 Pressione qualquer tecla para continuar. . . 13) Escreva um programa que calcule o salário semanal de um trabalhador. A entrada de dados são o número de horas trabalhadas na semana e o valor da hora. Até 40 horas por semana não se acrescenta nenhum adicional. Acima de 40 horas e até 60 horas há um bônus de 50% para essas horas. Acima de 60 horas há um bônus de 70% para essas horas Código fonte #include<iostream>main () {double n,v; printf ("Informe o valor da hora trabalhada:"); scanf ("%lf", &v); printf ("Informe o numero de horas trabalhadas:"); scanf ("%lf", &n); if (n>40 && n<=60) printf ("Salario= %lf \n", n*((v*.5)+v)); else if (n>60) printf ("Salario= %lf \n", n*((v*.7)+v)); system ("pause"); } Teste 1: 14) Elabore um programa que leia número inteiro positivo n e calcule o seu fatorial ( n! ). Onde n! = n.(n-1).(n-2) ... 1; por definição 0!=1. Exemplo: 5! = 5.4.3.2.1 = 120. Código fonte #include<iostream> main () {int n, x=1; double fatorial=1; printf ("Digite um numero inteiro positivo:"); scanf ("%i", &n); x=1; if (n<=0) printf ("Fatorial= %i \n", x=1); else while (n>=1) {fatorial= fatorial*n; printf ("%i! = %lf \n", n, fatorial); n=n-1; } system ("pause"); } Teste 1 : Digite um numero inteiro positivo:15 15! = 15.000000 14! = 210.000000 13! = 2730.000000 12! = 32760.000000 11! = 360360.000000 10! = 3603600.000000 9! = 32432400.000000 8! = 259459200.000000 7! = 1816214400.000000 6! = 10897286400.000000 5! = 54486432000.000000 4! = 217945728000.000000 3! = 653837184000.000000 2! = 1307674368000.000000 1! = 1307674368000.000000 Pressione qualquer tecla para continuar. . . Teste 2 : Digite um numero inteiro positivo:7 7! = 7.000000 6! = 42.000000 5! = 210.000000 4! = 840.000000 3! = 2520.000000 2! = 5040.000000 1! = 5040.000000 Pressione qualquer tecla para continuar. . . Teste 3: Digite um numero inteiro positivo:4 4! = 4.000000 3! = 12.000000 2! = 24.000000 1! = 24.000000 Pressione qualquer tecla para continuar. . . 16) Faça um programa para resolver a equação abaixo: Calcule e imprima na tela o valor de n: Obs: este cálculo poderá demorar um pouco, dependendo da velocidade de seu computador!! Código fonte #include<iostream> main() {double n, s=0, i=1; printf ("Informe o valor de n:"); scanf ("%lf", &n); while (s<=25) {s=s+1/25; s=s+1; } printf ("Resultado= %lf \n",s); system ("pause"); } Teste 1: Digite um numero inteiro positivo:4 4! = 4.000000 3! = 12.000000 2! = 24.000000 1! = 24.000000 Pressione qualquer tecla para continuar. . . Teste 2: Informe o valor de n:6 Resultado= 26.000000 Pressione qualquer tecla para continuar. . . Teste 3: Informe o valor de n:9 Resultado= 26.000000 Pressione qualquer tecla para continuar. . . 19) Dizemos que um número inteiro positivo é triangular se ele é produto de três números naturais consecutivos. Exemplo: 120 é triangular pois 4.5.6 = 120. Dado um número n , verificar se ele é um número triangular Código fonte #include <stdio.h> #include <stdlib.h> int main () { int cont, num; printf("Entre com um número: "); scanf("%d", &num); for(cont=1; num < cont*(cont+1)*(cont+2); cont++); if (cont*(cont+1)*(cont+2) == num) printf("O numero %d e perfeito\n"); else printf("O numero %d nao e perfeito\n"); system("pause"); return 0; } Teste 1: Entre com um n·mero: 6 O numero 2293568 e perfeito Pressione qualquer tecla para continuar. . . Teste 2: Entre com um n·mero: 45 O numero 2293568 nao e perfeito Pressione qualquer tecla para continuar. . . Teste 3: Entre com um n·mero: 45 O numero 2293568 nao e perfeito Pressione qualquer tecla para continuar. . .
Compartilhar