Уровень Аtype num=integer; { можно поменять на real, longint, даже char... }procedure Swap(var a,b:num);{ меняет местами значения a и b }var t:num;begin t:=a; a:=b; b:=tend;procedure Moving(var a,b,c:num);begin if a>b then begin Swap(a,b); if b>c then begin Swap(b,c); if a>b then Swap(a,b) end end else begin if b>c then Swap(b,c); if a>b then Swap(a,b) endend;var a,b,c:num;begin Write('Введите три числа: '); Read(a,b,c); Moving(a,b,c); Writeln(a,' ',b,' ',c)end.
Уровень Вfunction Gcd(a,b: longint): longint;{ Нахождение НОД }var i: longint;begin while b <> 0 do begin a := a mod b; i := b; b := a; a := i end; gcd := aend;procedure ShortFraction(var m,n:longint);var k:longint;begin k:=Gcd(m,n); m:=m div k; n:=n div kend;var a,b:longint;begin Write('Введите числитель и знаменатель дроби: '); Readln(a,b); ShortFraction(a,b); Writeln('Дробь после сокращения равна ',a,'/',b)end.
Тестовое решение:Введите числитель и знаменатель дроби: 25 15Дробь после сокращения равна 5/3