How to resolve the algorithm Convert seconds to compound duration step by step in the CLU programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Convert seconds to compound duration step by step in the CLU programming language
Table of Contents
Problem Statement
Write a function or program which: This is detailed below (e.g., "2 hr, 59 sec").
Demonstrate that it passes the following three test-cases: Test CasesDetailsThe following five units should be used: However, only include quantities with non-zero values in the output (e.g., return "1 d" and not "0 wk, 1 d, 0 hr, 0 min, 0 sec"). Give larger units precedence over smaller ones as much as possible (e.g., return 2 min, 10 sec and not 1 min, 70 sec or 130 sec) Mimic the formatting shown in the test-cases (quantities sorted from largest unit to smallest and separated by comma+space; value and unit of each quantity separated by space).
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Convert seconds to compound duration step by step in the CLU programming language
Source code in the clu programming language
duration = proc (s: int) returns (string)
own units: array[string] := array[string]$["wk","d","hr","min","sec"]
own sizes: array[int] := array[int]$[2:7,24,60,60]
d: string := ""
r: int
for i: int in int$from_to_by(5,1,-1) do
begin
r := s // sizes[i]
s := s / sizes[i]
end except when bounds:
r := s
end
if r ~= 0 then
d := ", " || int$unparse(r) || " " || units[i] || d
end
end
return(string$rest(d,3))
end duration
start_up = proc ()
po: stream := stream$primary_output()
tests: array[int] := array[int]$[7259,86400,6000000]
for test: int in array[int]$elements(tests) do
stream$putl(po, int$unparse(test) || " => " || duration(test))
end
end start_up
You may also check:How to resolve the algorithm Date manipulation step by step in the REBOL programming language
You may also check:How to resolve the algorithm Number reversal game step by step in the Action! programming language
You may also check:How to resolve the algorithm Commatizing numbers step by step in the ALGOL 68 programming language
You may also check:How to resolve the algorithm Perfect shuffle step by step in the C programming language
You may also check:How to resolve the algorithm Find limit of recursion step by step in the Phixmonti programming language