Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсова.doc
Скачиваний:
29
Добавлен:
01.05.2015
Размер:
1.18 Mб
Скачать

2.2. Розробка програми

За програму для написання тесту було обрано Delphi 7. Прийнято рішення написати максимально просту та зрозумілу для будь-якого користувача програму для тесту, де при необхідності та наявності середи розробки кожен може змінити запитання, навіть не маючи досвіду з даною мовою програмування.

Наступним етапом було вирішено скласти список запитань.

Для вирішення конфліктних ситуацій з російською мовою було задіяно функцію Ukr:

«функція Ukr перетворює ANSI-рядок в ASCII-рядок, в ANSI букви російського алфавіту кодуються числами від 192 до 255,а в ASCII - від 128 до 175 (А..Я а..п) і від 224 до 239 (р..я)».

Лістинг цієї функції:

function Ukr (mes:string):string;

var

i:integer;

begin

for i:=1 to length(mes) do

case mes[i] of

'А'..'п': mes[i]:= Chr(Ord(mes[i])-64);

'р'..'я': mes[i]:= Chr (Ord(mes[i])-16);

'і': mes[i]:=mes[i];

end;

ukr:=mes;

end;

Далі у кожному рядку де повинен виводитися текст російською мовою

додається (Ukr('х')), де х – текст що виводиться. Наприклад рядок з цією функцією, який використовується в даній програмі:

writeln(Ukr('Даный тест содержит 15 вопросов.'));

Потім написавши початкове пояснення у програмі складено блок-схему до даної тестової програми.

Пояснення:

«Вам предлaгается тест по информатике по теме: "Устройство ПК".

Даный тест содержит 15 вопросов.

Перед каждым вариантом ответа стоит номер, вам необходимо ввести правильный на ваше мнение номер, и нажать на клавишу "enter" для перехода к следующему вопросу.»

Складення блок-схеми:

Повністю блок-схему можна переглянути у додатках.

Після складання блок-схеми перенесено запитання до програми.

Оформлено наступним чином:

// Вопрос №1 (x)

writeln(Ukr('1) Монитор-это устройство ... информации?'));

writeln(Ukr(' 1-Bвода'));

writeln(Ukr(' 2-Bывода '));

Write(Ukr('Ваш ответ - '));

readln(x);

writeln('');

if x=2 then s:=s+1;

де:

writeln(Ukr('1) Монитор-это устройство ... информации?')); - запитання;

writeln(Ukr(' 1-Bвода'));

writeln(Ukr(' 2-Bывода ')); - варіанти відповіді;

Write(Ukr('Ваш ответ - ')); - оформлення відповіді користувача;

readln(x); - зчитування відповіді;

if x=2 then s:=s+1; - зарахування правильної відповіді та додавання одного балу до загальної кількості.

У кінці програми, записавши всі запитання, залишилось ввести систему оцінювання. Нагадаю, що за кожну вірну відповідь нараховувалось по 1 балу. Враховуючи кількість питань, тобто 15, вирішено зробити таку шкалу переводу набраних балів в оцінку:

  • при набранні 12 і більше балів – оцінка 5;

  • від 9 (включно) до 12 – оцінка 4;

  • від 6 (включно) до 9 – оцінка 3;

  • до 6 балів – оцінка 2.

У програмі ця система реалізована наступним чином:

if s>=12 then o:=5 else if s>=9 then o:=4 else if s>=6 then o:=3 else if s<6 then o:=2;

Залишилось лише вивести результати пройденого тесту на екран, що і зроблено таким кодом:

write(Ukr('Ваши баллы= '));

writeln(S); - виведення на екран кількості набраних балів із 15 можливих;

write(Ukr('Bаша оценка='));

write(o); - виведення на екран оцінки за пройдений тест.