• Nenhum resultado encontrado

UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL COMPUTAÇÃO, LICENCIATURA ALGORITMOS E PROGRAMAÇÃO DE COMPUTADORES I PROVA 2 (P2) RESOLUÇÃO

N/A
N/A
Protected

Academic year: 2021

Share "UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL COMPUTAÇÃO, LICENCIATURA ALGORITMOS E PROGRAMAÇÃO DE COMPUTADORES I PROVA 2 (P2) RESOLUÇÃO"

Copied!
5
0
0

Texto

(1)

UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL

COMPUTAÇÃO, LICENCIATURA

ALGORITMOS E PROGRAMAÇÃO DE COMPUTADORES I – PROVA 2 (P2)

RESOLUÇÃO

Nome: ______________________________________________ RGM: ________ Data: ____/____/____

1. Faça um programa que preencha/inicialize um vetor de oito números inteiros, calcule e mostre:

a) a quantidade de números pares; (0,5)

b) a soma dos números ímpares; (0,5)

c) os números múltiplos de 2 e 3; (0,5)

d) os números com valor entre 5 e 10 ou 20 e 25; (0,5)

e) o maior número entre todos; (0,5)

#include<stdio.h> main() { int v[8]={4,10,7,3,6,24,1,21},i,qtd_pares,soma_impares,maior; qtd_pares=0; soma_impares=0; printf("\tVetor preenchido\n"); for(i=0;i<8;i++) printf("\t%d",v[i]); printf("\n"); maior=v[0]; for(i=0;i<8;i++) { if(v[i]%2==0) qtd_pares++; else soma_impares+=v[i]; if(v[i]>maior) maior=v[i]; }

printf("\n\tA quantidade de n%cmeros pares: %d\n",163,qtd_pares); printf("\n\tA soma dos n%cmeros %cmpares: %d\n",163,161,soma_impares); for(i=0;i<8;i++)

{

if(v[i]%2==0 && v[i]%3==0)

printf("\n\tM%cltiplo de 2 e 3: %d",163,v[i]); }

printf("\n"); for(i=0;i<8;i++) {

if((v[i]>5 && v[i]<10) || (v[i]>20 && v[i]<25))

printf("\n\tN%cmero com valor entre 5 e 10 ou 20 e 25: %d",163,v[i]); }

printf("\n");

printf("\n\tO maior n%cmero entre todos: %d\n\n",163,maior); }

(2)

2. Uma empresa deseja obter informações sobre o estoque de produtos de duas filias, denominadas filialA

e filialB. Para simular tal solução, faça um programa que preencha dois vetores para cada filial, um

contendo os códigos dos produtos e outro as respectivas quantidades em estoque.

Exemplo:

codfilialA 8 5 10 6 4 14 codfilialB 2 10 5 9 4

1 2 3 4 5 6 1 2 3 4 5

qtdefilialA 2 1 5 5 3 6 qtdefilialB 11 3 2 3 5

1 2 3 4 5 6 1 2 3 4 5

 Preencher os vetores. Para cada filial, preencha códigos únicos de produtos, ou seja, não permitir

códigos repetidos. Após a definitiva inserção do código, preencha a quantidade em estoque

correspondente. (2,0)

 Mostre os códigos de produtos que aparecem nas duas filiais, ou seja, verificar quais produtos

estão cadastrados na filialA e também na filialB. (1,5)

 Mostre os códigos dos produtos com quantidade mínima de 5 e a qual filial pertencem. (1,5)

#include<stdio.h> main() { int codfilialA[6],codfilialB[5],qtdefilialA[6],qtdefilial[5],qtdefilialB[5],i,j,achou; float maior,menor,media,soma;

for(i=0;i<6;i++)//cadastros das matric. e notas de APC1 {

printf("\nDig. c%cdigo do %d%c produto da filialA: ",162,i+1,167); do { achou=0; scanf("%d",&codfilialA[i]); if(i>0) { for(j=0;j<i;j++) { if(codfilialA[i]==codfilialA[j]) {

printf("\nC%cdigo repetido! Digite novamente:",162); achou=1;

}//fim i }//fim for j }//fim if }while(achou==1);

printf("\nDig. a quantidade em estoque do %d%c produto da filialA: ",i+1,167); scanf("%d",&qtdefilialA[i]);

}//fim for i

for(i=0;i<5;i++)//cadastros das matric. e notas de APC1 {

printf("\nDig. c%cdigo do %d%c produto da filialB: ",162,i+1,167); do { achou=0; scanf("%d",&codfilialB[i]); if(i>0) { for(j=0;j<i;j++) { if(codfilialB[i]==codfilialB[j]) {

(3)

printf("\nC%cdigo repetido! Digite novamente:",162); achou=1; }//fim i }//fim for j }//fim if }while(achou==1);

printf("\nDig. a quantidade em estoque do %d%c produto da filialB: ",i+1,167); scanf("%d",&qtdefilialB[i]);

}//fim for i

for(i=0;i<6;i++)//matriculas que aparecem nos dois vetores {

for(j=0;j<5;j++) {

if(codfilialA[i]==codfilialB[j])

printf("\nProduto de c%cdigo %d est%c na filialA e na filialB",162,codfilialA[i],160); } } for(i=0;i<6;i++) { if(qtdefilialA[i]>=5)

printf("\nProduto de c%cdigo %d - filialA --- quantidade: %d",162,codfilialA[i],qtdefilialA[i]);

}

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

if(qtdefilialB[i]>=5)

printf("\nProduto de c%cdigo %d - filialB --- quantidade: %d",162,codfilialB[i],qtdefilialB[i]);

} }

3. Faça um programa que preencha/inicialize com números inteiros uma matriz M

3x3

, calcule e mostre:

a) os elementos da diagonal principal; (0,5)

b) os elementos acima da diagonal principal; (0,5)

c) os elementos abaixo da diagonal principal. (0,5)

#include<stdio.h> main() { int m[3][3]={{1,2,3},{4,5,6},{7,8,9}},i,j; printf("\n\t======MATRIZ======\n"); for(i=0;i<3;i++) { printf("\n"); for(j=0;j<3;j++) { printf("\t%d",m[i][j]); } printf("\n"); } printf("\n\t==================\n"); printf("\n\n"); printf("\n=====Diagonal principal=====\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(i==j) printf("\t%d",m[i][j]);

(4)

} }

printf("\n\n");

printf("\n=====Acima da diagonal principal=====\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(i<j) printf("\t%d",m[i][j]); } } printf("\n");

printf("\n\n=====Abaixo da diagonal principal=====\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(i>j) printf("\t%d",m[i][j]); } } printf("\n\n"); }

4. Uma companhia tem filiais em cada uma das cidades C1, C2, ..., C6. O valor da passagem entre as

cidades Ci e Cj é dado pela posição (i,j) na matriz M (em que -1 indica que não existe caminho direto).

Por exemplo, a tarifa de C1 a C4 é de R$40,00 e de C2 a C3, R$15,00. Esta situação é representada pela

matriz de adjacência M e pelo grafo ponderado abaixo.

C1 C2 C3 C4 C5 C6 C1

0

50 -1 40 25 10

C2

50

0

15 20 -1 25

M

C3

-1 15

0

10 20 -1

C4

40 20 10

0

10 25

C5

25 -1 20 10

0

55

C6

10 25 -1 25 55

0

Faça um programa que preencha/inicialize a matriz M, calcule e mostre:

a) Os pares de cidades com tarifas acima de R$20,00. (0,5)

b) Os pares de cidades que não possuem caminho direto. (0,5)

c) Os pares de cidades com a tarifa mais cara. (1,0)

#include<stdio.h> main() { float m[6][6]={{0,50,-1,40,25,10},{50,0,15,20,-1,25},{-1,15,0,10,20,-1},{40,20,10,0,10,25},{25,-1,20,10,0,55},{10,25,-1,25,55,0}},tarifa_maior; int i,j; printf("\n\tMatriz\n"); for(i=0;i<6;i++) { for(j=0;j<6;j++) { printf("\t%.0f",m[i][j]); } printf("\n\n"); }

(5)

printf("\n\nOs pares de cidades com tarifas acima de R$20,00\n"); for(i=0;i<6;i++)

{

for(j=0;j<6;j++) {

//if(i<j)//necessário apenas acessar acima da diag. principal //{

if(m[i][j]>20)

printf("\nCidade C%d - C%d com tarifa de R$%.2f",i+1,j+1,m[i][j]); //}

} }

printf("\n\nOs pares de cidades que n%co possuem caminho direto\n",198); for(i=0;i<6;i++)

{

for(j=0;j<6;j++) {

//if(i<j)//necessário apenas acessar acima da diag. principal //{

if(m[i][j]==-1)

printf("\nCidade C%d - C%d n%co possuem caminho direto",i+1,j+1,198); //}

} }

//procurar maior tarifa tarifa_maior=0; for(i=0;i<6;i++) { for(j=0;j<6;j++) { if(m[i][j]>tarifa_maior) tarifa_maior=m[i][j]; } }

printf("\n\nOs pares de cidades com a tarifa mais cara -- R$%.2f\n",tarifa_maior);

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

for(j=0;j<6;j++) {

//if(i<j)//necessário apenas acessar acima da diag. principal //{

if(m[i][j]==-1)

printf("\nCidade C%d - C%d com a tarifa mais cara",i+1,j+1,m[i][j]); //}

} } }

Referências

Documentos relacionados

ABSTRACT: The toxicological effects of crude ethanolic extracts (CEE) of the seed and bark of Persea americana have been analyzed on larvae and pupae of

Após a implantação consistente da metodologia inicial do TPM que consiste em eliminar a condição básica dos equipamentos, a empresa conseguiu construir de forma

Cândida Fonseca Duração e local: 11/09/2017 a 03/11/2017 – Hospital São Francisco Xavier Objectivos e actividades desenvolvidas: Os meus objectivos centraram-se na

VI Cancelamento por adequação a novo RAC (vencimento do 1º. Submeter ao Cgcre, para análise e aprovação da utilização, os memorandos de Entendimento, no escopo

Apesar da melhora de desempenho nas compras dos setores pesquisados, os instrumentos de pesquisa utilizados permitiram verificar que na Universidade Federal de

Pensar a formação continuada como uma das possibilidades de desenvolvimento profissional e pessoal é refletir também sobre a diversidade encontrada diante

Doutorando em Ciência da Computação pela Universidade Federal de Mato Grosso do Sul (UFMS); Mestre em Ciência da Computação na área de Rede de Computadores pela Universidade Federal

APÊNDICE 1 – Termo de consentimento livre e esclarecido – Grupo Fibrose Cística Título: Correlação entre distância percorrida no teste de caminhada de seis minutos e