Здравствуйте, Нomunculus, Вы писали:
Н>Старшая дочь в инязе учится. Никак у нее математика не шла, как я ни пытался, ну зато языки хорошо идут. Ладно, видать не судьба. Н>Но не суть. Н>Короче, началось у них программирование. Питон начали изучать. Не знаю нафига он им, что-то там им говорили про умение обучить ИИ языкам и пользоваться этим. Но тоже — не суть
Н>Задание. На циклы. Пользователь вводит целое число < 10, программа должна в цикле увеличивть число на 1 пока не станет равно 10. Ну и надо вывести в результе программы количество шагов цикла. Ясно что можно тупо print(10 — N), но это лайфхак — так нельзя, надо циклы
Н>Объяснил дочери, что надо перед циклом завести переменную, обнулить ее, и в цикле увеличения начального числа эту переменную тоже увеличивать на 1. Ну и вывести ее в результате. Н>Вопрос дочери ввел меня в ступор — "а откуда компьютер знает, что это то, что нужно? Зачем вообще какую-то переменную вводить?"
Н>И как бы вы ответили?
Копьютер вообще ничего не "знает", это просто супер-быстрая счётная машинка, супер-сложный калькулятор, который только и умеет выполнять команды, записанные в разных видах (в исходниках, в бинарниках). Программист, а в данном случае ты, доча -- это командир компьютера. Как ты скажешь, он так и сделает. Сказано "завести переменную", так компьютер заведёт и положит туда значение, а если сказано "показать значение переменной", тогда покажет. Сам он ничего не сделает, так что надо ему по шагам расписать, что именно надо сделать.