var a,b: integer;
begin
while (a<>0) and (b<>0)do
if a>b then
a:=a mod b
else
b:= b mod a;
end.
1Дополните программу оператором вывода результата.
2Запишите условный оператор, который выводит результат, проверяя одну из переменных на равенство нулю.
3ДОПОЛНИТЕ программу так, чтобы она считала ещё и количество сделанных шагов цикла. ( Введите переменную-счётчик целого типа).

джания джания    2   25.02.2021 18:09    1

Ответы
baybiboom baybiboom  27.03.2021 18:10

program Evklid;

var a, b, s: integer;

begin

//Добавлен оператор ввода чисел

 readln (a, b);

// Добавлен условный оператор из пункта 2

 if not ((a=0) or (b=0)) then

 begin

  // Добавлен счетчик шагов s из пункта 3

   s:=0;

   while (a<>0) and (b<>0)do

   begin

     if a>b then

       a:=a mod b

   else

       b:= b mod a;

   s:=s+1;

 end;

 end;

// Добавлен оператор вывода из пункта 1

 writeln('Nod = ',a+b, ',  S = ',s);

end.

Результат выполнения программы:


var a,b: integer; begin while (a<>0) and (b<>0)do if a>b then a:=a mod b else b:= b m
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика