Mudanças entre as edições de "Sistemas Operacionais e Introdução a Programação (diário 2009-2): Problema de conversão de moedas"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(11 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
=O Problema==
+
=O Problema=
 
Construa um programa que converta valores entre as moedas Real, Dólar e Euro.
 
Construa um programa que converta valores entre as moedas Real, Dólar e Euro.
  
  
 +
=Propostas de Solução=
 +
==Professor==
 +
===Pseudocódigo===
 +
Há inúmeras propostas para solucionar o problema. A seguir, uma delas:
 +
# Leia a taxa de conversão do dia de Real para Dólar.
 +
# Armazene a taxa de conversão do dia de Real para Dólar na variável RealParaDólar.
 +
# Leia a taxa de conversão do dia de Real para Euro.
 +
# Armazene a taxa de conversão do dia de Real para Euro na variável RealParaEuro.
 +
# Leia a taxa de conversão do dia de Dólar para Euro.
 +
# Armazene a taxa de conversão do dia de Dólar para Euro na variável DólarParaEuro.
 +
# Leia a moeda de origem.
 +
# Leia o valor a ser convertido.
 +
# Armazene o valor a ser convertido na variável valorOriginal.
 +
# Leia a moeda de destino.
 +
# Se a moeda de origem for Real e a moeda de destino for Dólar, multiplique as variáveis valorOriginal e RealParaDólar.
 +
# Se a moeda de origem for Dólar e a moeda de destino for Real, divida a variável valorOriginal por RealParaDólar.
 +
# Se a moeda de origem for Real e a moeda de destino for Euro, multiplique as variáveis valorOriginal e RealParaEuro.
 +
# Se a moeda de origem for Euro e a moeda de destino for Real, divida a variável valorOriginal por RealParaEuro.
 +
# Se a moeda de origem for Dólar e a moeda de destino for Euro, multiplique as variáveis valorOriginal e DólarParaEuro.
 +
# Se a moeda de origem for Euro e a moeda de destino for Dólar, divida a variável valorOriginal por DólarParaEuro.
 +
# Escreva o resultado da operação.
 +
 +
===Diagrama de blocos===
 +
<graphviz>
 +
digraph conversao
 +
{
 +
geometry="800x800"
 +
 +
"Início"
 +
"Leia a taxa de Real para Dólar" [shape=invtrapezium]
 +
"Armazene na variável RealParaDólar" [shape=record]
 +
"Leia a taxa de Real para Euro" [shape=invtrapezium]
 +
"Armazene na variável RealParaEuro" [shape=record]
 +
"Leia a taxa de Dólar para Euro" [shape=invtrapezium]
 +
"Armazene na variável DólarParaEuro" [shape=record]
 +
"Leia o valor a ser convertido" [shape=invtrapezium]
 +
"Armazene na variável valorOriginal" [shape=record]
 +
"Leia a moeda de origem" [shape=invtrapezium]
 +
"Armazene na variável moedaOrigem" [shape=record]
 +
"Leia a moeda de destino" [shape=invtrapezium]
 +
"Armazene na variável moedaDestino" [shape=record]
 +
 +
"A moeda de origem é Real?" [shape=diamond]
 +
"A moeda de origem é Dólar?" [shape=diamond]
 +
"A moeda de destino é Real? (Dólar-Real)" [shape=diamond]
 +
"A moeda de destino é Dólar? (Real-Dólar)" [shape=diamond]
 +
"A moeda de destino é Real? (Euro-Real)" [shape=diamond]
 +
 +
"Multiplique valorOriginal e RealParaDólar" [shape=record]
 +
"Multiplique valorOriginal e RealParaEuro" [shape=record]
 +
"Divida o valorOriginal por RealParaDólar" [shape=record]
 +
"Divida o valorOriginal por RealParaEuro" [shape=record]
 +
"Multiplique o valorOriginal por DólarParaEuro" [shape=record]
 +
"Divida o valorOriginal por DólarParaEuro" [shape=record]
 +
 +
"Escreva o resultado da operação" [shape=trapezium]
 +
"Fim"
 +
 +
"Início" ->
 +
"Leia a taxa de Real para Dólar" ->
 +
"Armazene na variável RealParaDólar" ->
 +
"Leia a taxa de Real para Euro" ->
 +
"Armazene na variável RealParaEuro" ->
 +
"Leia a taxa de Dólar para Euro" ->
 +
"Armazene na variável DólarParaEuro" ->
 +
"Leia a moeda de origem" ->
 +
"Armazene na variável moedaOrigem" ->
 +
"Leia o valor a ser convertido" ->
 +
"Armazene na variável valorOriginal" ->
 +
"Leia a moeda de destino" ->"Armazene na variável moedaDestino"
 +
"Armazene na variável moedaDestino" ->"A moeda de origem é Real?"
 +
 +
"A moeda de origem é Real?" -> "A moeda de destino é Dólar? (Real-Dólar)" [label=Sim]
 +
# De Real para Dólar
 +
"A moeda de destino é Dólar? (Real-Dólar)" -> "Multiplique valorOriginal e RealParaDólar" [label=Sim]
 +
# De Real para Euro
 +
"A moeda de destino é Dólar? (Real-Dólar)" -> "Multiplique valorOriginal e RealParaEuro" [label=Não]
 +
 +
"A moeda de origem é Real?" -> "A moeda de origem é Dólar?" [label=Não]
 +
"A moeda de origem é Dólar?" -> "A moeda de destino é Real? (Dólar-Real)" [label=Sim]
 +
# De Dólar para Real
 +
"A moeda de destino é Real? (Dólar-Real)" -> "Divida o valorOriginal por RealParaDólar" [label=Sim]
 +
# De Dólar para Euro
 +
"A moeda de destino é Real? (Dólar-Real)" -> "Multiplique o valorOriginal por DólarParaEuro" [label=Não]
 +
 +
"A moeda de origem é Dólar?" -> "A moeda de destino é Real? (Euro-Real)" [label=Não]
 +
# De Euro para Real
 +
"A moeda de destino é Real? (Euro-Real)" -> "Divida o valorOriginal por RealParaEuro" [label=Sim]
 +
# De Euro para Dólar
 +
"A moeda de destino é Real? (Euro-Real)" -> "Divida o valorOriginal por DólarParaEuro" [label=Não]
 +
 +
"Multiplique valorOriginal e RealParaDólar" -> "Escreva o resultado da operação"
 +
"Multiplique valorOriginal e RealParaEuro" -> "Escreva o resultado da operação"
 +
"Divida o valorOriginal por RealParaDólar" -> "Escreva o resultado da operação"
 +
"Multiplique o valorOriginal por DólarParaEuro" -> "Escreva o resultado da operação"
 +
"Divida o valorOriginal por RealParaEuro" -> "Escreva o resultado da operação"
 +
"Divida o valorOriginal por DólarParaEuro" -> "Escreva o resultado da operação"
 +
"Escreva o resultado da operação" -> "Fim"
 +
}
 +
</graphviz>
  
 
==Aluno 1: João==
 
==Aluno 1: João==

Edição atual tal como às 13h43min de 23 de setembro de 2009

O Problema

Construa um programa que converta valores entre as moedas Real, Dólar e Euro.


Propostas de Solução

Professor

Pseudocódigo

Há inúmeras propostas para solucionar o problema. A seguir, uma delas:

  1. Leia a taxa de conversão do dia de Real para Dólar.
  2. Armazene a taxa de conversão do dia de Real para Dólar na variável RealParaDólar.
  3. Leia a taxa de conversão do dia de Real para Euro.
  4. Armazene a taxa de conversão do dia de Real para Euro na variável RealParaEuro.
  5. Leia a taxa de conversão do dia de Dólar para Euro.
  6. Armazene a taxa de conversão do dia de Dólar para Euro na variável DólarParaEuro.
  7. Leia a moeda de origem.
  8. Leia o valor a ser convertido.
  9. Armazene o valor a ser convertido na variável valorOriginal.
  10. Leia a moeda de destino.
  11. Se a moeda de origem for Real e a moeda de destino for Dólar, multiplique as variáveis valorOriginal e RealParaDólar.
  12. Se a moeda de origem for Dólar e a moeda de destino for Real, divida a variável valorOriginal por RealParaDólar.
  13. Se a moeda de origem for Real e a moeda de destino for Euro, multiplique as variáveis valorOriginal e RealParaEuro.
  14. Se a moeda de origem for Euro e a moeda de destino for Real, divida a variável valorOriginal por RealParaEuro.
  15. Se a moeda de origem for Dólar e a moeda de destino for Euro, multiplique as variáveis valorOriginal e DólarParaEuro.
  16. Se a moeda de origem for Euro e a moeda de destino for Dólar, divida a variável valorOriginal por DólarParaEuro.
  17. Escreva o resultado da operação.

Diagrama de blocos

<graphviz> digraph conversao { geometry="800x800"

"Início" "Leia a taxa de Real para Dólar" [shape=invtrapezium] "Armazene na variável RealParaDólar" [shape=record] "Leia a taxa de Real para Euro" [shape=invtrapezium] "Armazene na variável RealParaEuro" [shape=record] "Leia a taxa de Dólar para Euro" [shape=invtrapezium] "Armazene na variável DólarParaEuro" [shape=record] "Leia o valor a ser convertido" [shape=invtrapezium] "Armazene na variável valorOriginal" [shape=record] "Leia a moeda de origem" [shape=invtrapezium] "Armazene na variável moedaOrigem" [shape=record] "Leia a moeda de destino" [shape=invtrapezium] "Armazene na variável moedaDestino" [shape=record]

"A moeda de origem é Real?" [shape=diamond] "A moeda de origem é Dólar?" [shape=diamond] "A moeda de destino é Real? (Dólar-Real)" [shape=diamond] "A moeda de destino é Dólar? (Real-Dólar)" [shape=diamond] "A moeda de destino é Real? (Euro-Real)" [shape=diamond]

"Multiplique valorOriginal e RealParaDólar" [shape=record] "Multiplique valorOriginal e RealParaEuro" [shape=record] "Divida o valorOriginal por RealParaDólar" [shape=record] "Divida o valorOriginal por RealParaEuro" [shape=record] "Multiplique o valorOriginal por DólarParaEuro" [shape=record] "Divida o valorOriginal por DólarParaEuro" [shape=record]

"Escreva o resultado da operação" [shape=trapezium] "Fim"

"Início" -> "Leia a taxa de Real para Dólar" -> "Armazene na variável RealParaDólar" -> "Leia a taxa de Real para Euro" -> "Armazene na variável RealParaEuro" -> "Leia a taxa de Dólar para Euro" -> "Armazene na variável DólarParaEuro" -> "Leia a moeda de origem" -> "Armazene na variável moedaOrigem" -> "Leia o valor a ser convertido" -> "Armazene na variável valorOriginal" -> "Leia a moeda de destino" ->"Armazene na variável moedaDestino" "Armazene na variável moedaDestino" ->"A moeda de origem é Real?"

"A moeda de origem é Real?" -> "A moeda de destino é Dólar? (Real-Dólar)" [label=Sim]

  1. De Real para Dólar

"A moeda de destino é Dólar? (Real-Dólar)" -> "Multiplique valorOriginal e RealParaDólar" [label=Sim]

  1. De Real para Euro

"A moeda de destino é Dólar? (Real-Dólar)" -> "Multiplique valorOriginal e RealParaEuro" [label=Não]

"A moeda de origem é Real?" -> "A moeda de origem é Dólar?" [label=Não] "A moeda de origem é Dólar?" -> "A moeda de destino é Real? (Dólar-Real)" [label=Sim]

  1. De Dólar para Real

"A moeda de destino é Real? (Dólar-Real)" -> "Divida o valorOriginal por RealParaDólar" [label=Sim]

  1. De Dólar para Euro

"A moeda de destino é Real? (Dólar-Real)" -> "Multiplique o valorOriginal por DólarParaEuro" [label=Não]

"A moeda de origem é Dólar?" -> "A moeda de destino é Real? (Euro-Real)" [label=Não]

  1. De Euro para Real

"A moeda de destino é Real? (Euro-Real)" -> "Divida o valorOriginal por RealParaEuro" [label=Sim]

  1. De Euro para Dólar

"A moeda de destino é Real? (Euro-Real)" -> "Divida o valorOriginal por DólarParaEuro" [label=Não]

"Multiplique valorOriginal e RealParaDólar" -> "Escreva o resultado da operação" "Multiplique valorOriginal e RealParaEuro" -> "Escreva o resultado da operação" "Divida o valorOriginal por RealParaDólar" -> "Escreva o resultado da operação" "Multiplique o valorOriginal por DólarParaEuro" -> "Escreva o resultado da operação" "Divida o valorOriginal por RealParaEuro" -> "Escreva o resultado da operação" "Divida o valorOriginal por DólarParaEuro" -> "Escreva o resultado da operação" "Escreva o resultado da operação" -> "Fim" } </graphviz>

Aluno 1: João

Pseudocódigo

  1. Primeira instrução.
  2. Segunda instrução.

Diagrama de blocos

<graphviz> digraph Conversao { "Início" "Leia o primeiro número" [shape=record]

Início -> "Leia o primeiro número" } </graphviz>

Aluno 2: Maria

Pseudocódigo

  1. Primeira instrução.
  2. Segunda instrução.

Diagrama de blocos

<graphviz> digraph Conversao { "Início" "Leia o primeiro número" [shape=record]

Início -> "Leia o primeiro número" } </graphviz>


Voltar para o diário da disciplina