Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Тести, що базуються на блок-схемі

Реферат Тести, що базуються на блок-схемі





і даних, що вводяться.

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

Розглянемо наступний блок коду.


public static double func (double x)

{- 2.4 * x * x * x - 28.512 * x * x - 40.6272 * x + 44.928;

} static double divide (double x1, double x2, double e)/* 8 */

{res=0; (Math. Abs (x2 - x1) gt; e)/* 9 */

{= (x1 + x2)/2;/* 11 */(func (res) gt;=0)/* 12 * /=res;/* 13 * /=res;/* 14 */

} (x1 + x2/2.0);/* 10 */

} void Main (string [] args)

{(true)

{x1=0.0,/* 1 * /=0.0,=0.0; left=«»,=«»,=«»;. Write («Введіть ліву координату відрізка»); left=Console. ReadLine ();/* 2 * /. Write («Введіть праву координату відрізка»); right=Console. ReadLine () ;. Write («Введіть точність»); accurate=Console. ReadLine (); (! Double. TryParse (left, out x1) ||! Double. TryParse (right, out x2) ||! Double. TryParse (accurate, out e))/* 3 * /. WriteLine («Дані введені невірно»);/* 4 */

else if (e lt;=0)/* 5 * /. WriteLine («Точність повинна бути більше нуля»);/* 6 */

else

{Answer=divide (x1, x2, e);/* 7 * /. Write («Відповідь: {0} n», Answer);/* 15 */

}


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

тестування програмний рівняння

Малюнок 2. «Програма про знаходження кореня рівняння»


Використовуємо наступні тестові дані (x1, x2, e):

· 123;- 3; 0. При таких введених даних на блоці 3 програма знайде помилку і в 4 блоці буде надана інформація, яка повідомить про проблему і закінчить поточну ітерацію виконання програми.

· - 1;- 2;- 3. При таких даних програма дійде до 5 блоку, знайде помилку в допустимому значенні змінної, а на 6 блоці виведе інформацію і закінчить поточну ітерацію виконання програми.

· 30; 20; 15. При такому наборі тестових даних програма дійде до блоку номер 9 і оскільки не буде виконуватися умова, що модуль різниці x2 і x1 більше точності e, програма піде в блок 10 і потім завершить ітерацію виконання в блоці 15.

· 30; 20; 1. При таких даних програма дійде до блоку 12, після невиконання умови в якому вона потрапить в блок 14, а потім назад в блок 9, і так до тих пір поки на 12 блоці, не виконається умова і програма на закінчить роботу в блоці 13.

Необхідно визначити перетин двох прямих на площині. Кожна пряма задається координатами двох точок, що лежать на ній.

Розгляне наступний блок коду.


if ((x1 gt; 999) || (y1 gt; 999) || (x2 gt; 999) || (y2 gt; 999) || (x3 gt; 999) || (y3 gt; 999) || (x4 gt; 999) || (y4 gt; 999) || (x1 lt; - 999) || (y1 lt; - 999) || (x2 lt; - 999) | | (y2 lt; - 999) || (x3 lt; - 999) || (y3 lt; - 999) || (x4 lt; - 999) || (y4 lt; - 999))/* 1 */ . WriteLine («Введені дані виходять за межі необхідного діапазону»);/* 2 */

double a1=y1 - y2,=x2 - x1,=x1 * y2 - x2 * y1,=y3 - y4,=x4 - x3,=x3 * y4 - x4 * y3; (( x1 == x2 amp; amp; y1 == y2) || (x3 == x4) amp; amp; (y3 == y4))/* 3 */

Console. WriteLine («Прямі виродилися в точку»);/* 4 */

else if (((a1 * b2) == (a2 * b1)) amp; amp; ((a1 * c2) == (a2 * c1)))/* 5 * /. WriteLine («Прямі співпадають»);/* 6 */if ((a1 * b2) == (a2 * b1))/* 7 * /. WriteLine («Прямі паралельні»);/* 8 *//* 9 */

{X=(c1 * b2 - c2 * b1)/(b1 * a2 - b2 * a1),/* 10 * /=(c2 * a1 - c1 * a2)/(b1 * a2 - b2 * a1) ;. WriteLine («X={0}, Y={1}», X, Y);/* 11 */

}


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


Малюнок 3. «Програма про перетині двох прямих на площині»


Використовуємо наступні тестові дані:

· 1 001; Тисячі дві; 1 003; Тисячі чотири;- Тисяча одна;- 1002;- 1003;- 1004. Після перевірки в блоці 1, програма потрапить в блок 2, де виведеться повідомлення про порушення меж діапазону.

· 50, 2, 50, 2, 30, 6, 30, 6. При такому наборі тестових даних програма зайде в блок 3 і далі потрапить в блок 4, після чого виведе інформаційне повідомлення про вирожденність випадку і закінчить свою роботу.

...


Назад | сторінка 2 з 3 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Блок виконання операцій десяткової арифметики
  • Реферат на тему: Double Standards in Modern Politics
  • Реферат на тему: Програма, що реалізує роботу з текстом і збереженням даних у файл
  • Реферат на тему: Double Entry Types of Balance Sheet
  • Реферат на тему: Double electric layer. Mechanism of formation and theory of structure