Step 1: Find the rotational period and the time per sector.
The disk spins at 15000 rpm, so one full revolution takes 60000/15000 = 4 ms. Since each track holds 400 sectors, the time for one sector to pass under the head is 4/400 = 0.01 ms. This 0.01 ms figure will later give us the pure data-transfer time for a sector once the head is already positioned over it.
Step 2: Compute the total seek time.
The head starts at track 0 and must visit tracks 5, 12 and 7 in that exact order. The head moves in straight jumps between whatever tracks are requested next, so the distance covered is |5-0| + |12-5| + |7-12| = 5 + 7 + 5 = 17 tracks. At 1 ms per track step, the total seek time is 17 x 1 ms = 17 ms.
Step 3: Work out the rotational latency for one randomly located sector access.
This is the crucial modeling step. The 10 sectors on each track are described as randomly located, and the problem tells us the tracks are served in the order they are given, not reordered into an optimal single sweep the way an elevator or shortest-seek-first scheduler would do. That means the disk controller cannot batch the 10 requests on a track into one pass that only waits out the rotational gaps once; instead, each individual sector request has to wait for the platter to rotate around to wherever that particular sector happens to sit relative to the head at that moment. Because the target sector's angular position is uniformly distributed anywhere over a full revolution, the wait before it arrives under the head is itself uniformly distributed between 0 ms and 4 ms. The expected value of a variable uniform over [0, 4] is simply half of the interval, i.e. 4/2 = 2 ms. So on average, every single sector access costs 2 ms of rotational waiting before the transfer can even begin.
Step 4: Total rotational latency across all tracks.
Each track requires 10 such accesses, so the average rotational latency per track is 10 x 2 ms = 20 ms. Across all three tracks (5, 12 and 7) this gives 3 x 20 ms = 60 ms of pure waiting time.
Step 5: Add the actual data transfer time.
Once the head reaches each requested sector, the sector itself still has to spin past the head to be read, costing 0.01 ms per sector (from Step 1). With 10 sectors per track over 3 tracks, that is 30 sectors x 0.01 ms = 0.3 ms of genuine transfer time.
Step 6: Add everything together.
Total time = seek time + rotational latency + transfer time = 17 ms + 60 ms + 0.3 ms = 77.3 ms. \[ \boxed{77.3 \text{ ms}} \]