Составьте и запишите компьютерную программу на языке программирования паскаль для решения следующей : найти наибольший общий делитель (сокращённо нод) двух целых чисел х и y. кроме этого, ваша программа не должна вычислять нод, если введено хотя бы одно отрицательное число. о неправильном вводе чисел следует сообщить ! например, программа последовательно просит ввести два числа а и в. затем, если хоть одно число или оба числа отрицательные, программа сообщает об этом пользователю. если всё хорошо, то находится нод. на всякий случай: имена переменных в программах у обучающихся совпадать не должны. также следует обеспечить диалог с пользователем (например «введите положительные целые – натуральные – числа», «ввод , повторите ввод…» и т. в программе обязательны ! комментарий по ходу выполнения программы давать вразумительный. файл прикреплен.

Ови11 Ови11    2   23.09.2019 10:00    0

Ответы
yra221111 yra221111  08.10.2020 12:03
Var a,b,i,nod:integer
Begin
a:=-1;
b:=-1;
//ввод первого числа
Writeln('Введите первое число');
While a<0 do
begin
readln(a);
if a<0 then writeln('Ввод ошибочен, повторите ввод первого числа');
end;
//ввод второго числа
Writeln('Введите второе число');
While b<0 do
begin
readln(b);
if b<0 then writeln('Ввод ошибочен, повторите ввод второго числа');
end;
//определение минимального числа
if a>b then i:=b else i:=a;
//перебор чисел от минимального до 0 (т.к. НОД не может быть больше минимального числа)
While nod=0 do
begin
i:=i-1;
if (a mod i = 0) and (b mod i = 0) then nod:=i;
end;
//вывод НОД
Writeln('НОД ', a,' и ', b, ' = ', nod);
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика