"); Num1 :Float Num2 :Float Num3 :Float C:\> sort_3_numbers.exe |"> "); Num1 :Float Num2 :Float Num3 :Float C:\> sort_3_numbers.exe |">

Presentation is loading. Please wait.

Presentation is loading. Please wait.

C:\> sort_3_numbers.exe |

Similar presentations


Presentation on theme: "C:\> sort_3_numbers.exe |"— Presentation transcript:

1 C:\> sort_3_numbers.exe |
WITH Ada.Text_IO; WITH Ada.Float_Text_IO; PROCEDURE Sort_3_Numbers IS --| Reads three numbers and sorts them --| so that they are in increasing order. --| Author: M. B. Feldman, The George Washington University --| Last Modified: August 1998 Num1 : Float; a list of three cells Num2 : Float; Num3 : Float; -- procedure specification PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float); -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order . . . [SNIP] END Order; BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); C:\> sort_3_numbers.exe |

2 C:\> sort_3_numbers.exe |
WITH Ada.Text_IO; WITH Ada.Float_Text_IO; PROCEDURE Sort_3_Numbers IS --| Reads three numbers and sorts them --| so that they are in increasing order. --| Author: M. B. Feldman, The George Washington University --| Last Modified: August 1998 Num1 : Float; a list of three cells Num2 : Float; Num3 : Float; -- procedure specification PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float); -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order . . . [SNIP] END Order; BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Num1 :Float Num2 :Float Num3 :Float C:\> sort_3_numbers.exe |

3 C:\> sort_3_numbers.exe |
WITH Ada.Text_IO; WITH Ada.Float_Text_IO; PROCEDURE Sort_3_Numbers IS --| Reads three numbers and sorts them --| so that they are in increasing order. --| Author: M. B. Feldman, The George Washington University --| Last Modified: August 1998 Num1 : Float; a list of three cells Num2 : Float; Num3 : Float; -- procedure specification PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float); -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order . . . [SNIP] END Order; BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Num1 :Float Num2 :Float Num3 :Float C:\> sort_3_numbers.exe |

4 C:\> sort_3_numbers.exe |
WITH Ada.Text_IO; WITH Ada.Float_Text_IO; PROCEDURE Sort_3_Numbers IS --| Reads three numbers and sorts them --| so that they are in increasing order. --| Author: M. B. Feldman, The George Washington University --| Last Modified: August 1998 Num1 : Float; a list of three cells Num2 : Float; Num3 : Float; -- procedure specification PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float); -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order . . . [SNIP] END Order; BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Num1 :Float Num2 :Float Num3 :Float Order :Procedure ... C:\> sort_3_numbers.exe |

5 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |
PROCEDURE Sort_3_Numbers IS . . . [SNIP] BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Ada.Text_IO.New_Line; Ada.Float_Text_IO.Get(Item => Num1); Ada.Float_Text_IO.Get(Item => Num2); Ada.Float_Text_IO.Get(Item => Num3); -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); -- Display the results. Ada.Text_IO.Put(Item => "The three numbers in order are: "); Ada.Float_Text_IO.Put (Item => Num1, Fore => 5, Aft => 2, Exp => 0); (Item => Num2, Fore => 5, Aft => 2, Exp => 0); (Item => Num3, Fore => 5, Aft => 2, Exp => 0); END Sort_3_Numbers; Num1 :Float Num2 :Float Num3 :Float Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

6 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Ada.Text_IO.New_Line; Ada.Float_Text_IO.Get(Item => Num1); Ada.Float_Text_IO.Get(Item => Num2); Ada.Float_Text_IO.Get(Item => Num3); -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); -- Display the results. Ada.Text_IO.Put(Item => "The three numbers in order are: "); Ada.Float_Text_IO.Put (Item => Num1, Fore => 5, Aft => 2, Exp => 0); (Item => Num2, Fore => 5, Aft => 2, Exp => 0); (Item => Num3, Fore => 5, Aft => 2, Exp => 0); END Sort_3_Numbers; Num1 :Float 3.1 Num2 :Float Num3 :Float Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

7 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Ada.Text_IO.New_Line; Ada.Float_Text_IO.Get(Item => Num1); Ada.Float_Text_IO.Get(Item => Num2); Ada.Float_Text_IO.Get(Item => Num3); -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); -- Display the results. Ada.Text_IO.Put(Item => "The three numbers in order are: "); Ada.Float_Text_IO.Put (Item => Num1, Fore => 5, Aft => 2, Exp => 0); (Item => Num2, Fore => 5, Aft => 2, Exp => 0); (Item => Num3, Fore => 5, Aft => 2, Exp => 0); END Sort_3_Numbers; Num1 :Float 3.1 Num2 :Float 1.2 Num3 :Float Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

8 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Ada.Text_IO.New_Line; Ada.Float_Text_IO.Get(Item => Num1); Ada.Float_Text_IO.Get(Item => Num2); Ada.Float_Text_IO.Get(Item => Num3); -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); -- Display the results. Ada.Text_IO.Put(Item => "The three numbers in order are: "); Ada.Float_Text_IO.Put (Item => Num1, Fore => 5, Aft => 2, Exp => 0); (Item => Num2, Fore => 5, Aft => 2, Exp => 0); (Item => Num3, Fore => 5, Aft => 2, Exp => 0); END Sort_3_Numbers; Num1 :Float 3.1 Num2 :Float 1.2 Num3 :Float 2.3 Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

9 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 3.1 Num2 :Float 1.2 Num3 :Float 2.3 Enter Order :Procedure ... Order Return (1) (1) C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

10 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 3.1 Num2 :Float 1.2 Num3 :Float 2.3 Order :Procedure ... Copy in Order Return (1) X :Float 3.1 (1) Y :Float 1.2 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

11 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 3.1 Num2 :Float 1.2 Num3 :Float 2.3 Order :Procedure ... Order Return (1) X :Float 3.1 (1) Y :Float 1.2 Temp :Float C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

12 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 3.1 Num2 :Float 1.2 Num3 :Float 2.3 Order :Procedure ... Order Return (1) X :Float 3.1 (1) Y :Float 1.2 Temp :Float C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

13 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 3.1 Num2 :Float 1.2 Num3 :Float 2.3 Order :Procedure ... Order Return (1) X :Float 3.1 (1) Y :Float 1.2 Temp :Float 3.1 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

14 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 3.1 Num2 :Float 1.2 Num3 :Float 2.3 Order :Procedure ... Order Return (1) X :Float 1.2 (1) Y :Float 1.2 Temp :Float 3.1 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

15 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 3.1 Num2 :Float 1.2 Num3 :Float 2.3 Order :Procedure ... Order Return (1) X :Float 1.2 (1) Y :Float 3.1 Temp :Float 3.1 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

16 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... Copy out Order Return (1) X :Float 1.2 (1) Y :Float 3.1 Temp :Float 3.1 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

17 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Return Order :Procedure ... Order Return (1) X :Float 1.2 Y :Float 3.1 Temp :Float 3.1 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

18 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

19 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 3.1 Num2 :Float 1.2 Num3 :Float 2.3 Enter Order :Procedure ... Order Return (1) (1) C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

20 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... Copy in Order Return (1) X :Float 1.2 (1) Y :Float 2.3 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

21 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... Order Return (1) X :Float 1.2 (1) Y :Float 2.3 Temp :Float C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

22 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... Order Return (1) X :Float 1.2 (1) Y :Float 2.3 Temp :Float C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

23 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... Copy out Order Return (1) X :Float 1.2 (1) Y :Float 2.3 Temp :Float C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

24 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Return Order :Procedure ... Order Return (1) X :Float 1.2 (1) Y :Float 2.3 Temp :Float C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

25 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

26 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Enter Order :Procedure ... Order Return (1) (1) C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

27 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... Copy in Order Return (1) X :Float 3.1 Y :Float 2.3 (1) C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

28 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... Order Return (1) X :Float 3.1 Y :Float 2.3 (1) Temp :Float C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

29 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... Order Return (1) X :Float 3.1 Y :Float 2.3 (1) Temp :Float C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

30 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... Order Return (1) X :Float 3.1 Y :Float 2.3 (1) Temp :Float 3.1 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

31 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... Order Return (1) X :Float 2.3 Y :Float 2.3 (1) Temp :Float 3.1 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

32 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 3.1 Num3 :Float 2.3 Order :Procedure ... Order Return (1) X :Float 2.3 Y :Float 3.1 (1) Temp :Float 3.1 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

33 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 2.3 Num3 :Float 3.1 Order :Procedure ... Copy out Order Return (1) X :Float 2.3 Y :Float 3.1 (1) Temp :Float 3.1 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

34 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] -- procedure body PROCEDURE Order (X: IN OUT Float; Y: IN OUT Float) IS -- Pre: X and Y are assigned values. -- Post: X has the smaller value and Y has the larger value. Temp : Float; copy of number originally in X BEGIN -- Order IF X > Y THEN -- interchange the values of X and Y Temp := X; Store old X in Temp X := Y; Store old Y in X Y := Temp; Store old X in Y END IF; END Order; BEGIN -- Sort_3_Numbers -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); Num1 :Float 1.2 Num2 :Float 2.3 Num3 :Float 3.1 Return Order :Procedure ... Order Return (1) X :Float 2.3 Y :Float 3.1 (1) Temp :Float 3.1 C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

35 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Ada.Text_IO.New_Line; Ada.Float_Text_IO.Get(Item => Num1); Ada.Float_Text_IO.Get(Item => Num2); Ada.Float_Text_IO.Get(Item => Num3); -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); -- Display the results. Ada.Text_IO.Put(Item => "The three numbers in order are: "); Ada.Float_Text_IO.Put (Item => Num1, Fore => 5, Aft => 2, Exp => 0); (Item => Num2, Fore => 5, Aft => 2, Exp => 0); (Item => Num3, Fore => 5, Aft => 2, Exp => 0); END Sort_3_Numbers; Num1 :Float 1.2 Num2 :Float 2.3 Num3 :Float 3.1 Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> |

36 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Ada.Text_IO.New_Line; Ada.Float_Text_IO.Get(Item => Num1); Ada.Float_Text_IO.Get(Item => Num2); Ada.Float_Text_IO.Get(Item => Num3); -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); -- Display the results. Ada.Text_IO.Put(Item => "The three numbers in order are: "); Ada.Float_Text_IO.Put (Item => Num1, Fore => 5, Aft => 2, Exp => 0); (Item => Num2, Fore => 5, Aft => 2, Exp => 0); (Item => Num3, Fore => 5, Aft => 2, Exp => 0); END Sort_3_Numbers; Num1 :Float 1.2 Num2 :Float 2.3 Num3 :Float 3.1 Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> The three numbers in order are:|

37 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Ada.Text_IO.New_Line; Ada.Float_Text_IO.Get(Item => Num1); Ada.Float_Text_IO.Get(Item => Num2); Ada.Float_Text_IO.Get(Item => Num3); -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); -- Display the results. Ada.Text_IO.Put(Item => "The three numbers in order are: "); Ada.Float_Text_IO.Put (Item => Num1, Fore => 5, Aft => 2, Exp => 0); (Item => Num2, Fore => 5, Aft => 2, Exp => 0); (Item => Num3, Fore => 5, Aft => 2, Exp => 0); END Sort_3_Numbers; Num1 :Float 1.2 Num2 :Float 2.3 Num3 :Float 3.1 Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> The three numbers in order are: |

38 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Ada.Text_IO.New_Line; Ada.Float_Text_IO.Get(Item => Num1); Ada.Float_Text_IO.Get(Item => Num2); Ada.Float_Text_IO.Get(Item => Num3); -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); -- Display the results. Ada.Text_IO.Put(Item => "The three numbers in order are: "); Ada.Float_Text_IO.Put (Item => Num1, Fore => 5, Aft => 2, Exp => 0); (Item => Num2, Fore => 5, Aft => 2, Exp => 0); (Item => Num3, Fore => 5, Aft => 2, Exp => 0); END Sort_3_Numbers; Num1 :Float 1.2 Num2 :Float 2.3 Num3 :Float 3.1 Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> The three numbers in order are: |

39 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Ada.Text_IO.New_Line; Ada.Float_Text_IO.Get(Item => Num1); Ada.Float_Text_IO.Get(Item => Num2); Ada.Float_Text_IO.Get(Item => Num3); -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); -- Display the results. Ada.Text_IO.Put(Item => "The three numbers in order are: "); Ada.Float_Text_IO.Put (Item => Num1, Fore => 5, Aft => 2, Exp => 0); (Item => Num2, Fore => 5, Aft => 2, Exp => 0); (Item => Num3, Fore => 5, Aft => 2, Exp => 0); END Sort_3_Numbers; Num1 :Float 1.2 Num2 :Float 2.3 Num3 :Float 3.1 Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> The three numbers in order are: |

40 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Ada.Text_IO.New_Line; Ada.Float_Text_IO.Get(Item => Num1); Ada.Float_Text_IO.Get(Item => Num2); Ada.Float_Text_IO.Get(Item => Num3); -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); -- Display the results. Ada.Text_IO.Put(Item => "The three numbers in order are: "); Ada.Float_Text_IO.Put (Item => Num1, Fore => 5, Aft => 2, Exp => 0); (Item => Num2, Fore => 5, Aft => 2, Exp => 0); (Item => Num3, Fore => 5, Aft => 2, Exp => 0); END Sort_3_Numbers; Num1 :Float 1.2 Num2 :Float 2.3 Num3 :Float 3.1 Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> The three numbers in order are: |

41 C:\> sort_3_numbers.exe Enter 3 float values to be sorted>
PROCEDURE Sort_3_Numbers IS . . . [SNIP] BEGIN -- Sort_3_Numbers Ada.Text_IO.Put (Item => "Enter 3 float values to be sorted>"); Ada.Text_IO.New_Line; Ada.Float_Text_IO.Get(Item => Num1); Ada.Float_Text_IO.Get(Item => Num2); Ada.Float_Text_IO.Get(Item => Num3); -- Sort the numbers Order (X => Num1, Y => Num2); Order (X => Num1, Y => Num3); Order (X => Num2, Y => Num3); -- Display the results. Ada.Text_IO.Put(Item => "The three numbers in order are: "); Ada.Float_Text_IO.Put (Item => Num1, Fore => 5, Aft => 2, Exp => 0); (Item => Num2, Fore => 5, Aft => 2, Exp => 0); (Item => Num3, Fore => 5, Aft => 2, Exp => 0); END Sort_3_Numbers; Num1 :Float 1.2 Num2 :Float 2.3 Num3 :Float 3.1 Order :Procedure ... C:\> sort_3_numbers.exe Enter 3 float values to be sorted> The three numbers in order are: C:\> |


Download ppt "C:\> sort_3_numbers.exe |"

Similar presentations


Ads by Google