• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Глобалы и классы

  • Автор темы Автор темы KOSYAKIN
  • Дата начала Дата начала

KOSYAKIN

Ученик
Регистрация
1 Мар 2016
Сообщения
6
Реакции
0
Баллы
0
Глобалы и классы

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 с исходными данными>
 

Вложения

Назад
Сверху