Prova Discursiva _linguagem de Programação (1)

Post on 13-Jul-2016

32 views 9 download

description

Prova Discursiva

Transcript of Prova Discursiva _linguagem de Programação (1)

Questão 1/5

Uma empresa contratou 15 funcionários temporários. De acordo com o valor das vendas

mensais, os funcionários adquirem pontos que determinarão seus salários ao final de cada

mês. Sabe-se que esses funcionários trabalharão nos meses de novembro de 2014 a janeiro de

2015. Faça um programa que:

Cadastre os nomes dos funcionários e suas respectivas vendas mensais;

Calcule e mostre a pontuação geral de todos os funcionários a cada mês;

Determine e mostre a maior pontuação atingida nos três meses, mostrando o nome do

funcionário. Desconsiderar empates;

Determine e mostre o valor total vendido

Resposta:

int main() {

int p_nov, p_dez, p_jan, i, j, maior=-1, func_maior, soma;

for (i=1; i<=15; i++) {

printf("Informe a pontuação, para os meses de novembro, dezembro e janeiro, do

funcionário: %d: ", i);

scanf("%d %d %d", &p_nov, &p_dez, &p_jan);

if (maior < p_nov) {

maior = p_nov;

func_maior = i;

}

if (maior < p_dez) {

maior = p_dez;

func_maior = i;

}

if (maior < p_jan) {

maior = p_jan;

func_maior = i;

}

soma = p_nov + p_dez + p_jan;

printf("Funcionário %d\tPontuação total: %d\tPontuação média mensal: %.2f\n", i,

soma, (float) soma / 3);

}

pintf("Maior pontuação: %d do funcionário: %d\n", maior, func_maior);

return 0;

}

Questão 2/5

Uma empresa contratou 15 funcionários temporários. De acordo com o valor das vendas

mensais, os funcionários adquirem pontos que determinarão seus salários ao final de cada

mês. Sabe-se que esses funcionários trabalharão nos meses de novembro a janeiro do ano

subsequente:

Faça um programa que:

Leia as pontuações nos três meses de cada funcionário;

Calcule e mostre a pontuação geral de cada funcionário nos três meses;

Calcule e mostre a média das pontuações de cada funcionário nos três meses;

Determine e mostre a maior pontuação atingida entre todos os funcionários nos três meses.

Resposta:

#include <stdio.h>

int main() {

int p_nov, p_dez, p_jan, i, j, maior=-1, func_maior, soma;

for (i=1; i<=15; i++) {

printf("Informe a pontuação, para os meses de novembro, dezembro e janeiro, do

funcionário: %d: ", i);

scanf("%d %d %d", &p_nov, &p_dez, &p_jan);

if (maior < p_nov) {

maior = p_nov;

func_maior = i;

}

if (maior < p_dez) {

maior = p_dez;

func_maior = i;

}

if (maior < p_jan) {

maior = p_jan;

func_maior = i;

}

soma = p_nov + p_dez + p_jan;

printf("Funcionário %d\tPontuação total: %d\tPontuação média mensal: %.2f\n", i,

soma, (float) soma / 3);

}

pintf("Maior pontuação: %d do funcionário: %d\n", maior, func_maior);

return 0;

}

Questão 3/5

Faça um programa que leia um código numérico inteiro e um vetor de cinco posições de

números reais. Se o código for zero, termine o programa. Se o código for 1, mostre o vetor na

ordem direta. Se o código for 2, mostre o vetor na ordem inversa.

Resposta:

include <stdio.h>

main(){

int vetor[5],num,i=0;

printf("Insira 5 elementos de um vetor:\n");

while(i<=4) scanf("%d",&vetor[i++]);

printf("Insira o codigo:\n");

scanf("%d",&num);

if(num==0) return 0;

if(num==1){

i=0;

while(i<=4) printf("%d ",vetor[i++]);

}

if(num==2){

i=4;

while(i>=0) printf("%d ",vetor[i--]);

}

system("pause");

}

Questão 4/5

Faça um programa que carregue uma matriz 10x20 com números inteiros e some cada uma

das linhas, armazenando o resultado das somas em um vetor. A seguir, multiplique cada

elemento da matriz pela soma da linha e mostre a matriz resultante.

R:

#include <stdio.h>

int main() {

int matriz[10[20], vetor[10], i, j;

for (i=0; i<10; i++)

for (j=0; j<20; j++)

scanf("%d", &matriz[i][j]);

for (i=0; i<10; i++) {

vetor[i] = 0;

for (j=0; j<20; j++)

vetor[i] += matriz[i][j];

}

for (i=0; i<10; i++)

for (j=0; j<20; j++)

matriz[i][j] *= vetor[i];

for (i=0; i<10; i++) {

printf("\n");

for (j=0; j<20; j++)

printf("%d\t", matriz[i][j]);

}

return 0;

}

Questão 5/5

Um funcionário de uma empresa recebe aumento salarial anualmente. Sabe-se que:

Esse funcionário foi contratado em 1995, com salario inicial de R$1.000,00;

Em 1996 recebeu aumento de 15% sobre o seu salário inicial;

A partir de 1997 (inclusive), os aumentos salariais sempre corresponderam ao dobro do

percentual do ano anterior.

Faça um programa que determine o salário atual desse funcionário.

R:

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{

int i, ano_atual;

float salario, novo_salario, percentual;

printf("Digite o ano atual: ");

scanf("%d",&ano_atual);

salario = 1000;

percentual = 1.5/100;

novo_salario = salario + percentual * salario;

i = 1997;

while (i <= ano atual ano_atual)

{

percentual = 2 * percentual;

novo_salario = novo_salario + percentual * novo_salario;

i = i + 1;

}

printf("\nNovo salario = %5.2f", novo_salario);

// Parar o programa a espera de um ENTER

printf("\n\n");

system("pause");

return 0;

}