Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tipovoy_Raschet_Георгий.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
508.42 Кб
Скачать

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)

Невозможно, n1

1 раз (i=n)

1

более 1 раза (i<n)

3

3

2

3

3

2

5

For j:=1 to n do

0 раз

Невозможно, n1

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 раз

Невозможно, n1

1 раз

+

+

-

-

+

+

-

-

Нельзя!

Более 1 раза

-

-

+

+

-

-

+

+

For j:=1 to n do

0 раз (j>n)

Невозможно, n1

1 раз (j=n)

+

+

-

-

+

+

-

-

Нельзя

более 1 раза (j<n)

-

-

+

+

-

-

+

+

Поиск минимума

For i:=1 to n do

0 раз

Невозможно, n1

1 раз

-

-

-

-

-

+

-

-

Нельзя

Более 1 раза

+

+

+

+

+

-

+

+

For j:=1 to n do

0 раз (j>n)

Невозможно, n1

1 раз (j=n)

-

-

-

-

-

+

-

-

Нельзя

более 1 раза (j<n)

+

+

+

+

+

-

+

+

Сравнение if d>p

Нельзя

d>p

-

+

-

-

+

D<p

+

-

-

-

-

D=p (Рассмотрен случай в 13 тесте)

-

-

-

-

-

Изменение матрицы

For i:=1 to n do

0 раз

Невозможно, n1

1 раз

-

-

-

+

-

Нельзя

Более 1 раза

+

+

+

-

+

For j:=1 to n do

0 раз (j>n)

Невозможно, n1

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)

Невозможно, n1

1 раз (i=n)

-

-

+

-

-

Нельзя

более 1 раза (i<n)

+

+

-

+

+

Нельзя

F2 (ложь)

+

-

-

-

-

For j:=1 to n do

0 раз (i>n)

Невозможно, n1

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]