Temperature conversion: Difference between revisions

Content added Content deleted
(Temperature conversion in various BASIC dialents)
(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}}==