Jump to content

Tough Programming Problem, Help Greatly Appreciated


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!



Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • 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.