You are on page 1of 21

Etapa 1

Aula tema: Estruturas de controle: Seleo. Estruturas de controle: Iterao. Exerccios. Vetores, matrizes e cadeia de caracteres. Esta atividade importante para que voc desenvolva sua habilidade em trabalhar com vetores como estrutura de dados, implementando-os corretamente.

1. Passo 1
Por precauo o gerente do projeto pediu que a equipe realizasse a implementao de uma instncia menor do problema, de forma a testar e validar a soluo para ento aplic-la ao problema completo. Por isso a equipe dever usar para testes o Real e o Euro. As cotaes dirias, referentes a um ms, devero ser armazenadas num vetor. Considerem o perodo de um ms (30 dias) para calcular a mdia, o menor e maior valor da cotao da moeda. O cdigo deve conter comentrios que detalhem as variveis usadas, os testes e loops realizados pelo algoritmo.

Resoluo Passo 1
#include<stdio.h> #include<stdlib.h>

int main() { float moeda,vetmoeda[30],media,valor,maior,menor; /*declarao das variaveis*/ maior=0; //variavel que recebera o maior valor menor=999999;
1

//variavel que recebera o menor valor media=0; //variavel que recebera a media valor=0; //variavel que recebe o calculo realizado eque sera enviado a matriz int x,y,i; printf("1 - Real \n2 - Euro \n\n"); printf("Digite a moeda que sera convertida:"); scanf("%d",&x); printf("\nDigite para qual moeda sera convertida:"); scanf("%d",&y); if (x==y) { printf("\n\nVc Selecionou a mesma Moeda!!"); } if (x==1&&y==2)//Real Para Euro { for(i=0;i<30;i++) /*lao que ira repetir os dias para armazenameno na matriz*/ { printf("digite o valor de RS:\n"); scanf("%f",&moeda); valor=moeda*0.433957204; printf("O valor em Euro e de E:%.2f",valor); vetmoeda[i]=valor; media = media + valor; if(valor<menor) {

menor=valor; } if(valor>maior) { maior=valor; } } for(i=0;i<30;i++) //lao que ira imprimir os vetores { printf("\nDia %d Valor E%.2f",i+1,vetmoeda[i]); } printf("\nA media da cotacao e E %.2f",media/30); printf("\nA menor cotacao e E%.2f",menor); printf("\nA maior cotacao e E%.2f",maior); }

if(x==2&&y==1)//Euro para real { for(i=0;i<30;i++) /*lao que ira repetir os dias para armazenameno na matriz*/ { printf("\ndigite o valor de E:"); scanf("%f",&moeda); valor=moeda*2.287; printf("\nO valor em Euro e de E:%.2f",valor);

vetmoeda[i]=valor; media = media + valor; if(valor<menor) { menor=valor; } if(valor>maior) { maior=valor; } } for(i=0;i<30;i++) //lao que ira imprimir os vetores { printf("\nDia %d Valor RS%.2f",i+1,vetmoeda[i]); } printf("\nA media da cotacao e RS %.2f",media/30); printf("\nA menor cotacao e RS%.2f",menor); printf("\nA maior cotacao e RS%.2f",maior); } getch(); }

1. Passo 2
Para mostrar que o algoritmo desenvolvido, no Passo 1 dessa Etapa, funciona corretamente, a equipe dever apresentar testes numricos (pelo menos trs testes oriundos de base de dados distintas) que validem a soluo proposta.
4

Resoluo Passo 2

Figura 1 Menu do programa

Figura 2 Execuo do programa parte 1

Figura 3 do programa parte 2

Execuo

Execuo do programa parte 3

Etapa 2
Aula tema: Estruturas de controle: Iterao. Exerccios. Vetores, matrizes e cadeia de caracteres. Esta atividade importante para que voc exercite o uso de matrizes, implementandoas em C e verifique o uso de estrutura de dados distintas.

2. Passo 1
O algoritmo implementado na Etapa 1 do segundo Desafio dever ser ampliado de forma a apresentar a mdia, o menor e maior valor das cotaes de todas as moedas que o aplicativo suportar. Definam uma matriz como estrutura para guardar as informaes das cotaes dirias de cada moeda, sendo que as linhas devero corresponder moeda e as colunas aos dias do ms. Para identificao de cada moeda, usem um vetor, sendo que a posio do vetor em que uma moeda est alocada corresponda linha da matriz que contm suas cotaes dirias.

Resoluo Passo 1
#include<stdio.h>

#include<stdlib.h>

int main()

float moeda[4],valor,matriz[4][30],total,media,maior,menor; 7

int x,y,i,j,n;

media=0;

maior=0;

menor=99999999999999999;

moeda[0]=1.00;

//real

moeda[1]=1.5790;

//dolar americano

moeda[2]=1.6277;

//dolar canadense

moeda[3]=2.2740;

//Euro

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

{ do

printf("1 - Real \n2 - Dolar Americano \n3 - Dolar Canadense \n4 - Euro \n\n");

printf("Digite a moeda Base");

scanf("%d",&x);

x = x-1;

printf("\nDigite para qual moeda sera convertida:");

scanf("%d",&y);

y = y-1;

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

printf("digite o valor:\n");

scanf("%f",&valor);

total=(valor*moeda[x])/moeda[y];

matriz[y][i]=total;

media = media + total;

if(total<menor)

menor=total;

if(total>maior) 9

maior=total;

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

printf("\nvalor %.2f",matriz[y][i]);

printf("\nA media da cotacao e %.2f",media/30);

printf("\nA menor cotacao e %.2f",menor);

printf("\nA maior cotacao e %.2f",maior);

printf("\nDeseja fazer uma nova Conversao 1-sim 2-nao ?\n\n");

scanf("%d",&n);

}while(n!=2);

getch();

10

2.Passo 2
Outra solicitao feita pelo diretor da agncia que o aplicativo mostre a mdia, maior e menor valor da cotao de uma moeda dentro de perodos prdefinidos. Na Tabela 1 constam os perodos que devero ser adicionados ao algoritmo e as informaes que devero ser apresentadas.

Tabela 1: Parmetros para a realizao dos testes computacionais

Perodo do ms para anlise

1o. ao 10o. dia

11o. ao 20o. dia

21o. ao 30o. dia

Ms completo

Mdia das cotaes no perodo

Menor cotao no perodo

Maior cotao no perodo

11

importante que o algoritmo permita que o usurio escolha o perodo que quer verificar a mdia, menor e maior cotao da moeda. Mas, alm disso, dever permitir a escolha de todas as estatsticas. A equipe dever apresentar o pseudocdigo do algoritmo que foi alterado para atender o solicitado nesse Passo.

Resoluo Passo 2
#include<stdio.h>

#include<stdlib.h>

int main()

float moeda[4],valor,matriz[4][30],total,media,maior,menor;

int x,y,i,j,n;

media=0;

maior=0;

menor=99999999999999999;

moeda[0]=1.00;

//real

moeda[1]=1.5790;

//dolar americano

12

moeda[2]=1.6277;

//dolar canadense

moeda[3]=2.2740;

//Euro

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

{ do

printf("1 - Real \n2 - Dolar Americano \n3 - Dolar Canadense \n4 - Euro \n\n");

printf("Digite a moeda Base");

scanf("%d",&x);

x = x-1;

printf("\nDigite para qual moeda sera convertida:");

scanf("%d",&y);

y = y-1;

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

13

printf("digite o valor:\n");

scanf("%f",&valor);

total=(valor*moeda[x])/moeda[y];

matriz[y][i]=total;

media = media + total;

if(total<menor)

menor=total;

if(total>maior)

maior=total;

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

{ 14

printf("\nvalor %.2f",matriz[y][i]);

printf("\nA media da cotacao e %.2f",media/30);

printf("\nA menor cotacao e %.2f",menor);

printf("\nA maior cotacao e %.2f",maior);

printf("\nDeseja fazer uma nova Conversao 1-sim 2-nao ?\n\n");

scanf("%d",&n);

}while(n!=2);

for(y=0;y<4;y++)

media=0;

maior=0;

menor=99999999999999999;

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

15

total =matriz[y][i];

media = media + total;

if(total<menor)

menor=total;

if(total>maior)

maior=total;

printf("\nA media da cotacao e %.2f",media/10);

printf("\nA menor cotacao e %.2f",menor);

printf("\nA maior cotacao e %.2f",maior);

media=0; 16

maior=0;

menor=99999999999999999;

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

total =matriz[y][i];

media = media + total;

if(total<menor)

menor=total;

if(total>maior)

maior=total;

17

printf("\nA media da cotacao e %.2f",media/10);

printf("\nA menor cotacao e %.2f",menor);

printf("\nA maior cotacao e %.2f",maior);

media=0;

maior=0;

menor=99999999999999999;

for(i=20;i<30;i++)

total =matriz[y][i];

media = media + total;

if(total<menor)

menor=total;

if(total>maior)

{ 18

maior=total;

printf("\nA media da cotacao e %.2f",media/10);

printf("\nA menor cotacao e %.2f",menor);

printf("\nA maior cotacao e %.2f",maior);

n=0;

do

printf("\nSelecione a moeda que deseja pesquisar:");

scanf("%d",&y);

printf("Digite o inicio do periodo:");

scanf("%d",&j);

printf("Digite o fim do periodo:");

19

scanf("%d"&x);

media=0;

maior=0;

menor=99999999999999999;

for(i=j;i<x;i++)

total =matriz[y][i];

media = media + total;

if(total<menor)

menor=total;

if(total>maior)

maior=total;

} 20

printf("\nA media da cotacao e %.2f",media/10);

printf("\nA menor cotacao e %.2f",menor);

printf("\nA maior cotacao e %.2f",maior);

printf("\nDeseja fazer uma nova Pesquisa 1-sim 2-nao ?\n\n");

scanf("%d",&n);

}while(n!=2);

getch();

21

You might also like