
Часть 3
Раздел 10
715 Робот
1 Пропала связь между роботом-разведчиком и космическим кораблем,
совершившим посадку в бескрайней марсианской пустыне. В такой
ситуации робот переходит на выполнение алгоритма АВАРИЙНЫЙ. При этом
робот может исполнять следующие вспомогательные алгоритмы:
СЕВЕР - продвижение на 30 метров на север
ЮГ - продвижение на 30 метров на юг
ВОСТОК - продвижение на 30 метров на восток
ЗАПАД - продвижение на 30 метров на запад
ОСТАВЬ - втыкание в песок специального флажка
ВОЗЬМИ - взятие флажка
Последнее действие возможно не всегда, а только тогда, когда
флажок находится рядом с роботом. Для того, чтобы проверить
возможность взятия флажка, робот может проверить выполнение условия
РЯДОМ. В одном месте можно воткнуть только один флажок. Перед началом
работы у робота всего три флажка.
Исполнение алгоритма автоматически прервется, как только робот
попадет в зону посадки космического корабля, имеющей форму круга
диаметром 50 метров.
Управляющее устройство робота не имеет оперативной памяти, поэтому
никаких величин в алгоритме использовать не разрешается.
Разработайте алгоритм АВАРИЙНЫЙ, гарантирующий возвращение робота
в зону посадки с любого расстояния. Поверхность марса считать
плоской.
716 2 Вдоль кольцевой дороги расположено М городов, в каждом из
которых открылась кооперативная парикмахерская. Известна стоимость
СТРИЖКА[К] стрижки в городе К и стоимость ПРОЕЗД[К] проезда по
отрезку дороги, соединющей К-ый и (К+1)-ый города (ПРОЕЗД[М] -
стоимость проезда между первым и М-ым городом). Для жителей каждого
города определить КУДА[К] - город, куда им следует съездить, чтобы
подстричься самым дешевым образом, и КАК[К] - "по часовой стрелке"
или "против часовой стрелке" (города пронумерованы по часовой
стрелке).
717 Задача 3
Были написаны вспомогательный алгоритм ОБМЕН и основной алгоритм
СРЕДНЕЕ, который среди пяти попарно различных чисел находит такое,
что два числа из оставшихся больше него, а два других - меньше. В
момент, когда тексты алгоритмов распечатывались, печатающее
устройство сломалось и стало печатать вместо всех цифр цифру 0.
Замените эту цифру на 1, 2, 3, 4 или 5 так, чтобы получился
правильный алгоритм СРЕДНЕЕ.
Procedure ОБМЕН ( Var A,B : Integer ) ;
Var W : Integer ;
Begin
W := A ;
A := B ;
B := W
End ;
Function СРЕДНЕЕ ( M1,M2,M3,M4,M5 : Integer ) : Integer ;
Begin
If M0 > M0 Then ОБМЕН ( M0,M0 ) ;
If M0 > M0 Then ОБМЕН ( M0,M0 ) ;
If M0 > M0 Then
Begin
ОБМЕН ( M0,M0 ) ;
ОБМЕН ( M0,M0 ) ;
End ;
If M0 > M0 Then ОБМЕН ( M0,M0 ) ;
If M0 > M0 Then
Begin
ОБМЕН ( M0,M0 ) ;
ОБМЕН ( M0,M0 ) ;
End ;
If M0 > M0 Then ОБМЕН ( M0,M0 ) ;
СРЕДНЕЕ := M0 ;
End ;
718 ЗАДАЧА 1. Автобусные билеты в рулоне пронумерованы от 000001 до
999999. Составить программу, выводящую на экран количество и номера
(в несколько столбиков) всех счастливых билетов в некотором
диапазоне, организовав запрос начального и конечного номера билета
диапазона.
Примечание: Счастливым считать тот билет, у которого сумма первых
трех цифр равна сумме трех последних.
719 ЗАДАЧА 2. На судоверфь для докового ремонта пришли пять судов А,
В, С, D, Е. В доке судоверфи может находиться только одно судно.
Необходимое время стоянки в доке каждого судна различно и составляет
соответственно МА, МВ, МС, MD И МЕ. Составить программу, определяющую
и выводящую на экран очередность постановки судов в док, при которой
суммарные потери от простоя судов минимальны.
720 ЗАДАЧА 3. Маленький заблудившийся медвежонок движется по дороге,
вдоль которой на расстоянии М друг от друга растут деревья.
Останавливаясь под каждым деревом, медвежонок забывает, откуда
пришел, и, отправляясь через некоторое время в дальнейший путь,
совершенно случайно выбирает то или иное направление движения. На
каком расстоянии от первого дерева может быть медвежонок после шести
этапов?
721 ЗАДАЧА 4. В городе N домов. Найдите максимально возможное
количество непересекающихся заборов, которое можно построить в этом
городе, при условии, что каждый забор огораживает хотя бы один дом, а
никакие два забора не огораживают одну и ту же совокупность домов.
722 ДОПОЛНИТЕЛЬНАЯ ЗАДАЧА. Составить программу вывода плавно
движущейся по экрану от левого края немерцающей оперенной стрелы (с
наконечником), например такой: При выводе на экран объекта
организовать задержку не менее 1000.
723 Тур I, Задача 1. "Абракадабра". 40 баллов.
Последовательность из латинских букв строится следующим образом.
На первом шаге она пуста. На каждом последующем шаге последователь-
ность удваивается, после чего к ней слева дописывается очередная бук-
ва латинского алфавита (а, b, с, ...). Ниже приведены первые шаги
построения последовательности:
Шаг 1. пустая последовательность
Шаг 2. а
Шаг 3. baa
Шаг 4. cbaabaa
Шаг 5. dcbaabaacbaabaa
Задача состоит в том, чтобы по заданному числу N определить сим-
вол, который стоит на N-ом месте в последовательности, получившейся
после 26-го шага.
Технические требования:
Входной файл: INPUT.TXT
Выходной файл: OUTPUT.TXT
Ограничение времени: 20 секунд
Формат входных данных: Во входном файле записано одно натуральное
число N (1 ? N < 226).
Формат выходных данных: Запишите в выходной файл символ, стоящий в
позиции N получившейся последовательности.
Пример файлов входных и выходных данных:
INPUT.TXT
OUTPUT.TXT
14
w
solut1_1.htm
ЗАДАЧА 1
724 Приобретение дискет.
Одна дискета стоит 11 р. 50 к. Коробка дискет, содержащая 12
дискет, стоит 114р. 50 коп. Ящик дискет, содержащий 12 коробок, стоит
1255р. Надо купить N дискет, заплатив меньшую стоимость. Например,
если надо купить 11 дискет. Выгодней купить 1 коробку, чем 11
отдельных дискет.
Исходные данные:
N - количество дискет, которые надо купить (вводится с
клавиатуры).
Результаты:
количество ящиков,
количество коробок,
количество отдельных дискет.
Пример 1 Пример 2
N=500
Результаты:
Количество ящиков - 3
Количество коробок - 5
Количество отдельных дискет - 8
N=11
Результаты:
Количество ящиков - 0
Количество коробок - 1
Количество отдельных дискет - 0