How to resolve the algorithm Text processing/Max licenses in use step by step in the Tcl 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 Tcl 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 Tcl programming language

Source code in the tcl programming language

 set out 0
 set max_out -1
 set max_times {}
 
 foreach job [split [read [open "mlijobs.txt" "r"]] "\n"] {
     if {[lindex $job 1] == "OUT"} {
         incr out 
     } { 
         incr out -1
     }   
     if {$out > $max_out} {
         set max_out $out
         set max_times {}
     }   
     if {$out == $max_out} {
         lappend max_times [lindex $job 3]
     }   
 }
 
 puts "Maximum simultaneous license use is $max_out at the following times:"
 foreach t $max_times {
     puts "  $t"
 }


  

You may also check:How to resolve the algorithm Greatest common divisor step by step in the Oz programming language
You may also check:How to resolve the algorithm Color of a screen pixel step by step in the Python programming language
You may also check:How to resolve the algorithm Write float arrays to a text file step by step in the Lua programming language
You may also check:How to resolve the algorithm Gapful numbers step by step in the UNIX Shell programming language
You may also check:How to resolve the algorithm FizzBuzz step by step in the Potion programming language