
- •Национальный исследовательский университет «мэи» Типовой расчет «Процедуры, функции, модули» Вариант 9
- •2. Уточненная постановка задачи:
- •3. Пример:
- •4.Таблица данных:
- •8. Функциональные тесты
- •9. Метод
- •10. Алгоритм
- •11. Программа на Delphi (с процедурами-заглушками, кроме процедур ввода и вывода).
- •2.Уточненная постановка задачи.
- •4. Таблица данных
- •11. Программа на паскале. Процедура общего вида
- •2.Уточненная постановка задачи.
- •4. Таблица данных
- •2.Уточненная постановка задачи.
- •4. Таблица данных
- •2.Уточненная постановка задачи.
- •4. Таблица данных
- •2.Уточненная постановка задачи.
- •4. Таблица данных
2.Уточненная постановка задачи.
Даны максимальный, минимальный элементы и заданная величина p. Узнать больше ли их разность , чем p
3.Примеры.
Разность больше: тест 7
Разность меньше: тест 6
4. Таблица данных
Класс |
Имя |
Описание (смысл), диапазон, точность |
Тип |
Структура |
Входные данные |
max |
Максимальный элемент матрицы |max|<=25 |
вещ |
простая переменная |
min |
Минимальный элемент матрицы |min|<=25 |
вещ |
простая переменная |
|
p |
Заданная величина |p|<=99 |
Вещ |
простая переменная |
|
Выходные данные |
F2 |
=true,если разность больше чем p,иначе =false |
Лог |
простая переменная |
Промежу-точные данные |
d |
Разность максимального и минимального элементов |d|<=50 |
вещ |
простая переменная |
5.Входная форма.
нет ввода/вывода
6.Выходная форма
нет ввода/вывода
7. Аномалии
нет ввода/вывода
8. Тесты
Тесты
Разность больше: тест 7
Разность меньше: тест 6
9. Метод
Присваиваем логической переменной f2 значение false . Считаем значение переменной d=max-min. Если d>p, тогда присваиваем переменной f2 значение true.
10. Алгоритм
Вх.
Max,min,p
F2:=true
D:=max-min
F2:=false
Вых.
F2
11. Программа на паскале. Процедура общего вида
procedure Compare(var d:real;var p:real; var max,min:real;var f2:boolean);
var i,j:byte;
begin
d:=max-min;
f2:=true;
if d<p then f2:=false;
end;
Абстракция А0.9
1.Условие. Изменение матрицы
2.Уточненная постановка задачи.
Даны матрица A, значение логической переменной F2, n. Заменить матрицу следующим образом : Если f2=false , то оставить матрицу без изменений, иначе заменить все положительные элементы матрицы на 1, а отрицательные на 0.
3.Примеры.
Матрица изменяется: тест 7,8
Матрица не изменяется: тест 6
4. Таблица данных
Класс |
Имя |
Описание (смысл), диапазон, точность |
Тип |
Структура |
Входные данные |
n |
число строк и столбцов в матрице A, 0 < n 5 |
цел |
простая переменная |
A |
Заданная матрица, |Aij|<=25 |
вещ |
Двумерный массив |
|
Выходные данные |
A |
Измененная матрица, |Aij|<=25 |
вещ |
Двумерный массив |
Промежу-точные данные |
i |
Номер текущей строки, 0 < i 5 |
цел |
простая переменная |
j |
Номер текущей столбца, 0 < j 5 |
цел |
простая переменная |
5.Входная форма.
нет ввода/вывода
6.Выходная форма
нет ввода/вывода
7. Аномалии
нет ввода/вывода
8. Тесты
Матрица изменяется: тест 7,8
Матрица не изменяется: тест 6
9. Метод
Если F2=false, тогда оставляем матрицу без изменений, иначе меняем все положительные элементы матрицы на 1, а отрицательные на 0.
10. Алгоритм
Aij
:= 1
Aij
:= 0
11. Программа на паскале. Процедура общего вида
procedure Ending(var n:byte;out A:matrix);
var i,j:byte;
begin
for i:=1 to n do begin
for j:=1 to n do begin
if A[i,j]>0 then A[i,j]:=1;
if A[i,j]<0 then A[i,j]:=0;
end;
end;
end;
Структурные тесты.
Тест№ Структура |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
|
|||||||||||||||||||||||||||||||||||||||
Ввод/вывод матрицы For i:=1 to n do |
Н В Е Ы Т В В О В Д О А Д А И |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||
0 раз (i>n) |
Невозможно, n1 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
1 раз (i=n) |
|
|
|
|
|
|
1 |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
более 1 раза (i<n) |
3 |
3 |
2 |
3 |
3 |
2 |
|
5 |
|
|
|
|||||||||||||||||||||||||||||||||||||||||
For j:=1 to n do |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
0 раз |
Невозможно, n1 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
1 раз |
|
|
|
|
|
|
1 |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
более 1 раза |
3 |
3 |
2 |
3 |
3 |
2 |
|
5 |
|
|
|
|||||||||||||||||||||||||||||||||||||||||
If (N<1) or (N>5) |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
N<1 истина N>5 истина |
Не возможно одновременное выполнение этих условий |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
N<1 истина N>5 ложь (N=5) |
Не возможно одновременное выполнение этих условий |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
N<1 истина N>5 ложь (N<5) |
N=0 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
|
|||||||||||||||||||||||||||||||||||||||
N<1 ложь (N=1) N>5 истина |
Не возможно одновременное выполнение этих условий |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
N<1 ложь (N>1) N>5 истина |
- |
N=6 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
|
|||||||||||||||||||||||||||||||||||||||
N<1 ложь (N=1) N>5 ложь (N=5) |
Не возможно одновременное выполнение этих условий |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
N<1 ложь (N>1) N>5 ложь (N=5) |
- |
-- |
- |
- |
- |
- |
- |
- |
- |
N=5 |
|
|
|
|||||||||||||||||||||||||||||||||||||||
N<1 ложь (N=1) N>5 ложь (N<5) |
- |
- |
- |
- |
- |
- |
- |
- |
N=1 |
- |
|
|
|
|||||||||||||||||||||||||||||||||||||||
N<1 ложь (N>1) N>5 ложь (N<5) |
- |
- |
N=3 |
N=2 |
N=2 |
N=3 |
N=3 |
N=2 |
- |
- |
|
|
|
|||||||||||||||||||||||||||||||||||||||
If abs(p)>99 |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
Abs(p)>99 истина p=100 |
- |
- |
- |
- |
P=100 |
-- |
- |
- |
- |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
Abs(p)>99 ложь p=99 |
- |
- |
- |
- |
- |
P=99 |
- |
- |
- |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
Abs(p)>99 ложь |
P=50 |
P=31,56 |
P=-54,7 |
P=-30 |
- |
- |
P=13 |
P=-1 |
P=2 |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
Проверка элементов while (i<=n) and f1 do |
П Р О В Е Р К И
М А Т Р И Ц Ы
|
П Р О В Е Р К И
М А Т Р И Ц Ы
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
(i<=n) истина (i<n) F1 истина |
+ |
+ |
+ |
+ |
+ |
+ |
- |
+ |
+ |
|
|
|||||||||||||||||||||||||||||||||||||||||
(i<=n) истина (i=n) F1истина |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
|
|||||||||||||||||||||||||||||||||||||||||
(i<=n) истина (i<n) F1 ложь |
+ |
+ |
- |
- |
- |
- |
- |
- |
- |
|
|
|||||||||||||||||||||||||||||||||||||||||
(i<=n) истина (i=n) F1 ложь |
- |
- |
- |
- |
- |
- |
- |
- |
+ |
|
|
|||||||||||||||||||||||||||||||||||||||||
(i<=n) ложь (i>n) F1 истина |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
|
|||||||||||||||||||||||||||||||||||||||||
(i<=n) ложь (i>n) flagA ложь |
- |
- |
- |
- |
- |
- |
- |
- |
- |
+ |
|
|||||||||||||||||||||||||||||||||||||||||
while (j<=n) and f1 do |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
(j<=n) истина (j<n) F1 ложь |
+ |
+ |
+ |
+ |
+ |
+ |
- |
+ |
+ |
|
|
|||||||||||||||||||||||||||||||||||||||||
(j<=n) истина (j=n) F1 ложь |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
|
|||||||||||||||||||||||||||||||||||||||||
(j<=n) истина (j<n) F1 истина |
+ |
+ |
- |
- |
- |
- |
- |
- |
- |
|
|
|||||||||||||||||||||||||||||||||||||||||
(j<=n) истина (j=n) F1 истина |
- |
- |
- |
- |
- |
- |
+ |
- |
+ |
|
|
|||||||||||||||||||||||||||||||||||||||||
(j<=n) ложь (j>n) F1 ложь |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
|
|||||||||||||||||||||||||||||||||||||||||
(j<=n) ложь (j>n) F1 истина |
- |
- |
- |
- |
- |
- |
- |
- |
- |
+ |
|
|||||||||||||||||||||||||||||||||||||||||
if abs(A[i,j]) >25 then |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
abs(A[i,j]) > 25 |
26 |
-27 |
- |
- |
- |
- |
- |
- |
- |
|
|
|||||||||||||||||||||||||||||||||||||||||
abs(A[i,j]) < 25 |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
- |
|
|
|||||||||||||||||||||||||||||||||||||||||
abs(A[i,j]) = 25 |
- |
- |
- |
- |
- |
- |
- |
- |
+ |
|
|
|||||||||||||||||||||||||||||||||||||||||
If f1 then |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
F1 истина |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
Нельзя |
|
||||||||||||||||||||||||||||||||||||||||||
F1 ложь |
+ |
+ |
- |
- |
- |
- |
- |
- |
|
|||||||||||||||||||||||||||||||||||||||||||
Поиск максимума |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||
For i:=1 to n do |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
0 раз |
Невозможно, n1 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
1 раз |
+ |
+ |
- |
- |
+ |
+ |
- |
- |
Нельзя! |
|
||||||||||||||||||||||||||||||||||||||||||
Более 1 раза |
- |
- |
+ |
+ |
- |
- |
+ |
+ |
|
|||||||||||||||||||||||||||||||||||||||||||
For j:=1 to n do |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
0 раз (j>n) |
Невозможно, n1 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
1 раз (j=n) |
+ |
+ |
- |
- |
+ |
+ |
- |
- |
Нельзя |
|
||||||||||||||||||||||||||||||||||||||||||
более 1 раза (j<n) |
- |
- |
+ |
+ |
- |
- |
+ |
+ |
|
|||||||||||||||||||||||||||||||||||||||||||
Поиск минимума |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
For i:=1 to n do |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
0 раз |
Невозможно, n1 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
1 раз |
- |
- |
- |
- |
- |
+ |
- |
- |
Нельзя |
|
||||||||||||||||||||||||||||||||||||||||||
Более 1 раза |
+ |
+ |
+ |
+ |
+ |
- |
+ |
+ |
|
|||||||||||||||||||||||||||||||||||||||||||
For j:=1 to n do |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
0 раз (j>n) |
Невозможно, n1 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
1 раз (j=n) |
- |
- |
- |
- |
- |
+ |
- |
- |
Нельзя |
|
||||||||||||||||||||||||||||||||||||||||||
более 1 раза (j<n) |
+ |
+ |
+ |
+ |
+ |
- |
+ |
+ |
|
|||||||||||||||||||||||||||||||||||||||||||
Сравнение if d>p |
|
|
|
|
|
|
Нельзя |
|
||||||||||||||||||||||||||||||||||||||||||||
d>p |
- |
+ |
- |
- |
+ |
|
||||||||||||||||||||||||||||||||||||||||||||||
D<p |
+ |
- |
- |
- |
- |
|
||||||||||||||||||||||||||||||||||||||||||||||
D=p (Рассмотрен случай в 13 тесте) |
- |
- |
- |
- |
- |
|
||||||||||||||||||||||||||||||||||||||||||||||
Изменение матрицы For i:=1 to n do |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
0 раз |
|
|
Невозможно, n1 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
1 раз |
|
- |
- |
- |
+ |
- |
Нельзя |
|
||||||||||||||||||||||||||||||||||||||||||||
Более 1 раза |
+ |
+ |
+ |
- |
+ |
|
||||||||||||||||||||||||||||||||||||||||||||||
For j:=1 to n do |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
0 раз (j>n) |
|
|
Невозможно, n1 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
1 раз (j=n) |
|
- |
- |
- |
+ |
- |
Нельзя |
|
||||||||||||||||||||||||||||||||||||||||||||
более 1 раза (j<n) |
+ |
+ |
+ |
- |
+ |
|
||||||||||||||||||||||||||||||||||||||||||||||
If f2 |
|
|
|
|
- |
|
Нельзя |
|
||||||||||||||||||||||||||||||||||||||||||||
F2 (истина) |
|
- |
+ |
+ |
+ |
+ |
|
|||||||||||||||||||||||||||||||||||||||||||||
F2 (ложь) |
+ |
- |
- |
- |
- |
|
||||||||||||||||||||||||||||||||||||||||||||||
If A[I,j]>0 |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
A[I,j]>0 |
|
+ |
+ |
- |
+ |
+ |
Нельзя |
|
||||||||||||||||||||||||||||||||||||||||||||
A[I,j]<0 |
+ |
+ |
- |
+ |
+ |
|
||||||||||||||||||||||||||||||||||||||||||||||
A[I,j]=0 |
` |
- |
+ |
+ |
- |
+ |
Нельзя |
|
||||||||||||||||||||||||||||||||||||||||||||
If f2 f2(истина) |
|
- |
+ |
+ |
+ |
+ |
|
|
||||||||||||||||||||||||||||||||||||||||||||
Вывод измененной матрицы For i:=1 to n do |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
0 раз (i>n) |
Невозможно, n1 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
1 раз (i=n) |
- |
- |
+ |
- |
-
|
Нельзя |
|
|||||||||||||||||||||||||||||||||||||||||||||
более 1 раза (i<n) |
|
+ |
+ |
- |
+ |
+ |
Нельзя |
|
||||||||||||||||||||||||||||||||||||||||||||
F2 (ложь) |
|
+ |
- |
- |
- |
- |
|
|||||||||||||||||||||||||||||||||||||||||||||
For j:=1 to n do |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
0 раз (i>n) |
|
Невозможно, n1 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
1 раз (i=n) |
- |
- |
+ |
- |
- |
Нельзя |
|
|||||||||||||||||||||||||||||||||||||||||||||
более 1 раза (i<n) |
+ |
+ |
- |
+ |
+ |
|
8. Недостающие структурные тесты
№ |
Входные данные |
Ожидаемый результат |
Смысл теста |
11 |
3 5 25 25 25 25 26 25 25 25 25 |
Обр.9 |
Аномалия 2 |
12 |
1 5 777,777 |
Обр.9 |
Аномалия 2 |
13 |
2 9 1 -5 4 3 |
Обр 10 |
Разность между максимальным и минимальным элементами равна p |