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

Лабораторна робота 17 перевірка достовірності даних

Мета роботи: вивчити i відпрацювати на ПЕОМ типові алгоритми уводу i перевірки достовірності даних за заданим критерієм достовірності.

Вибір критеріїв достовірності

Перевірка на достовірність даних в САПР є обов'язковою умовою. Ії можна здійснити, якщо є відомості про вихідні дані. Чим більше відомо про можливі значення даних, тим успішніше можна виявити помилку уводу. Назвемо кілька типових критеріїв достовірності, позначивши параметр, який уводиться, через X:

- приналежність X діапазону значень: aXb;

- приналежність X безлічі допустимих значень a1,a2,...,aN;

- цілочисельність X;

- парність X, в загальному випадку - кратність числу К.

Критерій достовірності може бути сформульований як заперечення якого-небудь з перелічених властивостей.

Окрім перевірки коректності завдання одного параметра, може виникнути необхідність в перевірці групи параметрів за відомим співвідношенням між ними.

Типові алгоритми уводу I перевірки достовірності даних

Типовий алгоритм уводу i перевірки достовірності параметра X можна показати так:

1) увід X;

2) перевірка достовірності, якщо X знаходиться в межах достовірності, то іти на 5, інакше - на 3;

3) друк повідомлення про помилку уводу, пропонування повторно ввести X;

4) іти на 1;

5) уведений параметр правильний.

Приклад 40. Перевірити параметр X на належність діапазону значень X1 X X2.

Програма має вид:

PROGRAM PR40;

USES CRT;

LABEL 2;

VAR X,X1,X2:REAL; C:CHAR;

BEGIN CLRSCR;

TEXTCOLOR(15);

WRITE(' ВВЕДIТЬ X1, X2 => '); READLN(X1,X2);

2: TEXTCOLOR(14);

WRITE(' ВВЕДIТЬ ПАРАМЕТР X => '); READLN(X):

IF (X>=X1) AND (X<=X2) THEN

WRITELN(' ПАРАМЕТР X=',X:6:2,' ВВЕДЕHИЙ ПРАВИЛЬHО')

ELSE BEGIN

WRITELN('ЗНАЧЕННЯ X=',X:6:2,' НЕ ВХОДИТЬ ДО ДIАПА-ЗОНУ ВIД', X1:6:2,' ДО ',X2:6:2);

TEXTCOLOR(4);

WRITELN(' ПОВТОРIТЬ УВIД '); GOTO 2 END;

C:=READKEY

END.

Приклад 41. Перевірити параметр M на належність стандартному ряду: 10, 16, 25, 35, 50, 80.

Програма PR7 наведена нижче. Тут спочатку оголошується i заповнюється масив стандартних значень M1(6). Далі уведене значення M порівнюється з елементами масиву M1. Якщо не знайдеться жодного елемента, рівного M, тоді видається повідомлення про помилку i необхідно повторити увід.

PROGRAM PR41;

USES CRT;

LABEL 1;

TYPE MAS=ARRAY[1..6] OF INTEGER;

CONST M1:MAS=(10,16,25,35,50,80);

VAR I,M:INTEGER; C:CHAR;

BEGIN

TEXTBACKGROUND(1);

1: CLRSCR;

TEXTCOLOR(14); GOTOXY(20,5);

WRITE(' ВВЕДИ ПАРАМЕТР M => '); READLN(M);

FOR I:=1 TO 6 DO

IF M=M1[I] THEN

BEGIN GOTOXY(20,7);

WRITELN(' ПАРАМЕТР М=',M,' ВВЕДЕНИЙ ПРАВИЛЬНО') END

ELSE

BEGIN GOTOXY(20,9);TEXTCOLOR(5);

WRITELN(' ПАРАМЕТР М=',M,' НЕ СТАНДАРТНИЙ');

WRITELN(' ПОВТОРIТЬ УВIД');

C:=READKEY; GOTO 1 END;

C:=READKEY

END.

Можливі й інші типові елементи перевірки. Наприклад:

- умову цілочисельності параметра X можна задати в умовному операторі вираженням відношення ROUND(X)=X;

- умова парності X: X MOD 2=0;

- у загальному випадку умова кратності параметра X числу K: X MOD K=0.