MaximVeretennikov
05.06.2022 11:28

12. Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.
У Робота есть девять команд. Четыре команды – это команды-приказы:
вверх вниз влево вправо
При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.
Также у Робота есть команда закрасить. При её выполнении закрашивается клетка, в которой Робот находится в настоящий момент.
Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:
сверху свободно снизу свободно слева свободно справа свободно
Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

Здесь условие – одна из команд проверки условия.
Последовательность команд – это одна или несколько любых команд-приказов.
Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:

В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:
если (справа свободно) и (не снизу свободно) то
вправо
все
Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

Выполните задание.
На бесконечном поле имеются две одинаковые вертикальные стены и одна горизонтальная, соединяющая верхние концы стен. Длины стен неизвестны. Робот находится в одной из клеток, расположенных между нижними краями вертикальных стен. На рисунке указан один из возможных расположения стен и Робота
(Робот обозначен буквой«Р»).
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные выше горизонтальной стены непосредственно над ней. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).
Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.
Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.
Сохраните алгоритм в текстовом файле под именем
Ваша фамилия_класс_вариант. Например: Иванов_6д_4.doc


12. Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетк

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
NoraDun
05.01.2023 08:22
Var
    a: array[1..100, 1..100] of integer;
    i, j, m, n, count2, countx, x: integer;

begin
    {ввод матрицы}
    n := 10;
    
    writeln('Данные матрицы:');
    for i := 1 to n do
    begin
        for j := 1 to n do
        begin
            a[i, j] := random(200) - 100;
            write(a[i, j]:4, ' ')
        end;
        writeln;
    end;
    
    write('x = ');
    readln(x);
    count2 := 0;
    countX := 0;
    for i := 1 to n do
        for j := 1 to n do
        begin
            if a[i, j] = x then
                countX := countX + 1;
            if (a[i, j] >= 10) and (a[i, j] <= 99) and ((a[i, j] div 10 + a[i, j] mod 10) mod 2 = 0) then
                count2 := count2 + 1;
        end;
    writeln('countX = ', countX);
    writeln('count2 = ', count2);
end.
0,0(0 оценок)
Ответ:
riad170310
24.10.2020 23:32

price_notebook = float(input("Введите цену тетради: "))

number_notebook = int(input("Введите количество тетрадей: "))

price_cover = float(input("Введите цену обложки: "))

number_cover = int(input("Введите количество обложек: "))

price_pen = float(input("Введите цену ручки: "))

number_pen = int(input("Введите количество ручек: "))

full_price = ((price_notebook * number_notebook) + (price_cover * number_cover) + (price_pen * number_pen))

discount = full_price / 100 * 15

answer = full_price - discount

print("Полная стоимость: ", full_price, "\nСкидка: ", discount, "\nЦена с учетом скидки: ", answer, end='')

Объяснение:

price_notebook = float(input("Введите цену тетради: "))  // Вещественная (с плавающей точкой) переменная, хранящая цену тетради

number_notebook = int(input("Введите количество тетрадей: "))  // Целочисленная переменная, хранящая количество тетрадей

price_cover = float(input("Введите цену обложки: "))  // Вещественная (с плавающей точкой) переменная, хранящая цену обложки

number_cover = int(input("Введите количество обложек: "))  // Целочисленная переменная, хранящая количество обложек

price_pen = float(input("Введите цену ручки: "))  // Вещественная (с плавающей точкой) переменная, хранящая цену ручки

number_pen = int(input("Введите количество ручек: "))  // Целочисленная переменная, хранящая количество ручек

full_price = ((price_notebook * number_notebook) + (price_cover * number_cover) + (price_pen * number_pen))  // Переменная, хранящая полную стоимость всей покупки

discount = full_price / 100 * 15  // Переменная, хранящая 15-ти % скидку

answer = full_price - discount  // Цена с учетом скидки

print("Полная стоимость: ", full_price, "\nСкидка: ", discount, "\nЦена с учетом скидки: ", answer, end='') // Вывод ответа

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота