How to resolve the algorithm Convert seconds to compound duration step by step in the PL/I 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 PL/I 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 PL/I programming language

Source code in the pl/i programming language

/* Convert seconds to Compound Duration (weeks, days, hours, minutes, seconds). */

cvt: procedure options (main);			/* 5 August 2015 */
   declare interval float (15);
   declare (unit, i, q controlled) fixed binary;
   declare done bit (1) static initial ('0'b);
   declare name (5) character (4) varying static initial (' wk', ' d', ' hr', ' min', ' sec' );

   get (interval);
   put edit (interval, ' seconds = ') (f(10), a);
   if interval = 0 then do; put skip list ('0 sec'); stop; end;

   do unit = 60, 60, 24, 7;
      allocate q;
      q = mod(interval, unit);
      interval = interval / unit;
   end;
   allocate q; q = interval;
   do i = 1 to 5;
      if q > 0 then
         do;
            if done then put edit (', ') (a);
            put edit (trim(q), name(i)) (a, a); done = '1'b;
         end;
      if i < 5 then free q;
   end;
end cvt;

  

You may also check:How to resolve the algorithm Iterated digits squaring step by step in the PL/I programming language
You may also check:How to resolve the algorithm Special variables step by step in the PL/I programming language
You may also check:How to resolve the algorithm Loops/Wrong ranges step by step in the PL/I programming language
You may also check:How to resolve the algorithm Emirp primes step by step in the PL/I programming language
You may also check:How to resolve the algorithm Sorting algorithms/Comb sort step by step in the PL/I programming language