Задать вопрос
28 января, 02:20

Написать в Паскале процедуру с изменяемым параметром. помогите хотя бы с одним.

Уровень A. Напишите процедуру, которая переставляет три переданные ей числа в порядке возрастания.

Пример:

Введите три натуральных числа:

10 15 5

5 10 15

Уровень B. Напишите процедуру, которая сокращает дробь вида M/N. Числитель и знаменатель дроби передаются как изменяемые параметры.

Пример:

Введите числитель и знаменатель дроби:

25 15

После сокращения: 5/3

+2
Ответы (1)
  1. 28 января, 05:18
    0
    Уровень А

    type

    num=integer; { можно поменять на real, longint, даже char ... }

    procedure Swap (var a, b:num) ;

    { меняет местами значения a и b }

    var

    t:num;

    begin

    t:=a; a:=b; b:=t

    end;

    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)

    end

    end;

    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 : = a

    end;

    procedure ShortFraction (var m, n:longint) ;

    var

    k:longint;

    begin

    k:=Gcd (m, n) ;

    m:=m div k; n:=n div k

    end;

    var

    a, b:longint;

    begin

    Write ('Введите числитель и знаменатель дроби: ') ; Readln (a, b) ;

    ShortFraction (a, b) ;

    Writeln ('Дробь после сокращения равна ', a,'/', b)

    end.

    Тестовое решение:

    Введите числитель и знаменатель дроби: 25 15

    Дробь после сокращения равна 5/3
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Написать в Паскале процедуру с изменяемым параметром. помогите хотя бы с одним. Уровень A. Напишите процедуру, которая переставляет три ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы