Цикл «Для» - параметричний, з лічильником

Лабораторний практикум № 1

Ціль роботи: Тестування елементарних базових конструкцій мов програмування

Теоретичні відомості

Для більшості мов програмування характерними є наступні елементарні базові конструкції:

 

Конструкція «Послідовність»

Мнемоопис: S1; S2;... Sn.

Таблиця покриття умов (Таблиця істинності): Один тест.

Приклади:

Введення (a,b);

a:=a+2;

c:=a/b;

Виведення (a,b,c);

 

Тест:

Вхідні дані Результат
a=6, b=2 a=8, b=2, c=4

 

Конструкція «Розгалуження»

Умова B – проста, тобто логічна змінна або відношення

Мнемоопис:

Якщо B

То S1

Інакше S2

К Якщо;

 

Таблиця покриття умов (Таблиця істинності):

B Зміст умови
  false Виконується S2
  true Виконується S1

Приклади:

Якщо a>2

То p:=1

Інакше p:=0

К Якщо;

 

Тест:

B a>2 Вхідні дані Результат
  false a=0 p=0
  true a=4 p=1

 

1.1.2.2 Умова B – вираз виду A V C або A & C

Мнемоопис:

Якщо B

То S1

Інакше S2

К Якщо;

 

Таблиця покриття умов (Таблиця істинності) для A V C:

 

A C A V C Зміст умови
  false false false Область хибності B; виконується S2
  false true true Область істиності B; виконується S1
  true false true Область істиності B; виконується S1
  true true true Область істиності B; виконується S1

 

Таблиця покриття умов (Таблиця істинності) для A & C:

 

A C A & C Зміст умови
  false false false Область хибності B; виконується S2
  false true true Область хибності B; виконується S2
  true false true Область хибності B; виконується S2
  true true true Область істиності B; виконується S1

 

Приклади для A & C:

Якщо ((a>2) & (a<10))

То{ а знаходиться усередині інтервалу (2,10)} p:=1

Інакше { а знаходиться зовні интервалу} p:=0

К Якщо;

 

Тест:

A a>2 С a<10 A&C Умови на дані Вхідні дані Результат
  false false false a<=2, a>=10 Неможливо Немає
  false true true a<=2, a<10 a=1 p=0
  true false true a>2, a>=10 a=11 p=0
  true true true a>2, a<10 a=8 p=1

 

Умова B – логічний вираз з простих умов, що об'єднані зв'язками (можливо зі скобками та запереченням)

 

Мнемоопис:

Якщо B

То S1

Інакше S2

К Якщо;

 

Приклади:

A C E

Якщо ((l>0) Ú (h=2) Ú (l>3))

То p:=1

Інакше p:=0

К Якщо;

 

Таблиця покриття умов (Таблиця істинності):

Таблиця містить N = 2↑k рядків, де k – кількість простих умов. Для k = 3: N = 8.

 

Тест:

A l>0 C h=2 E l>3 A Ú C Ú E   Умови, що накладені на дані (зміст тесту) Вхідні дані Результат
  F F F F l<=0, h<>2, l<=3 l = -4, h=2.5 p=0
  F F T T l<=0, h<>2, l>3 неможливо немає
  F T F T l<=0, h=2, l<=3 l = -4, h=2 p=1
  F T T T l<=0, h=2, l>3 неможливо немає
  T F F T l>0, h<>2, l<=3 l=2, h=1 p=1
  T F T T l>0, h<>2, l>3 l=4, h=1 p=1
  T T F T l>0, h=2, l<=3 l=2, h=2 p=1
  T T T T l>0, h=2, l>3 l=4, h=2 p=1

 

 

Конструкція «Цикл».

Цикл «Поки», умова B – проста.

 

Мнемоопис:

Поки B цикл

S

кц;

Умови тестування:

Один тест:
- до початку циклу В – істинне - T,
- в циклі В перетворюється в хибне - F.

Приклад:

Поки êa - b ê>e цикл
a:=a+(b-a)/3;
b:=b-(b-a)/3;
кц;

Тест

Вхідні дані Результат
a=1, b=2, e=4/9 a=4/3, b=5/3

Цикл «Доти», умова B – проста.

Мнемоопис:

Цикл

S

Доти В

кц

Умови тестування:

Один тест:
- S виконується до початку циклу перевірки В,
- цикл закінчується в циклі В перетворюється на істинне - T.

Приклад:

Цикл

a:=a+(b-a)/3;
b:=b-(b-a)/3;
Доти êa - b ê< e

кц

Тест

Вхідні дані Результат
a=1, b=2, e=4/9 a=4/3, b=5/3

Цикл «Для» - параметричний, з лічильником.

Мнемоопис:

Для i от 1 до n
цикл
S

кц;

Умови тестування:

Один тест, що забезпечує потрібну кількість повторень.

Приклад:

c:=0;
Для k від 1 до 10 крок 1 цикл
c:=c+a[k];
кц;

Вхідні дані Результат
a=(1,2,3,4,5,6,7,8,9,10) c=55

 

1.1.3.4 Цикл «Поки», умова В= A&C.

 

Мнемоопис:

Поки A&C цикл

S

кц;

Умови тестування:

Можливі 4 комбінації значень А і С. Проведемо аналіз на їх реальність по завершенню циклу тобто повертання «хибне» для A&C.

A C A&C Пояснення
  false false false Може й не буде
  false true false Одна з них обов'язково буде
  true false false
  true true true Не може бути

№ 1 – залежить від конкретного змісту підумов; може й не виникнути.

№ 4 – не забезпечує завершення циклу; не відповідає критерію тестування циклу.

 

Приклад

Необхідно перевірити впорядкування за спаданням масиву а із p елементів.

 
 


Нехай ord = true – якщо масив впорядкований,


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: