Cache

kosyakin

New member
07.03.2016
3
0
#1
1. Задание 1. Глобалы и классы
Задание:
Напишите программу, которая по названию страны и количеству промежуточных стран определяет
окружающие страны (речь идёт только о сухопутных границах).
Параметры программы (метода) -- название страны и количество промежуточных стран в пути. 1 --
непосредственные соседи. 2 -- непосредственные соседи и их непосредственные соседи. И так
далее.
Например:
(Все страны, которые непосредственно граничат с Россией)
1) do ##class(ITPlanet.Countries).touches(“Russia”,1)
Norway
Finland
Estonia
Latvia
Belarus
Ukraine
Turkey
Armenia
Azerbaijan
Kazakhstan
China
Mongolia
North Korea
2) write ##class(ITPlanet.Countries).touches(“Russia”, 0)
(Глубина 0, поэтому таких стран нет)
3) (Все страны, которые граничат с Бутаном, плюс все страны, которые граничат со странами,
которые граничат с Бутаном)
>write ##class(ITPlanet.Countries).touches(“Bhutan”, 2)
India
China
Bangladesh
Myanmar
Laos
Vietnam
North Korea
Russia
Mongolia
Kazakstan
Uzbekistan
Afganistan
Pakistan
Nepal
4) (Все страны, которые граничат с Кипром, плюс все страны, которые граничат со странами,
которые граничат с Кипром, и так далее 1000 раз)
>write ##class(ITPlanet.Countries).touches(“Cyprus”, 1000)
(Пусто, потому что Кипр -- остров)
Данные о границах между странами в файле touches.txt. Формат:
<название страны> touches: <страна1>, <страна2>, ...
-----------
Adaman and Nicobar Islands touches:
Afghanistan touches: Iran, Turkmenistan, Uzbekistan, China, Pakistan
Albania touches: Montenegro, Serbia, Macedonia, Greece
Algeria touches: Western Sahara, Morocco, Tunisia, Libya, Niger, Mali, Mauritania
Angola touches: Democratic Republic of the Congo, Zambia, Namibia
Argentina touches: Chile, Bolivia, Paraguay, Brazil, Uruguay
Armenia touches: Turkey, Russia, Azerbaijan, Iran
-----------
Напишите метод, который парсит файл touches.txt и пишет эти данные в глобал.
Среди работ, в которых правильно исполняется метод touches, оценивается также структура для
хранения границ между странами. Предполагается, что метод touches работает именно с этой
структурой, а не с файлом напрямую.
<прикладывается файл touches.txt с исходными данными>
 

Вложения