Максим П. Задача №2
Чтобы разделить зал на четыре прямоугольные зоны, клетки начали красить в форме креста, а закончить не успели. Роберт находится в центре креста. Ему нужно довести разметку до стен.
Напиши программу, которая позволит роботу закрасить соответствующие клетки и вернуться в исходное положение.
move_left()
Сделать шаг влево
move_right()
Сделать шаг вправо
move_up()
Сделать шаг вверх
move_down()
Сделать шаг вниз
wall_from_up()
Проверить, есть ли стена сверху
wall_from_down()
Проверить, есть ли стена снизу
wall_from_left()
Проверить, есть ли стена слева
wall_from_right()
Проверить, есть ли стена справа
free_from_up()
Проверить, свободно ли сверху
free_from_down()
Проверить, свободно ли снизу
free_from_left()
Проверить, свободно ли слева
free_from_right()
Проверить, свободно ли справа
fill_cell()
Закрасить клетку
cell_is_filled()
Проверить, закрашена ли клетка
cell_is_clean()
Проверить, чиста ли клетка
Объяснение:
Чтобы предотвратить возможные конфликты несовместимости разрешений при принудительной установке пользовательского режима, поставьте флажок на нижнем пункте настроек масштабирования.
В левом меню найдите вкладку под названием «Настройки масштабирования» и переместите ползунок на панели «Сжатая развертка – Растянутая развертка» так, чтобы изображение заполнило экран целиком. Кроме того, убедитесь, что изображение отображается строго точно по центру. В противном случае некоторые его части могут быть усечены.
Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
WriteAllText('MyFile.txt',SeqRandom(n,-99,99).JoinIntoString);
var (mn,mx):=(MaxInt,-MaxInt);
foreach var line in ReadLines('MyFile.txt') do begin
var a:=line.ToIntegers;
(mn,mx):=(Min(a.Min,mn),Max(a.Max,mx))
end;
Writeln('Cумма min+max = ',mn,'+',mx,' = ',mn+mx);
ReadAllText('MyFile.txt').Println // контрольный вывод файла
end.
Пример
n= 20
Cумма min+max = -99+71 = -28
62 -72 39 -93 -99 -46 -77 71 -12 13 -89 18 -17 19 -35 -62 30 17 -74 37