Baixe o app para aproveitar ainda mais
Prévia do material em texto
DISCIPLINA: Linguagem e Técnicas de Programação CARGA HORÁRIA: 75 horas / aula ANO / SEMESTRE: 2017/1o PROFESSOR: Cleids Maria Lisbôa Cardoso Soares Aluno: RA: Assinale com um X os nomes de variáveis validos em C. (X) abc ( ) 3abc (X) a ( ) 123a ( ) –a (X) acd1 ( ) -_ad ( ) A&a ( ) guarda-chuva (X) A123 (X) Aa (X) guarda_chuva ( ) ABC DE ( ) etc. (X) b316 ( ) int ( ) foat ( ) char Classifique os conteúdos das variáveis abaixo de acordo com seu tipo, assinalando com I os dados numéricos do tipo Inteiro, com R os dados numéricos do tipo Real e com C os dados do tipo caractere (C) `laranja` (R) 5.7 (I) 1012 (I) -49 (I) +342 (R) -5.69 (C) `L` (C) “casa” (R) 0.00001 Assinalar os comandos de atribuição considerados inválidos observando que: char cor; int soma, num; float salario; a) ( ) soma = num + 2; b) (X) cor = soma; c) ( ) num = soma; d) ( ) cor = `p`; e) (X) num = `p`; f) (X) soma + 2 = num; g) () soma = (num = 2); h) ( ) salario = 5.000; i) ( ) salario = 150; j) (X) salario = `a`; Analise o programa em C abaixo e descreva o que ele faz O programa acima pede para o usuário inserir 4 notas e imprime a média média aritmética Elabore o algoritmo para cada uma das questões abaixo, implemente-o na linguagem C e teste-o. Fornecidos o ano de nascimento de uma pessoa e o ano atual, calcule e mostre a idade da pessoa e quantos anos essa pessoa terá em 2015. #include <stdio.h> int main(){ int anoAtual; int anoNascimento; int idade2015; printf("Digite o ano atual:\n"); scanf("%d", &anoAtual); printf("Digite o ano nascimento:\n"); scanf("%d", &anoNascimento); printf("idade atual: %d \n",(anoAtual-anoNascimento)); idade2015 = 2015 - anoNascimento ; if(idade2015 < 0){ printf("A pessoa nasceu depois de 2015. \n"); }else{ printf("Idade em 2015: %d \n",idade2015); } return 0; } Calcular e apresentar o valor do volume de uma lata de óleo, utilizando a fórmula: vol = 3.14159 * R2*altura. Sabe-se que são fornecidos os valores do raio e a altura da lata. #include <stdio.h> #define PI 3.14159 int main(){ float raio, altura, volume; printf("Digite o raio do cilindro:\n"); scanf("%f", &raio); printf("Digite a altura do cilindro:\n"); scanf("%f", &altura); volume = PI*raio*raio*altura; printf("Volume do cilindro : %0.4f\n", volume); return 0; } Sabe-se que para iluminar de maneira correta os cômodos de uma casa, para cada m2, deve-se usar 15 W de potência. Sendo fornecidas as dimensões de um cômodo (retangular em metros), calcule e exiba a sua área (em m2) e a potência de iluminação que deverá ser utilizada. #include <stdio.h> #include <locale.h> #define POTENCIA_POR_METRO_QUADRADO 15 int main(){ setlocale(LC_ALL,""); float base, altura, potencia, area,potencia_necessaria; printf("Digite a base:\n"); scanf("%f", &base); printf("Digite a altura:\n"); scanf("%f", &altura); area= base*altura; potencia_necessaria = area*POTENCIA_POR_METRO_QUADRADO; printf("Área do quarto: %.2f\n", base); printf("Potência necessária: %.2f\n",potencia_necessaria); return 0; } Entrar com um ângulo em graus e exibir o valor do seu seno, co-seno e tangente. Dica: usar a biblioteca math.h para as funções que calcular seno, cosseno e tangente. Obs.: Elas recebem o valor do ângulo em radianos. #include <stdio.h> #include <math.h> #define PI 3.14159 int main(){ float angulo; printf("Digite o angulo em graus:\n"); scanf("%f", &angulo); //converte de graus em radioanos angulo = (angulo*PI)/180; printf("Seno %f:\n",asin(angulo)); printf("Cosseno %f:\n",acos(angulo)); printf("Tangente %f:\n",atan(angulo)); return 0; } e) Uma pessoa resolveu fazer uma aplicação em uma poupança programada. Calcule e exiba o rendimento que ela obterá, sabendo que deverá ser fornecido o valor constante da aplicação mensal, a taxa e o número de meses. A fórmula usada para este cálculo é: valor acumulado = P * (((1 + i)n – 1) / i), onde i = taxa; P = aplicação mensal; n = número de meses. Dica: usar a biblioteca math.h. #include <stdio.h> int main(){ float valor; float taxa; float meses; float vlAcumulado; printf("Digite o valor aplicado:\n"); scanf("%f", &valor); printf("Digite o total de meses:\n"); scanf("%f", &meses); printf("Digite o valor da taxa:\n"); scanf("%f", &taxa); /* Trecho removido do exercicio valor acumulado = P * (((1 + i)n – 1) / i), onde i = taxa; P = aplicação mensal; n = número de meses. */ vlAcumulado = (((1 + taxa)*meses)-1)/taxa; printf("Valor acumulado %f:\n",vlAcumulado); return 0; } Escreva um programa que solicite um determinado número de segundos e, em seguida, indique quantas horas, minutos e segundos esse valor representa. Ex: 5000 segundos representam 1h 23min 20s. #include <stdio.h> int main(){ long segundos, horas, minutos, tempo; printf("\nDigite a quantidade de tempo em segundos : \n"); scanf("%ld", &segundos); horas = segundos / 3600; tempo = segundos % 3600; minutos = tempo / 60; segundos = tempo % 60; printf("\n\nTempo: %ld hr %ld min %ld seg", horas, minutos, segundos); return 0; } Dados o valor do salário mínimo, o número de horas trabalhadas, o número de dependentes e a quantidade de horas extras trabalhadas por um funcionário, calcular e exibir o salário a receber do funcionário de acordo com as regras a seguir: O valor da hora trabalhada é igual a 1/10 do salário mínimo; O salário do mês é igual ao número de horas trabalhadas multiplicado pelo valor da hora trabalhada; O salário bruto é igual ao salário do mês mais o valor do salário família recebido por cada dependente e mais o valor total recebido pelas horas extras trabalhadas; O salário família é 5% do salário mínimo; O valor de uma hora extra trabalhada é igual a uma vez e meia o valor da hora trabalhada; O salário a receber do funcionário (salário líquido) é igual ao salário bruto menos o IRRF; O valor do imposto de renda retido na fonte (IRRF) é de 10% do salário bruto. #include <stdio.h> #include <locale.h> int main(){ setlocale(LC_ALL,""); float vlSalarioMinimo, qtdHorasTrabalhadasMes, qtdHorasExtraTrabalhadas, qtdDependentes; float vlHoraTrabalhada, vlSalarioMes, vlHorasExtraTrabalhadas, vlSalarioBruto, vlSalarioFamilia, vlSalarioliquido, vlIRRF; printf("\nDigite o valor do salário mínimo : \n"); scanf("%f", &vlSalarioMinimo); printf("\nDigite a quantidade de horas trabalhas (mês) : \n"); scanf("%f", &qtdHorasTrabalhadasMes); printf("\nDigite a quantidade de horas extra trabalhas : \n"); scanf("%f", &qtdHorasExtraTrabalhadas); printf("\nDigite a quantidade de dependentes : \n"); scanf("%f", &qtdDependentes); vlHoraTrabalhada = vlSalarioMinimo / 10; vlSalarioMes = vlHoraTrabalhada * qtdHorasTrabalhadasMes; vlSalarioFamilia = vlSalarioMinimo * 0.05; vlHorasExtraTrabalhadas = vlHoraTrabalhada * 1.5; vlSalarioBruto = vlSalarioMes + (vlSalarioFamilia * qtdDependentes) + ( vlHorasExtraTrabalhadas * qtdHorasExtraTrabalhadas ); vlIRRF = vlSalarioBruto * 0.1; vlSalarioliquido = vlSalarioBruto - vlIRRF; printf("\n\n Hora Trabalhada:%.2f ", vlHoraTrabalhada); printf("\n\n Salário mês: %.2f", vlSalarioMes); printf("\n\n Salário familia: %.2f", vlSalarioFamilia); printf("\n\n Valor hora extra: %.2f", vlHorasExtraTrabalhadas); printf("\n\n IRRF: %.2f", vlIRRF); printf("\n\n Salário liquido: %.2f", vlSalarioliquido); printf("\n\n"); return 0; } Elabore o algoritmo para cada uma das questões abaixo, implemente-o na linguagem C e teste-o. Calcule e imprima a área de um triângulo sabendo que são fornecidas a sua base e altura. Se a base ou a altura fornecidas forem negativas seu programa deverá mostrar uma mensagem adequada ao usuário. #include <stdio.h> #include <locale.h> int main(){ setlocale(LC_ALL,""); float base, altura; float area; int sair = 0; do{ printf("\nDigite a base do triângulo : "); scanf("%f", &base); if(base <=0){ printf("\n O valor da base deve ser maior que 0."); sair = 0; continue; } printf("\nDigite a altura do triângulo : "); scanf("%f", &altura); if(base <=0){ printf("\n O valor da altura deve ser maior que 0."); sair = 0; continue; } if(base > 0 && altura > 0){ sair = 1; } }while(sair == 0); area= (base * altura ) / 2; printf("\n\n Área do triângulo : %.2f"); printf("\n\n"); } A nota de um aluno em uma disciplina é a média aritmética das notas de suas duas avaliações parciais. Se a média do aluno for maior ou igual a cinco, o aluno está aprovado. Caso contrário, o aluno está reprovado. Faça um programa para ler as notas das duas avaliações parciais e calcular a média de um aluno em uma determinada disciplina e informar o seu estado final. O programa deverá exibir a seguinte frase: O aluno obteve média ... e está ... . #include <stdio.h> #include <locale.h> int main(){ setlocale(LC_ALL,""); float nota1, nota2; float media; char *aprovacao; printf("\nDigite a nota 1: "); scanf("%f", ¬a1); printf("\nDigite a nota 2: "); scanf("%f", ¬a2); media= (nota1 + nota2 ) / 2; if(media >= 5 ){ aprovacao = "aprovado"; }else{ aprovacao = "reprovado"; } printf("\n\n O aluno obteve média %.1f e está %s .", media,aprovacao); printf("\n\n"); } Dados os coeficientes de uma equação do segundo grau calcular e imprimir as raízes da equação. Caso a equação não possua raízes reais seu programa deve mostrar uma mensagem. #include<stdio.h> #include<math.h> #include <locale.h> int main(){ setlocale(LC_ALL,""); int a,b,c; float delta,x1,x2; printf("\n Digite o termo A da equação de 2 grau: "); scanf("%d",&a); printf("\n Digite o termo B da equação de 2 grau: "); scanf("%d",&b); printf("\n Digite o termo C da equação de 2 grau: "); scanf("%d",&c); if(a!=0) { delta=b*b-4*a*c; /* Calculo para achar o Delta */ if(delta>=0) { x1=(-b+sqrt(delta))/(2*a); /* Calculo para achar X' */ x2=(-b-sqrt(delta))/(2*a); /* Calculo para achar X" */ printf("\n\nAs raizes da equação de coeficientes %d,%d,%d são \n\nX1 = %f \nX2 = %f \n\n",a,b,c,x1,x2); }else{ printf("\n\nPara os coeficientes digitados a equação nao possui raizes reais \n"); } }else{ printf("\n\nPara os coeficientes digitados nao existe equação do segundo grau \n"); } return 0; } O cálculo do peso ideal de um homem (em quilos) é dado pela fórmula (72.7 * h) - 58, onde h é a altura em metros, ou seja, se uma pessoa tem 1m e 80 cm de altura, o valor de h é 1.8, e assim por diante. Baseado nesta fórmula faça um programa que receba a altura de um homem e seu peso. O programa vai calcular o peso ideal deste homem e comparar com o peso fornecido pelo usuário, imprimindo "Você está com o peso correto.", ou "Você está acima do peso ideal." ou "Você está abaixo do peso ideal.", caso o peso fornecido seja respectivamente igual, maior ou menor que o peso ideal calculado. #include <stdio.h> #include <locale.h> int main(){ setlocale(LC_ALL,""); float altura, peso; float pesoIdeal; char *mensagem; printf("\nDigite a altura: "); scanf("%f", &altura); printf("\nDigite o peso: "); scanf("%f", &peso); pesoIdeal = (72.7 * altura) - 58; if(peso > pesoIdeal ){ mensagem = "acima do peso ideal."; }else{ if(peso < pesoIdeal ){ mensagem = "abaixo do peso ideal."; }else{ mensagem = "com o peso correto."; } } printf("\n\n"); printf("Você está %s", mensagem); printf("\n\n"); return 0; } Faça um programa para receber três números inteiros: um representando um dia, outro representando um mês e um terceiro representando um ano d.C. O programa deverá decidir se juntos os três números formam uma data válida. #include <stdio.h> #include <stdbool.h> #include <locale.h> int main(){ setlocale(LC_ALL,""); int ano, mes, dia; bool isBissexto; int diaDoMes; char *mensagem; printf("\nDigite o ano d.C : "); scanf("%i", &ano); printf("\nDigite o mês: "); scanf("%i", &mes); printf("\nDigite o dia: "); scanf("%i", &dia); if (mes == 4 || mes == 6 || mes == 9 || mes == 11) { diaDoMes = 30; }else if (mes == 2){ bool isBissexto = (ano % 4 == 0 && ano % 100 != 0) || (ano % 400 == 0); if (isBissexto) diaDoMes = 29; else{ diaDoMes = 28; } } else{ diaDoMes = 31; } if(mes > 12 || mes < 1){ mensagem = "mês inválido"; }else{ if(dia > diaDoMes || dia < 1){ mensagem = "dia inválido"; }else{ mensagem = "data válida"; } } printf("\n\n"); printf("%s\n\n",mensagem); printf("%i/%i/%i", dia,mes, ano); printf("\n\n"); return 0; } Faça um programa que leia o valor de uma mercadoria, e depois o modo de pagamento, que pode ser “V” (à vista) ou “P” (à prazo). Se for “P”, o preço será acrescido de 10%, e o programa pedirá o número de prestações do financiamento, dividindo o valor já com acréscimo por este número, para saber (e imprimir) o valor de cada prestação. Se o modo de pagamento for “V”, haverá um desconto de 5%, e o programa vai mostrar o novo valor. Se o usuário não digitar “P” nem “V” para a forma de pagamento seu programa deverá mostrar uma mensagem indicando que uma opção inválida foi digitada. #include <stdio.h> #include <locale.h> int main(){ setlocale(LC_ALL,""); float valorMercadoria; char metodoPagamento; //V ou P int qtdParcelas; int isPrazo = 0; int isAvista = 0; float valorMercadoriaFinal; float valorParcel; char *mensagem; printf("\nDigite o valor do produdo: "); scanf("%f", &valorMercadoria); getchar(); do{ printf("\nDigite a método de pagamento : "); scanf ("%c", &metodoPagamento); getchar(); if( metodoPagamento == 'V' || metodoPagamento == 'v' ) { isAvista = 1; } if( metodoPagamento == 'P' || metodoPagamento == 'p' ) { isPrazo = 1; } if( isPrazo==0 && isAvista==0){ printf("As opções de pagamento são a 'P' (prazo) ou 'V' (a vista). \n\n"); } }while( isPrazo==0 && isAvista==0); if(isPrazo==1 ){ do{ printf("\nDigite a quantidade de parcelas : "); scanf ("%d", &qtdParcelas);getchar(); if( qtdParcelas < 1){ printf("As quantidade de parcelas deve ser maior que 0.\n\n"); } }while( qtdParcelas < 1); } if(isPrazo==1 ){ valorMercadoriaFinal = (valorMercadoria*110)/100; valorParcel = valorMercadoriaFinal/qtdParcelas; printf("Formar de pagamento : prazo\n"); printf("Quantidades de parcelas : %d\n", qtdParcelas); printf("Valor das parcelas : %f\n", valorParcel); printf("Valor total : %f\n", valorMercadoriaFinal); }else if(isAvista==1 ){ valorMercadoriaFinal = (valorMercadoria*95)/100; printf("Formar de pagamento : avista\n"); printf("Quantidades de parcelas : parcela única\n"); printf("Valor total : %f\n", valorMercadoriaFinal); } return 0; } Faça um programa para ler os comprimentos dos três lados de um suposto triângulo e determinar, caso formem um triângulo, se o mesmo é um triângulo equilátero, isósceles ou escaleno. #include <stdio.h> #include <locale.h> int main(){ setlocale(LC_ALL,""); int l1,l2,l3; do{ printf("\nDigite o lado 1 do triângulo : "); scanf("%d", &l1); printf("\nDigite o lado 2 do triângulo : "); scanf("%d", &l2); printf("\nDigite o lado 3 do triângulo : "); scanf("%d", &l3); if( (l1<=0) || (l1<=0) || (l1<=0) ){ printf("\n Todos os lados dever ser maior que 0.\n\n"); } }while((l1<=0) || (l2<=0) || (l3<=0)); if (l1 + l2 >= l3 && l1 + l3 >= l2 && l2 + l3 >= l1){ if (l1 == l2 && l2 == l3 && l3 == l1){ printf ("Triangulo Equilatero"); } else if (l1 == l2 || l2 == l3 || l3 == l1){ printf ("Triangulo Isosceles"); } else if (l1 != l2 && l2 != l3 && l3 != l1){ printf ("Triangulo Escaleno"); } }else{ printf ("Valores invalidos para formar um triangulo"); } getchar(); } Dado um ano d.C. (depois de Cristo), identifique se este é um ano bissexto ou não. Considere que para o ano ser bissexto basta que ele seja divisível por 400. Caso contrário, este precisará ser divisível por 4 e não ser divisível por 100. #include <stdio.h> #include <stdbool.h> #include <locale.h> int main(){ setlocale(LC_ALL,""); int ano; bool isBissexto; char *mensagem; printf("\nDigite o ano d.C : "); scanf("%i", &ano); isBissexto = (ano % 4 == 0 && ano % 100 != 0) || (ano % 400 == 0); if (isBissexto){ mensagem = "ano bissexto"; }else{ mensagem = "não é ano bissexto"; } printf("\n\n"); printf("%s : %d\n\n",mensagem, ano); printf("\n\n"); return 0; } Faca um programa em C que receba um valor para x, calcule e imprima o valor de f(x) de acordo com as opções abaixo: f(x) = 1, se 0 < x <= 1 f(x) = 2, se 1 < x <= 2 f(x) = x2, se 2 < x <= 3 f(x) = x3, se x > 3 Se não estiver em nenhuma das opções acima, exibir mensagem de erro informando ao usuário que e impossível calcular f(x) #include <stdio.h> #include <locale.h> int main(){ setlocale(LC_ALL,""); float x; char *funcao; float resultado; int sair = 0; printf("Digite o valor para x:\n"); scanf("%f", &x); if(0 < x && <= 1 ){ funcao = "f(x) = 1"; resultado = 1; }else if( 1 < x && x <= 2){ funcao = "f(x) = 2"; resultado = 2; }else if(2 < x && x <= 3){ funcao = "f(x) = x2 "; resultado = x*2; }else if(x > 3){ funcao = "f(x) = x3"; resultado = 3*x }else{ printf("\nformando ao usuário que e impossível calcular f(x)\n\n"); sair = 1; } if(sair == 0 ){ printf("\n%s => \n\n", funcao, resultado); } return 0; }
Compartilhar