Просмотр содержимого документа
«Практическая работа в среде Lazarus.»
Тема урока: Работа в среде Lazarus. Разработка проекта «Тест» Изучение компонентов ввода-вывода: Edit,. Label, Memo, списки, переключатели.
Предмет: Информатика и ИКТ
Класс (группа): профильные классы (10 или 11) школ или гимназий.
Цель проекта: научить использовать объекты ввода-вывода данных панели Standart. Организовывать диалог с пользователем. Оформлять внешний вид приложения.
Использованная литература: Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. «Самоучитель по программированию на Free Pascal и Lazarus»; Донецк, 2009
Технические средства: ПК с операционной системой Windows (не ниже Vista) или Linux. Среда программирования Lazarus IDE v1.0.2
Базовые понятия (которыми уже должны владеть учащиеся): основные этапы ООП, объекты, свойства, методы, события; приемы создания проекта, его сохранение, компиляция.
Работа рассчитана на 2 смежных урока.
План урока №1:
Орг. момент.
Актуализация знаний.
Что такое класс в ООП, объект?
Пояснить смысл понятий свойство объекта, метод объекта, событие?
Назвать основные свойства объектов и классов.
Как создается приложение в среде Lazarus?
Основные окна среды Lazarus, их назначение.
Как правильно сохранять проект?
Как откомпилировать и выполнить проект?
Какие компоненты панели Standart вы знаете, их назначение.
Объяснение хода работы, демонстрация работы готового проекта.
Вопросы учащихся, пояснения.
Конец урока.
План урока №2:
Орг. момент.
Раздаются инструкции к выполнению работы (ниже)
Выполнение работы
Проверка (тестирование) проектов, оценки.
Подведение итогов, конец урока
Инструкция к выполнению практической работы «Тест»
Вид готовой формы проекта.
Ход работы над проектом:
В файловой системе ученик создает папку «Фамилия имя»/ Тест. В данной папке будут сохраняться все файлы проекта.
Запускается среда Lazarus проект – создать проект – тип Приложение
Разработка теста
Шаг1. Создаем на форме интерфейс указанный на примере (вопросы и ответы к ним можно придумать свои)
Вопросы тестов расположены внутри компонентов Memo (для всех использовано свойство ReadOnly=true); для ответов используются компоненты: RadioGroup, ListBox. ComboBox, Edit, CheckBox, CheckGroup (они здесь перечислены в порядке расположения на форме сверху вниз). Для вывода итогов используется Panel (на ней расположены объекты Memo, Label1) и Label2 – на свободном месте формы. Добавляем 2 кнопки Button1 ( Итоги) и Button2 (Очистить)
Шаг 2. В окне кода в разделе описания глобальных переменных добавляется описание переменной K целого типа.
…
var
Form1: TForm1;
k: integer;
implementation
…
Шаг 3. В каждом из объектов, используемых для ответов, происходит событийная обработка переменной K (при подаче правильного ответа её значение увеличивается на 1)
Объект
Событие
Что писать в процедуре
комментарий
RadioGroup1
onClick
if RadioGroup1.ItemIndex=i then inc(k);
i – индекс (номер) правильного ответа в примере
ListBox1
onClick
if ListBox1.ItemIndex=J then inc(k);
J - индекс (номер) правильного ответа в примере
ComboBox1
onMouseUp
if ComboBox1.ItemIndex=X then inc(k);
X – индекс правильного ответа в примере
Edit1
onEditingDone
if Edit1.Text = 'P' then inc(k);
P – правильный ответ в примере
CheckBox1
OnClick
if CheckBox1.Checked then inc(k);
Если флажок установлен, то …
CheckGroup1
onItemClick
if CheckGroup1.Checked[m1] and CheckGroup1.Checked[m2] then inc(k);
Если отмечены флажки с индексами M1 и M2
Шаг 4. Обрабатываем события кнопок
Итог - выводит в свойство Label1.Caption количество правильных ответов; запрашивает через окно ввода (InputBox) имя пользователя; выводит в Label2.Caption оценку за тест. Блокирует (делает недоступными) все объекты для ввода-выбора ответов (использует свойство Enabled);
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
Label1.Caption:=inttostr(k);
s:=InputBox('Информация о тестируемом','Введите Ваше ИМЯ','');
case k of
6: Label2.Caption:=s+', Вы ОТЛИЧНО знаете этот материал!';
4..5: Label2.Caption:=s+', Вы ХОРОШО знаете этот материал!';
3: Label2.Caption:=s+', Вы допустили много ошибок. Оценка 3';
else Label2.Caption:=s+', Вы плохо знаете этот материал!';
end;
RadioGroup1.Enabled:=false;
ListBox1.Enabled:=false;
ComboBox1.Enabled:=false;
CheckBox1.Enabled:=false;
CheckGroup1.Enabled:=false;
Edit1.Enabled:=false;
end;
….
Очистить – очищает все объекты (или ставит все параметры по умолчанию). Делает объекты для ввода-выбора ответов доступными (написать процедуру самостоятельно)
Шаг5. Сохраняем все части проекта в папке. Выполняется компиляция, сборка проекта.
Шаг6. Запуск (демонстрация работы проекта). При необходимости – доработка.