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"
(15 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
− | =Aluno: = | + | =O Problema= |
− | ==Pseudocódigo== | + | 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== | ||
+ | ===Pseudocódigo=== | ||
+ | # Primeira instrução. | ||
+ | # 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=== | ||
# Primeira instrução. | # Primeira instrução. | ||
# Segunda instrução. | # Segunda instrução. | ||
− | ==Diagrama de blocos== | + | ===Diagrama de blocos=== |
<graphviz> | <graphviz> | ||
digraph Conversao | digraph Conversao | ||
Linha 14: | Linha 135: | ||
} | } | ||
</graphviz> | </graphviz> | ||
+ | |||
+ | |||
+ | <center><small>[[Sistemas Operacionais e Introdução a Programação (diário 2009-2)#23/09: Constantes e variáveis|Voltar para o diário da disciplina]]</small></center> |
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:
- 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
Pseudocódigo
- Primeira instrução.
- 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
- Primeira instrução.
- 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>