Читаем Игры с Чипом полностью

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

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

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

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

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

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

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

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

Так же и из вас, медленных чипов, собирают параллельные машины, а мы, программисты, ломаем потом голову: как распределить работу, чтобы вы все решали одну задачу, но каждый делал свои кусок и не зависел от товарищей. Все крупнейшие современные машины устроены по такому принципу. Предложите вашему Мегафлопу соревноваться. Например, сложить, кто быстрее, тысячу чисел. Он будет суммировать их все подряд, а вы сделайте так, как я нарисовал. Вы вместе за десять шагов сложите всю тысячу потому, что вас много, а я дал вам хороший параллельный алгоритм».

— Погоди-ка, — перебил Чипа Сережа. — Ведь тысяча — это не степень двойки. Разделил пополам — 500, сложил 500 пар, разделил на 250 пар, снова попарно сложил, разделил на 125 пар, сложил — и стоп! Дальше не делится! Не додумал твой Леня алгоритм.

— Молодец, — усмехнулся Чип, — не зря я тебя учил. Что же, в этом случае проще всего добавить три числа, равных нулю.

— А зачем нули добавлять?

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

— Удивительно! Вроде лишнюю работу делаем, а получается быстрее.

— Зато все чипы при деле, в ногу шагают! — Чип подмигнул Сереже и продолжил: - Так мы и сделали, а потом и сами предложили Мегафлопу вторую задачу: найти наибольшее из тысячи чисел. (Кстати, как это сделать за десять шагов?) Потом третью: вывести оценки за четверть для всей школы (для каждого ученика его оценка за четверть по каждому предмету есть среднее арифметическое его оценок, полученных в течение четверти). Как, по-твоему, мы решили эту задачу?

Проиграл Мегафлоп раз, проиграл другой и от стыда сгорел.

Но тут появилась новая проблема! Приехал младший брат Мегафлопа — Гигафлоп. Он работает так быстро, что за ним не угнаться. Давай предложим ребятам придумать такой алгоритм, чтобы все чипы работали одновременно, ни один не стоял без дела.

— А над какой задачей они должны работать? — спросил Сережа.

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

— А на конверте пусть ребята напишут «Сразимся с Гигафлопом».

Двоичный поиск и влюбленный принц 

— Апчхи! Ну и пылища! — возмутился Чип, как всегда, появляясь из калькулятора. — Ты что, переезжать собрался?

Перейти на страницу:

Похожие книги

Основы психофизиологии
Основы психофизиологии

В учебнике «Основы психофизиологии» раскрыты все темы, составляющие в соответствии с Государственным образовательным стандартом высшего профессионального образования содержание курса по психофизиологии, и дополнительно те вопросы, которые представляют собой «точки роста» и привлекают значительное внимание исследователей. В учебнике описаны основные методологические подходы и методы, разработанные как в отечественной, так и в зарубежной психофизиологии, последние достижения этой науки.Настоящий учебник, который отражает современное состояние психофизиологии во всей её полноте, предназначен студентам, аспирантам, научным сотрудникам, а также всем тем, кто интересуется методологией науки, психологией, психофизиологией, нейронауками, методами и результатами объективного изучения психики.

Игорь Сергеевич Дикий , Людмила Александровна Дикая , Юрий Александров , Юрий Иосифович Александров

Детская образовательная литература / Биология, биофизика, биохимия / Биология / Книги Для Детей / Образование и наука
Путеводитель по поэме Н.В. Гоголя «Мертвые души»
Путеводитель по поэме Н.В. Гоголя «Мертвые души»

Пособие содержит последовательный анализ текста поэмы по главам, объяснение вышедших из употребления слов и наименований, истолкование авторской позиции, особенностей повествования и стиля, сопоставление первого и второго томов поэмы. Привлекаются также произведения, над которыми Н. В. Гоголь работал одновременно с «Мертвыми душами» — «Выбранные места из переписки с друзьями» и «Авторская исповедь».Для учителей школ, гимназий и лицеев, старшеклассников, абитуриентов, студентов, преподавателей вузов и всех почитателей русской литературной классики.Summary E. I. Annenkova. A Guide to N. V. Gogol's Poem 'Dead Souls': a manual. Moscow: Moscow University Press, 2010. — (The School for Thoughtful Reading Series).The manual contains consecutive analysis of the text of the poem according to chapters, explanation of words, names and titles no longer in circulation, interpretation of the author's standpoint, peculiarities of narrative and style, contrastive study of the first and the second volumes of the poem. Works at which N. V. Gogol was working simultaneously with 'Dead Souls' — 'Selected Passages from Correspondence with his Friends' and 'The Author's Confession' — are also brought into the picture.For teachers of schools, lyceums and gymnasia, students and professors of higher educational establishments, high school pupils, school-leavers taking university entrance exams and all the lovers of Russian literary classics.

Елена Ивановна Анненкова

Детская образовательная литература / Литературоведение / Книги Для Детей / Образование и наука
Всеобщая история. История средних веков. 6 класс
Всеобщая история. История средних веков. 6 класс

Предлагаемый учебник входит в учебно-методический комплекс по всеобщей истории для 6 класса. Учебник полностью соответствует Федеральному государственному образовательному стандарту основного общего образования, рекомендован Министерством образования и науки РФ и включён в Федеральный перечень.В учебнике освещается история стран Европы, Азии и Америки в Средние века. Наряду с данными о хозяйственной и политической жизни стран и народов, значительное место уделено вопросам культуры и повседневной жизни людей. Для передачи «духа Средневековья» в книге используются отрывки из литературных произведений, а для расширения кругозора учащихся и формирования необходимых компетенций по предмету предусмотрены творческие задания, вопросы к параграфам, картам и документам.

Андрей Вячеславович Абрамов , Михаил Владимирович Пономарев , Сергей Владимирович Тырин

Детская образовательная литература / История / Школьные учебники и пособия, рефераты, шпаргалки / Книги Для Детей / Образование и наука
О станках и калибрах
О станках и калибрах

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

Зигмунд Наумович Перля

Детская образовательная литература / Технические науки / Книги Для Детей / Образование и наука