
Вопрос задан 06.10.2023 в 01:45.
Предмет Информатика.
Спрашивает Журавлева Екатерина.
Что тут не так? ПОМОГИТЕ СРОЧНО!!!! program Nod; var a,b:integer; begin Write ('введите два
натуральных числа'); Readln(4,2); While 4<>2 do If 4>2 then a:=4-2 else b:=2-4 Writeln('НОД=',4); Readln end.

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

Отвечает Пронина Вика.
Объяснение:
Если нужно найти наибольший общий делитель, то так:
program Nod;
var a,b:integer;
begin
Write ('введите два натуральных числа');
Readln(a,b);
While a<>b do
begin
If a>b then a:=a-b;
else b:=b-a;
end;
Writeln('НОД=',a);
end.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Ваш код содержит несколько ошибок и не соответствует структуре языка Pascal. Вот исправленный вариант:
pascalprogram Nod; var a, b, result: integer; begin Write('Введите два натуральных числа: '); Readln(a, b); while a <> b do begin if a > b then a := a - b else b := b - a; end; result := a; Writeln('НОД = ', result); Readln; end.
Исправления и изменения:
Заменено
Readln(4, 2);
наReadln(a, b);
, чтобы считать введенные значения пользователем.Заменено
While 4 <> 2 do
наwhile a <> b do
, чтобы выполнять цикл, покаa
иb
не станут равными.Использован алгоритм нахождения НОД (наибольшего общего делителя) с помощью вычитания.
Результат вычисления НОД сохраняется в переменной
result
и выводится на экран.


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