Baixe o app para aproveitar ainda mais
Prévia do material em texto
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SÃO PAULO - CAMPUS SALTO ENGENHARIA DE CONTROLE E AUTOMAÇÃO DANIEL LOURENÇO TRABALHO AVALIATIVO 1 – AP1 SALTO – SP 2019 QUESTÕES 1. Elabore um programa que receba uma hora formada por hora e minutos (um número real). Exiba hora e minutos separadamente e calcule e mostre a hora digitada apenas em minutos. Você deverá considerar a hora no formato centesimal ESTUDO DO ENUNCIADO: Saidas: horas, minutos, conversão_hora_minutos Entrada: horas centesimal Processamento: Utilizando o comando WHILE e um contador (aux) aux=horas_centesimal; while((aux-1)>=0) { aux=aux-1; } horas=horas_centesimal; minutos=aux*60; conversao_hora_minutos=horas*60+minutos; PROGRAMA EM C void T1_Exercicio_1() { int horas; float horas_centesimal, aux, minutos=0, conversao_hora_minutos; printf ("Digite a hora no formato centesimal: "); scanf ("%f", &horas_centesimal); aux=horas_centesimal; while((aux-1)>=0) { aux=aux-1; } horas=horas_centesimal; minutos=aux*60; conversao_hora_minutos=horas*60+minutos; printf("\n%.2f em formato centesimal equivale a %d hora(s) e %.0f minutos",horas_centesimal, horas,minutos); printf("\n\nO que tambem eh equivalente a %.0f minutos\n\n", conversao_hora_minutos); } FLUXOGRAMA: TESTE DE MESA: 2. Elabore um programa que receba o valor do salário mínimo, o turno de trabalho, a categoria e o número de horas trabalhadas no mês de um funcionário. Suponha a digitação apenas de dados válidos e, quando houver digitação de letras, utilize maiúsculas. Calcule e mostre: a) O coeficiente do salário, de acordo com a tabela abaixo: Turno de trabalho Valor do coeficiente M - Matutino 10% do salário mínimo V - Vespertino 15% do salário mínimo N - Noturno 12% do salário mínimo b) O valor do salário bruto, ou seja, o número de horas trabalhadas multiplicado pelo valor do coeficiente do salário; c) O imposto, de acordo com a tabela abaixo: Categoria Salário Bruto Imposto sobre o Salário Bruto O - operário >= R$ 300,00 5% < R$ 300,00 3% G - gerente >= R$ 400,00 6% < R$ 400,00 4% d) A gratificação, de acordo com as regras: Se o funcionário preencher todos os requisitos a seguir, sua gratificação será de R$ 50,00; caso contrário, será de R$ 30,00. Os requisitos são: Turno: noturno Número de horas trabalhadas: superior a 80 horas. e) O auxílio alimentação, de acordo com as regras: Se o funcionário preencher algum dos requisitos abaixo, seu auxílio alimentação será de um terço do seu salário bruto; caso contrário, será de metade do seu salário bruto. Os requisitos são: Categoria: Operário Coeficiente do salário: <= 25 f) O salário líquido, ou seja, salário bruto menos imposto mais gratificação mais auxílio alimentação; g) A classificação, de acordo com a tabela abaixo: Salário Líquido Mensagem menor que R$ 350,00 Mal remunerado entre R$ 350,00 e R$ 600,00 Normal maior que R$ 600,00 Bem remunerado ESTUDO DO ENUNCIADO: Saidas: coeficiente_do_salario, salario_bruto, imposto, gratificacao, auxilio_alimentacao, salario_liquido, classificacao Entrada: salario_minimo, turno_de_trabalho, categoria, horas_trabalhadas; Processamento: a) coeficiente_do_trabalho Utilizando o comando SWITCH switch (turno_de_trabalho) { case 'M': coeficiente_do_salario=salario_minimo*0.1; break; case 'V': coeficiente_do_salario=salario_minimo*0.15; break; case 'N': coeficiente_do_salario=salario_minimo*0.12; break; } b) salario_bruto salario_bruto=coeficiente_do_salario*horas_trabalhadas; c) imposto Usando o comando SWITCH e também o IF switch(categoria) { case 'O': if (salario_bruto>=300) imposto=0.05*salario_bruto; else imposto=0.03*salario_bruto; break; case 'G': if (salario_bruto>=400) imposto=0.06*salario_bruto; else imposto=0.04*salario_bruto; break; } d) gratificação Utilizando o comando IF if ((turno_de_trabalho=='N')&&(horas_trabalhadas>80)) gratificacao=50; else gratificacao=30; e) auxilio_alimentacao Utilizando o comando IF if ((categoria=='O')||(coeficiente_do_salario<=25)) auxilio_alimentacao=salario_bruto/; else auxilio_alimentacao=salario_bruto/2; f) salario liquido salario_liquido=salario_bruto-imposto+gratificacao+auxilio_alimentacao; g) classificacao Utilizando o comando IF if (salario_liquido<350) strcpy(classificacao, "Mal remunerado"); else if ((salario_liquido>=350)&&(salario_liquido<=600)) strcpy(classificacao, "Normal"); else strcpy(classificacao, "Bem remunerado"); PROGRAMA EM C: void T1_Exercicio_2() { int horas_trabalhadas; float salario_minimo, coeficiente_do_salario, salario_bruto, imposto, gratificacao, auxilio_alimentacao, salario_liquido; char turno_de_trabalho,categoria, classificacao[30]; printf("\nDigite o valor do Salario Minimo: R$ "); scanf("%f", &salario_minimo); fflush(stdin); printf("\n\n\nTurno de Trabalho"); printf("\n\nM - Matutino"); printf("\nV - Vespertino"); printf("\nN - Noturno"); printf("\n\nDigite a letra correspondente ao turno de trabalho: "); scanf("%c", &turno_de_trabalho); fflush(stdin); printf("\n\n\nCategoria"); printf("\n\nO - Operario"); printf("\nG - Gerente"); printf("\n\nDigite a letra correspondente a categoria: "); scanf("%c", &categoria); fflush(stdin); printf("\n\n\nDigite o numero de horas trabalhadas no mes: "); scanf("%d", &horas_trabalhadas); fflush(stdin); //a) O coeficiente do salario switch(turno_de_trabalho) { case 'M': coeficiente_do_salario=salario_minimo*0.1; break; case 'V': coeficiente_do_salario=salario_minimo*0.15; break; case 'N': coeficiente_do_salario=salario_minimo*0.12; break; } printf("\n\n\nCoeficiente do salario: R$%.2f", coeficiente_do_salario); //b) Valor do salario bruto salario_bruto=coeficiente_do_salario*horas_trabalhadas; printf("\nValor do salario bruto: R$%.2f", salario_bruto); //c) Imposto switch(categoria) { case 'O': if (salario_bruto>=300) imposto=0.05*salario_bruto; else imposto=0.03*salario_bruto; break; case 'G': if (salario_bruto>=400) imposto=0.06*salario_bruto; else imposto=0.04*salario_bruto; break; } printf("\nImposto: R$%.2f", imposto); //d) Gratificacao if ((turno_de_trabalho=='N')&&(horas_trabalhadas>80)) gratificacao=50; else gratificacao=30; printf("\nGratificacao: R$%.2f", gratificacao); //e) Auxilio alimentaoao if ((categoria=='O')||(coeficiente_do_salario<=25)) auxilio_alimentacao=salario_bruto/3; else auxilio_alimentacao=salario_bruto/2; printf("\nAuxilio alimentacao: R$%.2f", auxilio_alimentacao); //f) Salario Liquido salario_liquido=salario_bruto-imposto+gratificacao+auxilio_alimentacao; printf("\nSalario liquido: R$%.2f", salario_liquido); //g) Classificacao if (salario_liquido<350) strcpy(classificacao, "Mal remunerado");else if ((salario_liquido>=350)&&(salario_liquido<=600)) strcpy(classificacao, "Normal"); else strcpy(classificacao, "Bem remunerado"); printf("\nClassificao: %s", classificacao); } FLUXOGRAMA: 3. Elabore um programa que determine o valor de S, em que: S = 1/1 – 2/4 + 3/9 – 4/16 + 5/25 – 6/36 .... – 10/100. ESTUDO DO ENUNCIADO: Saidas: valor de S (S) Entrada: Processamento: Utilizando o comando FOR junto a um contador (i) e uma variável auxiliar de troca de sinail(j) for (i = 1; i<=10; i=i+1) { j=-1*j; S=S+(i/pow(i, 2))*j; } PROGRAMA EM C: void T1_Exercicio_3() { float S=0; int i, j=-1; for (i = 1; i<=10; i=i+1) { j=-1*j; S=S+(i/pow(i, 2))*j; } printf("\n\nS = %f", S); } FLUXOGRAMA: TESTE DE MESA: 4. Foi realizada uma pesquisa em Porto Alegre, com um número desconhecido de pessoas. De cada entrevistado foram colhidos os seguintes dados: - Qual seu clube de futebol de preferência (1- Grêmio; 2 – Internacional; 3 – Outros); - Qual seu salário; - Qual a sua cidade natal (0 – Porto Alegre; 1 – Outras). Elabore um programa que informe: a) O número de torcedores por clube; b) Média salarial dos torcedores do Grêmio e do Internacional; c) Número de pessoas nascidas em Porto Alegre que não torcem por qualquer dos dois primeiros clubes; d) Número de pessoas entrevistadas. ESTUDO DO ENUNCIADO: Saidas: torcedores_gremio, torcedores_internacional, torcedores_outros, media_salario_gremistas, media_salarial_colorados, nascidos_torcem_outros, entrevistados Entrada: clube_de_futebol, salario, cidade_natal, Processamento: Utilizando os comandos DO-WHILE, IF, SWITCH e a insersão de um valor de negativo de Salario como critério de parada if(salario>=0) { entrevistados=entrevistados+1; switch(clube_de_futebol) { case 1: torcedores_gremio=torcedores_gremio+1; soma_salario_gremistas=soma_salario_gremistas+salario; media_salario_gremistas=soma_salario_gremistas/torcedores_gremio; break; case 2: torcedores_internacional=torcedores_internacional+1; soma_salario_colorados=soma_salario_colorados+salario; media_salarial_colorados=soma_salario_colorados/torcedores_internacional; break; case 3: torcedores_outros=torcedores_outros+1; if (cidade_natal==0) nascidos_torcem_outros=nascidos_torcem_outros+1; break; PROGRAMA EM C void T1_Exercicio_4() { int torcedores_gremio=0, torcedores_internacional=0, torcedores_outros=0; int entrevistados=0, nascidos_torcem_outros=0, clube_de_futebol=0,cidade_natal=0; float salario=0, soma_salario_gremistas=0, soma_salario_colorados=0, media_salario_gremistas=0, media_salarial_colorados=0; do { printf("\n\n**************************************************"); printf ("\n\nQual o clube de futebol de sua preferencia?"); printf("\n\n1 - Gremio"); printf("\n2 - Internacional"); printf("\n3 - Outros"); printf("\n\nDigite o numero correspondente: "); scanf ("%d", &clube_de_futebol); printf ("\n\n\nDigite o seu salario: R$"); scanf ("%f", &salario); printf ("\n\nQual a sua cidade natal?"); printf("\n\n0 - Porto Alegre"); printf("\n1 - Outras"); printf("\n\nDigite o numero correspondente: "); scanf ("%d", &cidade_natal); if(salario>=0) { entrevistados=entrevistados+1; switch(clube_de_futebol) { case 1: torcedores_gremio=torcedores_gremio+1; soma_salario_gremistas=soma_salario_gremistas+salario; media_salario_gremistas=soma_salario_gremistas/torcedores_gremio; break; case 2: torcedores_internacional=torcedores_internacional+1; soma_salario_colorados=soma_salario_colorados+salario; media_salarial_colorados=soma_salario_colorados/torcedores_internacional; break; case 3: torcedores_outros=torcedores_outros+1; if (cidade_natal==0) nascidos_torcem_outros=nascidos_torcem_outros+1; break; } } system("cls"); } while (salario>=0); //a)Numero de torcedores por clube; printf("Numero de torcedores do Gremio: %d",torcedores_gremio); printf("\nNumero de torcedores do Internacional: %d",torcedores_internacional); printf("\nNumero de torcedores de Outros clubes: %d",torcedores_outros); //b)Media salarial dos torcedores do gremio e do Internacional; printf("\n\nMedia salarial dos torcedos do Gremio: R$%.2f", media_salario_gremistas); printf("\nMedia salarial dos torcedos do Interncaional: R$%.2f", media_salarial_colorados); //c)Número de pessoas nascidas em Porto Alegre que não torcem por qualquer dos dois primeiros clubes; printf("\n\nNascidos em Porto Alegre que nao torcem pro Gremio ou pro Internacional: %d", nascidos_torcem_outros); //d) Número de pessoas entrevistadas. printf("\n\nNumero de pessoas entrevistadas: %d\n\n", entrevistados); } FLUXOGRAMA: 5. Em um campeonato de futebol existem cinco times e cada time possui onze jogadores. Faça um programa que receba a idade, o peso e a altura de cada um dos jogadores. Calcule e mostre: a) A quantidade de jogadores com idade inferior a 18 anos; b) A média das idades dos jogadores de cada time; c) A média das alturas de todos os jogadores do campeonato; d) A porcentagem de jogadores com mais de 80 quilos entre todos os jogadores do campeonato. ESTUDO DO ENUNCIADO: Saidas: qtde_menores18, media_altura, porcentagem_acima_de_80, media_idade1, media_idade2, media_idade3, media_idade4, media_idade5; Entrada: idade, peso, altura Processamento: Utilizando o dois “blocos” de comando FOR, onde o interno se refere ao numero de jogadores, e o externo ao numero de times que esta fazendo a pesquisa. for (i=1; i<=5; i=i+1) { for (j=1;j<=11;j=j+1) { printf("\n\nTime %d", i); printf("\n\nDigite sua idade: "); scanf("%d", &idade); printf("\nDigite seu peso: "); scanf("%f", &peso); printf("\nDigite sua altura: "); scanf("%f", &altura); if(idade<18) qtde_menores18=qtde_menores18+1; soma_idade=soma_idade+idade; media_idade=soma_idade/j; soma_altura=soma_altura+altura; if(peso>80) acima_de_80=acima_de_80+1; k=k+1; } switch (i) { case 1: media_idade1=media_idade;break; case 2: media_idade2=media_idade;break; case 3: media_idade3=media_idade;break; case 4: media_idade4=media_idade;break; case 5: media_idade5=media_idade;break; } soma_idade=0; } media_altura=soma_altura/k; porcentagem_acima_de_80=acima_de_80/k*100; PROGRAMA EM C void T1_Exercicio_5() { int i, j, k=0, idade,qtde_menores18=0; float peso, altura, soma_altura=0, media_idade, media_altura, acima_de_80=0, porcentagem_acima_de_80; float soma_idade=0, media_idade1, media_idade2, media_idade3, media_idade4, media_idade5; for (i=1; i<=5; i=i+1) { for (j=1;j<=11;j=j+1) { printf("\n\nTime %d", i); printf("\n\nDigite sua idade: "); scanf("%d", &idade); printf("\nDigite seu peso: "); scanf("%f", &peso); printf("\nDigite sua altura: "); scanf("%f", &altura); if(idade<18) qtde_menores18=qtde_menores18+1; soma_idade=soma_idade+idade; media_idade=soma_idade/j; soma_altura=soma_altura+altura; if(peso>80) acima_de_80=acima_de_80+1; k=k+1; } switch (i) { case 1: media_idade1=media_idade;break; case 2: media_idade2=media_idade;break; case 3: media_idade3=media_idade;break; case 4: media_idade4=media_idade;break; case 5: media_idade5=media_idade;break; } soma_idade=0; } printf("\n\nQtde de jogadores menores de 18 anos: %d ", qtde_menores18); printf("\n\n\nMedia das idades dos jogadores do Time 1: %.1f anos", media_idade1); printf("\nMedia das idades dos jogadores do Time 2: %.1f anos", media_idade2); printf("\nMedia das idades dos jogadores do Time 3: %.1f anos", media_idade3); printf("\nMedia das idades dos jogadores do Time 4: %.1f anos", media_idade4); printf("\nMedia das idades dos jogadores do Time 5: %.1f anos", media_idade5); media_altura=soma_altura/k; porcentagem_acima_de_80=acima_de_80/k*100; printf("\n\nMedia das alturas de todos os jogadores: %.2f m", media_altura); printf("\n\nPorcentagem de jogadores acima de 80kg: %.2f%%\n\n\n", porcentagem_acima_de_80); } FLUXOGRAMA: TESTE DE MESA:
Compartilhar