Костёр 1989-09, страница 27ПРИ К А Ю Ч£НИ£ ШЕСТОЕ. СТРАННЫЕ ШЧ£СЛЕНИ9 Этот день друзья решили посвятить отдыху. Собралась веселая компания: Кукарача, Конюх, Машинист и Раскрашка. — Плюсик, — рассказывал Кукарача, — это молодой робот-математик. У него имеется очень забавное * приспособление для вычислений — стек. А, знаю! — обрадовался Петя. — Стек — это такая тон кая палочка, ею пользуются при лепке. Это так, но у слова «стек» есть и другое значение, в котором оно используется в информатике. («Приветствия в Роботландии очень странные, — записал Петя в своем дневнике, — один говорит: «Как твоя СКИ?» А другой отвечает: «Спасибо тебе, хорошо!») — Дорогой Плюсик! — обратился Кукарача к роботу, — не объяснишь ли нам свою работу? Было видно, что Плюсику приятно внимание гостей. — Хорошо, — отвечал он. — Для начала посмотрите на это устройство (рис. 1). Это стек. рис. i Он служит для хранения информации. Использую его для хранения чисел во время выполнения арифметических расчетов. Вот, смотрите, я запоминаю в стеке число 10. Теперь я запомню в стеке число 20. И наконец число 15. Странное хранилище, заметил Петя. — Ведь из стека можно взять только последнее число 15. А если, скажем, по надобилось первое число 10, то придется предварительно вынимать числа 15 и 20. Стеки встречаются и в повседневной жизни, и в технике, — сказал Машинист, — недавно ты решал мои задачи. Железнодорожный тупик, куда я загонял вагоны, — самый настоящий стек. Из стека-тупика можно взять первым только тот вагон, который в него был поставлен последним. — Ты мне сам рассказывал,— вступил в разговор Раскрашка, — о любимой игрушке твоего маленького братишки, о пирамиде с разноцветными кольцами. Если колечки снимать и надевать по одному, то эта игрушка представляет собою стек. Чтобы понять мою работу, — продолжал свои объяснения Плюсик, — надо познакомиться с моей СКИ, — и он поставил под деревом большой красивый плакат (рис. 2). запомни число сложи вычти УМНОЖЬ ДЕЛИ очисти I рис.2 Каждый робот — это исполнитель, — пояснил Кукарача, — СКИ — это система команд исполнителя, то есть список тех команд, которые понимает и умеет выполнять робот. У каждого робота своя СКИ. Для правильного управления необходимо знать, как робот выполняет команды из своей СКИ. — А как ты выполняешь свои команды, дорогой Плюсик? спросил Петя и приготовился записывать. Команда «ЗАПОМНИ чис ло» очень простая. Я должен просто втолкнуть указанное в команде число в стек, — стал объяснять Плюсик. — Вот только что я выполнил три таких команды: «ЗАПОМНИ 10, ЗАПОМНИ 20, ЗАПОМНИ 15». Команды «СЛОЖИ», «ВЫЧТИ», «УМНОЖЬ» и «ДЕЛИ» я выполняю при помощи счетного устройства (рис. 3). Я выни- рисЗ. маю из стека число и опускаю его в отверстие 2 счетного устройства (рис. 3). Затем беру из стека еще одно число и опускаю в отверстие 1 (рис. 4). рис Теперь нажимаю кнопку «—». Кряк! И из центрального отверстия появляется результат — число 5, которое я запоминаю в стеке (рис. 5). кую нил? рис5. Можешь ты сказать, ка-команду я сейчас выпол спросил Плюсик у Пети |