Old Russian measure of length: Difference between revisions
Content added Content deleted
No edit summary |
(Added Wren) |
||
Line 1,905: | Line 1,905: | ||
1.562305 |
1.562305 |
||
</lang> |
</lang> |
||
number> |
|||
=={{header|Wren}}== |
|||
{{trans|Go}} |
|||
{{libheader|Wren-fmt}} |
|||
{{libheader|Wren-str}} |
|||
<lang ecmascript>import "io" for Stdin, Stdout |
|||
import "/fmt" for Fmt |
|||
import "/str" for Str |
|||
var units = [ |
|||
"tochka", "liniya", "dyuim", "vershok", "piad", "fut", |
|||
"arshin", "sazhen", "versta", "milia", |
|||
"centimeter", "meter", "kilometer" |
|||
] |
|||
var convs = [ |
|||
0.0254, 0.254, 2.54, 4.445, 17.78, 30.48, |
|||
71.12, 213.36, 10668, 74676, |
|||
1, 100, 10000 |
|||
] |
|||
while (true) { |
|||
var i = 0 |
|||
for (u in units) { |
|||
Fmt.print("$2d $s", i+1, u) |
|||
i = i + 1 |
|||
} |
|||
System.print() |
|||
var unit |
|||
while (true) { |
|||
System.write("Please choose a unit 1 to 13 : ") |
|||
Stdout.flush() |
|||
unit = Num.fromString(Stdin.readLine()) |
|||
if (unit.type == Num && unit.isInteger && unit >= 1 && unit <= 13) break |
|||
} |
|||
unit = unit - 1 |
|||
var value |
|||
while (true) { |
|||
System.write("Now enter a value in that unit : ") |
|||
Stdout.flush() |
|||
value = Num.fromString(Stdin.readLine()) |
|||
if (value.type == Num && value >= 0) break |
|||
} |
|||
System.print("\nThe equivalent in the remaining units is:\n") |
|||
i = 0 |
|||
for (u in units) { |
|||
if (i != unit) Fmt.print(" $10s : $15.8g", u, value*convs[unit]/convs[i]) |
|||
i = i + 1 |
|||
} |
|||
System.print() |
|||
var yn = "" |
|||
while (yn != "y" && yn != "n") { |
|||
System.write("Do another one y/n : ") |
|||
Stdout.flush() |
|||
yn = Str.lower(Stdin.readLine()) |
|||
} |
|||
if (yn == "n") break |
|||
System.print() |
|||
}</lang> |
|||
{{out}} |
|||
Sample run (same as Go example): |
|||
<pre> |
|||
1 tochka |
|||
2 liniya |
|||
3 dyuim |
|||
4 vershok |
|||
5 piad |
|||
6 fut |
|||
7 arshin |
|||
8 sazhen |
|||
9 versta |
|||
10 milia |
|||
11 centimeter |
|||
12 meter |
|||
13 kilometer |
|||
Please choose a unit 1 to 13 : 13 |
|||
Now enter a value in that unit : 1 |
|||
The equivalent in the remaining units is: |
|||
tochka : 393700.78740157 |
|||
liniya : 39370.07874016 |
|||
dyuim : 3937.00787402 |
|||
vershok : 2249.71878515 |
|||
piad : 562.42969629 |
|||
fut : 328.0839895 |
|||
arshin : 140.60742407 |
|||
sazhen : 46.86914136 |
|||
versta : 0.93738283 |
|||
milia : 0.13391183 |
|||
centimeter : 10000.0 |
|||
meter : 100.0 |
|||
Do another one y/n : n |
|||
</pre> |