Buscar

Prova Discursiva - Linguagem de Programação

Prévia do material em texto

Nota: 58 
Disciplina(s): Linguagem de Programação
	Data de início: 
	04/04/2016 18:50 
	Prazo máximo entrega:
	04/04/2016 20:20 
	Data de entrega:
	04/04/2016 20:13 
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
Nota: 10.0
	#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define MAX 3
//A cada 100 reais em vendas =1pt.
 
typedef struct {
       float nov, dez, jan;
       float total=0;
       char nome[20];
}func;
int i,cont;
float aux,pts,venda=0;
func vet[MAX];
 
main(){
       system("cls");
       for(i=0;i<MAX;i++){
             printf("Digite o nome do funcionario %d:\n", i+1);
             scanf("%s", &vet[i].nome);
             printf("Digite o valor das vendas em novembro: ");
             scanf("%f", &vet[i].nov);
             printf("Digite o o valor das vendas em dezembro: ");
             scanf("%f", &vet[i].dez);        
             printf("Digite o valor das vendas em janeiro: ");
             scanf("%f", &vet[i].jan); 
             venda=venda+(vet[i].nov+vet[i].dez+vet[i].jan);      
       }
       system("cls");
       for(i=0;i<MAX;i++){
             printf("Funcionario %s vendeu em novembro: %.2f, ", vet[i].nome, vet[i].nov);
             pts=vet[i].nov/100;
             vet[i].total=vet[i].total+pts;
             printf("totalizando %.2f pontos\n", pts);
       }
       printf("\n");
       for(i=0;i<MAX;i++){
             printf("Funcionario %s vendeu em dezembro: %.2f, ", vet[i].nome, vet[i].dez);
             pts=vet[i].dez/100;
             vet[i].total=vet[i].total+pts;
             printf("totalizando %.2f pontos\n", pts);
       }
       printf("\n");
       for(i=0;i<MAX;i++){
             printf("Funcionario %s vendeu em janeiro: %.2f, ", vet[i].nome, vet[i].jan);
             pts=vet[i].jan/100;
             vet[i].total=vet[i].total+pts;
             printf("totalizando %.2f pontos\n", pts);
       }
            printf("\n");
       aux=0;
       cont=0;
       for(i=0;i<MAX;i++){
             if(vet[i].total>aux){
                    aux=vet[i].total;
                    cont=i;
             }
       }
       printf("\n\nFuncionario %s teve a maior pontuacao nos tres meses. Total de: %.2f\n", vet[cont].nome, vet[cont].total);
       printf("\n\nValor total das vendas nos tres meses: %.2f\n", venda);
}
Resposta: #int main () { int p-nov,p-dez,p-jan,i,j,maior=-1funcionario,soma; for(i-1<=15;i++){ printf ("informe a pontuação para os meses de novembro,dezembro e janeiro do funcionario:%d";) scanf ("%d%d%d",&p-nov,&p-dez,&p-jan); it (maior<p-nov){ maior=p funcionario-maior =i; { if (maior<p-dez){ func-maior=i) } if (maior<p-jan) maior<p-dez funcionario-maior-i; soma=pnov+pdez+pjan; printf ("funcionario%d/tpontuação total; %d+prontuação mensal;%-2f\n,i,soma; (float) soma /3; -2f { printf ("maior pontuação:%d do funcionario:%d, maior, funcionario-maior); return 0; }
Questão 2/5
Faça um programa que carregue uma primeira matriz de ordem 4x5 e uma segunda matriz 5x2, calcule e mostre a matriz resultante do produto matricial das duas matrizes anteriores, armazenando-as em uma terceira matriz de ordem 4x2.
Nota: 6.0
	#include <stdio.h>
#include <stdlib.h>
 
int mat1[4][5];
int mat2[5][2];
int mat3[4][2];
int valor, a=0, b=0, i, j, l=0, aux=0, aux2=0;
 
main (){
       printf("Forneca os valores para a matriz 4x5: \n");  
       for(i=0; i<4; i++){
          for(j=0; j<5; j++){
              scanf("%d",&valor);
                mat1[i][j]=valor;
             }
       }
       printf("Forneca os valores para a matriz 5x2: \n");  
       for(i=0; i<5; i++){
          for(j=0; j<2; j++){
              scanf("%d",&valor);
                mat2[i][j]=valor;
             }
       }
       for(i=0; i<4; i++){
           for(j=0; j<5; j++){
                 aux=aux+(mat1[i][j]*mat2[j][l]);
                 aux2=aux2+(mat1[i][j]*mat2[j][l+1]);
        }
        mat3[a][b]= aux;
             mat3[a][b+1]= aux2;
             aux=0;
             aux2=0;
             a++;
       }
       printf("Matriz 4x2 resultante: \n");
       for(a=0; a<4; a++){
        for(b=0; b<2; b++){
                 printf("%d ",mat3[a][b]);
             }
             printf("\n");
       }
}
Resposta: #include <stdio> int main (){ int matriz [4][5] [5][2] for (i=0;i<4;i++) for (j=0;j<5;j++) scanf (primeira matriz [i][j]); for (i=0;i<5;i++) for (j=0;j<5;j++) scanf (segunda matriz [i][j] print ("%d\t" primeira matriz-segunda matriz return 0 } 
Questão 3/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.
Nota: 16.0
	R.
#include <stdafx.h>
#include<stdio.h>
#include<stdlib.h>
#define MAXL 10
#define MAXC 20
int main()
{
       int mat[MAXL][MAXC], soma[MAXL];
       int i, j;
       for (i=0;i<MAXL;i++)
       {
             soma[i]=0;
             for (j=0;j<MAXC;j++)
             {
                    scanf("%d",&mat[i][j]);
                    soma[i]=soma[i]+mat[i][j];
             }
       }
       for (i=0;i<MAXL;i++)
       {
             printf("\n");
             for (j=0;j<MAXC;j++)
                    printf("%4d",mat[i][j]*soma[i]);
       }
       printf("\n\n");
       system("pause");
       return 0;
}
Resposta: #include <stdio> int main (){ int matriz [10][20], vetor [10],i,j; for (i-0;i<010;i++) for (j=0;j) scanf ("%d,&matriz [i][j]); for (i=o;i<10;i++){ vetor [i] = 0 ; for (j=0;j<20;j++) vetor [i]+=matriz [i][j] } for (i=0;i<10;i++) matriz [i] [j]=vetor [i] for (i=0;i<20;i++) printf ("\n"); for (j=0;j<20.j++) printf ("%d\t" matriz [i][j]) } return 0; } 
Questão 4/5
Faça um programa que carregue uma matriz 2x2, calcule e mostre uma matriz resultante que será a matriz digitada multiplicada pelo maior elemento da matriz.
Nota: 20.0
	R.
#include <stdio.h>
 
int main(){
       int matriz[2][2];
       int i,j,maior;
      
       for (j=0;j<2;j++){
      
             for (i=0;i<2;i++){
            
                    printf("Insira o numero: ");
                    scanf("%d",&matriz[i][j]);
                   
                    if(maior<matriz[i][j])
                    maior=matriz[i][j];
             }
       }
       for (i=0;i<2;i++){
      
             printf("\n\nLinha %d: ",i+1);
             for (j=0;j<2;j++){
            
                   
                    printf(" %d", matriz[i][j]);
             }
       }
      
       printf("\n\nMaior elemento: %d\n", maior);
      
       for (i=0;i<2;i++){
      
             printf(" \nLinha %d: ",i+1);
            
             for (j=0;j<2;j++)
            
                    printf(" %d",(matriz[i][j]*maior));
                   
            
       }
      
return 0;
}
Resposta: #include <stdio> int main (){ int matriz [2][2]; int i,j maior ; for (j-0;j<2;j++0) for (i=0;i<2;i++) printf ("indira o numero:") scanf ("%d",&matriz [i][j]); if (maior<matriz [i][j]) } } for (i=0;i<2;i++){ printf("n\nlinha%d:"i+1; for (j=0;j<2;j++) printf("%d"matriz [i][j]*maior)); return 0 }
Questão 5/5
Faça um programa que carregue uma matriz 10x3 com as notas de dez alunos em três provas. Mostre um relatório com o número do aluno (número da linha) e aprova em que cada aluno obtevemenor nota. Ao final do relatório, mostre quantos alunos tiveram menor nota na prova 1, quantos alunos tiveram menor nota na prova 2 e quantos alunos tiveram menor nota na prova 3.
Nota: 6.0
	R.
#include<stdafx.h>
#include<stdio.h>
#include<stdlib.h>
#define MAXL 10//qtd alunos
#define MAXC 5 //qtd notas+2 | prova | menor
int main()
{
       float mat[MAXL][MAXC], menor, cont;
       int i, j, val, qtd[3], temp;
       for (i=0;i<MAXL;i++)
             for (j=0;j<(MAXC-2);j++)
                    scanf("%f",&mat[i][j]);
       for (i=0;i<MAXL;i++)
       {   
             val=1;
             cont=0;
             for (j=0;j<MAXC;j++)
             {
                    switch(j)
                    {
                           case (MAXC-2): mat[i][j]=cont+1; break;
                           case (MAXC-1): mat[i][j]=menor; break;
                           default:
                                  if(val==1)
                                  {
                                        menor=mat[i][j];
                                        val=0;
                                        cont=j;       
                                  }
                                  else
                                  {
                                        if (mat[i][j]<menor)
                                        {
                                               menor=mat[i][j];
                                               cont=j;
                                        }
                                  }
                    }
             }
       }
       qtd[0]=0;
       qtd[1]=0;
       qtd[2]=0;
       for (i=0;i<MAXL;i++)
       {
             printf("\nAluno: %d - Menor nota: %.2f ref a prova: %.0f  ",i+1, mat[i][MAXC-1], mat[i][MAXC-2]);
             temp=mat[i][MAXC-2];
             qtd[temp-1]++;
       }
       printf("\nQuantidade de menores notas - Prova 1: %d - Prova 2: %d - Prova 3: %d",qtd[0], qtd[1], qtd[2]);
       printf("\n\n");
 
       /*printf("\nMatriz:\n");
       for (i=0;i<MAXL;i++)
       {
             printf("\n");
             for (j=0;j<MAXC;j++)
                    printf("%2.f",mat[i][j]);
       }
       printf("\n\n");*/
 
       system("pause");
       return 0;
}
Resposta: #include <stdio> int main <stlib.h> int cod,a; float [10] [3] (){ printf "digite alu-1,alu-2, alu-3:|n\n\n float ("nota-maior) scanf "\n\n\n"); printf ("programa encerrado") exit 0 }else if cod==1){

Outros materiais