Федеральное агентство пообразованию
Государственное образовательноеучреждение
Высшего профессиональногообразования
Тульский государственныйуниверситет
КАФЕДРА
АВТОМАТИЗИРОВАННЫХ
ИНФОРМАЦИОННЫХ И УПРАВЛЯЮЩИХ СИСТЕМ
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе
на тему
«Автоматизированная система обработки структур данных»Студент гр. ______________ ______________ ______________ (индекс группы) (подпись и дата)
(инициалы и
фамилия) Руководитель ______________ ______________ ______________
(должность и
ученая степень) (подпись и дата)
(инициалы и
фамилия)
ТУЛА 200…
Содержание
Введение. 3
1. Техническое задание. 4
1.1 Назначение разработки. 4
1.2 Требование к программе. 5
1.3 Стадии и этапы разработки. 6
2. Описание программы… 7
2.1 Функциональное назначение. 7
2.2 Описание логической структуры… 7
2.3 Входные и выходные данные. 10
3. Инструкция по эксплуатации программы… 12
3.1 Назначение программы… 12
3.2 Выполнение программы… 13
3.3 Описание контрольного примера. 14
Заключение. 18
Библиографический список. 19
Приложения. 20
Введение
Задача разработки программного обеспечениясистем различного назначения является основополагающей задачей программирования.Курсовая работа предполагает выполнение всех основных стадий и этаповразработки программ и программной документации в соответствии с существующимигосударственными и отраслевыми стандартами.
Основная цель работы заключаетсяв закреплении навыков самостоятельного использования теоретического материала ипрактического опыта для решения задач проектирования и разработки ПО системразличного назначения.
В данной работе рассмотрены иреализованы четыре задачи, объединенные в единую систему. Три задачи содержатобработку массивов данных, а четвертая предполагает работу с файлами и использованиезаписей.
В качестве инструментальногосредства был выбран язык структурного программирования Паскаль, которыйявляется достаточно простым и удобным, а также популярным средством разработкитакого вида программного обеспечения.
В курсовой работе приведенытексты программного кода с подробным описанием, а также технология работысозданных программных средств с выводом результатов.
1. Техническое задание1.1 Назначение разработки
Необходимо решить четыре задачи:
Дана действительная матрицаразмера mxn, причем 1≤m≤20;1≤n≤40. Определить числа b1,…,bm, равные соответственно наименьшим значениямэлементов строк.
Назовем допустимымпреобразованием матрицы перестановку двух строк или двух столбцов. Данадействительная квадратная матрица порядка n. С помощьюдопустимых преобразований добиться того, чтобы один из элементов матрицы,обладающий наибольшим по модулю значением, располагался в левом верхнем углуматрицы.
В массиве X(m,n) каждый элемент (кроме граничных)заменить суммой непосредственно примыкающих к нему элементов по вертикали,горизонтали и диагоналям.
Ввести и сохранить в файледанные следующей структуры: № квитанции, наименование товара, дата поступлениятовара, срок, на который сдан товар, стоимость товара. Организовать просмотрисходных данных и вывести список товаров, отсортированный по дате поступления(по возрастанию, метод пузырька) с указанием № квитанции, наименования товара идаты поступления. Ввод и вывод данных организовать в виде таблиц. Отладкупрограммы производить на примере файла, состоящего не менее чем из 15 записей.
На втором этапе необходимо объединитьэти задачи в единый программный комплекс, ориентированныйна обработку оперативных и внешних структур данных.
Программный комплекс должениметь модульную структуру, т.е. каждая подзадача должна быть реализовананезависимо от других и использовать стандартные программные модули языкапрограммирования Паскаль.1.2 Требование к программе
Основные функции, которые должновыполнять данное программное средство:
Удобный запуск из единойпрограммной среды
Ввод и обработка двумерныхмассивов данных: поиск наименьших и наибольших значений матрицы, перестановкастрок и столбцов матрицы, вычисление суммы элементов, примыкающих к текущему.
Ввод и сохранение данных в файле.
Сортировка данных различноготипа.
Входными данными программногокомплекса являются матрицы размера mxn и nxn, файл с данными различных типов.
Выходные данные – матрицыразмера m, nxn, nxm, файл с данными различных типов.
Для разработки программногокомплекса был выбран язык Паскаль и среда разработки Турбо Паскаль.
Паскаль — это один из наиболеераспространённых языков программирования 80-90х годов, поддерживающий самыесовременные методологии проектирования программ (нисходящее, модульноепроектирование, структурное программирование), имеет свою достаточно богатуюисторию развития.
Новую жизнь языку дала фирмаБорланд, разработавшая на его базе семейство Паскаль – систем, называемых ТурбоПаскалем. Интегрированная среда, обеспечивающая многооконную разработкупрограммной системы, обширный набор встроенных в неё средств компиляции иотладки, доступный для работы через легко осваиваемое меню, — всё этообеспечивает высокую производительность труда программиста, недостижимую приработе со старыми средами.
Язык Турбо Паскаль хорошоподходит для обучения программированию. 1.3 Стадии и этапы разработки
Техническое задание. (1-2 недели)
На стадии технического заданияпроизводится постановка задачи, определяются общие требования к программе,выполняется технико-экономическое обоснование разработки программы,определяются входные и выходные данные, выбирается язык программирования,определяются требования к техническим средствам.
Эскизный проект. (1 неделя)
На стадии эскизного проектауточняются методы решения задачи, определяется структура входных и выходныхданных, разрабатывается общее описание алгоритма решения задачи.
Технический проект. (1-2 недели)
В рамках технического проектапроизводится детальная разработка алгоритма решения задачи, определяются формыпредставления входных и выходных данных, разрабатывается структура программы,окончательно определяется конфигурация технических средств.
Рабочий проект. (6-7 недель)
На стадии рабочегопроектирования производится программирование задачи, отладка программы,составление тестов для испытания программы, разрабатывается документация всоответствии с ЕСПД. Заключительным этапом рабочего проектирования являетсяпроведения испытания программы на контрольном примере, осуществлениекорректировки программы по результатам испытаний.
– Внедрение. (2-3 недели). На стадии внедрения осуществляетсяпередача программы и программной документации в эксплуатацию, оформление акта овнедрении программы.
2. Описание программы2.1 Функциональное назначение
Наименование программы: Автоматизированнаясистема обработки структур данных.
Назначение программы: Обработкатабличных данных, работа с файлами, обработка данных различных типов.
Язык программирования: Языкструктурного программирования Паскаль.
Специальное программноеобеспечение: Среда программирования Турбо Паскаль фирмы Borland.
Функциональные ограничения наиспользование программы: Нет. Работает на всех типах персональных компьютеров. 2.2 Описание логической структуры
Программный комплекс запускаетсяс помощью файла menu. exe. При запускемы видим главное меню программы, состоящее из пяти пунктов: Задача1, Задача2, Задача3,Задача4, Выход.
Блок-схема алгоритма программы сучетом текста программы на языке Паскаль в Приложении выглядит следующимобразом:
/>
/>
Опишем подпрограммы, которыепредставлены в блок-схеме алгоритма:
vvod(A_, m_, n_) – ввод матрицыразмера m на n и вывод её наэкран;
obrab(A_, m_, n_, b_) – поискнаименьших значений строк матрицы;
vyvod(A_,b_, m_,n_) – выводмассива наименьших значений строк матрицы;
vvod1(A1,n_) — – ввод матрицыразмера m на m и вывод её наэкран;
poiskmax(A1,n_,g_,l_) – поиск максимального по модулю значения массива;
perestanovka(A1,n_,g_,l_) – перестановка строк и столбцов матрицы, содержащихмаксимальный элемент;
vyvod1(A1,n_) – вывод матрицы m на n с наибольшим значением в левомверхнем углу;
obrab1(A_,C_,m_,n_) – заменаэлементов матрицы суммой соседних элементов;
vyvod2(C_,m_,n_) – выводпреобразованной матрицы на экран;
vvod2(d_) – чтение из файладанных;
sort(d_) – сортировка данныхфайла по дате;
vyvod3(d_) – записьотсортированных данных в файл;
Эти функции и процедуры,используемые при выборе числовых значений от 1 до 5 описаны в модулях zad1,zad2, zad3, zad4. 2.3 Входные и выходные данные
В начале работы с программнымкомплексом необходимо осуществить выбор необходимого режима работы с помощьючисловой переменной, а затем ввести данные в зависимости от выбранной задачи.
Опишем входные данные подробнее:
Переменная kцелого типа отвечает за выбор пункта главного меню программного комплекса.
При выборе первого пункта меню необходимоввести следующую информацию:
Матрицу mна n, элементы которой являются действительными числами
Размерности матрицы определеныкак константы: m=20, n=40
При выборе второго пункта менюнеобходимо ввести следующую информацию:
Матрицу m на m,элементы которой являются действительными числами
При выборе третьего пункта менюнеобходимо ввести следующую информацию:
Матрицу 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 в среде программирования Turbo Pascal.
В ходе тестирования былиполучены верные результаты работы алгоритмов нахождения максимальных иминимальных значений матрицы, перестановки строк и столбцов местами, нахождениясуммы элементов матрицы, а также сортировки структур данных различного типа,что говорит о достижении целей курсовой работы.
Библиографический список
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
unit zad1;
interface
uses crt;
Const{определение констант размерности массива}
max_m = 20;
max_n = 40;
Type {определение типов двумерного и одномерного массива}
Matrix = array[1… max_m,
1… max_n] OfReal;
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
For i: =1 To mDo
For j: =1 To nDo Begin
WriteLn('Введите элементыматрицы A [', i,',',j,'] ');
ReadLn(A [i,j]);
End;
clrscr;
WriteLn('Исходнаяматрица');
For i: =1 To mDo Begin
For j: =1 To nDo 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 mDo Begin
b [i]: =A [i,1];
For j: =2 To nDo
If 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 mDo Begin
WriteLn(b [i]: 5:4);
End;
End;
end.
Модуль zad2
Unit zad2;
Interface
Uses crt;
Type {определение типа двумерного массива}
Matr = array [1. .50,
1. .50] Of Real;
{Определение используемыхпроцедур}
procedurevvod1(var A1: Matr; var n1: integer);
procedurepoiskmax(A1: Matr; n1: integer; var k1,l1: byte);
procedureperestanovka(var A1: Matr; n1,k1,l1: integer);
procedurevyvod1 (A1: Matr; n1: integer);
implementation
{Процедура ввода размеров иэлементов матрицы, а также вывод её на экран}
procedurevvod1(var A1: Matr; var n1: integer);
var i,j: byte;
begin
repeat
writeln('Введите размер матрицы');
readln(n1);
until (n1>1);
for i: =1 to n1do
for j: =1 to n1do begin
writeln('Введите элементыматрицы A [', i,',',j,'] ');
readln(A1 [i,j])
end;
WriteLn('Исходнаяматрица');
For i: =1 To n1Do Begin
For j: =1 To n1Do Begin
write(A1 [i,j]:5: 4,' ');
end;
writeln;
end;
end;
{Процедура поиска максимальногозначения матрицы}
procedurepoiskmax(A1: Matr; n1: integer; var k1,l1: byte);
var i,j: byte; max:real;
begin
max: =abs(A1 [i,1]);
for i: =1 to n1do begin
for j: =1 to n1do
if abs(A1 [i,j])>max then begin
k1: =i;
l1: =j;
max: =A1 [k1,l1]
end
end
end;
{Процедура перестановки соседнихдвух строк и соседних двух столбцов местами}
procedureperestanovka(var A1: Matr; n1,k1,l1: integer);
var t: real; i,j:byte;
begin
if (k11)then
for j: =1 to n1do begin
t: =A1 [1,j];
A1 [1,j]: =A1 [k1,j];
A1 [k1,j]: =t;
end;
if (l11)then
for i: =1 to n1do begin
t: =A1 [i,1];
A1 [i,1]: =A1 [i,l1];
A1 [i,l1]: =t
end
end;
{Процедура вывода на экранпреобразованной матрицы}
procedurevyvod1 (A1: Matr; n1: integer);
var i,j: byte;
begin
writeln('Преобразованнаяматрица');
for i: =1 to n1do begin
for j: =1 to n1do
write(A1 [i,j]:5: 4,' ');
writeln
end
end;
end.
Модуль zad3
unit zad3;
interface
uses crt;
Const{определение констант размерности массива}
m2 = 50;
n2 = 50;
Type {определение типа двумерного массива}
Mat = array [1.. m2,
1… n2] OfReal;
{Определениеиспользуемых процедур}
Procedure vvod3(Var A: Mat; Var m, n: Integer);
procedureobrab1(var A: Mat; var C: Mat; m,n: integer);
procedurevyvod2 (C: Mat; m,n: integer);
implementation
{Процедура ввода размерности иэлементов матрицы, а также вывода её на экран}
Procedure vvod3(Var A: Mat; Var m, n: Integer);
Var
i, j: Byte;
Begin
Repeat
WriteLn('Введите размерыматрицы');
ReadLn(m);
ReadLn(n);
Until (m>1) AND(n>1) AND (m
For i: =1 To mDo
For j: =1 To nDo Begin
WriteLn('Введите элементыматрицы A [', i,',',j,'] ');
ReadLn(A [i,j]);
End;
clrscr;
WriteLn('Исходнаяматрица');
For i: =1 To mDo Begin
For j: =1 To nDo Begin
write(A [i,j]: 5:4,' ');
end;
writeln;
end;
End;
{Процедура суммированияэлементов массива, граничных с текущим}
procedureobrab1(var A: Mat; var C: Mat; m,n: integer);
var i,j: byte;
begin
for i: =2 tom-1 do
for j: =2 ton-1 do
C [i,j]: =A [i-1,j-1]+A [i,j-1] +A [i+1,j-1] +A [i-1,j] +A [i+1,j] +A [i-1,j+1] +A [i,j+1] +A [i+1,j+1];
for j: =1 to ndo begin
C [1,j]: =A [1,j];
C [m,j]: =A [m,j]
end;
for i: =2 tom-1 do begin
C [i,1]: =A [i,1];
C [i,n]: =A [i,n]
end;
end;
{Процедура выводапреобразованной матрицы}
procedurevyvod2 (C: Mat; m,n: integer);
var i,j: byte;
begin
writeln('Преобразованнаяматрица');
for i: =1 to mdo begin
for j: =1 to ndo
write(C [i,j]: 5:4,' ');
writeln
end
end;
end.
Модуль zad4
unit zad4;
interface
uses crt;
const {определение константы размерности массива}
n_max=15;
type{Определение типа запись}
Tabliza=record
nomer,data: byte;
tovar: string [20];
srok: integer;
stoim: real
end;
spisok=array [1.. n_max] of Tabliza;
{Определение используемыхпроцедур}
procedure vvod2(var d: spisok);
proceduresort(var d: spisok);
procedurevyvod3(d: spisok);
implementation
{Процедурасчитывания данных из файла}
procedurevvod2(var d: spisok);
var
i: byte;
f: text;
res: integer;
fname: string [80];
otv: char;
begin
assign(f,'tab. pas');
fname: ='tab. pas';
{$I-}
reset(f); { открыть файл для чтения }
{$I+}
res: =IOResult;
if res0then
begin
writeln('ОШИБКА: файл ',fname, ' не найден');
writeln('Для продолжения нажмитеEnter');
readln;
halt;
end;
readln(f);
for i: =1 to 15do begin
read(f,d [i]. nomer);
read(f,d [i]. tovar);
read(f,d [i]. data);
read(f,d [i]. srok);
read(f,d [i]. stoim);
end;
close(f);
end;
{Процедура сортировки данных подате}
proceduresort(var d: spisok);
var i,j: byte; t:tabliza;
begin
t: =d [1];
for i: =2 to 15do
for j: =15downto i do
if d [j-1]. data>d[j]. data then begin
t: =d [j-1];
d [j-1]: =d [j];
d [j]: =t
end
end;
{Процедура записиотсортированных данных в файл}
procedurevyvod3(d: spisok);
var
i: byte;
f1: text;
begin
assign(f1,'sort_tab.pas');
rewrite(f1);
writeln(f1,'nomertovar data srok stoimost');
for i: =1 to 15do begin
write(f1,d [i].nomer);
write(f1,d [i].tovar);
write(f1,d [i].data: 3);
write(f1,d [i].srok: 5);
write(f1,d [i].stoim: 8: 0);
writeln(f1);
end;
close(f1);
end;
end.
Основная программа
Program auto;
{Подключение вышеописанныхмодулей}
Uses crt,zad1,zad2,zad3,zad4;
var
A_,C_: Matrix;
A1_: Matr;
A2_,C2_: Mat;
b_: Massiv;
k_,W,m_, n_: Integer;
g_,l_: byte;
d_: spisok;
f_: text;
BEGIN
clrscr;
W: =1;
WhileW6 do begin
{формирование пунктов менюпрограммы}
gotoxy(5,3); write('Автоматизированнаясистема обработки структур данных');
gotoxy(15,9); write('1.Задача 1');
gotoxy(15,11); write('2.Задача 2');
gotoxy(15,13); write('3.Задача 3');
gotoxy(15,15); write('4.Задача 4');
gotoxy(15,17); write('5. Выход');
gotoxy(1, 19); write('Выберитедальнейший режим работы: ');
{Выбор нужного пункта программы}
readln(k_);
case k_ of
1: begin
clrscr;
vvod(A_, m_, n_);
obrab(A_, m_,n_, b_);
vyvod(A_,b_, m_,n_);
writeln('Для продолжения нажмитеEnter');
readln;
end;
2: begin
clrscr;
vvod1(A1_,n_);
poiskmax(A1_,n_,g_,l_);
perestanovka(A1_,n_,g_,l_);
vyvod1(A1_,n_);
writeln('Для продолжения нажмитеEnter');
readln;
end;
3: begin
clrscr;
vvod3(A2_,m_,n_);
obrab1(A2_,C2_,m_,n_);
vyvod2(C2_,m_,n_);
writeln('Для продолжения нажмитеEnter');
readln;
end;
4: begin
clrscr;
vvod2(d_);
sort(d_);
vyvod3(d_);
writeln('Результатзаписан в файл sort_tab. pas. ');
writeln('Для продолжения нажмитеEnter');
readln;
end;
5: W: =6;
end;
clrscr;
end;
END.