Здавалка
Главная | Обратная связь

Функциональные тесты



Национальный исследовательский университет «МЭИ»

Типовой расчет «Процедуры, функции, модули»

Вариант 9

Задание выполнил: Мачарадзе Г.Т.

Студент группы A-08-12

Проверил: ____________________________

Оценка:______________________________

Замечания:______________________________________________________

________________________________________________________

________________________________________________________

________________________________________________________

________________________________________________________

________________________________________________________

________________________________________________________

________________________________________________________

________________________________________________________

 

Москва 2012 НИУ «МЭИ»

 

1. Постановка задачи:

Если разность максимального и минимального элемента матрицы A (n*n) превышает заданную величину P ,тогда заменить в матрице A все отрицательные элементы нулями, а положительные единицами.

2. Уточненная постановка задачи:

Дано: Матрица A (n*n), где 0<n<=5, abs(A[i,j])<=25, вещественная величина P<=99;

Необходимо заменить в матрице все положительные элементы на единицу, а отрицательные – нулями, если разность максимального и минимального элемента больше P. В противном случае, матрицу оставить без изменений.

3. Пример:

Пусть дана матрица A(4;4)= и P=5. Тогда:

1) Максимальный элемент матрицы равен 9;

2) Минимальный элемент матрицы равен -5;

3) Разность между максимумом и минимумом равна 9-(-5)=14>P è A:= ;

4.Таблица данных:

 

Класс Имя Описание (смысл), диапазон, точность Тип Структура Формат
  Входные n Число элементов в массиве; 0<n<=5 цел Простая переменная X(:1)
p Заданная величина; |p|<=99. Точность 0.1 вещ Простая переменная ±XX.X(:5:1)
a Массив; |a|<=25, Точность 0.1 вещ Двумерный массив (5x5) ±ХХ.Х(:5:1)
Промежуточные данные   i Индекс 0<i<=5   цел Простая переменная  
j Индекс 0<j<=5 цел Простая переменная  
F1 False,если в матрице есть |A[I,j]|>25 Лог. Простая переменная  
dat файловая переменная для входного файла dat.txt Текстовый файл См.форму ввода
res файловая переменная для выходного файла res.txt Текстовый файл См.форму вывода
d Разность межну максимальным и минимальным элементами |d|<=50; Точность 0.1   вещ простая переменная ±ХХ.Х(:5:1)
Max   Максимальный элемент массива; |max|<=25, Точность 0.1     вещ простая переменная ±ХХ.Х(:5:1)
Min Минимальный элемент массива; |min|<=25, Точность 0.1   вещ простая переменная ±ХХ.Х(:5:1)
F2 True, если разность между макс. И мин элементами больше p ЛОГ. Простая переменная  
Выходные данные          
a Массив; |a|<=25, Точность 0.1 вещ Двумерный массив ±ХХ.Х(:5:1)

 

 

 

5. Входная форма: (Файл dat<номер теста>.txt)

 

 
 

 


­­­

 

 

6.Выходная форма (Файлы unit_res<№ теста>.txt)

 


Обр8

 

 

 


Обр.10

 

           
   
 
 
 
   

 

 


Имена входного и выходного файлов передаются как параметры программы:

Первый – имя файла с исходными данными

Второй – имя файла для вывода исходных данных и результатов

 

Аномалии

Описание Условие возникновения Реакция
Некорректное число строк/столбцов (n<1) or (n>5) Обр.7
Есть некорректный элемент в матрице $i$j (A[i,j]>25) (A[i,j]<-25) Обр.9
Некорректное число p |p|>99 Обр.8

 

 

Функциональные тесты

№ теста Исходные данные Ожидаемый результат Смысл теста
n=0 p=50 Обр. 7 Аномальная ситуация 1 (n<1)
N=6 p=31,56 Обр.7 Аномальная ситуация 1 (n>6)
N=3 p=-54,7 26 0 3,74 0 1 2 0 5 4 Обр.9 Аномальная ситуация 2 A[i,j]>25
N=3 p=-30 7 0 1 4 -27 5 0 0 1 Обр.9 Аномальная ситуация 2 A[i,j]<-25
N=2 p=100 Обр 8 Аномальная ситуация 3 (|p|>99)
N=3 p=99 1 2 3 4 5 6 7 8 -10 Обр 10 Разность между максимальным и минимальным элементами меньше заданной величины P. Выводим сообщение, что матрица не изменилась
N=3 p=13 1 5 7 7 3 5,7 0 6 -7 1 1 1 1 1 1 0 1 0 Разница между максимальным и минимальным элементами больше заданной величины P
N=2 p=-1 0 0 0 0 0 0 0 0 Все элементы матрицы – нули.
N=1 p=-4 Разница между максимальным и минимальным элементами больше заданной величины P. В матрице 1 элемент
N=5 p=1 1 2 3 4 5 1 2 3 4 5 5 4 3 2 1 5 4 3 2 1 0 0 -1 -1 -2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 Максимальное количество элементов. Разница между максимальным и минимальным элементами больше заданной величины P

 

Метод

Отделим ввод-вывод от обработки данных (собственно решения задачи).

То есть, разделим нашу задачу на девять подзадач:

1. Подзадача А0.1. Ввести из файла (обр.1), (обр.2),(обр.3)

2. Подзадача А0.2. Проверка количество строк, столбцов

3. Подзадача А0.3 Проверка p(обр.8)

4. Подзадача А0.4 Проверка элементов матрицы (обр.9)

5. Подзадача A0.5. Вывести исходную матрицу в файл res.txt (обр.6)

6. Подзадача А0.6. Поиск максимального элемента матрицы.

7. Подзадача А0.7. Поиск минимального элемента матрицы.

8. Подзадача А0.8. Сравнение разности между максимального и минимального элементов с заданной величиной p.

9. Подзадача А0.9.Изменение массива

10. Подзадача А0.10. Вывести измененную матрицу (обр.12) или вывести сообщение, что исходная матрица не изменилась(обр.10)

 

Сейчас, на нулевом уровне опишем логику решения задачи в целом. Все подзадачи выполним в виде процедур и функций, расположенных в отдельном модуле.

 

Алгоритм

 
 

 


A0.1

 

 
 

 








©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.