Найти НОД чисел. - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Даны два числа ,разделенных пробелом. Найти НОД этих чисел.. Программа должна быть универсальна для любых двух чисел.

Решение задачи: «Найти НОД чисел.»

textual
Листинг программы
  1. uses crt;
  2. var a,b,d:integer;
  3.     s:string;
  4. begin
  5. clrscr;
  6. writeln('Введите 2 целых числа через пробел');
  7. readln(s);
  8. val(copy(s,1,pos(' ',s)-1),a,d);
  9. if d<>0 then write('Строка введена неверно, повторите')
  10. else
  11.  begin
  12.   delete(s,1,pos(' ',s));
  13.   val(s,b,d);
  14.   if d<>0 then write('Строка введена неверно, повторите')
  15.   else
  16.    begin
  17.     repeat
  18.     if abs(a)>abs(b) then a:=a mod b
  19.     else b:=b mod a;
  20.     until(a=0)or(b=0);
  21.     write('Нод=',abs(a+b));
  22.    end;
  23.  end;
  24. readln
  25. end.

Объяснение кода листинга программы

  1. В начале кода подключается библиотека crt, которая содержит функции для работы с числами и строками.
  2. Переменные a, b и d объявлены как целочисленные.
  3. Строка вводится пользователем и сохраняется в переменной s.
  4. Функция val используется для преобразования строки в целое число. Если строка не может быть преобразована в число, выводится сообщение об ошибке.
  5. Если строка была введена неверно, выводится сообщение об ошибке.
  6. Если строка была введена правильно, вычисляется наибольший общий делитель (НОД) чисел a и b.
  7. Если a больше b, то a делится на b, иначе b делится на a.
  8. Цикл повторяется до тех пор, пока одно из чисел не станет равным нулю.
  9. Когда одно из чисел становится равным нулю, вычисляется НОД.
  10. Выводится сообщение с результатом.
  11. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы