program phase06b

    procedures
      sort (var a : real,var b : real,var c : real) ;

begin

  procedure main

      variables
        p     : real;
        q     : real;
        r     : real;

  begin

    while (1=1)
    do
      write ("enter three real numbers: ");
      readln (p,q,r);
      writeln (p," ",q," ",r);
      call sort (p,q,r);
      writeln ("the same values in increasing order are:");
      writeln (p," ",q," ",r);
      writeln ();
    end;

  end

  procedure sort

      variables
        temp     : real;

  begin
    if (a > b)
      then do
           temp := a;
           a := b;
           b := temp;
           end;
    if (b > c)
      then do
           temp := b;
           b := c;
           c := temp;
           if (a > b)
             then do
                  temp := a;
                  a := b;
                  b := temp;
                  end;
           end;
    return;
  end

end
