Створення тестуючих програм в середовищі програмування delphi

Пропоновані методичні рекомендації відображають проектування, оформлення і розробку тестуючих програм в середовищі програмування Delphi.

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

Відчутні кроки в розкритті глибинних закономірностей людського навчання, зроблені світової дидактикою, а також бурхливий прогрес в області розвитку персональних комп'ютерів виводять педагогів на необхідність створення електронних тестуючих програм для самоконтролю і самоперевірки знань учнів.

Основна мета даних методичних рекомендацій полягає в тому, щоб дати знання про технології створення тестуючих програм в середовищі програмування Delphi.

В результаті використання цих рекомендацій можуть бути сформовані вміння і навички проектування тестуючих програм в середовищі програмування Delphi.

Створення тестує з використанням компонентів

TLabel, TButton, TRadioGroup

Вимоги до попередньої підготовки:
  • знати основи програмування в системі Паскаль;
  • вміти користуватися кнопками панелей інструментів і контекстним меню.

Створення інтерфейсу додатку

1. Створіть проект 1 (презентація).

2. Задайте об'єктів такі властивості

procedure TForm1.RadioGroup1Click (Sender: TObject);

begin m: = 0; if RadioGroup1.ItemIndex = 1 then m: = m + 1 else m: = m; end;

procedure TForm1.RadioGroup2Click (Sender: TObject);

begin n: = 0; if RadioGroup2.ItemIndex = 0 then n: = n + 1 else n: = n; end;

procedure TForm1.RadioGroup3Click (Sender: TObject);

begin k: = 0; if RadioGroup3.ItemIndex = 0 then k: = k + 1 else k: = k; end;

procedure TForm1.RadioGroup4Click (Sender: TObject);

begin w: = 0; if RadioGroup4.ItemIndex = 0 then w: = w + 1 else w: = w; end;

procedure TForm1.RadioGroup5Click (Sender: TObject);

begin v: = 0; if RadioGroup5.ItemIndex = 2 then v: = v + 1 else v: = v; end;

procedure TForm1.Button1Click (Sender: TObject);

begin l: = m + n + k + w + v; if l = 5 then

begin Label4.Caption: = IntToStr (l); Label5.Caption: = 'Відмінно!'; end else if l = 4 then

begin Label4.Caption: = IntToStr (l); Label5.Caption: = 'Добре! Але Вам необхідно повторити теоретичний матеріал. '; end else if l<=3 then

begin Label4.Caption: = IntToStr (l); Label5.Caption: = 'Погано! Вивчайте! ' end; end;

procedure TForm1.Button2Click (Sender: TObject); begin close; end; end.

2.Сохраніте форму і проект у своїй папці.

Створення тестує з використанням компонентів TLabel, TButton, TRadioGroup, TMainMenu

Створення інтерфейсу додатку

1.Создать проект 2 (презентація).

Для цього додайте на форму наступні компоненти:
  • компонент MainMenu, що складається з пунктів: Тест (Вихід) і Допомога (Інструкція, Про програму);
  • мітку для тексту питань і виведення результату тесту у вигляді рядка ": правильних відповідей з 10 питань";
  • мітку "Наступний відповідь";
  • групу залежних перемикачів для варіантів відповідей (RadioGroup1. RadioGroup10), які накладаються один на одного;
  • кнопку "Результат тестування".

2. Задайте об'єктів такі властивості.

для RadioGroup2. RadioGroup10 - False

3.Збереження проект (File -> Save All) у своїй папці.

1. Запрограмуйте мітку Label2 ( "Наступне питання") так, щоб в мітці Label1 виводився наступне питання, варіанти відповіді на нього, і при досягненні останнього питання мітка Label2 ставала недоступною.

2. При написанні програми коректний:
  • повторний вибір відповіді на питання недоступний;
  • результат тестування вивести в мітці Label1 одним помахом кнопки Button2;
  • пункт головного меню "Вихід" закриває програму;
  • пункт головного меню "Про програму" виводить вікно форми About Box (для цього необхідно виконати команду File -> New-> Other, закладка Forms, форма About);
  • пункт головного меню "Інструкція" виводить інформаційне вікно.

3.Напишіть програму тесту у вікні коду.

Var Form1: TForm1;

a, b, c, d, f, g, j, l, m, n, k, p: integer; implementation uses Unit2;

procedure TForm1.RadioGroup1Click (Sender: TObject);

begin a: = 0; if RadioGroup1.ItemIndex = 0 then a: = a + 1 else a: = a; RadioGroup1.Visible: = False; end;

procedure TForm1.RadioGroup2Click (Sender: TObject);

begin b: = 0; if RadioGroup2.ItemIndex = 1 then b: = b + 1 else b: = b; RadioGroup2.Visible: = False; end;

procedure TForm1.RadioGroup3Click (Sender: TObject);

begin d: = 0; if RadioGroup3.ItemIndex = 1 then d: = d + 1 else d: = d; RadioGroup3.Visible: = False; end;

procedure TForm1.RadioGroup4Click (Sender: TObject);

begin c: = 0; if RadioGroup4.ItemIndex = 0 then c: = c + 1 else c: = c; RadioGroup4.Visible: = False; end;

procedure TForm1.RadioGroup5Click (Sender: TObject);

begin f: = 0; if RadioGroup5.ItemIndex = 3 then f: = f + 1 else f: = f; RadioGroup5.Visible: = False; end;

procedure TForm1.RadioGroup6Click (Sender: TObject);

begin g: = 0; if RadioGroup6.ItemIndex = 2 then g: = g + 1 else g: = g; RadioGroup6.Visible: = False; end;

procedure TForm1.RadioGroup7Click (Sender: TObject);

begin j: = 0; if RadioGroup7.ItemIndex = 1 then j: = j + 1 else j: = j; RadioGroup7.Visible: = False; end;

procedure TForm1.RadioGroup8Click (Sender: TObject);

begin l: = 0; if RadioGroup8.ItemIndex = 1 then l: = l + 1 else l: = l; RadioGroup8.Visible: = False; end;

procedure TForm1.RadioGroup9Click (Sender: TObject);

begin m: = 0; if RadioGroup9.ItemIndex = 3 then m: = m + 1 else m: = m; RadioGroup9.Visible: = False; end;

procedure TForm1.RadioGroup10Click (Sender: TObject);

begin n: = 0; if RadioGroup10.ItemIndex = 2 then n: = n + 1 else n: = n; RadioGroup10.Visible: = False; end;

procedure TForm1.Label2Click (Sender: TObject);

begin k: = k + 1; case k of

1: begin Label1.Caption: = '2 питання. Масове виробництво комп'ютерів почалося в: ';

2: begin Label1.Caption: = '3 питання. Елементної базою процесорів ЕОМ 2-ої покоління були: '; RadioGroup3.Visible: = True; end;

3: begin Label1.Caption: = '4 питання. Яке пристрій не призначений для обробки інформації? '; RadioGroup4.Visible: = True; end;

4: begin Label1.Caption: = '5 питання. За мінімальну одиницю виміру кількості інформації прийнятий: '; RadioGroup5.Visible: = True; end;

5: begin Label1.Caption: = '6 питання. Скільки байтів займає в пам'яті ПК слово ПЕРЕМОГА ?: ';

6: begin Label1.Caption: = '7 питання. Продуктивність роботи комп'ютера залежить від: ';

7: begin Label1.Caption: = '8 питання. Який пристрій може мати шкідливий вплив на здоров'я людини? '; RadioGroup8.Visible: = True; end;

8: begin Label1.Caption: = '9 питання. При виключенні комп'ютера вся інформація стирається: ';

9: begin Label1.Caption: = '10 питання. З метою збереження інформації дискети необхідно оберігати від: '; RadioGroup10.Visible: = True; Button2.Visible: = True; Label2.Visible: = False; end; end;

procedure TForm1.Button2Click (Sender: TObject);

begin p: = a + b + c + d + f + g + j + l + m + n; if p = 10 then

begin Label1.Caption: = IntToStr (p) + 'правильних відповідей з 10 питань.' + 'Відмінно!'; end

else if p> = 8 then

begin Label1.Caption: = IntToStr (p) + 'правильних відповідей з 10 питань.' + 'Добре!'; end

else if p = 7 then

begin Label1.Caption: = IntToStr (p) + 'правильних відповідей з 10 питань.' + 'Задовільно.';

end else if p<7 then

begin Label1.Caption: = IntToStr (p) + 'правильних відповідей з 10 питань.' + 'Погано! Вивчайте! '; end;

procedure TForm1.Button1Click (Sender: TObject); begin close; end;

procedure TForm1.N2Click (Sender: TObject);

begin close; end;

procedure TForm1.N4Click (Sender: TObject);

begin AboutBox.show; end;

procedure TForm1.N5Click (Sender: TObject);

begin MessageDlgPos ( 'Будьте уважні при виборі варіанта відповіді! Повторний вибір відповіді на питання недоступний!', mtInformation, [mbOK], 0,300,200); end; end.

4.Сохраніте форму і проект у своїй папці.

Створення тестує з використанням компонентів

TLabel, TButton, TRadioGroup, TPageControl, TImage, TPanel, TMainMenu

Створення інтерфейсу додатку

1.Создать проект 3 (презентація).

Для цього додайте на форму наступні компоненти:
  • компонент MainMenu, що складається з пунктів: Тест (Результат, Вихід) і Допомога (Інструкція, Про програму);
  • мітку для виведення результату тесту у вигляді рядка ": правильних відповідей з 6 питань";
  • компонент PageControl (сторінка WIN32), який містить вкладки з номерами питань;
  • на кожну вкладку помістіть мітку з текстом питання і групу залежних перемикачів для варіантів відповідей (RadioGroup) з 3-4 варіантами відповідей;
  • кнопку виходу з програми;
  • компонент Image (сторінка ADDITIONAL);
  • шість компонентів Panel розмістити таким чином, щоб закрити компонент Image.

2.Задайте об'єктів такі властивості.

3.Збереження проект (File -> Save All) у своїй папці.

1. При написанні коду програми коректний:
  • повторний вибір відповіді на питання недоступний;
  • при правильному виборі відповіді на питання відкривається частина малюнка (компонент Image);
  • пункт головного меню "Результат" виводить в мітці Label1 результат тестування;
  • пункт головного меню "Вихід" закриває програму;
  • пункт головного меню "Про програму" виводить вікно форми About Box (для цього необхідно виконати команду File -> New-> Other, закладка Forms, форма About);
  • пункт головного меню "Інструкція" виводить інформаційне вікно.

2. Напишіть програму тесту у вікні коду.

var Form1: TForm1;

m, n, k, w, l, s, z: integer; implementation uses Unit2;

procedure TForm1.Button1Click (Sender: TObject);

begin close; end;

procedure TForm1.RadioGroup1Click (Sender: TObject);

begin n: = 0; if RadioGroup1.ItemIndex = 0 then begin n: = n + 1; Panel1.Visible: = False; end else n: = n;

procedure TForm1.RadioGroup2Click (Sender: TObject);

begin m: = 0; if RadioGroup2.ItemIndex = 2 then begin m: = m + 1; Panel2.Visible: = False; end else m: = m;

procedure TForm1.RadioGroup3Click (Sender: TObject);

begin k: = 0; if RadioGroup3.ItemIndex = 0 then begin k: = k + 1; Panel4.Visible: = False; end else k: = k;

procedure TForm1.RadioGroup4Click (Sender: TObject);

begin w: = 0; if RadioGroup4.ItemIndex = 0 then begin w: = w + 1; Panel3.Visible: = False; end else w: = w;

procedure TForm1.RadioGroup5Click (Sender: TObject);

begin s: = 0; if RadioGroup5.ItemIndex = 1 then begin s: = s + 1; Panel5.Visible: = False; end else s: = s;

procedure TForm1.RadioGroup6Click (Sender: TObject);

begin z: = 0; if RadioGroup6.ItemIndex = 1 then begin z: = z + 1; Panel6.Visible: = False; end else z: = z;

procedure TForm1.N3Click (Sender: TObject);

begin l: = m + n + k + w + s + z; Label1.Caption: = IntToStr (l) + 'правильних відповідей з 6 питань'; end;

procedure TForm1.N4Click (Sender: TObject);

begin close; end;

procedure TForm1.N7Click (Sender: TObject);

begin AboutBox.show; end;

procedure TForm1.N6Click (Sender: TObject);

begin MessageDlgPos ( 'Будьте уважні при виборі варіанта відповіді!

Повторний вибір відповіді на питання недоступний! ', MtInformation, [mbOK], 0,300,200); end; end.

3.Збереження форму і проект у своїй папці.