
Лабораторная работа №2 / лаба_2
.docГОУ ВПО
Уфимский Государственный Авиационный Технический Университет
Кафедра АПРиС
Отчет по лабораторной работе №2
По Технологии программирования.
Тема: Тестирование программ
методами “белого ящика”
Выполнили ст. группы АСОИ-234
Факультета ИРТ:
Короткова М.А.
Смаков В.М.
Хиячин Р.А.
Проверила:
Бежаева О.Я.
Уфа 2008
Лабораторная работа №2
Тема: тестирование программ методами “белого ящика”
Цель: написание программы для решения поставленной задачи с её последующим тестированием.
Задание: идентифицировать треугольник по трем сторонам (остроугольный, прямоугольный, тупоугольный, равносторонний, равнобедренный).
Листинг:
#include <iostream.h>
#include <stdlib.h>
void main ()
{
int a,b,c;
cout<<"Enter the size of 'a' side: ";
cin>>a;
cout<<"Enter the size of 'b' side: ";
cin>>b;
cout<<"Enter the size of 'c' side: ";
cin>>c;
if (((a<=0)||(b<=0)||(c<=0))||((a>=b+c)||(b>=a+c)||(c>=a+b)))
{
cout<<"ERROR: Triangle is incorrect\n";
exit (1);
}
if ((a==b)&(a==c)&(b==c))
cout<<"Triangle is 'ravnostoronniy'\n";
else if ((a==b)||(b==c)||(a==c))
cout<<"Triangle is 'ravnobedrenniy'\n";
if ((a*a==(b*b+c*c))||(b*b==(a*a+c*c))||(c*c==(a*a+b*b)))
{
cout<<"Triangle is 'pryamougolniy'\n";
}
if ((a*a<(b*b+c*c))&(b*b<(a*a+c*c))&(c*c<(b*b+a*a)))
{
cout<<"Triangle is 'ostrougolniy'\n";
}
if ((a*a>(b*b+c*c))||(b*b>(a*a+c*c))||(c*c>(b*b+a*a)))
{
cout<<"Triangle is 'tupougolniy'\n";
}}
Блок схема:
да
нет
2
да
нет
да
нет
3 5
1
4
да
нет
6 7
да
нет
9
да
нет 8
10
11
(*1) = (((a<=0)||(b<=0)||(c<=0))||((a>=b+c)||(b>=a+c)||(c>=a+b)))
(*2) = ((a==b)&(a==c)&(b==c))
(*3) = ((a==b)||(b==c)||(a==c))
(*4) = ((a*a==(b*b+c*c))||(b*b==(a*a+c*c))||(c*c==(a*a+b*b)))
(*5) = ((a*a<(b*b+c*c))&(b*b<(a*a+c*c))&(c*c<(b*b+a*a)))
(*6) = ((a*a>(b*b+c*c))||(b*b>(a*a+c*c))||(c*c>(b*b+a*a)))
Результаты тестирования программы:
Таблица тестирования программы:
Тест |
Путь |
Ожидаемый результат |
Фактический результат |
Результат тестирования |
A=2, B=2, С=4 |
1 |
ошибка |
ошибка |
0 |
A=3, B=3, С=3 |
2-3-7-8-11 |
равносторонний остроугольный |
равносторонний остроугольный |
0 |
A=3, B=3, С=2 |
2-4-7-8-11 |
равнобедренный остроугольный |
равнобедренный остроугольный |
0 |
A=3, B=3, С=5 |
2-4-7-9-10 |
равнобедренный тупоугольный |
равнобедренный тупоугольный |
0 |
A=3, B=4, С=5 |
2-5-6-9-11 |
прямоугольный |
прямоугольный |
0 |
A=6, B=7, С=8 |
2-5-7-8-11 |
остроугольный |
остроугольный |
0 |
A=6, B=3, С=4 |
2-5-7-9-10 |
тупоугольный |
тупоугольный |
0 |
Выводы:
в ходе проделанной лабораторной работы мы написали программу для идентификации треугольника по сторонам, протестировали её, составили блок-схему и таблицу тестирования программы.