Смекни!
smekni.com

Автоматизированная система обработки структур данных (стр. 2 из 3)

При выборе третьего пункта меню необходимо ввести следующую информацию:

Матрицу m на n, элементы которой являются действительными числами

Перед выбором четвертого пункта меню необходимо подготовить файл tab. pas с табличной информацией: номер квитанции, наименование товара, дата поступления товара, срок, на который сдан товар, стоимость товара и расположить его в каталоге с программой.

Вывод результатов работы осуществляется после решения каждой из четырех задач:

При решении первой задачи осуществляется вывод одномерного массива действительных чисел размерностью m, наименьших в каждой строке матрицы m на n.

При решении второй задачи осуществляется вывод преобразованного массива действительных чисел m на m, где в верхнем левом углу находится наибольший элемент введенного массива.

При решении третьей задачи осуществляется вывод преобразованного массива действительных чисел m на n, где элементы входного массива заменены суммой соседних (кроме граничных). При решении четвертой задачи осуществляется вывод отсортированной по дате таблицы с данными различного типа в файл sort_tab. pas.

3. Инструкция по эксплуатации программы

3.1 Назначение программы

Программный комплекс "Автоматизированная система обработки структур данных" предназначен для управления выполнением четырех задач, которые осуществляют обработку массивов данных, а также обработку файлов с данными разного типа.

Кратко опишем основные функции, которые выполняет данное программное средство:

Простой и удобный запуск каждой задачи из единой программной оболочки.

Ввод и обработка двумерных массивов данных: поиск наименьших и наибольших значений матрицы, перестановка строк и столбцов матрицы, вычисление суммы элементов, соседних с текущим.

Считывание, обработка и сохранение данных в файле.

Сортировка данных различного типа.

Удобная система завершения работы после выполнения каждой задачи и функция выхода из программного комплекса

Программный комплекс "Автоматизированная система обработки структур данных" предназначен для работы в операционных системах семейства Windows, состоит из файла progr. exe, никаких дополнительных программных компонентов для работы не требуется. В каталоге с программой также должен располагаться файл tab. pas для решения четвертой задачи.

3.2 Выполнение программы

Запуск программного комплекса осуществляется с помощью файла progr. exe. После этого мы попадаем в главное меню программы (рис.1):

Рис.1. Главное меню программного комплекса.

После выбора соответствующего номера мы попадаем в режим ввода данных той или иной задачи (рис.2):

Рис.2. Режим ввода данных для первой задачи.

Если мы ввели данные не верно, то программа попросит повторить ввод (рис.3):


Рис.3. Действия программы при неверном вводе данных.

Выдача результатов осуществляется после выполнения необходимых условий ввода данных (рис.4):

Рис.4. Выдача результатов работы первой задачи.

После нажатия на клавишу Enter мы попадаем в главное меню программы, где можем продолжить работу или выйти из программы, введя цифру 5.

3.3 Описание контрольного примера

Рассмотрим пример нахождения наибольшего по модулю элемента матрицы и перемещения его в левый верхний угол матрицы с помощью перестановки двух строк или двух столбцов (Задача 2).

Итак, выбираем пункт два в главном меню программы и нажимаем Enter (рис.5):

Рис.5. Выбор режима работы программы

Далее необходимо ввести размер действительной квадратной матрицы и ее элементы (Рис.6):

Рис.6. Ввод действительной квадратной матрицы

После этого получаем следующие результаты (рис.7):

Рис.7. Вывод результатов работы задачи 2.


Число 7 – наибольшее значение матрицы стоит в левом верхнем углу преобразованной матрицы. Нажимаем Enter и возвращаемся в главное меню программного комплекса.

Рассмотрим пример работы третьей задачи.

Ввод данных осуществляется аналогичным для первой задачи образом (рис. 8)

Рис.8. Ввод данных для задачи 3

После этого получаем следующие результаты (рис.9):

Рис.9. Вывод результатов работы задачи 3

Получаем сумму соседних элементов массива, записанных вместо значений 4.0000 и 3.0000.

Рассмотрим пример работы с файлами. В главном меню выбираем пункт номер 4. Если файл tab. pas с нужными данными существует, то выдается следующее сообщение (рис.10):

Рис.10. Вывод результатов работы задачи 4.

Результаты работы программы (отсортированный по дате набор данных) необходимо посмотреть в файле sort_tab. pas.

Если исходного файла не существует, то выдается ошибка (рис.11):

Рис.11. Отсутствие файла с данными

Заключение

В данной курсовой работе решены задачи обработки массивов данных и файлов данных различного типа.

В процессе создания курсовой работы разработан алгоритм решения четырех поставленных подзадач. Они были объединены в единый программный комплекс, реализованный на языке Pascal в среде программирования TurboPascal.

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

Библиографический список

1. ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

2. ГОСТ 19.102-77. ЕСПД. Стадии разработки.

3. ГОСТ 34.602-89. ЕСПД. Информационная технология. Техническое задание на создание автоматизированных систем.

4. ГОСТ 19.402-78. ЕСПД. Описание программы.

5. ГОСТ 19.509-79. ЕСПД. Руководство программиста.

6. ГОСТ 19.505-79. ЕСПД. Руководство оператора.

7. Кнут Д. Искусство программирования для ЭВМ. Т.1. Основные алгоритмы, Т.2. Получисленные алгоритмы, Т.3. Сортировка и поиск / Пер. с. англ. – М.: Мир, 1976-1977.

8. Бутомо И.Д., Самочадин А.В., Усанова Д.В. Программирование на алгоритмическом языке Паскаль для микроЭВМ: Учебное пособие. - Л.: ЛГУ, 1985. - 216 с.

9. Форсайт Р. Паскаль для всех. - М.: Машиностроение, 1986. - 286 с.

10. Электронные вычислительные машины: В 8 кн.: Учебное пособие для вузов /под ред.А.Я. Савельева. Кн.5. Языки программирования (Паскаль, ПЛ/М) - М.: Высш. школа, 1987. - 143 с.

11. Уилсон И.Р., Эддиман А.М. Практическое введение в Паскаль. - М.: Радио и связь, 1983. - 144 с.

12. Керниган Б., Плоджер Ф. Инструментальные средства программирования на языке Паскаль. - М.: Радио и связь, 1985. -312с.

13. Белецкий Я. Турбо Паскаль с графикой для персональных компьютеров перевод с польского Д.И. Юренкова. - М.: Машиностроение, 1991. - 320 с.

14. Сергиевский М.В., Шалашов А.В. Турбо Паскаль 7.0; язык, среда программирования. - М: Машиностроение. -1994,-254 с. ил.

15. Справочник по процедурам и функциям Borland Pascal 7.0. - Киев: Диалектика, 1993. - 272 с.

Приложения

Модуль zad1

unitzad1;

interface

usescrt;

Const {определение констант размерности массива}

max_m = 20;

max_n = 40;

Type{определение типов двумерного и одномерного массива}

Matrix = array [1. . max_m,

1. . max_n] Of Real;

Massiv = array [1. . max_m] Of Real;

{Определение используемых процедур}

Procedure vvod (Var A: Matrix; Var m, n: Integer);

Procedure obrab (A: Matrix; m, n: Integer; Var b: Massiv);

Procedure vyvod (A: Matrix; b: Massiv; m,n: Integer);

implementation

{Процедура ввода элементов двумерного массива и вывода его на экран}

Procedure vvod (Var A: Matrix; Var m, n: Integer);

Var

i, j: Byte;

Begin

Repeat

WriteLn('Введите размеры матрицы не более ',max_m,' ',max_n);

ReadLn(m);

ReadLn(n);

Until (m>1) AND (n>1) AND (m<=20) AND (n<=40);

For i: =1 To m Do

For j: =1 To n Do Begin

WriteLn('Введите элементы матрицы A [', i,',',j,'] ');

ReadLn(A [i,j]);

End;

clrscr;

WriteLn('Исходная матрица');

For i: =1 To m Do Begin

For j: =1 To n Do Begin

write(A [i,j]: 5: 4,' ');

end;

writeln;

end;

End;

{Процедура нахождения наименьших значений строк матрицы}

Procedure obrab (A: Matrix; m, n: Integer; Var b: Massiv);

Var

i, j: Byte;

Begin

For i: =1 To m Do Begin

b [i]: =A [i,1] ;

For j: =2 To n Do

If A [i,j] <b [i] Then b [i]: = A [i,j]

End;

End;

{Процедура вывода массива наименьших значений строк на экран}

Procedure vyvod (A: Matrix; b: Massiv; m,n: Integer);

Var

i,j: Byte;

Begin

WriteLn('Наименьшие значения элементов строк матрицы A: ');

For i: =1 To m Do Begin

WriteLn(b [i]: 5: 4);

End;

End;

end.

Модуль zad2

Unit zad2;

Interface

Usescrt;

Type{определение типа двумерного массива}

Matr = array [1. .50,

1. .50] OfReal;

{Определение используемых процедур}

procedure vvod1(var A1: Matr; var n1: integer);

procedure poiskmax(A1: Matr; n1: integer; var k1,l1: byte);

procedure perestanovka(var A1: Matr; n1,k1,l1: integer);

procedure vyvod1 (A1: Matr; n1: integer);

implementation

{Процедура ввода размеров и элементов матрицы, а также вывод её на экран}

procedure vvod1(var A1: Matr; var n1: integer);

var i,j: byte;

begin

repeat

writeln('Введите размер матрицы');

readln(n1);

until (n1>1);

for i: =1 to n1 do

for j: =1 to n1 do begin

writeln('Введите элементы матрицы A [', i,',',j,'] ');

readln(A1 [i,j])

end;

WriteLn('Исходная матрица');

For i: =1 To n1 Do Begin

For j: =1 To n1 Do Begin

write(A1 [i,j]: 5: 4,' ');

end;