
Вопрос задан 31.07.2023 в 01:57.
Предмет Информатика.
Спрашивает Касенчук Егор.
Составьте и запишите КОМПЬЮТЕРНУЮ программу на языке программирования Паскаль для решения
следующей задачи: НАЙТИ НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ (сокращённо НОД) двух целых чисел Х и Y. КРОМЕ этого, ВАША ПРОГРАММА не должна вычислять НОД, если введено хотя бы одно отрицательное число. О неправильном вводе чисел следует сообщить пользователю!!!

Ответы на вопрос

Отвечает Самусев Ваня.
1. Современный эффективный код
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!
begin
var (x,y):=ReadInteger2('Введите через пробел два числа:');
if (x<0) or (y<0) then Writeln('Ввод отрицательных чисел недопустим')
else begin
while y>0 do (x,y):=(y,x mod y);
Writeln('НОД=',x)
end
end.
Примеры
Введите через пробел два числа: 14 -2
Ввод отрицательных чисел недопустим
Введите через пробел два числа: 32 76
НОД=4
2. Традиционный "школьный" код
var
x,y,t:integer;
begin
Write('Введите через пробел два числа: ');
Read(x,y);
if (x<0) or (y<0) then Writeln('Ввод отрицательных чисел недопустим')
else begin
while y>0 do begin
x:=x mod y;
t:=x; x:=y; y:=t
end;
Writeln('НОД=',x)
end
end.
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!
begin
var (x,y):=ReadInteger2('Введите через пробел два числа:');
if (x<0) or (y<0) then Writeln('Ввод отрицательных чисел недопустим')
else begin
while y>0 do (x,y):=(y,x mod y);
Writeln('НОД=',x)
end
end.
Примеры
Введите через пробел два числа: 14 -2
Ввод отрицательных чисел недопустим
Введите через пробел два числа: 32 76
НОД=4
2. Традиционный "школьный" код
var
x,y,t:integer;
begin
Write('Введите через пробел два числа: ');
Read(x,y);
if (x<0) or (y<0) then Writeln('Ввод отрицательных чисел недопустим')
else begin
while y>0 do begin
x:=x mod y;
t:=x; x:=y; y:=t
end;
Writeln('НОД=',x)
end
end.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения данной задачи на языке программирования Паскаль, можно использовать следующий код:
pascalprogram GreatestCommonDivisor; var X, Y, temp, remainder: integer; begin writeln('Введите два целых числа X и Y для нахождения НОД:'); readln(X, Y); if (X < 0) or (Y < 0) then begin writeln('Неправильный ввод! Введите положительные числа.'); end else begin // Найдем НОД с помощью алгоритма Евклида while Y <> 0 do begin temp := Y; Y := X mod Y; X := temp; end; // Результат будет храниться в переменной X writeln('Наибольший общий делитель (НОД) чисел X и Y: ', X); end; end.
Обратите внимание, что программа проверяет введенные значения X
и Y
. Если хотя бы одно из них отрицательное, то программа сообщит об ошибке. В противном случае, программа найдет НОД с помощью алгоритма Евклида и выведет результат на экран.


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 37

Информатика 297

Информатика 42

Информатика 101

Информатика 39

Информатика 17

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