18:39 19.01.2018
Вчера помогал сыну с заданием по информатике. Ну, что им преподаватель толком не объяснила даже основ синтаксиса языка программирования Pascal, уже о многом говорит. Но задание выдала - решайте. Задание было вот такое:
Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число - сумму чисел, кратных 3.
Пример работы программы:
Входные данные Выходные данные 3 21 12 25 9
Тут даже не надо быть программистом, чтобы увидеть - ответ неправильный. Я сначала на него и не посмотрел, мы разбирались как программу написать. Я-то ведь тоже не программист ни разу, так, по верхам. Ну, конструкцию IF...THEN знаю, ну про циклы слышал. Методом научного тыка, регулярно выслушивая матюки компилятора на нашу тупость, составили программу. Попутно я понял сам и объяснил сыну зачем там остаток от целочисленного деления и что оператор MOD именно его и считает...
В общем, когда программа таки заработала и прожевала числа, которые мы ей скормили, ответ она выдала как бы неправильный. То есть он не совпал с ответом, приведённом в задании. У нас получилось 24. Сын поначалу опять загрустил, решил, что неправильно программа работает. Но я-то помню, что уже не первый раз сталкиваюсь с ошибками в заданиях, поэтому заставил его посчитать самостоятельно. А чего там считать-то, в четырёх числах? Кратны 3 - собственно 3, 12 и 9, их сумма равно 24. Наша программа считает ровно так же. Следовательно идиоты не мы. С этим напутствием и отправил ребёнка в школу. Результатов пока не знаю, но если вдруг кто-то заявит, что неправильно - пойду ругаться.
оригинал записи в блоге
Graf O'Mann
rss2lj