How to resolve the algorithm Convert seconds to compound duration step by step in the uBasic/4tH 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 uBasic/4tH 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 uBasic/4tH programming language
Source code in the ubasic/4th programming language
Proc _CompoundDuration(7259)
Proc _CompoundDuration(86400)
Proc _CompoundDuration(6000000)
End
_CompoundDuration Param(1) ' Print compound seconds
a@ = FUNC(_Compound(a@, 604800, _wk))
a@ = FUNC(_Compound(a@, 86400, _d))
a@ = FUNC(_Compound(a@, 3600, _hr))
a@ = FUNC(_Compound(a@, 60, _min))
If a@ > 0 Then Print a@;" sec"; ' Still seconds left to print?
Print
Return
_Compound Param(3)
Local(1)
d@ = a@/b@ ' Get main component
a@ = a@%b@ ' Leave the rest
If d@ > 0 Then ' Print the component
Print d@;
Proc c@
If a@ > 0 Then
Print ", "; ' If something follows, take
EndIf ' care of the comma
EndIf
Return (a@)
_wk Print " wk"; : Return
_d Print " d"; : Return
_hr Print " hr"; : Return
_min Print " min"; : Return
You may also check:How to resolve the algorithm Classes step by step in the PowerShell programming language
You may also check:How to resolve the algorithm Zig-zag matrix step by step in the Scilab programming language
You may also check:How to resolve the algorithm Pascal's triangle step by step in the Oz programming language
You may also check:How to resolve the algorithm Abundant odd numbers step by step in the D programming language
You may also check:How to resolve the algorithm Kronecker product step by step in the F# programming language