На бесконечном поле имеется длинная горизонтальная стена. длина стены неизвестна. от нижнего конца стены влево отходит горизонтальная стена также неизвестной длины. робот находится в клетке, расположенной справа от верхнего края вертикальной стены. на рисунке указан один из возможных расположения стен и робота (робот обозначен буквой «р»). (1 рисунок) напишите для робота алгоритм, закрашивающий все клетки, расположенные непосредственно правее вертикальной стены, ниже горизонтальной стены и угловую клетку. робот должен закрасить только клетки, удовлетворяющие данному условию. например, для выше рисунка робот должен закрасить следующие клетки (см. рисунок). (2 рисунок) конечное расположение робота может быть произвольным. алгоритм должен решать для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. при исполнении алгоритма робот не должен разрушиться.(желательно сделать в блокноте, если можно)
n = int(input('Введите количество элементов массива: '))
a = [int(input("Введите элемент массива: ")) for i in range(n)]
k = int(input("Введите любое число: "))
m = 0
for i in a:
if i == k:
m = m + 1
if m == 0:
print ("NO")
else:
print ("YES")
Объяснение:
Я немного подправила программу по синтаксису(были ошибки). А ещё не поняла, что нужно сделать, но вот два теста:
ТЕСТ 1:
ВВОД:
Введите количество элементов массива: 2
Введите элемент массива: 2
Введите элемент массива: 2
Введите любое число: 12
ВЫВОД ПРОГРАММЫ:
NO
ТЕСТ 2:
ВВОД:
Введите количество элементов массива: 2
Введите элемент массива: 12
Введите элемент массива: 12
Введите любое число: 12
ВЫВОД ПРОГРАММЫ:
YES
Так как на большинстве версий "Паскаля" мы не можем установить шаг цикла в for, будем использовать цикл while для решения данной задачи.
Возьмём переменную i для хранения нужных нам значений, дадим ей значение равное 1001, запустим цикл while, который будет выполняться пока наша i <= 1025, в цикле у нас будет выводиться на экран значение переменной i, а затем переменная увеличиваться на 3.
Алгоритм на языке Паскаль:
var
i : integer;
begin
i := 1001;
while i <= 1025 do
begin
write(i,' ');
i := i + 3;
end;
end.