Temperature conversion: Difference between revisions
Content added Content deleted
(Temperature conversion in various BASIC dialents) |
Not a robot (talk | contribs) (Add CLU) |
||
Line 1,097: | Line 1,097: | ||
"Celsius: -252.15 Fahrenheit: -421.87 Rankine: 37.80" |
"Celsius: -252.15 Fahrenheit: -421.87 Rankine: 37.80" |
||
</pre> |
</pre> |
||
=={{header|CLU}}== |
|||
<lang clu>kelvin = proc (k: real) returns (real) |
|||
return(k) |
|||
end kelvin |
|||
celsius = proc (k: real) returns (real) |
|||
return(k - 273.15) |
|||
end celsius |
|||
rankine = proc (k: real) returns (real) |
|||
return(k * 9./5.) |
|||
end rankine |
|||
fahrenheit = proc (k: real) returns (real) |
|||
return(rankine(k) - 459.67) |
|||
end fahrenheit |
|||
conv = struct[letter: char, func: proctype (real) returns (real)] |
|||
convs = sequence[conv]$[ |
|||
conv${letter: 'K', func: kelvin}, |
|||
conv${letter: 'C', func: celsius}, |
|||
conv${letter: 'F', func: fahrenheit}, |
|||
conv${letter: 'R', func: rankine} |
|||
] |
|||
start_up = proc () |
|||
pi: stream := stream$primary_input() |
|||
po: stream := stream$primary_output() |
|||
stream$puts(po, "Enter temperature in Kelvin: ") |
|||
k: real := real$parse(stream$getl(pi)) |
|||
for c: conv in sequence[conv]$elements(convs) do |
|||
stream$putc(po, c.letter) |
|||
stream$puts(po, " ") |
|||
stream$putl(po, f_form(c.func(k), 6, 2)) |
|||
end |
|||
end start_up</lang> |
|||
{{out}} |
|||
<pre>Enter temperature in Kelvin: 21 |
|||
K 21.00 |
|||
C -252.15 |
|||
F -421.87 |
|||
R 37.80</pre> |
|||
=={{header|COBOL}}== |
=={{header|COBOL}}== |