Да они сразу должны мылсить объектно, структурно как минимум. Почему не получается? Потому как такова система образования (по крайней мере на нашей кафедре). Что очень жаль.
Потому для них структурный код или ОО код - неестественный
А ведь стоит учесть еще и тот факт, что это 5 курс после сдачи квалификационной работы на бакалавра!!!
Alex, давайте не будем путать божий дар с яичницей. Все-таки курс у меня другой, задача подобная бух учету решается на 3 курсе в рамках соотвествующих дисциплин - смотрите мои опыты преподавания в разделе Обучения.
Прадва бухучета у них нет как предмета, что конечно сильно жаль.
Возможно, звучит как ересь, но объектное мышление (интересно, а как ещё можно мыслить?) и ООП - не одно и то же. Да и ООП имеет границы применения:
1) Дополнительная, по сравнению с процедурным программированием, сложность разработки и отладки должна быть оправдана. А ведь алгоритм прост и, судя по тому, что задачи изначально рассчитаны на Pascal, они замечательно решаются в процедурном подходе.
2) Разработка должна быть рассчитана на повторное использование - а ведь студенты знают, что их код после сдачи контрольной никогда никому не пригодится.
IMHO если так уж хотите увидеть ООП, нужно:
1) сказать: идеально работающее решение без ООП - максимум на тройку;
И/ИЛИ
2) потребовать, чтобы предметная область включала большое количество экземпляров сложных классов, у каждого из которых - разные свойства и методы (например, моделирование боя и большое количество различных боевых единиц);
И/ИЛИ
3) сказать, что для решения нельзя использовать язык, на котором простые задачи решаются простыми средствами (нельзя использовать PHP, Delphi или VB; можно использовать C++ и Java).
(1) и (3) я считаю искусственным навязыванием архитектуры, что может вызвать у программиста приверженность к необоснованно сложным решениям. Когда такие приходят - их приходится мучительно переучивать.
На всякий случай: ООП начал особенно хорошо развиваться, когда начали развиваться GUI. Действительно, рисовать GUI без объектов "глиф" сложно. А ядра всех ОС (хотя проскакивало что-то экзотическое...) и серверные части большинства "старых" приложений (в т.ч. SAP R/3) написаны без применения ООП, хотя ООП тогда уже было - при этом замечательно работают и неплохо развиваются.