Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Зміст Япзт.docx
Скачиваний:
1
Добавлен:
20.09.2019
Размер:
37.94 Кб
Скачать
  1. Специфікація програми має такий вигляд:

Назва завдання: чисельна функція Назва програми: Lab 1 Система програмування: Turbo Pascal 7.0 Системні вимоги: IBM PC/AT 286 і вище

    1. Специфікація даних має вигляд опису:

Вхідні дані

На вхід програма приймає 3 параметри:

x, a, b – параметри функції (дійсні числа)

Значення числа x, повинні належати діапазону [0..999].

Якщо числа, що подаються на вхід програми, виходять за межі вказаних діапазонів, тоді повинно видаватися повідомлення про помилку.

Вихідні дані

Вихідними даними програми є обчислене значення функції y (дійсне число).

Результат обчислення виводиться на консоль.

  1. Визначити області еквівалентності вхідних параметрів.

Визначимо класи можливих значень для x,a:

Для x

Для а

1.  x < 0 (помилкове)

2.  x > 999 (помилкове)

3.  x – не число (помилкове)

4.  0  x  999 (коректне)

5.  a < 1 (помилкове)

6.  a > 100 (помилкове)

7.   a – не число (помилкове)

8.   1  a  100 (коректне)

  1. Аналіз тестових випадків.

Фрагмент опису аналізу тестового набору (щодо параметрів x та а) може мати вигляд:

1. Вхідні значення: (x = 2, а = 3)

(покривають класи 4, 8).

Очікуваний результат:

y = 6.23.

2. Вхідні значення: {(x = -1, а = 2), (x = 1000, а = 5 )}

(покривають класи 1, 2).

Очікуваний результат:

Помилка: х повинно належати діапазону [0..999].

  1. Текст програми.

program lab;

var

x,a,b:integer;

y:real;

begin

write ('vvedit x,a,b:');

read(x,a,b);

readln;

if x>0

then

y:=(x-sqrt(a))/(b*sin(x))

else

y:=(ln(abs(2-x))*exp(x))/(a*x);

writeln ('otvet:',y:5:2);

readln;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]