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

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

Дана квадратная матрица A из n строк и столбцов. Узнать, есть ли в массиве элементы, модуль которых больше 25.Если есть, то вывести сообщение об этом и прекратить работу программы.

3.Примеры.

Тест 3,4: есть элемент, модуль которого больше 25

Остальные тесты - нету

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

Класс

Имя

Описание (смысл), диапазон, точность

Тип

Структура

Входные данные

A

Заданная матрица, |Aij|<=25

вещ

Двухмерный массив (10x10)

n

число строк и столбцов в матрице A, 0 < n  5

цел

простая переменная

res

Выходной файл

Файловая переменная

F1

=false, если в массиве есть |a[I,j]|>25 , иначе =true

логический

простая переменная

Промежу-точные данные

i

Номер текущей строки,

0 < i  5

цел

простая переменная

j

Номер текущей столбца,

0 < j  5

цел

простая переменная

5.Входная форма.

нет ввода/вывода

6.Выходная форма

По обр.9.

7. Аномалии

нет ввода/вывода

8. Тесты

Тест #3,4-есть элемент, по модулю больший 25;

Остальные тесты – нету.

9. Метод

Истина, если есть в матрице элемент |Ai,j|>25;

Ложь, если нет такого элемента

Пусть f1=

Предположим сначала, что такого элемента в матрице нет (f1:=true).

Затем будем просматривать строки, начиная с первой (i:=1)

Пока не просмотрены все (i≤n) и не найден такой элемент (f1=true)

В каждой строке будем просматривать элементы, начиная с первого (j:=1)

П ока не просмотрены все (j≤n) и не найден такой элемент (f1=true)

Если рассматриваемый элемент Aij по модулю больше 25

Т о

искомый элемент найден! (f1:=false)

Запоминаем его местонахождение (i:=i; j:=j)

Переходим к следующему элементу в строке (j:=j+1)

Переходим к следующей строке

Если f1=true, то продолжаем работу программы, иначе прекращаем работу программы.

1

F1:=true

i:=1

0. Алгоритм

i:=i; j:=j; f1:=false

j:=j+1

i:=i+1

j:=1

11. Программа на паскале. Процедура общего вида

procedure CheckArray(var dat:TextFile; var res:TextFile; n:byte; f1:boolean; a:Matrix);

var i,j:byte;

begin

f1:=true;

i:=1;

while(i<=n) and f1 do begin

j:=1;

while (j<=n) and f1 do begin

if abs(A[i,j])>25 then f1:=false;

inc(j);

end;

inc(i);

end;

if not f1 then begin

writeln(res,’Некорректный элемент массива');

CloseFile(dat);

CloseFile(res);

halt

end;

end;

Абстракция А0.6

1.Условие. Поиск максимального элемента матрицы

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