Please enter 'Y' for yes or 'N' for no N
You entered No.
1. do init 1.1 set response to 'x' 2. get yes no 2.1 while response is neither 'Y' or 'N' 2.2 prompt for and get response 2.3 check input 2.3.1 convert 'y' to 'Y' 2.3.2 convert 'n' to 'N' 3. confirm input 3.1 if response is 'Y' 3.2 display yes confirmation otherwise 3.3 display no confirmation
-- Fintan Culwin Sept '88 v1.0 -- program to illustrate indefinite iteration -- b1s6p1 see text p69-70 with TEXT_IO; use TEXT_IO; procedure b1s6p1 is response : CHARACTER; -- response from user begin -- b1s6p1 -- init response response := 'x'; -- ensure loop runs at least once -- get yes no while ( response /= 'N' ) and ( response /= 'Y') loop PUT( "Please enter 'y' for yes or 'n' for no "); GET( response ); skip_line; -- check input if response = 'n' then response := 'N'; end if; if response = 'y' then response := 'Y'; end if; end loop; -- Assert: response is either 'Y' or 'N' -- confirm input if response = 'Y' then PUT_LINE("You entered Yes."); else PUT_LINE("You entered No."); end if; end b1s6p1;
Note the Assert comment after the loop