Игры с Чипом - Мигдал А. А. 10 стр.


— Прекрасно, — подхватил Сережа, — пусть он нам напишет программу турнира Чеширского кота на любом языке. А чтобы письмо этого сердитого читателя не затерялось в нашей большой почте, на конверте пусть он поставит фразу:

Сережа бросил кубик. Выпало 5, и он крикнул Чипу: «Вперед!» «Один!» — крикнул в ответ Чип.

Сережа кинул кубик еще раз. «Стой!» — крикнул он, потому что выпало 3. «Один!» — повторил Чип предыдущий счет. Дальше дело пошло быстрее: «Вперед!» «Два». «Назад!» «Один». «Стой!» «Один» «Вперед!» «Два». «Вперед!» «Три». «Стой!» «Три». «Вперед!» «Четыре». «Назад!» «Три».

— Ну, что, — сказал Чип,— мы бросили кубик 10 раз и сдвинулись вперед на 3 шага. Значит, провод закрутился бы на 3 оборота. Будем считать, что после каждых 10 звонков папа проверяет провод и раскручивает его. Начнем все сначала.

Они кинули кубик еще 10 раз. Теперь получилось в сумме 2 шага назад, то есть провод закрутился бы на два оборота в другую сторону. Еще и еще кидали они кубик, и получилось, что за 10 бросаний кубика суммарное число шагов бывало в среднем 3 — 4, а направление бывало разным — иногда вперед, а иногда назад. Всего они сделали 10 опытов по 10 бросаний, и в 5 опытах было положительное направление, в 4 — отрицательное, а в одном опыте после всех 10 бросаний кубика получился нуль, так что провод совсем бы не закрутился. Но это, конечно, была редкая удача.

— Видишь, — сказал Чип, — кое-что мы поняли. Ваш телефонный провод будет со временем закручиваться, иногда в одну, а иногда в другую сторону, но количество оборотов будет расти, так что папе время от времени придется его раскручивать обратно. А если бы мы с тобой бросили кубик миллиард раз вместо ста, то смогли бы точно подсчитать, как величина закрутки зависит от времени и как часто папе придется раскручивать провод. Вот для того, чтобы быстро сделать миллиард таких испытаний, и нужен компьютер. Кстати, в этом простом случае и без компьютера можно предсказать, что величина закрутки провода будет расти, как корень квадратный из времени.

— Давай теперь сделаем что-нибудь смешное, я хочу немного посмеяться, а то надоело с числами возиться.

— Ты любишь играть в чепуху? Это когда несколько человек пишут каждый свой рассказ, меняясь по кругу бумажками после каждого слова и загибая бумажки, чтобы не подглядывать.

— Да, здорово было бы сыграть, только нас всего двое — так неинтересно!

— А вот с помощью случайных чисел можно играть в чепуху даже одному. Сочиняешь шесть разных рассказов, а потом составляешь один, по очереди выдергивая слова из случайно выбранного рассказа. А из какого рассказа выдернуть очередное слово, решаешь, бросая игральный кубик.

Они взялись за дело и скоро сочинили шесть коротких рассказов.

1. Шел снег. Усталый мальчик брел из школы домой насвистывая.

2. Была жара. Веселый воробышек прыгал с ветки на ветку чирикая.

3. Моросил дождь. Огромный кит плыл из моря в океан пыхтя.

4. Лил дождь. Свирепый динозавр выползал из болота рыча.

5. Стоял туман. Сверкающий автомобиль мчался из города на дачу гудя.

6. Надвигалась буря. Озабоченный шмель летел с поля в сад жужжа.

В каждом рассказе было по 10 слов, так что кубик опять пришлось бросать 10 раз. У Чипа получилось: «Стоял снег. Веселый динозавр прыгал с ветки на дачу насвистывая». А у Сережи: «Надвигалась жара. Свирепый шмель плыл с поля домой пыхтя».

Отсмеявшись над своими рассказами, Чип и Сережа придумали такое задание для читателей: сочинить смешную игру, где применялся бы принцип случайных чисел. Лучшая игра будет опубликована в журнале. На конверте укажите: «Случайные числа».

До свиданья, друзья! 

Вот и кончается 1987 год. За этот год Сережа узнал много нового и всерьез увлекся информатикой. Он поступил в кружок программистов и научился сам писать программы на языке Бейсик. Теперь настоящий, взрослый компьютер его слушается! Например, попросишь компьютер нарисовать на экране двух рыбок, которые друг за другом гоняются, — и, пожалуйста, бегают по экрану, как живые.

Только, конечно, это не сразу получилось, пришлось помучиться, пока они поплыли. Поначалу рыбки появлялись на новом месте, а на старом не исчезали, так что они не плыли, а плодились. Но потом Сережа догадался, что их надо на старом месте стирать с экрана, а на новом рисовать.

Хотите знать, как пишется такая программа? На экране компьютера каждая строчка пронумерована, а в каждой строчке пронумерована каждая буква. Всего в строчке, скажем, 80 букв, вернее, позиций — мест для буквы.

Скажешь компьютеру: «Напиши букву О на 3-й позиции 5-й строчки», — он ее напишет. А если скажешь: «Напиши знак >, а за ним букву О», — то получится маленькая рыбка.

Рыбка:

Ну, а щука получится, если нарисовать знак > , два знака равенства, верхнюю кавычку и знак <.

Щука:

Если нарисовать щуку, начиная, скажем с 3-й позиции, а маленькую рыбку — с 9-й, то получится погоня.

Сережа научил их отталкиваться от стенок, нырять, отдаляться и приближаться друг к другу. Потом он нарисовал голубую воду и зеленые водоросли. Наконец, он сделал так, чтобы щука щелкала пастью.

Жаль, что нельзя показать, какой красивый мультфильм получился!

Зато можно показать кадр из другого мультфильма, сделанного большим компьютером в Институте космических исследований Академии наук СССР. Это Фобос — маленький спутник Марса. Американская космическая станция «Викинг» сделала несколько его фотографий, которые были обработаны на нашем компьютере, так что получилась объемная модель. Ее можно было вращать и разглядывать со всех сторон.

Через 2 года на Марс полетит советская космическая станция, которая со всех сторон облетит Фобос и рассмотрит его вблизи. Этот компьютерный мультфильм нужен для навигации — наша станция будет сверять вид из окна с кадром из мультфильма, чтобы знать, где она находится и куда ей лететь дальше.

— А где же Чип? — спросите вы. У Чипа тоже интересные события. Он как раз и собирается лететь на Марс на космической станции и управлять полетом над Фобосом. Теперь Чип не сможет так часто играть с Сережей. Но они по-прежнему большие друзья и любят в свободный часок поболтать и пофантазировать. А что из этого получится, вы узнаете в новом году.

Нам осталось подвести итоги конкурсов этого года и объявить новый конкурс.

«Поможем Шерлоку Холмсу»

Правильных программ вы прислали много, но 90% из них дословно повторяют то, что было в «Пионере».

Наконец настало время объявить БОЛЬШОЙ КОНКУРС ЧИПА 1987 ГОДА. Как и в прошлом году, победителей ждут КАЛЬКУЛЯТОРЫ.

Условия конкурса:

1. Написать любую программу для калькулятора. Если его нет, то написать программу-сказку, как раньше. Выигрывает тот, у кого самая интересная программа.

2. Предложить идею электронной игры. Здесь программа не нужна, будет цениться оригинальность и фантазия.

3. Шутливый конкурс «Кто самый средний?». Назовите год, месяц, число и час своего рождения (не знаете час — придумайте). Выиграет тот, чья дата окажется ближе всех к среднему значению. Вам не надо считать среднее, это мы сделаем сами, вы просто пришлите год, месяц, число и час своего рождения.

На конверте укажите девиз: «БОЛЬШОЙ КОНКУРС ЧИПА 1987 ГОДА». Ответы отправлять не позднее 1 февраля 1988 года.

Как обхитрить Мегафлопа 

— Слушай, Сережа, а ты здорово вырос за последний год, — сказал Чип, одновременно для разминки перемножая десятизначные числа. Он вообще никогда не сидел спокойно — говорил фразу и, пока Сережа думал над ответом, успевал решить про себя какую-нибудь задачу. Потом быстро обдумывал Сережины слова, отвечал и снова погружался в расчеты. Однако его собеседник ничего не замечал — так быстро Чип думал.

Чип говорил, что Сережа был для него медленным внешним устройством, а расчет шел в фоновом режиме. То есть на фоне расчета он разговаривал с Сережей, как солист в опере поет на фоне оркестра. Например, ЭВМ может одновременно печатать на машинке и решать сложную задачу. Пока машинка печатает строку, Чип успевает сделать массу вычислений. Потом он прервет решение задачи, пошлет в печать новую строку и возобновит работу с того места, где остановился. Иначе Чипу пришлось бы очень долго, по его понятиям, сидеть без дела, а машины этого не любят. Поэтому в хороших вычислительных машинах могут одновременно решаться десятки проблем, и одна программа не замечает присутствия остальных.

Все это Чип успел рассказать сам себе за ту секунду, которая потребовалась Сереже, чтобы ответить:

— Да. на целых пять сантиметров. А ты почему не растешь? Когда ты станешь таким же большим, как твой папа — Центральный процессор?

— Мы, чипы, не растем, а сразу рождаемся взрослыми: большими или маленькими, умными или глупыми, быстрыми или медленными. Но бывает так, что несколько медленных чипов оказываются быстрее одного быстрого.

— Десять черепах обгоняют одного зайца?

— Почти так, но поскольку машины сами думать не умеют, им должен помочь хороший программист. Вот как-то раз приехал к нам из-за границы нахальный чип Мегафлоп. Был он маленький, гладкий и все ходил и похвалялся: «Эх вы, старикашки! Вам бы на пенсию или в демонтаж! Краска облуплена, час поработаете и перегреваетесь, а уж считаете вы совсем как черепахи. Пока вы два числа сложите, я — сто, пока вы два числа умножите, я — двести. На что вы годны?!» Обидно нам стало, и решили мы пойти к программисту Лене и попросить помощи — неужто и правда нами можно только гвозди забивать?

Леня засмеялся и сказал: «Чипы! Решите-ка такую задачу: по длинной улице идут сплошным потоком машины. Между каждой парой машин может проскочить один человек. За какое время перейдет на другую сторону улицы рота солдат, если один человек перебегает улицу за десять секунд?». «За тысячу секунд», — хором ответили чипы. «Ну и неверно! Кто вам мешает построить солдат вдоль улицы, и тогда вся рота перейдет за десять секунд.

Назад Дальше