Главная страница
Случайная страница
КАТЕГОРИИ:
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Пример выполнения задания
1. Задание:
Составить спецификацию программы (обязательно включающую блок-схему алгоритма). Написать программу. Составить тесты для проверки программы, используя метод покрытия операторов и метод покрытия решений. Сформировать список ошибок, которые могут быть выявлены этими тестами.
Задача: написать программу, в которой находятся корни квадратного уравнения вида ax2+bx+c=0. Случай комплексных корней (дискриминант меньше нуля) не рассматривать. Коэффициенты a, b и c вводятся с клавиатуры. Значения корней выводятся на экран
2. Спецификация программы:
- Название задачи: квадратное уравнение
- Название программы: quadrur
- Система программирования: С++ Builder
- Системные требования: IBM PC/AT 486 и выше
- Входные данные:
Три действительных числа – коэффициенты.
- Выходные данные:
Вычисленные корни уравнения.
3. Постановка задачи:
Cсоставить программу вычисления квадратного уравнения, если уравнение действительно является квадратными и если имеются действительные корни уравнения. Необходимо составить набор тестов, направленных на обнаружение возможных ошибок.
4. Спецификация переменных:
Имя переменной
| Назначение переменной в программе
| Тип переменной
| Диапазон типа
| a
| Первый коэффициент уравнения
| Real
| 2.9e-39..1.7e38
| b
| Второй коэффициент уравнения
| Real
| 2.9e-39..1.7e38
| c
| Третий коэффициент уравнения
| Real
| 2.9e-39..1.7e38
|
Блок-схема алгоритма программы
Уравнение не имеет действительных корней
| x1, x2 Решение квадратного уравнения вида уравнения вида а*x^2+b+x+c=0
|
Текст программы:
program quadrur;
Uses Crt;
var
a, b, c: real;
procedure Entering;
begin
Write ('Введите значение a: ');
ReadLn (a);
Write ('Введите значение b: ');
ReadLn (b);
Write ('Введите значение c: ');
ReadLn (c);
end; {procedure Entering}
function Dis: real;
begin
dis: = b*b-4*a*c;
end; {function Dis}
function Valid: boolean;
begin
Valid: = true;
if a = 0 then
begin
Writeln ('Уравнение линейное');
Valid: = false;
end
else if Dis < 0 then
begin
Writeln ('Уравнение не имеет действительных корней');
Valid: = false;
end;
end; {function Valid}
function Results: real;
begin
WriteLn ('x1 = ', (-b-SQRT(dis))/(2*a): 3: 6);
WriteLn ('x2 = ', (-b+SQRT(dis))/(2*a): 3: 6);
end; {function Results}
begin
ClrScr;
Write ('Решение квадратного уравнения');
WriteLn (' вида ax^2+bx+c=0');
WriteLn;
Entering;
if Valid = true then
Results;
ReadKey;
end.
Варианты заданий
Общее задание изложено в примере (п. 1).
Программу разработать в ИСР C+++ Builder в консольном режиме.
№ варианта
| Формулировка задачи
| 1.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти среднее арифметическое элементов каждого из четных столбцов этой матрицы.
| 2.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти среднее арифметическое элементов каждого из нечетных столбцов этой матрицы.
| 3.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти среднее арифметическое элементов каждой из строк этой матрицы.
| 4.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти среднее арифметическое элементов каждой из четных строк этой матрицы.
| 5.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти среднее арифметическое элементов каждой из нечетных строк этой матрицы.
| 6.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти среднее арифметическое из всех отрицательных элементов этой матрицы.
| 7.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Найти среднее арифметическое из всех положительных элементов этой матрицы.
| 8.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти характеристику каждой ее строки (сумму положительных четных элементов в каждой строке).
| 9.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Найти характеристику каждого ее столбца (сумму модулей отрицательных нечетных элементов в каждом столбце).
| 10.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Найти сумму и произведение всех ее положительных элементов.
| 11.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти сумму и произведение всех ее отрицательных элементов.
| 12.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти сумму всех ее положительных и произведение всех ее отрицательных элементов.
| 13.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти сумму всех ее элементов и заменить ею все диагональные элементы этой матрицы.
| 14.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти произведение всех ее элементов и заменить им все диагональные элементы этой матрицы.
| 15.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти минимальное из чисел, встречающееся в данной матрице более одного раза.
| 16.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти максимальное из чисел, встречающееся в данной матрице более одного раза.
| 17.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти сумму наибольших элементов каждой строки матрицы и их координаты.
| 18.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти произведение наибольших элементов каждой строки матрицы и их координаты.
| 19.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из действительных элементов. Найти сумму наибольших элементов каждого столбца матрицы и их координаты.
| 20.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Найти, сколько положительных элементов содержит данная матрица в каждой строке.
| 21.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Найти, сколько отрицательных элементов содержит данная матрица в каждом столбце.
| 22.
| Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент.
| 23.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Заменить нулями все ее элементы, расположенные на главной диагонали и выше нее.
| 24.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Сформировать вектор из суммы элементов строк и найти их среднее арифметическое.
| 25.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Сформировать вектор из произведения элементов столбцов и найти их среднее арифметическое.
| 26.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Сформировать вектор из наименьших значений элементов строк и найти их среднее арифметическое.
| 27.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Сформировать вектор из разностей наибольших и наименьших значений элементов строк.
| 28.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Найти сумму элементов строки, в которой расположен наименьший элемент.
| 29.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Найти сумму элементов столбца, в котором расположен наименьший элемент.
| 30.
| Задана квадратная матрица A размером NxN (N< =10), состоящая из целых чисел. Поменять местами строку, содержащую максимальный элемент, со строкой, содержащей минимальный элемент.
|
Контрольные вопросы
1. Что такое спецификация программы?
2. Что в себя включает постановка задачи?
3. Что в себя включает анализ требований и определение спецификаций?
4. Какова основная задача проектирования программного продукта?
5. Что такое спецификация переменных?
Практическая работа №2
Тема: «Тестирование. Разработка тестовых примеров».
Цель работы: научиться тестировать программный модуль на основе тестовых наборов.
Время выполнения: подготовка – 5 мин; выполнение – 75 мин.; проверка – 10 мин; всего – 90 мин.
|