0 МЕТОДИКА ОСВОЕНИЯ ОСОБЕННОСТЕЙ РАБОТЫ С КОМПОНЕНТАМИ SCROLLBAR, RADIOGROUP, CHECKBOX ПРИ ИЗУЧЕНИИ ОСНОВ ПРОГРАММИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ RAD-СИСТЕМ (НА ПРИМЕРЕ СРЕДЫ DELPHI)
Полевгциков Иван Сергеевич, ФГБОУ ВПО «Пермский национальный исследовательский политехнический
E-mail: i.spolevshchikov@gmail. com • __________________________________________________________________________
Аннотация: В статье рассмотрены особенности организации
лабораторной работы по дисциплине «Информатика» для студентов бакалавриата, в ходе выполнения которой студенты должны научиться работать с компонентами ScrollBar, RadioGroup, CheckBox при написании программ в RAD-системах (на примере среды Delphi).
Ключевые слова: программирование, RAD-системы, Delphi, компонент ScrollBar, компонент RadioGroup, компонент CheckBox.
Одной из дисциплин, изучаемой студентами 1 курса бакалавриата различных направлений (в частности, «Электроэнергетика и электротехника») является «Информатика». Одной из составляющих данной дисциплины является изучение основ программирования с использованием систем быстрой разработки - RAD-систем (на примере среды Delphi).
В ходе выполнения одной из лабораторных работ студенты должны научиться работать с компонентами ScrollBar, RadioGroup, CheckBox при написании приложений в системе Delphi.
Для проведения лабораторной работы было подготовлено методическое пособие, основанное прежде всего на учебных пособиях [1, 2]. Также при подготовке этого пособия был учтен опыт создания методических разработок на кафедре ИТАС ПНИПУ [1-12].
В первую очередь, студенты читают раздел подготовленного методического пособия, называющийся «Краткие теоретические сведения», в котором изложены особенности работы с каждым из трех компонентов: ScrollBar (полоса прокрутки), RadioGroup (группа взаимосвязанных переключателей), CheckBox (независимый переключатель). Для каждого из компонентов приведено назначение, основные свойства, и пример небольшой программы. Также в
данном разделе приведен пример программы для работы одновременно со всеми тремя компонентами.
Изучение раздела методического пособия «Краткие теоретические сведения» во многом направлено на систематизацию студентом знаний, полученных на лекциях.
Далее студенты выполняют индивидуально по вариантам задание на компьютере, осваивая тем самым особенности написания в среде Эе1рЫ простейших программ для работы с компонентами БсгоИВаг, КаёюОгоир, СИескВох, а также закрепляя навыки работы с записями [7].
Рассмотрим один из вариантов задания.
Задание.
Требуется организовать ввод информации о некоторых объектах (книгах, товарах или сотрудниках) в соответствии с вариантом. Также пользователю должна быть предоставлена возможность (в зависимости от состояния флажка СИескВох) вывести либо список всех объектов, либо список только тех объектов, которые удовлетворяют определенному условию (в соответствии с вариантом).
При выполнении задания ориентироваться на пример, разобранный в «Кратких теоретических сведениях», в параграфе «Программа для работы с информацией о студентах». Для хранения информации об объектах следует использовать массив записей.
В табл. 1 представлена следующая информация об объектах (книгах):
а) поля записи;
б) соответствующие полям записи типы данных;
в) соответствующие полям записи компоненты, с помощью которых пользователь должен вводить информацию;
г) условие, накладываемое на объекты, информация о которых будет выводиться при включенном флажке СИескВох.
Таблица 1
Информация об объектах (книгах)
Поля записи Тип данных Компонент
Название string[50] Edit
ФИО автора string[50] RadioGroup (как минимум 5 переключателей)
Год издания integer ScrollBar (в пределах от 1970 до 2010)
Стоимость real Edit
Условие
Вывести информацию о книгах, изданных не позднее 1995 года, и стоимость которых больше средней стоимости всех книг, о которых введена информация.
Приведем пример программы, разобранный в разделе «Краткие теоретические сведения» и демонстрирующий особенности работы с компонентами БсгоИВаг, КаёюОгоир, СИескВох и представляющий собой основу для выполнения задания студентом.
SCIENCE TIME
Пример программы:
Необходимо организовать ввод информации о студентах (ФИО, год рождения, факультет, средний балл) и сохранение данной информации в массиве записей. Также пользователю должна быть предоставлена возможность вывести либо список всех студентов, либо список только тех студентов, удовлетворяющих определенному условию (выводить информацию о студентах
1993 г. и старше со средним баллом не менее 4).
ФИО и год рождения студента должны быть введены с помощью компонентов Edit. Факультет, на котором учится студент, должен быть выбран с помощью компонента RadioGroup. Значение среднего балла должно быть установлено с использование компонента ScrollBar. С использованием компонента CheckBox пользователь должен выбрать, выводить список всех студентов или только тех, которые удовлетворяют условию. Информация о студентах должна выводиться в поле Memo.
Вид формы разрабатываемого приложения представлен на рис. 1.
Рис. 1 Внешний вид формы
Рассмотрим пример работы программы.
Изначально пользователь вводит информацию о студенте Алексееве И. М.
1994 года рождения, обучающемся на юридическом факультете со средним баллом, равным 3. Затем, нажав на кнопку «Добавить информацию о студенте», происходит сохранение информации о данном студенте в массиве.
Далее пользователь вводит информацию о студенте Сидорове Н.А. 1995
года рождения, обучающемся на биологическом факультете со средним баллом, равным 5. Нажав на кнопку «Добавить информацию о студенте», происходит сохранение информации о данном студенте в массиве.
Затем пользователь вводит информацию о студенте Вознесенской М.Г. 1993 года рождения, обучающейся на физико-математическом факультете со средним баллом, равным 4. Нажав на кнопку «Добавить информацию о студенте», происходит сохранение информации о данном студенте в массиве.
Если пользователь нажмет на кнопку «Вывести список студентов», и при этом флажок, соответствующий условию, будет выключен, то в поле Memo1 будет выведена информация обо всех студентах (рис. 2).
Рис. 2 Выведена информация обо всех студентах
Если пользователь нажмет на кнопку «Вывести список студентов», и при этом флажок, соответствующий условию, будет включен, то в поле Memo1 будет выведена информация только о студентах, удовлетворяющих условию, т.е. Сидорове Н.А. и Вознесенской М.Г., поскольку они 1995 и 1993 годов рождения соответственно и средний бал у них равен 5 и 4 соответственно.
Рассмотрим некоторые фрагменты текста программы с комментариями.
Объявления типа «запись» и необходимых переменных представлены на рис. 3.
ГStudent = record {тип "запись", соотеєтстеузшшй информации о студенте) mstad: array[1..100] of TStadent; // массив записей о студентах
Рис. 3 Объявление типа «запись» и необходимых переменных
Поскольку тип TStudent используется и в процедуре обработки события нажатия на кнопку Button1, и в процедуре обработки события нажатия на кнопку Button2, то его описание помещено в раздел type модуля формы. Объявление массива записей mstud и переменной целого типа n по этой же причине помещено в раздел объявления переменных модуля формы.
Процедура обработки события нажатия на кнопку Button2 («Вывести список студентов») приведена на рис. 4.
После выполнения задания на компьютере студент должен оформить отчет, содержащий: постановку задания; скриншот формы разрабатываемого
приложения; тексты процедур обработки событий; результат выполнения программы (в виде последовательности скриншотов с текстовыми комментариями). Отчет в распечатанном или электронном виде студент должен защитить, выполнив задания преподавателя (аналогичные заданиям для самоконтроля, приведенным в методическом пособии).
SCIENCE TIME
procedure TForml. Button2Clicle (Sender: TObject); j: integer; {счетчик цикла}
b: boolean; {логическая переменная, отвечавшая за
вывод информации о студентах (будем выводить информацию, когда эта переменная истинна) }
begin
Memo 1.Clear; {очистка предыдущего содержш^ого поля Memo} b:=true; {по умолчанию будем выводить информацию обо всех студентах} for j:=l to n do {с помощью цикла просматриваем массив записей о студентах} with mstud[j] do {для записи с индексом j) begin
if CheckBoxl.Checked then {если флажок eключей)
b: = (year>=1993) and (rating>=4); (будем выводить информацию
только о студентах, удовлетворяющих условию}
if b then {если переменная истинна) begin
Memo1.Lines.Add('ФИО студента: '+fio); {выводим в поле Memo ФИО)
Memo1.Lines.Add('Год рождения: '+IntTo5tr(year)); (выводим год рождения} Memol.Lines.Add('Факультет: Ч-faculty); {выводим факультет)
Memo1.Lines.Add('Средний балл: '+IntTo5tr(rating)); {выводим средний балл} Memol.Lines.Add(1 ********************'); (выводим строку, отделяющую информацию об одном студенте от информации о другом студенте) end;
end;
end;
Рис. 4 Процедура обработки события нажатия на кнопку Button2
Примеры заданий для защиты отчета:
1) В некотором приложении, созданном в системе Delphi, на форме расположены два флажка CheckBox с именами CheckBox1 и CheckBox2. Запишите логическое выражение, принимающее значение true в случае, если:
а) оба флажка включены;
б) хотя бы один из флажков выключен;
в) флажок CheckBox1 выключен, а флажок CheckBox2 включен;
г) или флажок CheckBox1 включен, или флажок CheckBox2 выключен.
2) В некотором приложении, созданном в системе Delphi, на форме расположен компонент RadioGroup с именем RadioGroup1, содержащий 6 переключателей (рис. 5).
SCIENCE TIME
Рис. 5 Компонент RadioGroup
Выполните следующие задачи:
а) Чему равно значение выражения RadioGroupl.Itemlndex?
б) Запишите оператор присваивания, с помощью которого компонент RadioGroupl перейдет в состояние, при котором ни один из переключателей не выбран (используя свойство Itemindex).
в) Запишите оператор присваивания, с помощью которого компонент RadioGroupl перейдет в состояние, при котором выбран переключатель апрель (используя свойство ItemIndex).
3) В некотором приложении, созданном в системе Delphi, на форме расположены две полосы прокрутки ScrollBar с именами ScrollBarl и ScrollBar2.
Запишите логическое выражение (с использованием свойств Position, Min, Max компонента ScrollBar), принимающее значение true, если:
а) позиция, в которую пользователь переместил бегунок полосы прокрутки ScrollBarl меньше или равна позиции, в которую пользователь переместил бегунок полосы прокрутки ScrollBar2;
б) позиция, в которую пользователь переместил бегунок полосы прокрутки ScrollBar2 больше максимального значения для полосы прокрутки ScrollBarl;
в) максимальное значение для полосы прокрутки ScrollBarl равно минимальному значению для полосы прокрутки ScrollBar2.
По мере накопления опыта преподавания дисциплины «Информатика» организация данной лабораторной работы и соответствующее данной работе методическое пособие будут совершенствоваться.
Литература:
1. Культин Н.Б. Основы программирования в Delphi 7. - СПб.: БХВ-Петербург, 2003. - 608 с.
2. Семакин И.Г., Шестаков А.П. Лекции по программированию: Учебное пособие. Изд. 2-е, доп. - Пермь: Изд-во Перм. ун-та, l998. - 279 с.
3. Файзрахманов РА. Автоматизация научных исследований : учебное пособие / Р.А. Файзрахманов, И.Н. Липатов ; Пермский государственный технический университет. — Пермь : Изд-во ПГТУ, 2011. — l6l с.
4. Файзрахманов РА. Проектирование автоматизированных информационных систем на основе объектно-ориентированного подхода : учебное пособие / Р. А. Файзрахманов, А.В. Архипов ; Пермский государственный технический университет .— Пермь : Изд-во ПГТУ, 2011 .— 222 с.
5. Полевщиков И. С. Особенности организации практических занятий в рамках изучения дисциплины «Теория информации и информационных систем» // Зажги свою звезду: Материалы V Международной научно-практической конференции (26 ноября 2012 г.): Сборник научных трудов. - М.: Издательство «Спутник +», 2012 - С. 186-190.
6. Полевщиков И. С. Особенности разработки методического пособия на тему «Разбиение по эквивалентности и анализ граничных значений» (для студентов направлений «Информатика и вычислительная техника» и «Программная инженерия») // «Инновации в науке»: материалы XVIII международной заочной научно-практической конференции. Часть I. (25 марта 2013 г.); Новосибирск: Изд. «СибАК», 2013. - С. 64-68.
7. Полевщиков И.С. Особенности проведения лабораторной работы по теме
«Записи в языке DELPHI» в рамках изучения студентами вуза дисциплины «Информатика» // Инновации в современной науке: Материалы I
Международного летнего симпозиума (30 июля 2013 г.): Сборник научных трудов. - М.: Издательство «Перо», 2013 - С. 67-72.
8. Полевщиков И.С. Особенности проведения практического занятия по теме «Эффективное кодирование» в рамках дисциплины «Теория информации и информационных систем» // Педагогика и современность. - 2013. - №5 - М.: Издательство «Перо» - С. 99-101.
9. Теория вычислительных процессов: практикум / РА. Файзрахманов, Д.Б. Кузнецов, И.С. Полевщиков. - Пермь: Изд-во Перм. нац. исслед. политехн. ун-та, 2014. - 107 с.
10. Полевщиков И. С. Особенности проведения лабораторной работы по дисциплине «Информатика» на тему «Основы программирования на языке Паскаль: типы данных, арифметические выражения, оператор присваивания» для студентов бакалавриата [Текст] / И.С. Полевщиков // Молодой ученый. — 2014. — №3. — С. 67-69.
11. Полевщиков И.С. Методика проведения лабораторной работы по дисциплине «Информатика» на тему «Работа со множествами» для студентов бакалавриата [Текст] / И.С. Полевщиков // Молодой ученый. — 2014. — №4. — С. 118-120.
12. Полевщиков И.С. Диаграммы деятельности языка UML // Интеграция мировых научных процессов как основа общественного прогресса: сборник материалов победителей Международных конкурсов «Power of Education» и «Научное обозрение» Общества Науки и Творчества (г. Казань) / Под общ. ред. С.В. Кузьмина. - Казань, 2014. - С. 92-99.