Виктор Ким - Реалрпг почти конец истории-3 [СИ]
- Название:Реалрпг почти конец истории-3 [СИ]
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:10
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Виктор Ким - Реалрпг почти конец истории-3 [СИ] краткое содержание
Реалрпг почти конец истории-3 [СИ] - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
- В этой программе 5 пронумерованных команд. Вопрос - какие два числа напечатает эта программа?
Руки подняли Максим, Даша и ещё один мальчик, Марк, но ответить Витя попросил вторую девочку, Катю: Как ты считаешь, какая из этих команд даёт приказ печатать результат?
- Команда номер 4
- И что напечатается?
- 3 и 2.
На лице Максима появилась снисходительная улыбка, Даша и Марк начали активно тянуть руки вверх, поднял руку и третий мальчик - Игорь.
- Головой подумай, как это может быть, - раздался голос со скамейки запасных, это не выдержал Катин папа.
- Извините, но при следующем вмешательстве родителей в учебный процесс их придётся удалить с поля, - сказал преподаватель, дал слово Даше, и получил ответ: 3 и 5.
- Правильно, а сейчас я изменю программу:
1 начало
2 X =3
3 Y = X -2
4 печать X , Y
5 конец
- Какие теперь два числа напечатает эта программа?
На этот раз руки подняли все, но ответить Витя снова попросил Катю.
- 3 и 1, - ответила девочка.
- Совершенно верно, снова изменяю программу:
1 начало
2 X =3
3 Y = X *2
4 печать X , Y
5 конец
- Тот же вопрос.
Трое из детей подняли руки сразу, немного замявшись, подняли их и Игорь с Катей.
- Ответь, Максим, - попросил Витя.
- Я думаю 6, знак * я не знаю, но это точно не деление, остаётся умножение или возведение в степень, умножение мне кажется более вероятным потому, что возведение в степень сложнее, чем умножение.
Преподаватель подтвердил правильность ответа и ещё раз изменил программу:
1 начало
2 X =0
3 X = X +1
4 печать X , X
5 конец
И задал тот же вопрос: Какие два числа напечатает эта программа?
Руки сразу подняли все, кроме Максима, немного подумав, руку поднял и он.
Витя предложил ответить Марку.
- 0 и 1, - ответил мальчик.
- Как считает Даша? - спросил преподаватель.
- 0 и 1, - последовал ответ.
- Кто ещё присоединяется к компании?
Присоединились все, кроме Максима, и Витя запросил его мнение.
- Сначала я решил, что здесь ошибка, потому что X не может быть равен X+1, но потом подумал, что вы не стали бы писать для нас программу с ошибкой, и сейчас считаю, напечатается 1 и 1, так как X не может быть одновременно равен нулю и единице.
- Правильно, это действительно не равенство. В программировании такую команду называют командой или оператором присваивания, выражение справа от знака "равно" вычисляется, и полученное значение присваивается переменной слева от знака "равно".
Витя снова изменил программу:
1 начало
2 X =0
3 X = X +1
4 печать X
5 X = X +1
6 печать X
7 конец
И снова задал тот же самый вопрос: Какие два числа напечатает эта программа?
И опять руки подняли все дети. Учитель дал слово Игорю и получил ответ две единицы. На Витино предложение присоединиться к компании, предчувствуя подвох, все школьники, кроме Максима, опустили руки.
- Ты хочешь ответить? - обратился к нему Витя.
- Да, напечатается 1 и 2, потому что печать происходит каждый раз после того, как X увеличился.
- Снова правильно, - поддержал школьника преподаватель. - Сколько придётся добавить команд, чтобы напечатать ещё и число 3?
- Ещё 2 команды, X=X+1 и печать X, ответил Максим, считая, что вопрос обращён к нему.
- Если писать программу таким способом, то сколько в ней будет всего команд для печати сотни чисел от 1 до 100? - задал очередной вопрос преподаватель.
Максим поднял руку сразу, через некоторое время Марк, потом Даша, потом остальные дети. Витя предложил ответить Кате.
- 100 команд, - ответила девочка. Катин папа не выдержал и покинул класс. Марк дал ответ 200, его поддержали все остальные, кроме Максима, который уточнил количество команд до 203, что и было точным ответом.
- Как вы считаете, хороша или плоха такая программа, в которой для печати 100 целых чисел по порядку требуется 203 команды? - прозвучал очередной вопрос преподавателя.
Единственным, кто немедленно поднял руку, оказался Максим: Я думаю, она плохая, нужно написать 203 строки программы, чтобы напечатать 100 целых чисел, а если нужно миллион чисел напечатать?
- Давайте, попробуем её улучшить, - предложил учитель.
1 начало
2 X =0
3 X = X +1
4 печать X
5 X = X +1
6 печать X
7 конец
- Что можно сказать о двух парах строк: 3 и 4, 5 и 6?
- Они одинаковые, кроме номеров самих строк, - общее мнение всех учеников, и уточнение Максима, - но результат печатают разный.
- Получается, что после 4-й команды вместо 5-й можно выполнять 3-ю? - вопрос преподавателя, ответ на который очевиден, что и подтвердило дружное "да".
- Как бы вы сформулировали такую команду? - на это последовало несколько предложений школьников со сходным смыслом. - Вернуться к 3-й команде, повторить 3-ю команду и т.п.
- Учитель поправил текст программы:
1 начало
2 X =0
3 X = X +1
4 печать X
5 идти к 3
6 конец
И задал очередной вопрос: Какие числа напечатает эта программа? - и попросил ответить Игоря.
- 1 и 2, - последовал ответ мальчика.
- Кто с ним согласен?
Согласились все, кроме Максима, который изложил своё мнение: Я думаю, что эта программа будет печатать числа до бесконечности потому, что команда номер 6 конец никогда не исполнится, после 5-й будет выполняться 3-я, и так без конца.
- Всё правильно, как бы ты сформулировал эту команду: идти к 3, чтобы программа, всё-таки напечатала ровно 100 чисел от 1 до 100? - задал учитель вопрос Максиму.
- Вернуться к 3-й строке 99 раз, или идти к 3 пока X<100, - недолго думая ответил школьник.
Читать дальшеИнтервал:
Закладка: