Buscar

Logica de programação discursiva exame

Prévia do material em texto

28/09/2016 AVA UNIVIRTUS
http://univirtus­277877701.sa­east­1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/81495/novo/1 1/12
Exame Discursivo UTA B FASE I – 12/09 até 23/09 [O aluno poderá estar utilizando o Software DEVEC++]
PROTOCOLO: 201609161247414BE881CANTONIO BARROS DA SILVA - RU: 1247414 Nota: 90
Disciplina(s):
Linguagem de Programação
Data de início: 21/09/2016 13:49
Prazo máximo entrega: 21/09/2016 16:49
Data de entrega: 21/09/2016 16:31
Questão 1/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.
Nota: 10.0
R.
#include <stdio.h>
#include <stdlib.h>
 
int main(){
       int cod,a;
       float vet[5]={5.9,4.34,90.8,2,0.1};
      
       printf("\nDigite uma opcao:\n\n 0 Terminar o programa\n 1 Vetor direto\n 2 Vetor invertido");
       printf("\n\nInsira o codigo: ");
       scanf("%d",&cod);
       printf("\n\n\n\n");
      
       if(cod==0){
      
             printf("Programa encerrado...");
                    exit(0);
      
       }else if(cod==1){
            
             for (a=0;a<=4;a++){
                          
                           printf(" %.2f",vet[a]);
             }                  
 
       }else if(cod==2){

28/09/2016 AVA UNIVIRTUS
http://univirtus­277877701.sa­east­1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/81495/novo/1 2/12
Resposta:
#include<stdio.h>
#include<stdio.h>
int main (){
int vetor[5],numi=0;
printf("Insira 5 elemento de um vetor:\n");
while(i<=4)scanf("%d" ,&vetor[i++]);
prntf("Insira o codigo:\n");
scanf("%d ,&num);
if(num==0)return 0;
if(num==1){
i=0;while(i<=4)printf("%d",vetor[i++];
}
system("pause");
}
Questão 2/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: 20.0
      
             for (a=4;a>=0;a­­){
                   
                           printf(" %.2f",vet[a]);
             }
      
       }else
             printf("Opcao invalida");
      
return 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++)

28/09/2016 AVA UNIVIRTUS
http://univirtus­277877701.sa­east­1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/81495/novo/1 3/12
Resposta:
#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;<maxl;i++)
{
soma[i]=0
for (j=0;j<maxc;j++)
{
scanf("%d" ,&mat[i][j]);
soma[i]=soma[imat[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;
}
       {
             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;
}
28/09/2016 AVA UNIVIRTUS
http://univirtus­277877701.sa­east­1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/81495/novo/1 4/12
Questão 3/5
Faça um programa que carregue:
Um vetor com oito posições com os nomes das lojas;
Um outro vetor com quatro posições com os nomes dos produtos;
Uma matriz com os preços de todos os produtos em cada loja.
O programa deve mostrar  todas as  relações  (nome do produto – nome da  loja)  nas quais o preço não ultrapasse R$
120,00.
Nota: 20.0
R.
#include<stdafx.h>
#include<stdio.h>
#include<stdlib.h>
#define QTDLOJAS 8
#define QTDPROD 4
int main ()
{
       char loja[QTDLOJAS][20], produto[QTDPROD][20];
       float mat[QTDLOJAS][QTDPROD];
       int i, j;
       for (i=0;i<QTDLOJAS;i++)
       {
             printf ("Loja %d: ",i+1);
             gets(loja[i]);
       }
       for (i=0;i<QTDPROD;i++)
       {
             printf ("Produto %d: ",i+1);
             gets(produto[i]);
       }
       for (j=0;j<QTDPROD;j++)
       {
             printf ("\nProduto %s\n",produto[j]);

28/09/2016 AVA UNIVIRTUS
http://univirtus­277877701.sa­east­1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/81495/novo/1 5/12
Resposta:
#include<iontream.h>
#include<stdio.h>
#include<coni.h>
#include<stlio.h>
#include<string.h>
int main()
{
char loja [8] [100];
int count=0;count<8;count++)
{
printf ("\nDigite o nome do Supermercado: ");
gets (loja [cont]);
}
char produto ]4] [100];
int p;
for (p=0;p=4++)
{
printf("\nDigite o nome do produto: ");
gets (produto [p] );
}
double preco [8] [4]
int i,j;
for (i=0;i<8;i+1)
for (j=0;j<4;j+1)
{
printf("entre com o preço dos produtos: ");
gets (preco [loja i; produtos j ]);
printf("\n Os preços do similidos aos produto junto supermercados eh: "preço [i] [j] " ;
return 0;
}
}
             for (i=0;i<QTDLOJAS;i++)
             {
                    printf (" ­ Loja %s: R$ ",loja[i]);
                    scanf("%f",&mat[i][j]);
             }
       }
       for (i=0;i<QTDLOJAS;i++)
             for (j=0;j<QTDPROD;j++)
                    if (mat[i][j]<120)
                           printf("\nNa loja %s ­ Produto %s ­ Custa R$ %.2f", loja[i],produto[j], mat[i][j]);
       printf("\n\n");
       system("pause");
       return(0);
}
28/09/2016 AVA UNIVIRTUS
http://univirtus­277877701.sa­east­1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/81495/novo/1 6/12
Questão 4/5
A prefeitura de uma cidade fez uma pesquisa entre os seus habitantes, coletando dados sobre o salario,  idade, sexo e
número de filhos. Crie um programa que leia os dados de um numero indeterminado de pessoas, e ao final mostre:
1. 
A média da idade das mulheres com salários inferiores a R$ 1000,00
2. 
A média do salario da população;
3. 
A média do numero de filhos;
4. 
O maior salario
5. 
A menor idade
A leitura termina quando for digitada idade igual a zero.
Nota: 20.0
R.
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
int main(){
       struct dados_habitante{
             int idade;
             float salario;
             int filho;
             char sexo;
       };
      
       int cont,i,aux,contm=0,midade=110;
       float mm=0,ms=0,mf=0,msalario=0;
       struct dados_habitante habitante[100];

28/09/2016 AVA UNIVIRTUS
http://univirtus­277877701.sa­east­1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/81495/novo/1 7/12
      
       cont=0;     
       do{
       printf("Dados do habitante %d\n",cont+1);
      
       printf("Digite a idade: ");
       scanf("%d",&aux);
      
             if(aux!=0){
            
                    habitante[cont].idade=aux;
                    printf("Digite o salario: ");
                    scanf("%f",&habitante[cont].salario);
                    printf("Digite o sexo [f ou m]: ");
                    habitante[cont].sexo=getche();
                    printf("\nDigite o numero de filhos: ");
                    scanf("%d",&habitante[cont].filho);//A média do salario da população;
                    ms+=habitante[cont].salario;
                   
                    //A média do numero de filhos;
                    mf+=habitante[cont].filho;
                   
                    //A média da idade das mulheres < R$ 1000,00
                    if((habitante[cont].sexo=='f')&&(habitante[cont].salario<1000)){
                           mm+=habitante[cont].idade;
                           contm++;                         
                    }
                                                           
                    // O maior salario
                    if(habitante[cont].salario>msalario)
                           msalario=habitante[cont].salario;
                   
                    //A menor idade
                    if(habitante[cont].idade>midade)
                           midade=habitante[cont].idade;
                   
                    cont++;
            
                    system("\n\npause");
                    system("cls");
                   
28/09/2016 AVA UNIVIRTUS
http://univirtus­277877701.sa­east­1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/81495/novo/1 8/12
Resposta:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
int main(){
struct dados_habitante{
int idade;
float salario;
int filho;
char sexo;
};
int cont,i,aux,contm=0,midade=110;
float mm=0,ms=0,mf=0,mssalario;=0;
struct dados_habitante[100];
cont=0
do{
printf("dados do habitante %d\n",cont+1);
print("Digite a idade: ");
scanf("%d" ,&aux);
if(aux!=0){
habitante[cont].idade=aux;
print("Digite o Salario: ");
scanf("%f", &habitante[cont]salario);
printf("Digite o Sexo [f ou m]: ");
habitante[cont] sexo=getche();
printf("\nDigite o numero de filhos: ");
             }else{
                                       
                           for(i=0;i<cont;i++)
                                  printf("\nPessoa %d ..... %.2f, %2.d, %c,
%2.d",i+1,habitante[i].salario,habitante[i].idade,habitante[i].sexo,habitante[i].filho);
                                 
                                  printf("\n\n");
                                  printf("\nMedia de idade de mulheres < 100.00: %.0f ",mm/contm);
                                  printf("\nMedia de salario da populacao: %.2f ",ms/cont);
                                  printf("\nMedia de filhos da populacao: %.2f ",mf/cont);
                                  printf("\nMaior salario: %.2f ",msalario);
             }
            
       }while(aux!=0);
      
       printf("\n\n");
      
return 0;   
}
28/09/2016 AVA UNIVIRTUS
http://univirtus­277877701.sa­east­1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/81495/novo/1 9/12
scanf("%d" ,&habitante[cont].filho);
//A média do salario da população;
ms+= habitante[cont].salario;
//média dos numero de filhos;
mf+=habitante[cont].filho;
//A média da idade das mulheres<R$ 100.00
if((habitante[cont].sexo==`f)&&(habitante[cont].salario<100,00)){
mm+=habitante[cont].idade;
contm++;
}
// O maior salario
if (habitante[cont].salario>msalario)
msalario=habitante[cont].salario;
//A menor idade
if(habitante[cont].idade>midade;
cont++;
system("\n\npause");
system(cls");
}else{
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 obteve menor 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: 20.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]);

28/09/2016 AVA UNIVIRTUS
http://univirtus­277877701.sa­east­1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/81495/novo/1 10/12
       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");
28/09/2016 AVA UNIVIRTUS
http://univirtus­277877701.sa­east­1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/81495/novo/1 11/12
Resposta:
#include<sdafx.h>
#include<stdio.h>
#include<stdlib.h>
#defineMaxL 10//qtd alunos
#define MAXC 5//qtd notas+2 prova menor
int main()
{
float mat[MAXC],menor, cont;
int i, j, val, qtd[3],temp;
for (i=0;i<MAXL;i++)
for (j=0;<(MAXC­2;);j++)
scanf("%f" ,&mat[i][j]);
for (i=0<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==1
{
menor=mat[i][j];
val=0
cont=j
}
else
{
if(mat[i][j]<menor)
{
menor=mat[i][j];
cont=j;
}
}
}
}
             for (j=0;j<MAXC;j++)
                    printf("%2.f",mat[i][j]);
       }
       printf("\n\n");*/
 
       system("pause");
       return 0;
}
28/09/2016 AVA UNIVIRTUS
http://univirtus­277877701.sa­east­1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/81495/novo/1 12/12
}
qtd[0]=0;
qtd[1]=0;
qtd[2]=0;
 for(i=0;i<MAXL;i++)
{
printf(\Aluno:%d­menor nota:%2of "i,+1,mat[i]MAXC­2);
tempo=mat[i]MAXC­2];
qtd[tempo­1]++
}
print("\nQuantdade de menores notas­Prova 1:%­Prova 2:%d­ Prova 3:%d",qtd[0],
qtd[1],qtd[2]);
print("\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;

Continue navegando