Jump to content

Tough Programming Problem, Help Greatly Appreciated


SoupaMan

Recommended Posts

I took a course in computers, and I have a slight background in PHP. I was not expecting programming to be apart of the actual class, and it has caught me off guard. I have spent the last weeks fighting with this, trying to understand how I can put it into code properly. Any ideas, code samples, or guidance would be GREATLY appreciated!  8)

 

Assume the following:

a. Disk spooling is NOT being used.

b. The printer does NOT have a hardware buffer to hold the output while the printer is printing

 

(The theme music from Mission Impossible is playing faintly in the background).

 

SIMULATE the following scenario

A hypothetical program computes for three seconds then outputs a variable length record to be printed.  The printer takes from 0.75 to 4.75 seconds (average time is 2.75 seconds) to print each output record.  (Use a random number generator)

 

The hypothetical program loops 500 times for each case of software buffers (0, 1, 2, 3, 4, 5, 10, 25, and 100 software output buffers).  Calculate the AVERAGE time for the program to “virtually compute and print” a record from the 500 records, for EACH of the 9 choices of buffer.

 

 

 

 

Thanks again!

 

-Steve

This course is at a much lower level than PHP.

 

Then I suppose I'm not looking at this the right way. In the sense that, with an expansion of the number of buffers, how would I compute the overlap? I'm not even sure where to begin on that, I have and each attempt ended in some sort of strange failure.

What I'm saying is: this is a PHP forum.  This question is more suited to a low-level programming language which would actually be expected to deal with things like buffers...or printers for that matter.  PHP deals with neither.

 

Also, your textbook probably defines "software output buffers," generally we don't know what to do with the information that the buffer is 5.  5 what?

The buffers represent the number of buffers available, so 0 would be 0 buffers, 1 for 1 buffer, and so on. My understanding is, if you have 2 buffers, and one is full, the other can begin processing even though the other is not complete.

You have one constant "step": the execution time of the program.  Every "Step," the program spits out another unit.  When that happens, calculate how far the printer has gotten on the buffers.  If there's a free buffer, put the unit in there and continue to the next step.  If not, wait.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.