На складе хранятся коробки с различной техникой, каждая коробка имеет четырехзначный уникальный серийный номер. Разновидности техники:
T – телевизоры
V - видеомагнитофоны
R – радио
F – вентиляторы.
Склад позволяет хранить до N рядов коробок высотой не более M коробок.
Пример склада из 6-ти рядов высотой не более 4 коробок:
[0008,T]
[0007,T]
[0002,T] [0006,T] [0011,T] [0014,T]
[0001,T] [0005,T] [0010,T] [0013,T]
Поступление и расход техники подчиняется следующим правилам:
операции выполняются только над одной коробкой;
взять можно только верхнюю коробку из ряда;
поставить коробку можно на любой незанятый ряд, либо на верхнюю коробку непустого ряда (дополнительные ограничения смотрите в индивидуальных заданиях).
Запрещается создавать коробки, не принадлежащие складу и хранить их вне склада. Массивы коробок и массивы указателей на коробки не создавать. память под коробки должна выделяться динамически.
Режим заполнения склада - startFillingWarehouse(0);
Создать первоначальное состояние склада на основе исходных данных. Исходные данные соответствуют складу, в котором коробки хранятся в беспорядке, т.е. в одном ряду могут находиться коробки с различной техникой (ставить в один ряд коробки с разной техникой разрешается).
После заполнения склада напечатать его «изображение» - showWarehouse();
Режим переноса коробок - startBoxTransferring (0, 0, 0, 0, aTV | aVCR | aRadio | aFan, 0);
Перевернуть коробки в каждом ряду, т.е. поменять местами нижнюю коробку с верхней и т.д. Коробки, не должны храниться вне склада, их можно только переставлять по одной внутри склада.
Если невозможно переставить коробки, напечатать сообщение «no solution»; иначе напечатать изображение склада - showWarehouse();
Режим очистки склада - startEmptyingWarehouse();
Изъять из склада все коробки и уничтожить их.
После очистки склада напечатать его «изображение» - showWarehouse();
Формат входных данных:
[N] [M]
[крайний левый вертикальный ряд]
[промежуточный вертикальный ряд]
[крайний правый вертикальный ряд]
N – кол-во рядов, целое число [1, 10]
M – кол-во коробок в ряду, целое число [1, 10]
Дан код, нужно его переделать и совместить с файлом lib, или же Вы можете написать свой код, как Вам будет удобнее)
1.
использовать Чертежник
алг
нач
сместиться в точку (1,1)
нц 5 раз
опустить перо
сместиться на вектор (0,1)
сместиться на вектор (2,0)
сместиться на вектор (0,1)
сместиться на вектор (-1,0)
сместиться на вектор (0,-2)
сместиться на вектор (-1,0)
поднять перо
сместиться на вектор (3,0)
кц
сместиться в точку (-5,-5)
кон
2.
использовать Чертежник
алг
нач
нц 6 раз
опустить перо
сместиться на вектор (0,2)
сместиться на вектор (2,0)
сместиться на вектор (0,-2)
сместиться на вектор (-2,0)
поднять перо
сместиться на вектор (1,1)
кц
сместиться в точку (-5,-5)
кон
Объяснение:
картинки
i,z,y,x: integer; // объявление переменных
begin // начало программы
writeln('Введите числа: '); // Вывод сообщения
readln(x,y); // Ввод чисел х и у с клавиатуры
while i <> y do // Повторять цикл пока i не будет равно y
begin // Вход в цикл
z:=z+x; // z = z + x (при первом шаге получается 0 = 0 + х)
i:=i+1; // Увеличиваем счетчик цикла на 1
end; // Выход из цикла
write(z); // Вывод z (произведение х и у)
end. // Конец программы