226k views
5 votes
The Beaufort Wind Scale is used to characterize the strength of winds. The scale uses integer values and goes from a force of 0, which is no wind, up to 12, which is a hurricane. The following script first generates a random force value. Then, it prints a message regarding what type of wind that force represents, using a switch statement. If random number generated is 0, then print "there is no wind", if 1 to 6 then print "this is a breeze", if 7 to 9 "this is a gale", if 10 to 11 print "this is a storm", if 12 print "this is a hurricane!". (Hint: use range or multiple values in case statements like case {1,2,3,4,5,6})

Required:
Re-write this switch statement as one nested if-else statement that accomplishes exactly the same thing. You may use else and/or elseif clauses.

ranforce = randi([0, 12]);
switch ranforce
case 0
disp('There is no wind')
case {1,2,3,4,5,6}
disp('There is a breeze')
case {7,8,9}
disp('This is a gale')
case {10,11}
disp('It is a storm')
case 12
disp('Hello, Hurricane!')
end

User Jacoblaw
by
5.8k points

1 Answer

4 votes

Answer:

The equivalent if statements is:

ranforce = randi([0, 12]);

if (ranforce == 0)

disp('There is no wind')

else if(ranforce>0 && ranforce <7)

disp('There is a breeze')

else if(ranforce>6 && ranforce <10)

disp('This is a gale')

else if(ranforce>9 && ranforce <12)

disp('It is a storm')

else if(ranforce==12)

disp('Hello, Hurricane!')

end

Step-by-step explanation:

The solution is straight forward.

All you need to do is to replace the case statements with corresponding if or else if statements as shown in the answer section

User Alexander Granin
by
5.2k points