Використання підпрограм


Lazarus: створюємо контролюючу програму
Завдання: створити контролюючу програму з предмету «Світова культура». На 4 вкладках розміщуються 4 завдання. У кожному завданні потрібно вказати одне з зображень згідно поставленого запитання. Після вибору (клацання) малюнку відповідна вкладка повинна блокуватись (стати недоступною). За кожне правильно виконане завдання потрібно нараховувати користувачеві 2 бали. Стартовий бал – 2. По закінченню тестування виводиться оцінка (кількість набраних балів).
РЕАЛІЗАЦІЯ
1. Створіть форму. Назначте їй розміри приблизно 500*500 пікселів (height=500, width=500).
2. Вставте на форму об’єкт PageControl (багатосторінковий блокнот) та два написи Label (один Label1– для тексту «Ваша оцінка», інший Label2 - для виведення отриманої оцінки). Назначте написам потрібні властивості шрифт (font), щоб зовнішній вид написів був близький до зображеного на малюнку.
3. Створіть на багатосторінковому блокноті 4 сторінки (TabSheet): Завдання 1 … Завдання 4 (для цього викликайте контекстне меню на PageControl і вибирайте в меню пункт «Нова сторінка»; не забудьте змінити підписи сторінок caption).
4. На одній із сторінок багатосторінкового блокноту вставте напис (Label) «Яка з цих всесвітніх історичних пам’яток розташована в …». Скопіюйте цей напис на всі інші сторінки блокноту (при вставлянні не забудьте спочатку виділити сторінку клацанням десь в її центрі), відредагуйте написи так, щоб їх закінчення були такими: «… в Україні», «… в Англії», «… в Мексиці», «… в Італії».
5. Вставте на одну із сторінок блокноту чотири компоненти Image, завантажте в них відповідні зображення з файлів (скориставшись властивістю picture). При розміщенні картинок старайтесь домогтись симетрії їх розміщення (відстані між зображеннями та від зображень до країв старайтесь зробити однаковими).
6. Виділіть всі чотири картинки (утримуючи клавішу Shift), скопіюйте їх з допомогою контекстного меню, після чого вставте їх на інші сторінки блокнота (щоб вставити зображення на сторінку, спочатку виділіть її, клацнувши десь у її центрі, і лише потім вставляйте на неї картинки).
7. Тепер створимо програмний код. Використаємо у програмі три змінні цілого типу: S – номер сторінки, на якій користувач вибрав одне із зображень, N – кількість таких виборів, B – нарахована кількість балів. Опишемо ці змінні в розділі опису змінних (після ключового слова var):
8. На старті програми назначимо початковий бал В=2, щоб максимальна оцінка за тест була 2+42=10 балів. Для цього виділимо форму, клацнувши по ній, виберемо у списку подій OnCreate (виникає при створенні форми) і подвійним клацанням створимо обробник цієї події. Пропишемо в обробнику присвоєння змінній В значення 2:
9. Створимо власну процедуру perevirka, яка автоматично збільшуватиме число виборів користувача при звертанні до неї, перевірятиме номер сторінки, на якій здійснив вибір користувач, і робитиме її недоступною, а також перевірятиме число виборів користувача, щоб при досягненні 4 виборів автоматично вивести набрану кількість балів.
Для цього у тілі програми (на початку, перед щойно створеною процедурою OnCreate) розмістимо зображений код.
Перша частина коду – оператор case; він перевіряє змінну S (номер сторінки) і в залежності від її значення робить недоступною одну із сторінок блокнота.
Потім значення змінної N (кількість виборів) збільшуємо на 1, і при досягненні значення 4 виводимо набрану кількість балів В. Враховуючи, що значення змінної В – це число, а властивість caption потребує рядкового значення, використовуємо функцію IntToStr для перетворення числа у рядок.
Зверніть увагу: оскільки створена нами процедура не стосується жодного з обробників подій, то до назв компонентів форми потрібно дописувати префікс Form1. (який вказує на місце розміщення компонентів).
10. Залишилось створити обробники подій клацання OnClick по кожній з картинок. У такій процедурі потрібно вказати номер сторінки блокнота, на якій розміщена картинка (щоб зробити дану сторінку недоступною) і нарахувати 2 бали за правильну відповідь (якщо користувач клацнув по потрібній картинці).
Виберемо на першій сторінці блокнота картинку, що відповідає правильній відповіді (у нашому випадку це зображення руїн древнього Херсонесу), виділимо її клацанням, виберемо в інспекторі об’єктів подію OnClick, створимо подвійним клацанням обробник цієї події і пропишемо у коді такі дії:
Аналогічні коди створіть для обробників події OnClick для картинок, що відповідають правильним відповідям, на всіх чотирьох сторінках блокнота (не забудьте змінити значення змінної S на номер сторінки блокнота). Наприклад, для 2-ї сторінки код процедури обробника події OnClick може виглядати так:
11. Залишилось написати обробники подій клацання мишею по картинках, що відповідають невірним відповідям.
Виділимо на першій сторінці одразу три картинки, що зображають неправильні відповіді (для цього клацайте по картинках, утримуючи Shift). В інспекторі об’єктів виберіть подію OnClick і подвійним клацанням створіть її обробник. Оскільки нараховувати балів при клацаннях по них не потрібно, то обробники матимуть приблизно такий вигляд:
Повторіть такі дії на всіх 4-х сторінках блокноту, не забуваючи змінювати у коді номер сторінки S.
12. Збережіть проект у папці та запустіть процес компіляції і виконання програми. При можливому отриманні повідомлення про помилки відредагуйте текст програми.

Комментариев нет:

Отправить комментарий