Розробка уроку

Тема: введення і виведення даних, вікна повідомлень, їх використання, передавання значень між вікном повідомлення і змінними у середовищі Lazarus.

Мета:

По завершенню вивчення учень:

Обладнання: комп’ютери зі встановленими ОС та середовищем програмування мови Lazarus.

Структура уроку

  1. Організаційний момент.
  2. Актуалізація опорних знань.
  3. Вивчення нового матеріалу.
  4. Закріплення вивченого матеріалу.
  5. Підведення підсумків уроку.
  6. Домашнє завдання.

Хід уроку

1. Організаційний момент
Привітання з учнями. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання. Оголошення теми й мети уроку.

2. Актуалізація опорних знань
Описати (пояснити, деталізувати) поняття, виділені жирним шрифтом.

Типи файлів

Надалі ми обмежимося роботою з лише з текстовими файлами.

Робота з файлами

Тут і в наступних описах замість f можна записати будь-яку іншу назву файлу.

Оператори введення-виведення

У разі відсутності назви файлової змінної f (і коми) операцію введення / виведення буде здійснено зі стандартним пристроєм Input / Output. Як усталено — з клавіатурою / екраном.

Сформулювати алгоритм створенння консольного додатку у середовищі Lazarus.

3. Вивчення нового матеріалу

Будь-яка програма в своїй роботі використовує дані. Розглянемо приклад програми (консольного застосунку), що зчитує 2 цілих числа з файлу input.txt і записує їхню суму у файл output.txt.

var a,b: int64;   o: text;                                     BEGIN
  assign(o, 'input.txt');    reset(o);  read(o,a,b)     close(o)
  assign(o,'output.txt');  rewrite(o);  writeln(o,a+b)  close(o) END.

При роботі з формою введення даних можна здійснити з використанням текстового поля (компонент TEdit з вкладення Standard) для виведення результатів — напис (компонент Label з того самого вкладення.

Розміщення напису на формі можна здійснити таким чином: підвести вказівник миші до відповідної кнопки Label на вкладенні Standart і двічі клацнути лівою кнопкою миші. Після цього напис буде розташовано у верхній лівій частині форми, а його назву додано до списку компонентів проекту у полі Components вікна Інспектор об'єктів. За потреби напис можна перетягнути в будь-яке місце форми.

Властовості напису:

аналогічні відповідним властивостям кнопки. Значення властивості Color визначає колір тла. Зміна значень цієї властивості приводить до зміни кольору фону напису, як це відбувається для форми.



На відміну від форми і кнопки, значення властивостей Height i Width для запису не можна змінити на вкладенні Властивості вікна Інспектор об'єктів або перетягуванням. Висота і ширина напису залежать від тексту напису, його гарнутури й розміру шрифта. Текст напису можна вводити і редагувати як у полі Cаption вікна Інспектор об'єктів, так і у вікні Редактор рядків.

Алгоритм створення обробника події на прикладі події клацання на написі такий.

  1. Виділити об'єкт — двічі клацнути на надпису, розташованому на формі.

  2. Обрати подію — у вікні Інспектор об'єктів клацнути по напису OnClick;

  3. У вікні Редактор тексту ввести текст процедури

    procedure TForm1.Label1Click(Sender:Objekt);
    begin
      Label1.Color:= clRed;
      Label1.Font.Color:= clGreen;
      Label1.Caption:= 'Київ — столиця України';
    end;
  4. Запустити проект на виконання, натиснувши або клавішу F9, або кнопку Виконати (Run) на Панелі інструментів. Дочекатися появи у вікні Повідомлення такого запису:

    Скомпілювати проект, ціль … Успішно

  5. Перевірити коректність роботи обробника подій: натиснути кнопку Label на формі і отримати такий результат.



Розміщення текстового поля на формі можна здійснити таким чином: підвести вказівник миші до кнопки TEdit на вкладці Standart вікна середовища Lazarus і двічі клацнути ліву кнопку миші. Після цього поле з'явиться у верхній лівій частині форми, а його назва у полі Components вікна Інспектор об'єктів. За потреби поле можна перетягнути в будь-яке інше місце форми.

Властовості поля Top, Left, Name аналогічні відповідним властивостям напису. Значення властивостей Height i Width для поля можна змінити на вкладці Властивості або перетягуванням маркерів на межах поля.

Текст у полі є значенням його властивості Text. Його можна вводити і редагувати у відповідному полі вкладення Властивості. Поле може використовуватися і для виведення даних.

Алгоритм створення проекту для обчислення за введеними даними на прикладі обчислення виразу 2a + 5b.

  1. Розташувати на формі компоненти: 2 поля для введення вхідних написів, напис для виведення вихідних даних, кнопкe для ініціалізації процесів обчислення.

  2. Для встановлених об'єктів змінити значення властивостей Text, Name, Caption на вкладенні Власти­вості вікна Інспектора об'єктів

  3. Для кнопки ініціалізації обчислень обрати подію OnClick і у вікні Редактор тексту внести код обробника подій.

    procedure TForm1.Button1Click(Sender:Objekt);
    var a, b, x: real;
    begin
      a:=StrToFloat (Edit1.Text);
      b:=StrToFloat (Edit2.Text);
      x:=2*a+5*b;
      label1.Caption:= FloatToStr(x);
    end;

    Пояснення. Всі вхідні дані буде сприйнято як рядки тексту значення властивості Text полів. Тому для перетворення типу використовують такі функції:

    • StrToFloat (англійською string to float — з рядка в число з рухомою десятковою крапкою (комою);

    • StrToInt (англійською string to integer — з рядка у ціле число)

  4. Запустити проект на виконання, натиснувши або клавішу F9, або кнопку Виконати (Run) на Панелі інструментів. Дочекатися появи у вікні Повідомлення такого запису:

    Скомпілювати проект, ціль … Успішно

    і форми.

  5. Перевірити коректність роботи обробника подій: у поля ввести значення a = 2, b = 3,

    натисyнути кнопку Обчислити й отримати результат.

Інший спосіб організації введення і виведення даних — використання вбудованих діалогових вікон Inputbox, ShowMessage.

Функція InputBox виводить на екран монітору вікно діалогу, з допомогою якого можна ввести значення змінної у виконувану програму. Аргументами цієї функції є три рядки, а значенням функції — рядок введення даних користувачем.

У загальному вигляді рядок програмного коду з використанням функції InputBox виглядає так:

змінна: = InputBox('заголовок вікна','підказка','значення як усталено');

де:

Значення функції InputBox завжди рядкового типу String, тому при потребі ввести число введений рядок потрібно перетворити в число за допомогою відповідної функції перетворення.

Результат роботи програми найчастіше виводять у вікно повідомлення ShowMessage, або в поле виведення компонент Label.

Функція ShowMessageальтернатива напису Label при виведенні даних. Ця функція виводить на екран монітора вікно з текстом, кнопкою OK. Виклик процедури ShowMessage має такий вигляд:

ShowMessage(Повідомлення);

4. Інструктаж з ТБ
5. Вироблення практичних навичок

Завдання. Створити програму, яка після натискання кнопки створює 2 вікна діалогу із запитами: «Як вас звати?» та «Скільки вам повних років». Після отримання відповідей (використати функцію InputBox) програма має вивести ці дані у вікно повідомлення.

Вказівки до виконання

  1. Створити новий проект (застосунок).
  2. Розташувати на формі кнопку Button1.
  3. Для клацання по кнопці вввести код опрацювання події.

    procedure TForm1.Button1Click(Sender: TObject);
    var fio: string;
        age: integer;
    begin
      fio:=Inputbox('ПІБ','Як вас звати?','Не задано');
      age:=StrToInt(Inputbox ('Вік','Скільки вам повних років','0')) ;
      ShowMessage('Вітаю '+fio+#10#13+'Ваш вік '+IntToStr(age)+' років');
    end;
  4. Запустити проект на виконання.
  5. Клацнути по кнопці на формі.
  6. Ввести дані у вікна діалогу і натиснути кнопку OK.



  7. Отримати вікно повідомлення.

  8. Зберегти проект Ваше прізвище у вказаній вчителем теці.

6. Підведення підсумків уроку.

На уроці розглянуто способи організації введення і виведення даних в середовищі Lazarus. Для введення даних використано вікно діалогу InputBox, для виведення — вікно діалогу ShowMessage і компонент форми TLabel (Поле виведення).

Виставлення оцінок.

7. Домашня робота.
Вивчити матеріал уроку. Створити програму з виведенням форми для анкети з трьома написами-заголовками, трьома полями для введення і кнопкою, натискання на яку призводить до дописування введених значень, розділених крапкою з комою, у файл input.txt.


Текст упорядкував Бабенко Павло Анатолійович, спеціалізованой школи № 298 Оболонського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 02.10.2017 по 6.10.2017.