Var a,b,i,nod:integerBegin a:=-1;b:=-1;//ввод первого числаWriteln('Введите первое число');While a<0 do beginreadln(a);if a<0 then writeln('Ввод ошибочен, повторите ввод первого числа');end;//ввод второго числаWriteln('Введите второе число');While b<0 do beginreadln(b);if b<0 then writeln('Ввод ошибочен, повторите ввод второго числа');end;//определение минимального числаif a>b then i:=b else i:=a;//перебор чисел от минимального до 0 (т.к. НОД не может быть больше минимального числа)While nod=0 do begini:=i-1;if (a mod i = 0) and (b mod i = 0) then nod:=i;end;//вывод НОДWriteln('НОД ', a,' и ', b, ' = ', nod);end.