При обучении студентов начальных курсов инженерных специальностей основам объектно-ориентированного программирования, возникает ряд проблем, связанных с понимание принципа привязки алгоритма программы к визуальным элементам управления.
Выбор ООП Delphi, связан с присутствием у студентов базовых знаний языка программирования Pascal, ранее изучавшегося в школе. Данные знания облегчают освоение Delphi из-за схожести синтаксиса кода программ, такая схожесть позволяет быстро освоить принцип ООП, что в последствие упростит освоение других языков программирования.
На первом занятии необходимо провести проверку остаточных знаний студентов по построению алгоритмов и пониманию основных структур языка Pascal. Объяснение материала зависит от среднего уровня знаний по группе. Исходя из текущих знаний, проводится краткое объяснение-повторение принципа построения алгоритмов, структур и синтаксиса языка.
Обучение Delphi начинается с объяснение принципа ООП и ознакомления с элементами компилятора, такими как: главное меню, палитра компонентов, форма программы, окно кода программы, панель запуска и отладки приложения. Для демонстрации возможностей, производится создание формы будущего приложения и размещение на нем элементов с подробным объяснением этапов создания, сохранения и компиляции.
После знакомства со средой программирования проводится сравнение и демонстрация различий между разработкой программ на представленных языках, и сравнение синтаксисов. Рассматриваются базовые управляющие структур, ввод и вывод данных.
Основной проблемой при переходе на Delphi является необходимость перевода переменных из одного типа в другой и обратно, а так же обращение к элементам через их свойства. Ниже приведён пример отличия ввода/вывода данных в Pascal и Delphi.
Демонстрация ввода и вывода данных с использованием переменных
Блок-схемы |
Действие |
Pascal |
Delphi (могут быть другие компоненты) |
|
Ввод |
Read(x) или Readln(x) |
x: = StrToFloat(edit1.text); //если x - вещественное число x: = StrToInt(edit1.text); //если x - целое число |
|
Вывод |
Write(x) или Writeln(x) |
label1.caption: = FloatToStr(x); //если вещественное число label1.caption: = IntToStr(x); //если целое число |
Рис. 1. Пример ввода/вывода в Pascal
Рис. 2. Пример ввода/вывода в Delphi
Использование условных и циклических операторов не должно вызвать затруднение, за счет идентичности структур Pascal и Delphi.
Еще одной из сложностей освоения ООП является работа с массивами, а в частности их визуальный ввод и вывод. В Delphi можно работать с массивами аналогично работе в Pascal, последовательным вводом данных, тем самым теряя серьезное визуальное преимущество. В отличие от Pascal, в Delphi существует возможность использовать объекты, такие как StringGrid, позволяющие наглядно работать с массивами. Обучение начинается со знакомства со свойствами объекта StringGrid: размерность, возможность редактирования и обращение к элементам массива, отличия от работы в Pascal.
Работа с элементами массива осуществляется с использованием типичных алгоритмов языка Pascal, добавляя лишь обращение к свойствам объектов.
Рис. 3. Пример обработки элементов массива в Delphi
Следующие темы для изучения: необходимые для разработки приложения элементы палитры компонентов, программное обращение к свойствам объекта, использование функций и процедур, работа со строками, записями, множествами, подключение и использование дополнительных библиотек, графические возможности Delphi...