Иван решил накопить на отпуск откладывая каждый день на рубль больше, чем вчера. Начало отсчета – 1 рубль. Разработайте программу расчета накоплений Ивана. Предоставьте Ивану возможность ввести номер дня эксперимента.
Пример ввода/вывода:
Какой сегодня день эксперимента (1-365)?
5 Ваши накопления составляют 15 рублей
Объяснение:
Информация (informatio — осведомление, разъяснение, изложение) — в широком смысле абстрактное понятие, имеющее множество значений, в зависимости от контекста. В узком смысле этого слова — сведения (сообщения, данные) независимо от формы их представления. В настоящее время не существует единого определения термина информация. С точки зрения различных областей знания, данное понятие описывается своим специфическим набором признаков. Информация — совокупность данных, зафиксированных на материальном носителе, сохранённых и распространённых во времени и пространстве.
В то же время никак нельзя называть произведения искусства информацией. Эстетическое, культурологическое понимание термина информация в корне отличается от понимания информации в кибернетике, физике, биологии и т. д.
Органами чувств (приемниками информации) мы принимаем информацию об окружающем мире, в том числе и информацию о произведениях искусства. Но произведения искусства в связи с этим не становятся чистой информацией. Это мы при органов чувств, видя произведения искусства, воспринимаем информацию о произведениях искусств.
Часто в программах требуется, чтобы человек ввел какое-нибудь число или строку или выполнил любое другое действие. Это можно назвать вводом данных в программу. Мы уже с этим сталкивались в скриптах, ожидающих от пользователя нажатия клавиш клавиатуры или мыши.
Также программы могут просить человека ввести какое-нибудь число или строку. После этого программа связывает полученные данные с именем какой-нибудь переменной, чтобы сохранить данные и потом их использовать.
Вспомним один из скриптов занятия:
Изменение значения переменной
Если мы хотим предоставить человеку самому определять скорость, а не ограничивать ее только тремя вариантами, код станет проще:
Ввод данных
Когда выполняется команда "спросить … и ждать", на сцене появляется поле, куда пользователь должен что-то ввести и нажать Enter на клавиатуре. Также он может ничего не вводить, а просто нажать Enter.
Поле для ввода данных на сцене
В Scratch команда "спросить … и ждать" блокирует свой скрипт, но не другие. Блокирует она свой скрипт до тех пор, пока не будет нажат Enter в поле ввода. После этого то, что было введено в поле, присваивается встроенной переменной "ответ", которая далее используется в скрипте.
Что будет, если человек введет не число, а слова? Переменная "ответ" будет содержать введенную строку текста. Но поскольку в команду "идти … шагов" бессмысленно подставлять строку, скорость кота не изменится.
Допустим, мы хотим, чтобы в случае ввода текста, скрипт не пыталась его подставлять в команду "идти … шагов". Вместо этого на сцене появлялось бы сообщение о неправильном вводе.
В Scratch нет команды проверки, введено число или строка. Однако можно придумать это узнать. В Scratch если выполнить над строкой арифметическую операцию, то результатом будет число 0. Например, если взять из положительного числа модуль, то вернется само число. Если же попытаться взять модуль из строки, что бессмысленно, будет получен 0.
Таким образом, если модуль ответа не совпадает с самим ответом, значит было введено что-то не то: либо строка, либо отрицательное число. Если же модуль ответа совпадает с самим ответом, значит было введено положительное число.
Проверка, что введено число
Рассмотрим второй пример использования команды "спросить … и ждать". Пусть наша программа складывает три числа, которые вводит пользователь. Здесь уже не обойтись одной встроенной переменной "ответ". Придется создавать свои. При этом задачу можно решить разными
Во первых, каждое число можно присваивать отдельной переменной, а потом выводить их сумму.
Сложение значений трех переменных
Второй вариант – создать одну переменную, в которой постепенно накапливать сумму.
Добавление числа к переменной
Когда выполняется команда "задать <сумма> значение <сумма + ответ>", сначала выполняется подвыражение <сумма + ответ>. И только после этого результат этого подвыражения записывается в переменную "сумма".
Например, переменная "сумма" содержит число 3. Пользователь вводит число 5. Когда выполняется выражение <сумма + ответ>, из переменной "сумма" извлекается число 3 и к нему добавляется 5. После этого результат 8 записывается в переменную "сумма". Старое значение 3 переменной при этом затирается, то есть теряется.
Объяснение: