Составьте и запишите КОМПЬЮТЕРНУЮ программу на языке программирования Паскаль для решения следующей задачи: НАЙТИ НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ (сокращённо НОД) двух целых чисел Х и Y. КРОМЕ этого, ВАША ПРОГРАММА не должна вычислять НОД, если введено хотя бы одно отрицательное число. О неправильном вводе чисел следует сообщить пользователю!!! Например, программа ПОСЛЕДОВАТЕЛЬНО просит ввести два числа А и В. Затем, если хоть одно число или оба числа отрицательные, программа сообщает об этом пользователю. Если всё хорошо, то находится НОД. На всякий случай: имена переменных в программах у обучающихся совпадать не должны. Также следует обеспечить ДИАЛОГ с пользователем (например «Введите положительные целые – натуральные – числа», «Ввод ошибочен, повторите ввод…» и т.п.). В программе обязательны комментарии!!! Комментарий по ходу выполнения программы давать вразумительный. Файл прикреплен.
program GreatestCommonDivisor; var X, Y, num1, num2, remainder: integer; begin writeln('Введите два целых числа:'); readln(X, Y); if (X <= 0) or (Y <= 0) then // проверка на отрицательные числа begin writeln('Ошибка! Введите два положительных целых числа.'); end else begin // Находим НОД двух чисел num1 := X; num2 := Y; while num2 <> 0 do begin remainder := num1 mod num2; num1 := num2; num2 := remainder; end; writeln('Наибольший общий делитель ', X, ' и ', Y, ' равен ', num1); end; end.
Программа запросит у пользователя ввести два целых числа. Если хотя бы одно из чисел отрицательное, программа сообщит об ошибке и попросит повторить ввод. В противном случае программа найдет наибольший общий делитель введенных чисел и выведет результат.
var
X, Y, num1, num2, remainder: integer;
begin
writeln('Введите два целых числа:');
readln(X, Y);
if (X <= 0) or (Y <= 0) then // проверка на отрицательные числа
begin
writeln('Ошибка! Введите два положительных целых числа.');
end
else
begin
// Находим НОД двух чисел
num1 := X;
num2 := Y;
while num2 <> 0 do
begin
remainder := num1 mod num2;
num1 := num2;
num2 := remainder;
end;
writeln('Наибольший общий делитель ', X, ' и ', Y, ' равен ', num1);
end;
end.
Программа запросит у пользователя ввести два целых числа.
Если хотя бы одно из чисел отрицательное, программа сообщит об ошибке и попросит повторить ввод.
В противном случае программа найдет наибольший общий делитель введенных чисел и выведет результат.