Вы находитесь на странице: 1из 7

Esse desafio consiste na programao do algoritmo desenvolvido na Atividade Prtica Supervisionada de Construo de Algoritmos.

Para facilitar, transcreve-se a seguir a situao problema a ser considerada e resolvida. Problema Uma agncia de viagens sentiu a necessidade de disponibilizar em sua pgina da internet um programa que faa a converso de moedas, devido ao grande nmero de pedidos de seus clientes. Alm disso, percebeu que essa ferramenta poder trazer novos visitantes a sua pgina principal, incrementando sua ao de marketing. Para realizar esse projeto o diretor da agncia solicitou empresa responsvel pela pgina de internet que providenciasse o aplicativo, tendo especificado as seguintes caractersticas: 1. suportar as moedas disponveis nos conversores usuais, como o da pgina do UOL Economia. Disponvel em: <http://economia.uol.com.br/cotacoes>. Acesso em: 10 out. 2010; 2. permitir converso da moeda x para y como de y para x, a escolha do usurio; 3. guardar as cotaes dirias por ms; 4. fazer mdias as mdias mensais das cotaes das moedas; 5. indicar o menor e o maior valor da moeda no ms. Para resolver esse desafio considere que voc e seus colegas (at 4 indivduos) fazem parte da equipe que desenvolver o aplicativo descrito e que o professor da disciplina o gerente desse projeto. Logo, entreguem ao professor seus nomes e RAs, lembrando que devero permanecer juntos na execuo de todas as tarefas. Em caso de necessidade de alterao o professor dever ser consultado. Leiam atentamente as etapas a seguir e boa sorte!

Etapa N 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. Para realiz-la importante seguir os passos descritos.

PASSOS Passo 1 (Equipe) Considerem que 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. Passo 2 (Equipe) Apresentem, para mostrar que o algoritmo desenvolvido, no Passo 1 dessa Etapa, funciona corretamente, testes numricos (pelo menos trs testes oriundos de base de dados distintas) que validem a soluo proposta. Passo 3 (Equipe) Documentem essa etapa de estudos apresentando quais foram os resultados alcanados em cada Passo. Por isso, elaborem um relatrio, a ser entregue ao gerente do projeto - professor da disciplina, contendo capa, sumrio, descrio do algoritmo explicando a lgica utilizada, apresentao dos testes e referncias bibliogrficas. Em anexo coloquem a listagem do cdigo fonte. Usem as normas da ABNT para a apresentao adequada do relatrio, que no poder exceder 6 pginas, incluindo as figuras se houver.

Resoluo da Etapa 1:

Para a construo deste algoritmo, utilizamos o clculo de converso de moedas, que a seguinte: De Reais para Euro fazemos um diviso, Reais pela cotao do Euro da data desejada. E do Euro para Reais fazemos uma multiplicao, do Euro pela cotao do Euro da data desejada. A figura 1 ilustra os testes feitos para verificar se o algoritmo esta funcionando.

Figura 1

Abaixo o cdigo fonte do algoritmo que converte Reais em Euro e Euro em Reais. //Incio do cdigo fonte. #include<stdio.h> #include<stdlib.h> main(){ //Declarao das variveis. float real, euro, eu, convert, maior, menor; float media=0, soma=0;

//Declarao de uma varivel que armazena a cotao de 30 dias. float cotacao[30]; int x; int moeda;
3

//O usuario escolhe 1 ou 2 para converter moedas. printf("Digite l para converter Real para Euro\n"); printf("Digite 2 para converter Euro para Real\n"); scanf("%d",&moeda); printf("\n");

//Caso o usurio escolha 1 o programa converte reais em euro. if(moeda==1){ printf("Digite quantos REAIS deseja converter: "); scanf ("%f",&real); printf("Digite o valor do EURO: "); scanf("%f",&euro); convert=real/euro; printf("O valor convertido eh = %.2f EUROS.\n",convert); printf("\n"); }

//Caso o usurio escolha 2 o programa converte euro em reais. if(moeda==2){ printf("Digite quantos EUROS deseja converter: "); scanf ("%f",&eu); printf("Digite o valor do EURO: "); scanf("%f",&euro); convert=eu*euro; printf("O valor convertido eh = %.2f REAIS.\n",convert); printf("\n"); }

//A primeira posio a posio zero. for(x=0; x<30; x++){

//Aqui comea o armazenamento da cotao pelo perodo. printf("Digite a cotacao do EURO no dia %d:",x+1);
4

scanf("%f",&cotacao[x]); soma = soma + cotacao[x]; maior=cotacao[0]; menor=cotacao[0]; media = soma/5; }

//Teste para a condio para o maior valor. for(x=0;x<30;x++){ if(cotacao[x]>maior){ maior=cotacao[x]; }

//Teste para a condio para o menor valor. if(cotacao[x]<menor){ menor=cotacao[x]; } } printf("O maior valor: %.3f\n",maior); printf("O menor valor: %.3f\n",menor); printf("Media das cotacoes diarias: %.3f\n",media); system("pause"); }

Etapa N 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. Para realiz-la importante seguir os passos descritos.

PASSOS Passo 1 (Equipe) Considerem que 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. Dica: analisem o cdigo fonte da pgina do conversor do UOL Economia. Disponvel em: <http://economia.uol.com.br/cotacoes>. Acesso em: 10 out. 2010. Peguem as 66 moedas que esse conversor utiliza para o programa em desenvolvimento.

Passo 2 (Equipe) Considerem que 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 pr-definidos. 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 Mdia das cotaes Menor cotao no Maior cotao no perodo no perodo perodo

para anlise
1. ao 10. dia 11. ao 20. dia 21. ao 30. dia Ms completo

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.

Passo 3 (Equipe) Considerem que a equipe resolveu impressionar o gerente de projetos. Para isso, resolveram apresentar os dados, que so solicitados na Tabela 1 do Passo anterior, em forma de grfico. Mas o grupo est dividido: alguns acham mais simples usar as sadas do programa e jogar no Excel para plotar o grfico; outros querem implementar o grfico dentro do prprio sistema e usando C. Voc e seus colegas de equipe devero escolher a forma que acharem mais adequada e que, de preferncia, contribua mais efetivamente para a formao de todos.

Passo 4 (Equipe) Documentem os estudos desenvolvidos. Portanto, elaborem o relatrio final que ser entregue ao gerente do projeto, contendo capa, sumrio, descrio do que foi realizado em cada Passo, os testes que mostrem o funcionamento do programa e as referncias bibliogrficas. Em anexo coloquem a listagem do cdigo fonte. Usem as normas da ABNT para a apresentao adequada do relatrio, que no poder exceder 6 pginas, incluindo as figuras que possam existir.

Оценить