Чтение онлайн

на главную - закладки

Жанры

Шрифт:

Глава № 8. Конец цикла.

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

Сережа мучился, мучился, а потом не выдержал и позвал на помощь Чипа.

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

Глава № 7.
«ПО АМБАРАМ Я СКРЕБЕН, В ПЕЧКЕ ПЕЧЕН, НА ОКОШКЕ СТУЖЕН...»

Глава № 8. Начало второго цикла. Повторять для всех предыдущих едоков, начиная с деда.

Глава № 9. «Я ОТ ПРЕДЫДУЩЕГО ЕДОКА УШЕЛ...»

Глава № 10. Конец второго цикла.

Глава №11. «...А ОТ ТЕБЯ, ОЧЕРЕДНОЙ ЕДОК, И ПОДАВНО УЙДУ!»

Глава № 12. Конец цикла.

— Чем сказка кончается, — спросил Чип, — лиса его съест, так что ли?

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

— Ну что ж, тогда напишем так:

Глава № 13. Если вам жалко колобка, то спойте с ним его песенку.

Глава № 14. Если вам его не жалко, то возьмите книжку и прочитайте, как его лиса съела. Нам про это писать не хочется.

Глава № 15. Конец.

— Вот и все, — Чип снял шапочку и раскланялся. — А вообще-то ты сложную сказку выбрал, с двойным циклом. Каждому новому едоку колобок поет про каждого предыдущего. Вот обрати внимание на главу № 9. Она повторяется 2 раза для зайца, 3 раза для волка, 4 раза для медведя и 5 раз для лисы — итого 14 раз. Помнишь, я тебе говорил, что цикл придумали, чтобы много раз одно и то же не писать. А двойной цикл еще больше места экономит. Представь себе, что было бы, если бы колобок сто разных зверей встретил, пока ему лиса не попалась. Наша программа почти не увеличится — надо только список едоков расширить, а обычная сказка про колобка, знаешь, как увеличится! Мало того, что нужно будет описать встречу с каждым из сотни зверей, нужно будет, чтобы колобок каждому зверю пропел про каждого предыдущего. На сказку, небось, и целого журнала не хватит. А мы с тобой на одну страничку уместились.

— Так что же, цикл только для экономии бумаги придуман? — спросил Сережа, которому немножко надоело хвастовство Чипа.

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

Ну, ладно, хватит на сегодня. В воскресенье и погулять надо.

ОТ РЕДАКЦИИ:

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

Случай

в квартире 130

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

— Во что, во что... Будто я массовик-затейник — проворчал Чип, но по его хитрым глазкам Сережа понял, что Чип приготовил ему сюрприз и ломается только для вида.

— Ну, пожалуйста, Чип, миленький, я же знаю, что

ты все можешь придумать!

— Ну уж все... Ты в «Джеков дом» умеешь играть?

— Какой такой «Джеков дом»? Я такой игры не знаю.

— Неужели не слышал стишок: «Вот дом, который построил Джек. Вот пшеница, которая в темном амбаре хранится, в доме, который построил Джек...» И так далее. Все новые строчки прибавляются, а старые повторяются.

— А... слышал, но какая же тут игра?

— А вот какая: давай сочинять похожий стишок. Я говорю первый куплет, ты в ответ второй, я третий, ты четвертый и так далее, пока кто-то не сдастся. Ну, например, у вас дома кто строит?

— Не знаю, кажется, какой-то ЖЭК. [3]

— Ну, тогда начнем так: «Вот дом, который построил ЖЭК». Твоя очередь, Сережа.

— «Вот квартира сто тридцать,

В которой неладное что-то творится,

3

Тут Сережа ошибся. ЖЭК — жилищно-эксплуатационная контора — не строит, а эксплуатирует дома.

В доме, который построил ЖЭК», — сказал Сережа, немного подумав. — Твой ход, Чип.

— Э... э, назови-ка мне какое-нибудь имя девочки.

— Аня, — назвал Сережа имя своей лучшей подруги.

— Ну тогда: «Вот девочка Аня, которая спит у себя на диване,

В квартире и т.д.». Твоя очередь, Сережа. Так что же там неладное творится? Придумывай.

Сережа задумался.

— «Вот комната ванная, в которой море шумит разливанное,

Из крана, забытого девочкой Аней, и т.д.».

— Теперь назови мужское имя, — попросил Чип.

— Мужское? Пожалуйста: Никита.

— «Вот слесарь Никита по лестнице мокрой шагает сердито:

Спешит он в ту комнату ванную и т.д.», — не задумываясь, выпалил Чип.

— Ладно, сдаюсь! — со смехом сказал Сережа.

— А теперь, — сказал Чип вкрадчиво, — как ты, наверно, догадался, мы сделаем из этого стишка программу.

— Подумаешь, легкота! Мы такое уже делали.

— Вот как? Ну, попробуй напиши программу хотя бы для первых трех куплетов.

Сережа взялся за дело и довольно скоро понял, что тут что-то не то. В старых сказках-программах повторялись едоки или жильцы, то есть отдельные слова. А тут повторялись целые куплеты, да еще при этом менялись падежи слов внутри куплетов.

— Что, не тянется репка? — посочувствовал Чип. — А помнишь, мы с тобой про попа и собаку подпрограмму сочиняли? [4] Там ведь можно было выбрать любое слово: «поцеловал», «наказал» — и вставить его внутрь подпрограммы. Вот так и здесь надо. Например:

4

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

Поделиться:
Популярные книги

Я тебя не отпускал

Рам Янка
2. Черкасовы-Ольховские
Любовные романы:
современные любовные романы
6.55
рейтинг книги
Я тебя не отпускал

Орден Багровой бури. Книга 3

Ермоленков Алексей
3. Орден Багровой бури
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Орден Багровой бури. Книга 3

Звезда сомнительного счастья

Шах Ольга
Фантастика:
фэнтези
6.00
рейтинг книги
Звезда сомнительного счастья

Прометей: каменный век II

Рави Ивар
2. Прометей
Фантастика:
альтернативная история
7.40
рейтинг книги
Прометей: каменный век II

Жнецы Страданий

Казакова Екатерина
1. Ходящие в ночи
Фантастика:
фэнтези
9.32
рейтинг книги
Жнецы Страданий

Враг из прошлого тысячелетия

Еслер Андрей
4. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Враг из прошлого тысячелетия

Громовая поступь. Трилогия

Мазуров Дмитрий
Громовая поступь
Фантастика:
фэнтези
рпг
4.50
рейтинг книги
Громовая поступь. Трилогия

Надуй щеки! Том 5

Вишневский Сергей Викторович
5. Чеболь за партой
Фантастика:
попаданцы
дорама
7.50
рейтинг книги
Надуй щеки! Том 5

Лэрн. На улицах

Кронос Александр
1. Лэрн
Фантастика:
фэнтези
5.40
рейтинг книги
Лэрн. На улицах

Комбинация

Ланцов Михаил Алексеевич
2. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Комбинация

Стеллар. Заклинатель

Прокофьев Роман Юрьевич
3. Стеллар
Фантастика:
боевая фантастика
8.40
рейтинг книги
Стеллар. Заклинатель

Решала

Иванов Дмитрий
10. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Решала

Месть бывшему. Замуж за босса

Россиус Анна
3. Власть. Страсть. Любовь
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Месть бывшему. Замуж за босса

Товарищ "Чума" 3

lanpirot
3. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Товарищ Чума 3