How to resolve the algorithm Text processing/Max licenses in use step by step in the M2000 Interpreter programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Text processing/Max licenses in use step by step in the M2000 Interpreter programming language

Table of Contents

Problem Statement

A company currently pays a fixed sum for the use of a particular licensed software package.   In determining if it has a good deal it decides to calculate its maximum use of the software from its license management log file. Assume the software's licensing daemon faithfully records a checkout event when a copy of the software starts and a checkin event when the software finishes to its log file. An example of checkout and checkin events are:

Save the 10,000 line log file from   here   into a local file, then write a program to scan the file extracting both the maximum licenses that were out at any time, and the time(s) at which this occurs. Mirror of log file available as a zip here (offsite mirror).

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Text processing/Max licenses in use step by step in the M2000 Interpreter programming language

Source code in the m2000 programming language

Module Checkit {
      Document a$, max_time$
      Load.doc a$, "mlijobs.txt"
      const dl$=" ", nl$={
      }
      Def long m, out, max_out=-1
      m=Paragraph(a$, 0) 
      If Forward(a$,m) then {
            While m {
                  job$=Paragraph$(a$,(m))
                  out+=If(Piece$(job$,dl$,2)="OUT"->1&, -1&)
                  If out>max_out then max_out=out : Clear max_time$
                  If out=max_out then max_time$=Piece$(job$,dl$,4)+nl$
            }
      }
      Report Format$("Maximum simultaneous license use is {0} at the following times:",max_out)
      Print "    ";  ' left margin
      Report max_time$
}
Checkit

  

You may also check:How to resolve the algorithm 99 bottles of beer step by step in the Stata programming language
You may also check:How to resolve the algorithm Loops/With multiple ranges step by step in the Haskell programming language
You may also check:How to resolve the algorithm 9 billion names of God the integer step by step in the REXX programming language
You may also check:How to resolve the algorithm Pick random element step by step in the Klingphix programming language
You may also check:How to resolve the algorithm Pierpont primes step by step in the C++ programming language