PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018 Внимание! Если программа не работает, обновите версию!
begin Write('0 1 '); var p:=1; for var i:=1 to 10 do begin p*=2; Write(i,' ',p,' ') end; Writeln end.
Конечно, можно на каждом шаге вычислять два в нужной степени. Но это глуповатое занятие, поскольку мы видим: следующее значение степени равно удвоенному предыдущему. А начать надо, конечно, от единицы - нулевой степени двойки. Поэтому мы сразу выводим 0 и 1 и засылаем единицу в переменную р, которую потом будем удваивать. Далее в цикле меняем i от 1 до 10 и для каждого i выводим его значение и через пробел удвоенное значение р.
Запишем этот алгоритм, и на место команды1 поставим команду сместиться на (a, b). (здесь a, b -это нужные нам координаты смещения в команде1)
Повтори 2 раз Сместиться на (a, b) Сместиться на (3, 2) Сместиться на (2, 1) Конец Сместиться на (−6, −4)
Выполнение этого алгоритма приведёт к следующим смещениям по оси икс: a + 3 + 2 + a + 3 + 2 - 6 Так как нам известно, что в результате этих смещений чертёжник вернулся в исходную точку, то это значит что сумма всех смещений равна нулю. Можем записать уравнение и найти a: a + 3 + 2 + a + 3 + 2 - 6 = 0 2a + 4 = 0 2a = -4 a = -4 / 2 = -2 (нашли смещение по x в команде1)
Далее, делаем то же самое для смещения по y: Выполнение этого алгоритма приведёт к следующим смещениям по оси игрек: b + 2 + 1 + b + 2 + 1 - 4 Составляем уравнение: b + 2 + 1 + b + 2 + 1 - 4 = 0 2b + 2 = 0 2b = -2 b = -2 / 2 = -1 (нашли смещение по y в команде1)
Значит, вместо команды1 нужно поставить команду, указанную в варианте ответа 1) Сместиться на (-2, -1)
Внимание! Если программа не работает, обновите версию!
begin
Write('0 1 ');
var p:=1;
for var i:=1 to 10 do begin
p*=2;
Write(i,' ',p,' ')
end;
Writeln
end.
Конечно, можно на каждом шаге вычислять два в нужной степени. Но это глуповатое занятие, поскольку мы видим: следующее значение степени равно удвоенному предыдущему. А начать надо, конечно, от единицы - нулевой степени двойки. Поэтому мы сразу выводим 0 и 1 и засылаем единицу в переменную р, которую потом будем удваивать.
Далее в цикле меняем i от 1 до 10 и для каждого i выводим его значение и через пробел удвоенное значение р.
(здесь a, b -это нужные нам координаты смещения в команде1)
Повтори 2 раз
Сместиться на (a, b)
Сместиться на (3, 2)
Сместиться на (2, 1)
Конец
Сместиться на (−6, −4)
Выполнение этого алгоритма приведёт к следующим смещениям по оси икс: a + 3 + 2 + a + 3 + 2 - 6
Так как нам известно, что в результате этих смещений чертёжник вернулся в исходную точку, то это значит что сумма всех смещений равна нулю. Можем записать уравнение и найти a:
a + 3 + 2 + a + 3 + 2 - 6 = 0
2a + 4 = 0
2a = -4
a = -4 / 2 = -2 (нашли смещение по x в команде1)
Далее, делаем то же самое для смещения по y:
Выполнение этого алгоритма приведёт к следующим смещениям по оси игрек: b + 2 + 1 + b + 2 + 1 - 4
Составляем уравнение:
b + 2 + 1 + b + 2 + 1 - 4 = 0
2b + 2 = 0
2b = -2
b = -2 / 2 = -1 (нашли смещение по y в команде1)
Значит, вместо команды1 нужно поставить команду, указанную в варианте ответа 1) Сместиться на (-2, -1)