Алгоритм высокого уровня
Был я (да и сейчас осталось немного) в студенческие годы большим раздолбаем. Во время учёбы было у меня два увлечения: получать автоматы по всем дисциплинам, связанным с компами, и прогуливать как можно больше пар. Не знаю даже зачем, ибо половину прогулянного времени я проводил в университетской библиотеке.
На третьем курсе нам решили ещё раз преподать Паскаль, в этот раз по соусом высшей математики. Дескать, реализация известных математических алгоритмов в «великой» среде, которая уже тогда успела устареть. В общем, это всё надоело сразу после начала вводной лекции, и интересовало меня только одно: как получить автомат, чтобы не спалиться на экзамене? Препод, классный мужик, чуть ли не сразу объявил:
— Кто хочет получить автомат, найдите себе напарника и подойдите ко мне после пары. У меня есть специальное задание.
Само задание обсуждать нет смысла, да и не помню я его, а вот к «оформлению» были строгие и конкретные требования:
1) Программа должна быть выполнена в виде объявления функции с требуемым алгоритмом и примером вызова этой функции.
2) Принести её надо на двух трёхдюймовках.
3) Сразу сдать распечатку всего кода.
4) Время сдачи строго регламентировано. Опоздавшим хоть на день в автомате будет отказано.
5) Текст программы должен быть читабелен (никаких «в одну строчку») и прокомментирован.
6) Оно должно работать.
Конечно, я просрал все разумные сроки и кодил за неделю до сдачи. Конечно, я ни фига не разобрался в алгоритме и просил тетрадку у однокурсницы. Конечно, оно долго не хотело работать, и я начал понимать смысл слова «дебаггинг». Но в час «Ч» я имел в портфеле две дискетки и распечатку.
Когда я пришёл к аудитории, где была назначена выдача автоматов, я удивился первый раз. Число команд уменьшилось вдвое. Половина либо не успела (ещё большие раздолбаи, чем я?), либо не справилась с переводом того, что они писали на лекциях, в принимаемую компилятором форму.
В тот день из вуза я выходил в шоке. Мы с напарником были единственными, выполнившими все условия. На 100 человек было разобрано около 30 заданий, сделано меньше десяти, и всего одно — как сказано, а не как захотелось.
Студенты, прежде чем ругать лишние правила, попробуйте сделать, как написано в ТЗ. Заказчик будет доволен, а навык сильно пригодится вам в жизни.