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 professor seus nomes e RAs, lembrando que deverão permanecer juntos na execução de todas as tarefas. Em caso de necessidade de alteração o professor deverá ser consultado. Leiam atentamente as etapas a seguir e boa sorte!

Etapa Nº 1 Aula tema: Estruturas de controle: Seleção. Estruturas de controle: Iteração. Exercícios. 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

sumário. a ser entregue ao gerente do projeto . descrição do algoritmo – explicando a lógica utilizada. Resolução da Etapa 1: 2 . de forma a testar e validar a solução para então aplicá-la ao problema completo. Passo 3 (Equipe) Documentem essa etapa de estudos apresentando quais foram os resultados alcançados em cada Passo. Passo 2 (Equipe) Apresentem. apresentação dos testes e referências bibliográficas. deverão ser armazenadas num vetor. O código deve conter comentários que detalhem as variáveis usadas.PASSOS Passo 1 (Equipe) Considerem que por precaução o gerente do projeto pediu que a equipe realizasse a implementação de uma instância menor do problema. Por isso a equipe deverá usar para testes o Real e o Euro.professor da disciplina. Por isso. contendo capa. testes numéricos (pelo menos três testes oriundos de base de dados distintas) que validem a solução proposta. incluindo as figuras se houver. Usem as normas da ABNT para a apresentação adequada do relatório. para mostrar que o algoritmo desenvolvido. funciona corretamente. o menor e maior valor da cotação da moeda. referentes a um mês. Em anexo coloquem a listagem do código fonte. os testes e loops realizados pelo algoritmo. As cotações diárias. elaborem um relatório. Considerem o período de um mês (30 dias) para calcular a média. que não poderá exceder 6 páginas. no Passo 1 dessa Etapa.

menor. //Declaração de uma variável que armazena a cotação de 30 dias. Figura 1 Abaixo o código fonte do algoritmo que converte Reais em Euro e Euro em Reais. int moeda. convert. soma=0. utilizamos o cálculo de conversão de moedas.h> main(){ //Declaração das variáveis. float real. do Euro pela cotação do Euro da data desejada.h> #include<stdlib. 3 . Reais pela cotação do Euro da data desejada. E do Euro para Reais fazemos uma multiplicação.Para a construção deste algoritmo. //Início do código fonte. que é a seguinte: De Reais para Euro fazemos um divisão. float media=0. maior. A figura 1 ilustra os testes feitos para verificar se o algoritmo esta funcionando. float cotacao[30]. eu. int x. #include<stdio. euro.

2f REAIS. } //A primeira posição é a posição zero. printf("\n").//O usuario escolhe 1 ou 2 para converter moedas. x<30.&eu). if(moeda==1){ printf("Digite quantos REAIS deseja converter: "). printf("O valor convertido eh = %.\n". if(moeda==2){ printf("Digite quantos EUROS deseja converter: "). printf("Digite a cotacao do EURO no dia %d:".&euro).2f EUROS.convert). scanf("%d". //Caso o usuário escolha 1 o programa converte reais em euro.convert).\n". convert=real/euro. 4 . printf("Digite 2 para converter Euro para Real\n"). printf("\n"). printf("Digite l para converter Real para Euro\n"). printf("Digite o valor do EURO: "). convert=eu*euro. scanf ("%f".&moeda).&euro). printf("\n"). scanf("%f". scanf ("%f". for(x=0. printf("Digite o valor do EURO: "). x++){ //Aqui começa o armazenamento da cotação pelo período. scanf("%f".&real).x+1). printf("O valor convertido eh = %. } //Caso o usuário escolha 2 o programa converte euro em reais.

soma = soma + cotacao[x]. matrizes e cadeia de caracteres .maior).media). if(cotacao[x]<menor){ menor=cotacao[x]. printf("O menor valor: %.menor). printf("Media das cotacoes diarias: %.x++){ if(cotacao[x]>maior){ maior=cotacao[x].&cotacao[x]). Para realizá-la é importante seguir os passos descritos. for(x=0. } Etapa Nº 2 Aula tema: Estruturas de controle: Iteração. media = soma/5. } //Teste para a condição para o menor valor. system("pause"). Esta atividade é importante para que você exercite o uso de matrizes. Exercícios. 5 . } } printf("O maior valor: %. } //Teste para a condição para o maior valor. Vetores.3f\n". implementandoas em C e verifique o uso de estrutura de dados distintas. maior=cotacao[0].x<30.3f\n". menor=cotacao[0].scanf("%f".3f\n".

Peguem as 66 moedas que esse conversor utiliza para o programa em desenvolvimento. ao 20º. Passo 2 (Equipe) Considerem que outra solicitação feita pelo diretor da agência é que o aplicativo mostre a média.br/cotacoes>. sendo que as linhas deverão corresponder à moeda e as colunas aos dias do mês. Acesso em: 10 out. dia Mês completo 6 . 2010.uol. sendo que a posição do vetor em que uma moeda está alocada corresponda à linha da matriz que contém suas cotações diárias. Na Tabela 1 constam os períodos que deverão ser adicionados ao algoritmo e as informações que deverão ser apresentadas. Para identificação de cada moeda. ao 30º. Definam uma matriz como estrutura para guardar as informações das cotações diárias de cada moeda. dia 11º. Disponível em: <http://economia. o menor e maior valor das cotações de todas as moedas que o aplicativo suportar.com. usem um vetor.PASSOS Passo 1 (Equipe) Considerem que o algoritmo implementado na Etapa 1 do segundo Desafio deverá ser ampliado de forma a apresentar a média. dia 21º. Tabela 1: Parâmetros para a realização dos testes computacionais Período do mês Média das cotações Menor cotação no Maior cotação no período no período período para análise 1º. maior e menor valor da cotação de uma moeda dentro de períodos pré-definidos. Dica: analisem o código fonte da página do conversor do UOL Economia. ao 10º.

É importante que o algoritmo permita que o usuário escolha o período que quer verificar a média. sumário. que não poderá exceder 6 páginas. 7 . Passo 4 (Equipe) Documentem os estudos desenvolvidos. Mas. menor e maior cotação da moeda. de preferência. que são solicitados na Tabela 1 do Passo anterior. elaborem o relatório final que será entregue ao gerente do projeto. Mas o grupo está dividido: alguns acham mais simples usar as saídas do programa e jogar no Excel para plotar o gráfico. contendo capa. Usem as normas da ABNT para a apresentação adequada do relatório. os testes que mostrem o funcionamento do programa e as referências bibliográficas. contribua mais efetivamente para a formação de todos. descrição do que foi realizado em cada Passo. deverá permitir a escolha de todas as estatísticas. Portanto. Você e seus colegas de equipe deverão escolher a forma que acharem mais adequada e que. resolveram apresentar os dados. além disso. Passo 3 (Equipe) Considerem que a equipe resolveu impressionar o gerente de projetos. em forma de gráfico. Para isso. outros querem implementar o gráfico dentro do próprio sistema e usando C. A equipe deverá apresentar o pseudocódigo do algoritmo que foi alterado para atender o solicitado nesse Passo. Em anexo coloquem a listagem do código fonte. incluindo as figuras que possam existir.