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

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

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

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

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

textual
Листинг программы
uses crt;
var a,b,d:integer;
    s:string;
begin
clrscr;
writeln('Введите 2 целых числа через пробел');
readln(s);
val(copy(s,1,pos(' ',s)-1),a,d);
if d<>0 then write('Строка введена неверно, повторите')
else
 begin
  delete(s,1,pos(' ',s));
  val(s,b,d);
  if d<>0 then write('Строка введена неверно, повторите')
  else
   begin
    repeat
    if abs(a)>abs(b) then a:=a mod b
    else b:=b mod a;
    until(a=0)or(b=0);
    write('Нод=',abs(a+b));
   end;
 end;
readln
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
Похожие ответы