В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
anet1983
anet1983
04.05.2022 21:42 •  Информатика

Написать функцию, которая принимает 3 числа, наибольшее из них делит наименьшее и возвращает это значение. для решения понадобится оператор деления с остатком

Показать ответ
Ответ:
3Влад11
3Влад11
08.07.2020 12:40
Type
  St = record
    iquo: integer; {целая часть}
    irem: integer; {числитель дроби}
    idiv: integer; {знаменатель дроби}
  end;

function iMax(i, j: integer): integer;
begin
  if i > j then iMax := i else iMax := j
end;

function iMin(i, j: integer): integer;
begin
  if i < j then iMin := i else iMin := j
end;

function FR(i, j, k: integer): St;
var
  nmax, nmin: integer;

begin
  nmax := iMax(iMax(i, j), k);
  nmin := iMin(iMin(i, j), k);
  with Result do
  begin
    iquo := nmax div nmin;
    idiv := nmin;
    irem := nmax mod nmin
  end
end;

var
  a, b, c: integer;
  r: St;

begin
  write('Введите через пробел три целых числа:');
  readln(a, b, c);
  r := FR(a, b, c);
  writeln('Результат работы функции: ', r.iquo, ' целых и ', r.irem, '/', r.idiv)
end.

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

Введите через пробел три целых числа:343 253 37
Результат работы функции: 9 целых и 10/37
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота