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

на главную

Жанры

Шрифт:

Глава № 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

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

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

Боги, пиво и дурак. Том 3

Горина Юлия Николаевна
3. Боги, пиво и дурак
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Боги, пиво и дурак. Том 3

Мымра!

Фад Диана
1. Мымрики
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Мымра!

Белые погоны

Лисина Александра
3. Гибрид
Фантастика:
фэнтези
попаданцы
технофэнтези
аниме
5.00
рейтинг книги
Белые погоны

Любовь Носорога

Зайцева Мария
Любовные романы:
современные любовные романы
9.11
рейтинг книги
Любовь Носорога

Я все еще граф. Книга IX

Дрейк Сириус
9. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я все еще граф. Книга IX

Делегат

Астахов Евгений Евгеньевич
6. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Делегат

Неудержимый. Книга XVI

Боярский Андрей
16. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVI

Чужая дочь

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Чужая дочь

Ночь со зверем

Владимирова Анна
3. Оборотни-медведи
Любовные романы:
любовно-фантастические романы
5.25
рейтинг книги
Ночь со зверем

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

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

Совок – 3

Агарев Вадим
3. Совок
Фантастика:
фэнтези
детективная фантастика
попаданцы
7.92
рейтинг книги
Совок – 3

Титан империи 7

Артемов Александр Александрович
7. Титан Империи
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Титан империи 7

Измена. Он все еще любит!

Скай Рин
Любовные романы:
современные любовные романы
6.00
рейтинг книги
Измена. Он все еще любит!

Вечный Данж. Трилогия

Матисов Павел
Фантастика:
фэнтези
юмористическая фантастика
6.77
рейтинг книги
Вечный Данж. Трилогия