На том и порешили. Правда, царства им не досталось — крепко осерчали царь с царицей, — зато уж угощение на свадьбу Ксюша сготовила — гостей за уши не оттащишь!
Конец сказки».
— Ну, как? — гордо спросил Чип. — Не хуже, чем Мери Поппинс? Во всяком случае, программа у меня правильная — хоть невесту, хоть карандаш можно выбрать по трем признакам. Я сначала хотел ее так написать, чтобы признаков было не три, а сколько угодно, как жильцов в сказке о репке. Но потом подумал, что овчинка выделки не стоит: это во всем царстве невест не хватит, чтобы по десяти признакам выбирать. Так что пусть уж будет три признака, чтобы не просчитаться.
— Спасибо, Чип, замечательная сказка, — поблагодарил Сережа, — завтра моя очередь, а теперь спокойной ночи, а то уже поздно.
Вот тут Сережа и споткнулся. Получалось что-то не так. Ведь в сказке колобок поет очередному едоку не про всех предыдущих вместе, а про каждого из них в отдельности: зайцу поет про деда и бабку, волку — про деда, бабку и зайца, и так далее. Чем дальше катится, тем длиннее песенка, пока лиса не попадается.
Сережа мучился, мучился, а потом не выдержал и позвал на помощь Чипа.
— Ну что ж, я вижу, ты делаешь успехи, — похвалил его Чип, — надо только кое-что исправить. Вот как нужно сделать, чтобы он спел не про всех едоков вместе, а про каждого по отдельности:
— Чем сказка кончается, — спросил Чип, — лиса его съест, так что ли?
— А это необязательно — ответил Сережа, — мы сочиним новую сказку, где никто колобка не съедает, а все вместе поют его песенку.
— Ну что ж, тогда напишем так:
— Вот и все, — Чип снял шапочку и раскланялся. — А вообще-то ты сложную сказку выбрал, с двойным циклом. Каждому новому едоку колобок поет про каждого предыдущего. Вот обрати внимание на главу № 9. Она повторяется 2 раза для зайца, 3 раза для волка, 4 раза для медведя и 5 раз для лисы — итого 14 раз. Помнишь, я тебе говорил, что цикл придумали, чтобы много раз одно и то же не писать. А двойной цикл еще больше места экономит. Представь себе, что было бы, если бы колобок сто разных зверей встретил, пока ему лиса не попалась. Наша программа почти не увеличится — надо только список едоков расширить, а обычная сказка про колобка, знаешь, как увеличится! Мало того, что нужно будет описать встречу с каждым из сотни зверей, нужно будет, чтобы колобок каждому зверю пропел про каждого предыдущего. На сказку, небось, и целого журнала не хватит. А мы с тобой на одну страничку уместились.
— Так что же, цикл только для экономии бумаги придуман? — спросил Сережа, которому немножко надоело хвастовство Чипа.
— Да что там бумага, — Чип махнул рукой, — не на бумаге же компьютерам программы пишут. У нас и магнитные ленты, и диски вроде грампластинок, и специальные кристаллики для памяти, и все равно памяти не хватает. Сейчас мы можем делать миллионы и даже миллиарды операций в секунду, и работаем по нескольку дней без остановок. Вот и представь, что было бы, если бы каждую операцию надо было отдельно описывать. А так написал цикл: «Сто миллиардов раз сложи 2 и 2», и пожалуйста! Компьютер работает, а ты отдыхаешь. Не пишешь ему сто миллиардов раз, чтобы он 2 и 2 сложил.
Ну, ладно, хватит на сегодня. В воскресенье и погулять надо.
ОТ РЕДАКЦИИ:
А сегодня вам Чип дает задание, ребята, написать программу для любимой считалочки. Лучшую программу мы напечатаем.
Случай в квартире 130
— Во что мы сегодня будем играть? — нетерпеливо спросил Сережа, как только Чип выпрыгнул из коробки.
— Во что, во что... Будто я массовик-затейник — проворчал Чип, но по его хитрым глазкам Сережа понял, что Чип приготовил ему сюрприз и ломается только для вида.
— Ну, пожалуйста, Чип, миленький, я же знаю, что
ты все можешь придумать!
— Ну уж все... Ты в «Джеков дом» умеешь играть?
— Какой такой «Джеков дом»? Я такой игры не знаю.
— Неужели не слышал стишок: «Вот дом, который построил Джек. Вот пшеница, которая в темном амбаре хранится, в доме, который построил Джек...» И так далее. Все новые строчки прибавляются, а старые повторяются.
— А... слышал, но какая же тут игра?
— А вот какая: давай сочинять похожий стишок. Я говорю первый куплет, ты в ответ второй, я третий, ты четвертый и так далее, пока кто-то не сдастся. Ну, например, у вас дома кто строит?