atps programação estruturada desafio 2

10
Esse desafio consiste na programação do algoritmo desenvolvido na Atividade Prática Supervisionada de Construção de Algoritmos. Para facilitar, transcreve-se a seguir a situação problema a ser considerada e resolvida. Problema Uma agência de viagens sentiu a necessidade de disponibilizar em sua página da internet um programa que faça a conversão de moedas, devido ao grande número de pedidos de seus clientes. Além disso, percebeu que essa ferramenta poderá trazer novos visitantes a sua página principal, incrementando sua ação de marketing. Para realizar esse projeto o diretor da agência solicitou à empresa responsável pela página de internet que providenciasse o aplicativo, tendo especificado as seguintes características: 1. suportar as moedas disponíveis nos conversores usuais, como o da página do UOL Economia. Disponível em: <http://economia.uol.com.br/cotacoes>. Acesso em: 10 out. 2010; 2. permitir conversão da moeda x para y como de y para x, a escolha do usuário; 3. guardar as cotações diárias por mês; 4. fazer médias as médias mensais das cotações das moedas; 5. indicar o menor e o maior valor da moeda no mês. Para resolver esse desafio considere que você e seus colegas (até 4 indivíduos) fazem parte da equipe que desenvolverá o aplicativo descrito e que o professor da disciplina é o gerente desse projeto. Logo, entreguem ao 1

Upload: fabio-takahashi

Post on 05-Aug-2015

455 views

Category:

Documents


1 download

TRANSCRIPT

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: . 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.

1

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:

2

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 #include 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