Answer:
The program in Java is as follows:
import java.util.*;
import java.lang.Math;
public class Rooter{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int start;
System.out.print("Start: ");
start = input.nextInt();
while(start<=0){
System.out.print("Number must be positive\nStart: ");
start = input.nextInt(); }
while(start>=0){
System.out.println(Math.sqrt(start));
start--; }
}
}
Explanation:
This declares start as integer
int start;
This prompts the user for input
System.out.print("Start: ");
This gets input for start
start = input.nextInt();
The following is repeated until the user input is valid i.e. positive
<em> while(start<=0){</em>
<em> System.out.print("Number must be positive\nStart: ");</em>
<em> start = input.nextInt(); }</em>
The following while loop prints the square root of each number till 0
<em> while(start>=0){</em>
<em> System.out.println(Math.sqrt(start));</em>
<em> start--; }</em>
Answer:
Explanation:
Following are the Semaphores:
Customers: Counts waiting customers;
Barbers: Number of idle barbers (0 or 1)
mutex: Used for mutual exclusion.
Cutting: Ensures that the barber won’t cut another customer’s hair before the previous customer leaves
Shared data variable:
count_cust: Counts waiting customers. ------------copy of customers. As value of semaphores can’t access directly.
// shared data
semaphore customers = 0; semaphore barbers = 0; semaphore cutting = 0; semaphore mutex = 1;
int count_cust= 0;
void barber() {
while(true) { //shop is always open
wait(customers); //sleep when there are no waiting customers
wait(mutex); //mutex for accessing customers1
count_cust= count_cust-1; //customer left
signal(barbers);
signal(mutex);
cut_hair();
}
}
void customer() {
wait(mutex); //mutex for accessing count_cust
if (count_cust< n) {
count_cust= count_cust+1; //new customer
signal(customers); signal(mutex);
wait(barbers); //wait for available barbers get_haircut();
}
else { //do nothing (leave) when all chairs are used. signal(mutex);
}
}
cut_hair(){ waiting(cutting);
}
get_haircut(){
get hair cut for some time; signal(cutting);
}
Answer:
Pretty sure it's concentration camps