Você está na página 1de 14

Sumrio: PRIMEIRO DESAFIO: 3 ETAPA 01 3 PASSO 01: 3 PASSO 02: 7 PASSO 03: 8 PASSO 04: 10 ETAPA 02 11 PASSO 01:

11 PASSO 02: 13 PASSO 03: 17 PASSO 04: 18 SEGUNDO DESAFIO: 19 ETAPA 01 19 PASSO 01: 19 PASSO 02: 24 PASSO 03: 25 ETAPA 02 26 PASSO 01: 26 PASSO 02: 33 PASSO 03: 37 Referncias Bibliogrficas: PRIMEIRO DESAFIO: ETAPA 01 PASSO 01: Dados de Entrada: o

38

Deve ser um conversor de Moedas; Suportar trs moedas alm do Real; Dlar Americano Turismo; Dlar Canadense; Euro.

Processamento: Considerar o Valor de Venda da Moeda; A moeda Real dever ser a referncia, ou seja, R$1,00 igual a xxx dlares;

Dados de Sada: Ser impresso na tela o valor calculado da moeda desejada.

Algoritmo em descrio Narrativa: a. b. c. d. e. Abrir o Programa; Digitar o Valor, em dlares, que ser Convertido; Aguardar o processamento dos dados; Ler o valor impresso na tela; Fechar o Programa.

Fluxograma

Algoritmo em Pseudocdigo: Algoritmo "Conversor de Moedas" var

// Declarao de Variveis dolaram, conversao: real dolar: real // Interatividade com o Cliente Inicio // Declarando um Valor ao Dolar em relao ao Real dolar <- 1.65 Escreva ("Digite o valor, em dolares, que voce deseja converter: USD") Leia (dolaram) // Processamento de Dados conversao <- dolaram / dolar // Demonstrao do resultado Escreva ("O valor de dolares para reais eh: R$", conversao) FimAlgoritmo Cdigo em Linguagem C main () { // Inserindo Variveis float Real; float conversao; float DOLAR = 1.65; // Interatividade com o Cliente printf("Digite o valor em reais:"); scanf("%f", &Real); // Processamento dos dados conversao = Real * DOLAR; // Resultado em Tela printf("\nValor em dolares eh de: %.2f\n\n",conversao); // Pausa de Tela getch(); }

PASSO 02: Cdigo em Linguagem C main () { // Inserindo Variaveis float real; float DolarCanadense = 1.32; float Euro = 3.19; float DolarAmericano = 1.65; float conversao1; float conversao2; float conversao3; // Inserindo Calculos e conversa com o cliente printf("Digite o valor em Reais: "); scanf("%f", &real); conversao1 = real * DolarCanadense; conversao2 = real * Euro; conversao3 = real * DolarAmericano; // Visualizao em Tela printf("\nValor em DolarCanadense eh de: %.2f\n\n",conversao1); printf("\nValor em Euro eh de: %.2f\n\n",conversao2); printf("\nValor em DolarAmericano eh de: %.2f\n\n",conversao3); // Pausa de tela getch();

} PASSO 03: Cdigo em Linguagem C main(){ //Inicio de Programa, entrada de dados float saida, valor, resultado; //Moeda de referncia printf("\nO Real sera a base de Conversao para as outras moedas"); } //Moeda convertida { printf("\n\n\nDigitar a opcao da moeda que sera a convertida: "); printf("\n\n\n1 para REAIS\n2 para DOLLAR AMERICANO"); printf("\n3 para DOLLAR CANADENSE\n4 para EURO"); printf("\n\n\nOpcao: "); scanf("%f", &saida); if ((saida)==1) printf("\nVoce optou pelo Real como conversao"); if ((saida)==2) printf("\nVoce optou pelo Dolar Americano como conversao"); if ((saida)==3) printf("\nVoce optou pelo Dolar Canadense como conversao"); if ((saida)==4) printf("\nVoce optou pelo Euro como conversao"); printf("\n\nDigite o valor, em reais, que sera convertido: "); scanf("%f", &valor); } //Digitar o valor da moeda if (saida==1) resultado=valor/1; if (saida==2) resultado=valor*0.61953; if (saida==3) resultado=valor*0.59741; if (saida==4) resultado=valor*0.43482; printf("\n\n\nO resultado eh: %f", resultado); getch(); } PASSO 04: Resultados Alcanados Com o usufruto de vrias alternativas de solues de problemas, foi possvel cria um arq uivo executvel capaz de converter o real em algumas outras moedas. Com isso, foi alcanado o objetivo de gerar um executvel capaz de efetuar a converso do real para a moeda escolhida pelo cliente.

ETAPA 02 PASSO 01:

A base utilizada para o novo processamento foi em cima do cdigo anterior, porm, co m incrementos de dados. O usurio dever optar por uma das quatros moedas, dispostas pelo software, como bas e para converso. Aps essa escolha, o usurio dever optar pela moeda resultante. Depois das escolhas, o usurio digitar o valor que ser convertido. Programa em C: #include <stdio.h> #include <stdlib.h> main(){ float conv, real=1, euro=2.318; int n1, d1, erro, base; float n2, d2, resultado; do{ do{ printf("\n\nEscolha a moeda a ser convertida\n\n1REAL\n2EURO \n"); scanf("%i",&n1); switch(n1){ case 1: n2=real, erro=0; break; case 2: n2=euro; erro=0; break; default: printf("Escolha erronea\n"); erro=1; break; } }while (erro==1); do{ printf("\n\nEscolha a moeda que sera convertida\n\n1R EAL\n2EURO\n"); scanf("%i", &d1); switch (d1){ case 1: d2=real; erro=0; break; case 2: d2=euro; erro=0; break; } }while (erro==1); if(n1==d1){ printf("\nAs moedas de entrada e saida naum devem ser as mesmas\n"); erro=1;} }while (erro==1); printf("Qual o valor de conversao?\n"); scanf("%f", &conv); resultado=((conv*n2)/d2); printf("\n\nValor convertido: %.3f\n", resultado); getch(); } PASSO 02: Programa em C #include <stdio.h> #include <stdlib.h> main(){ float conv, dp=1.74, real=1, dt=1.771, dc=1.623; float d1, d2, d3, r1, r2, o1, o2, o3, r3, p1, p2, p3; int o, d, erro, base; do{

do{ printf("\n\nEscolha a moeda a ser convertida\n\n1REAL\n2DOLA R AMERICANO\n"); scanf("%i",&o); switch(o){ case 1: o1=real; o2=real; o3=real; erro=0; break; case 2: o1=dc; o2=dt; o3=dp; erro=0; break; default: printf("Escolha erronea\n"); erro=1; break; } }while (erro==1); do{ printf("\n\nEscolha a moeda que sera convertida\n\n1R EAL\n2DOLAR AMERICANO\n"); scanf("%i", &d); switch (d){ case 1: d1=real; d2=real; d3=real; erro=0; break; case 2: d1=dc; d2=dt; d3=dp; erro=0; break; default: printf("Escolha erronea\n"); erro=1; break; } }while (erro==1); if(o==d){ printf("\nAs moedas de entrada e saida naum devem ser as mesmas\n"); erro=1;} }while (erro==1); printf("Qual o valor de conversao?\n"); scanf("%f", &conv); r1=((conv*o1)/d1); r2=((conv*o2)/d2); r3=((conv*o3)/d3); if(dc<dp){ if(dc<dt) base=1; else base=2; } else{ if(dp<dt) base=3; else base=2; } switch(base){ case 1: { p1=(((r2*100)/r1)-100); p2=(((r3*100)/r1)-100); printf("\nConversao:\n\nDolar Comercial: % .3f\nDolar Turismo: %.3f / %.2f%%\nDolar Paralelo: %.3f / %.2f%%\n", r1, r2, p1, r3, p2); break; } case 2: { p1=(((r1*100)/r2)-100); p2=(((r3*100)/r2)-100); printf("\Conversao:\n\nDolar Comercial: %.

3f\nDolar Turismo: %.3f\nDolar Paralelo: %.3f / %.2f%%\n", r1, r2, p1, r3, p2); break; } } getch(); } PASSO 03: Teste 01 Entrada 1: 1 (Real); Entrada2: 2 (Dolar Americano); Valor: 23.00 Impresso em Tela: Teste 02 Entrada 1: 2 (Dolar Americano); Entrada2: 1 (Reais); Valor: 3.00 Impresso em Tela: PASSO 04: Resumo: Usando os pseudocdigos iniciais, foram alterados praticamente 70% dos comandos, p ois, a princpio, no era previsto a incluso de comandos / necessidades anormais. Por tanto, inclumos variadas linhas de cdigos com o intuito de aprimorar o desempenho do sistema. Para facilitar a interao entre sistema e cliente, foram includas conversas didticas e dinmicas com os usurios. Tivemos uma intemprie perante a necessidade da incluso do percentual da variao entre os variados dolars onde, foi solucionado com uma boa leitura no PLT e, includo a lguns comandos novos para resoluo de tal problema.

SEGUNDO DESAFIO: ETAPA 01 PASSO 01: 01: Os novos dados incorporados no pseudocdigo referente a essa atividade foram r eferentes ao armazenamento de dados em vetor com o intuito de possibilitar histri cos mensais de todas as cotaes incorporadas no banco de dados. 02: O processamento do valor mdio com base nas cotaes incorporadas no ms foi; a soma de todos os dados armazenados e, divididos por uma quantidade i de valores atra vs de um contador. 03: Com base no histrico, foi possvel, atravs de um inicializador -1 e, resgatado o s dados inseridos no banco de dados atravs de dois comandos de deciso baseados na funo IF. 04: PSEUDOCDIGO: #include <stdio.h> #include <stdlib.h> //real=1,0000; //euro=2,3360; main() {//Inicio do programa float resul,valor,mbase; int opcao1,opcao2; char verdade,menu;

//Apresentao: printf(" Conversor de moedas \n"); inicio: {//inicio do lao do while if(login==1) {//inicio do se system("cls"); printf("\nDigite a senha para acessar a area de Administrador: "); printf("\n\nSenha: ");//senha = 1234 fflush(stdin); scanf("%d",&senha); system("cls"); printf("Moeda 1 - Real\n"); printf("Moeda 2 - Euro\n"); } { int j;//31 dias do mes (vetor)[31] / linhas int i;//2 moedas (vetor)[1] / colunas float soma,cotacao[30][2],media,maior=0,menor=9999; soma=0; for (j=0;j<30;j++) //linhas - Dias do mes 0<30=31 posies { for (i=0;i<2;i++) //Colunas Moedas 0<2=2 posies { printf("Digite a Cotacao do mes %d para a moeda %d: ",j+1,i+1); scanf("%f",&cotacao[j][i]); soma=soma+cotacao[j][i]; media=soma/31; }//fim do for 2 }//fim do for 1 printf("Menu principal (s/n)?\n\n"); printf("Opcao: "); fflush(stdin); scanf("%c",&menu); if(menu='s'); goto inicio; }//fin do se if(login==2) {//inicio do se system("cls"); printf("\n\nEscolha a moeda Base: \n\n"); printf("1 - Real\n2 - Euro\n\n"); printf("Opcao: "); fflush(stdin); scanf("%d",&opcao1); if(opcao1==1) { printf("\nVoce escolheu converter a moeda Real!"); mbase=1.0000; } if(opcao1==2) { printf("\nVoce escolheu converter a moeda Euros!"); mbase=2.3360; } printf("\n\nDigite o valor a converter: "); fflush(stdin); scanf("%f",&valor); printf("\n\nDeseja converter para qual moeda?\n\n"); printf("1 - Real\n2 - Euro\n\n");

printf("Opcao:"); fflush(stdin); scanf("%d",&opcao2); if(opcao2==1) { printf("\nVoce Deseja fazer a conversao para Reais!"); resul=(valor*mbase/1.0000); printf("\n\nO Resultado e: R$ %.2f\n\n\n",resul); } if(opcao2==2) { printf("\nVoce Deseja fazer a conversao para Euros!"); resul=(valor*mbase/2.3360); printf("\n\nO Resultado e: CDN$ %.2f\n\n\n",resul); } printf("Deseja fazer uma nova Conversao (s/n) ?\n\n"); printf("Opcao: "); fflush(stdin); scanf("%c",&verdade); printf("\n\n"); }//fim do se }//fim do lao while while(verdade!='n'); printf("\n\n"); system("PAUSE"); }//Fim do programa PASSO 02:

Teste 01: Teste 02: Teste 03:

PASSO 03: Atravs da implementao de variveis e, a funo vetorial, conseguimos criar um banco de d dos dentro da funo FOR que, possibilitou o acesso ao histrico do programa. Acessando o histrico do programa, foi possvel encontrar os maiores dados lanados as sim como, a certeza de comparao entre controles dirios. ETAPA 02 PASSO 01: 01: Para conseguirmos efetuar a nova programao, tivemos que aplicar o conceito da funo matricial, ou seja, a aplicabilidade de linhas e colunas dentro da funo FOR. Es se comando possibilitou um equilbrio entre estrutura interna do software e estrut ura de uso, pois, a facilidade de adequar-se a novas solicitaes do gerente de proj eto foi incrvel. 02: Atravs de comandos de acesso ao banco de dados, criamos variveis de re sgate histrica e, esse tipo de acesso, permitiu a lgica de pesquisa dentro da soli citao do usurio. Houve a necessidade de incorporar a funo IF para possibilitar o proc essamento dos dados antes da impresso de tela. 03: PSEUDOCDIGO: #include <stdio.h> #include <stdlib.h>

//real=1,0000; //dolarcnd=1,7420; //euro=2,3360; //dolarcomer=1,7730 ; //dolarturis=1,8800 ; //dolarparal=1,9500 ; main() {//Inicio do programa float resul,resul1,resul2,valor,mbase,dif1,dif2,dif3; int opcao1,opcao2; char verdade,menu; //Apresentao: printf(" Conversor de moedas \n"); inicio: {//inicio do lao do while if(login==1) {//inicio do se system("cls"); printf("\nDigite a senha para acessar a area de Administrador: "); printf("\n\nSenha: ");//senha = 1234 fflush(stdin); scanf("%d",&senha); system("cls"); printf("Moeda 1 - Real\n"); printf("Moeda 2 - Dolar Canadense\n"); printf("Moeda 3 - Euro\n"); printf("Moeda 4 - Dolar Turismo\n"); printf("Moeda 5 - Dolar Paralelo\n"); printf("Moeda 6 - Dolar Comercial\n\n"); } { int j;//31 dias do mes (vetor)[31] / linhas int i;//6 moedas (vetor)[5] / colunas float soma,cotacao[31][5],media,maior=0,menor=9999; soma=0; for (j=0;j<30;j++) //linhas - Dias do mes 0<30=31 posies { for (i=0;i<5;i++) //Colunas Moedas 0<5=6 posies { printf("Digite a Cotacao do mes %d para a moeda %d: ",j+1,i+1); scanf("%f",&cotacao[j][i]); soma=soma+cotacao[j][i]; media=soma/31; }//fim do for 2 }//fim do for 1 printf("Menu principal (s/n)?\n\n"); printf("Opcao: "); fflush(stdin); scanf("%c",&menu); if(menu='s'); goto inicio; }//fim do se if(login==2) {//inicio do se system("cls"); printf("\n\nEscolha a moeda Base: \n\n"); printf("1 - Real\n2 - Dolar Canadense\n3 - Euro\n\n"); printf("Opcao: "); fflush(stdin); scanf("%d",&opcao1); if(opcao1==1)

{ printf("\nVoce escolheu converter a moeda Real!"); mbase=1.0000; } if(opcao1==2) { printf("\nVoce escolheu converter a moeda Dolar Canadense!"); mbase=1.7420; } if(opcao1==3) { printf("\nVoce escolheu converter a moeda Euro!"); mbase=2.3360; } printf("\n\nDigite o valor a converter: "); fflush(stdin); scanf("%f",&valor); printf("\n\nDeseja converter para qual moeda?\n\n"); printf("1 - Real\n2 - Dolar Canadense\n3 - Euro\n4 - Dolar Americano [Turismo Paralelo - Comercial]\n\n"); printf("Opcao:"); fflush(stdin); scanf("%d",&opcao2); if(opcao2==1) { printf("\nVoce Deseja fazer a conversao para Reais!"); resul=(valor*mbase/1.0000); printf("\n\nO Resultado e: R$ %.2f\n\n\n",resul); } if(opcao2==2) { printf("\nVoce Deseja fazer a conversao para Dolares Canadense!"); resul=(valor*mbase/1.7420); printf("\n\nO Resultado e: CDN$ %.2f\n\n\n",resul); } if(opcao2==3) { printf("\nVoce Deseja fazer a conversao para Euros!"); resul=(valor*mbase/2.3360); printf("\n\nO Resultado e: E$ %.2f\n\n",resul); } if(opcao2==4) { printf("\nVoce Deseja fazer a conversao para Dolar Americano!\n\n"); printf("Esta opcao mostrara:"); printf("\nA cotacao em Turismo, Paralelo e Comercial.\n"); printf("A Diferenca Percentual entre o Menor Valor para as Demais Moedas:"); resul=(valor*mbase/1.8800); dif1=(1.7730-1.8800/100); resul1=(valor*mbase/1.9500); dif2=(1.7730-1.9500/100); resul2=(valor*mbase/1.7730); dif3=(1.7730-1.7730/100); printf("\n\nO Resultado e:\n\n"); printf("Dolar Turismo : $ %.2f - %.3f %%\n",resul,dif1); printf("Dolar Paralelo : $ %.2f - %.3f %%\n",resul1,dif2); printf("Dolar Comercial: $ %.2f - %.3f %%\n\n",resul2,dif3); } printf("Deseja fazer uma nova Conversao (s/n) ?\n\n"); printf("Opcao: ");

fflush(stdin); scanf("%c",&verdade); printf("\n\n"); }//fim do se }//fim do lao while while(verdade!='n'); printf("\n\n"); system("PAUSE"); }//Fim do programa PASSO 02: PSEUDOCDIGO: #include <stdio.h> #include <stdlib.h> main() { float real=1, euro=2.309; float entr, count, none, valifim, entrvalor, forts, daton1, gotr=0, min=euro , dor=euro; int menu, , minimdab, dormdab, ng, comeo, ida, atualizacao, resultado, n1, co mum, final1, dab=1 a, b, validacao=0; static float dortoros[2][30]; dortoros[1][0]=euro; dortoros[0][0]=real; char *n1iod; //strings int sair=0; //repeticao do { do { printf("\nEscolha a opo abaixo:\n[1]Conversao de moedas\n[2]Atualizacao da cotacao \n[3]Resultado mensal da moeda\n[4]Sair\n>> "); scanf("%i", &menu); switch(menu) { case 1: { printf("\n\n1 - CONVERSAO DE MOEDAS\n\n"); do { do { printf("[1]REAL\n[2]EURO\n\nEscolha a moeda de comeo -> "); scanf("%i", &comeo); switch (comeo) { case 1: entr=real; ng=0; break; case 2: entr=euro; ng=0; break; default: printf("\nMenu invalidacaoa. Por favor, escolha uma menu da lista abaiao\n\n"); ng=1; break; } } while(ng==1); do { printf("[1]REAL\n[2]EURO\n\nEscolha a moeda de ida -> "); scanf("%i", &ida); switch (ida) { case 1: count=real; ng=0; break; case 2: count=euro; ng=0; break; default: printf("\nMenu invalidoa. Por favor, escolha um a OPCAO do menu da lista abaixo\n\n"); ng=1; break; } } while(ng==1); if (comeo == ida) { printf("NG: As moedas nao podem ser identicas\nPor favor, co mece o processo\n\n\n"); ng=1;

} } while (ng==1); printf("\nDigite o valor a ser convertido -> "); scanf("%f", &none); valifim=(none * entr / count); printf("\nO valor de %.2f convertido e' de: %.2f", none, valifim); break; } case 2: { printf("\n\n2 - ATUALIZACAO DA COTACAO\n\n"); do { printf("Escolha a moeda para fazer atualizacao:\n[1]EURO\n\n>> " ); scanf("%i", &atualizacao); switch(atualizacao) { case 1: { printf("\n\nMoeda escolhida: EURO\nATENCAO: As cotacoes sao feitas na proporcao de EUR 1,00 para R$ A\n\nValor atualizacaoal: %.3f (Dab %i)\nNovo valor >> ", euro, dab); scanf("%f", &entrvalor); dab++; forts=1/entrvalor; daton1=(((entrvalor * 100) / euro) - 100); dortoros[atualizacao][dab-1]=entrvalor; euro=entrvalor; printf("\nValor atualizacaoalizado com sucesso!\nNovo va lor do EURO: EUR %.3f (R$ 1,00 = EUR %.2f)\nMudanca daton1entual: %.3f", euro, f orts, daton1); ng=0; break; } default: printf("\nMenu invalidacao, Por favor, escolha uma menu da lista abaixo\n\n"); ng=1; break; } } while (ng==1); break; } case 3: { printf("\n\n3 - RESULTADOUMO MENSAL DA MOEDA\n\n"); do { printf("Escolha a moeda que deseja visualizar:\n[1]EURO\n\n>> ") ; scanf("%i", &resultado); printf("Escolha o valor que deseja consultar:\n[1]Dab 1 - Dab 10 \n[2]Dab 11 - Dab 20\n[3]Dab 21 - Dab 30\n"); scanf("%i", &n1); switch(n1) { case 1: { comum = 0; final1 = 9; n1iod="Dab 1 ao Dab 10"; break; } case 2: { comum = 10; final1 = 19; n1iod="Dab 11 ao Dab 20"; break; } case 3: {

comum = 20; final1 = 29; n1iod="Dab 21 ao Dab 30"; break; } } switch(resultado) { case 1: { printf("\n\nMoeda escolhida: EURO\n"); for (a=comum; a < final1; a++) { if ((dortoros[resultado][a] > 0) && (dortoros[re sultado][a] < 999)) { validacao++; gotr=gotr+dortoros[resultado][a]; if (dortoros[resultado][a] <= min) { min=dor toros[resultado][a]; minimdab=a; } if (dortoros[resultado][a] >= dor) { dor=dor toros[resultado][a]; dormdab=a; } } } gotr=gotr/validacao; if (validacao > 0) { printf("\n\n(N1iodo: %s - Data validacao: %i)\nValor mensal de cotacoes: EUR %.3f\nValor minimo neste n1iodo: EUR %.3f (Dab %i)\nVal or neste do: EUR %.3f (Dab %i)\n(Legenda: 1 EUR = R$ %.3f)\n", n1iod, validacao, gotr, min, minimdab+1, dor, dormdab+1, euro); } else { printf("\n\nVerifique, nao ha cotacao armazenada no menu solicitado\n"); } gotr = 0; ng=0; validacao=0; break; } default: printf("\nMenu invalido, Por favor, escolha uma men u da lista abaixo\n\n"); ng=1; break; } } while (ng==1); break; } case 4: { sair = 1; ng = 0; break; } default: printf("\nMenu invalido, Por favor, escolha uma menu da lista a baiao\n\n"); ng=1; break; } } while (ng==1); printf("\n\n"); } while (sair == 0); printf("\nAte logo!\n"); sbstem("pause"); } PASSO 03:

Com o usufruto de vrias alternativas de solues de problemas, foi possvel cria um arq uivo executvel capaz de converter o real em algumas outras moedas. Com isso, foi alcanado o objetivo de gerar um executvel capaz de efetuar a converso do real para a moeda escolhida pelo cliente. Usando os pseudocdigos iniciais, foram alterados praticamente 70% dos comandos, p ois, a princpio, no era previsto a incluso de comandos / necessidades anormais. Por tanto, inclumos variadas linhas de cdigos com o intuito de aprimorar o desempenho do sistema. Para facilitar a interao entre sistema e cliente, foram includas conversas didticas e dinmicas com os usurios. Tivemos uma intemprie perante a necessidade da incluso do percentual da variao entre os variados dolars onde, foi solucionado com uma boa leitura no PLT e, includo a lguns comandos novos para resoluo de tal problema.

Referncias Bibliogrficas: UOL. Cotaes e Cambio. Disponvel em: http://economia.uol.com.br/cotacoes/cambio.jhtm . Data de acesso: 06/06/2011. MIZRAHI, Victorine Viviane. Treinamento em Linguagem C: mdulo 1 e 2 So Paulo: Pear son Prentice Hall, 2007.

Você também pode gostar