Техническое задание на создание автоматизированных систем

Курсовая работа

Процесс подготовки и решения задач на ЭВМ состоит из нескольких этапов:

  • постановка задачи;
  • разработка математической модели;
  • разработка алгоритма;
  • написание программы;
  • тестирование и отладка.

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

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

Представленная программа реализована на языке программирования Borland Pascal версии 7.0.

Язык Borland Pascal 7.0 — это один из самых мощных языков для ЭВМ типа IBM PC/AT, работающий в среде операционной системы DOS, сочетающий в себе как мощность низкоуровневых языков программирования, так и структурированность с надежностью, присущих языкам высокого уровня.

Для реализации данного алгоритма был выбран язык программирования — TURBO PASCAL.

Файл с текстом программы (KURSPRO.PAS) имеет размер, равный 8,9Kb. Исполняемый файл (KURS.EXE) имеет размер 26,3Kb.

1.1 Назначение разработки

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

Цель курсовой работы – создать программу, работающую в четырех режимах:

  • простейшая обработка массива;
  • операции над матрицами;
  • транспонирование матриц;
  • обработка файлов данных.

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

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

1. Задать массив, состоящий из nнеотрицательных чисел. Найти в нем индекс элемента, для которого сумма элементов, стоящих до него, наименее отличается от суммы элементов, стоящих после него.

2. Просуммировать элементы матрицы, расположенные на линиях, параллельных главной диагонали.

3. Назовем допустимым преобразованием матрицы перестановку двух строк или двух столбцов. Дана действительная квадратная матрица порядка n. С помощью допустимых преобразований добиться того, чтобы один из элементов матрицы, обладающий наименьшим значением, располагался в левом нижнем углу матрицы.

35 стр., 17156 слов

Анализ себестоимости строительно монтажных работ курсовая

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

4. Вывести и сохранить в файле данные следующей структуры: ФИО водителя, номер и марка автомашины (5-7 марок), дата техосмотра. Организовать просмотр исходных данных и вывести список владельцев и автомашин определенной марки (по запросу), отсортированных по возрастанию номеров (метод пузырька), с указанием номера машины и даты техосмотра. Ввод и вывод данных организовать в виде таблиц. Отладку программы производить на примере файла, состоящего не менее чем из 15 записей.

1.2 Требование к программе

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

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

В качестве языка программирования выбран язык Паскаль. Данный язык ориентирован на структурное программирование, имеет различные средства контроля и достаточно прост в изучении. Язык отражает наиболее важные и фундаментальные концепции (идеи) алгоритмов в очевидной и легко воспринимаемой форме, что предоставляет средства, помогающие проектировать программу.

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

Применение языка Паскаль значительно подняло «планку» надёжности разрабатываемых программ за счёт требования к описанию используемых в программе переменных, проверки согласованности программы при компиляции без её выполнения..

Для создания и использования программы необходимы следующие минимальные технические требования: Windows 98, процессор с частотой 1ГГц, видеокарта 32Мб, 256Мб ОЗУ, FDD, 50Мб свободного места на жестком диске, клавиатура, мышь, монитор с разрешением 800х600.

Входными данными для 1-ого режима будут являются размерность одномерного массива (n<=100)и сам одномерный массив.

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

Входными данными для 2-ого режима будут являться размерность двумерного массива (n<=10) исам двумерный массив (размерности n×n).Выходные данные будут представлены в виде вещественного числа, равного сумме элементов, находящихся на линиях параллельной главной диагонали матрицы.

Входными данными для 3-его режима будут являться размерность двумерного массива (n<=10)и сам массив (размерности n×n).

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

Входные данные для 4-его режима будут представлены в виде таблицы, содержащей сведения о водителях. Таблица состоит из таких полей как: «№», «ФИО», «Номер авто», «Марка», «Дата техосмотра». Выходные данные будут представлять список сведений о водителях, с указанием ФИО, номера авто, марки, даты техосмотра, отсортированный по возрастаниюпо полю «Марка» методом пузырька.

6 стр., 2541 слов

Система управления скоростными режимами реверсивного прокатного стана

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

1.3 Стадии этапы разработки

Курсовая работа должна быть выполнена в несколько этапов в соответствии с графиком:

1 неделя — постановка задачи;

2 неделя — разработка технического задания;

3 неделя — составление эскизного проекта;

4 — 5 недели — техническое проектирование;

4 — алгоритмизация задачи;

5 — разработка структуры программы, входных и выходных данных;

6 — 13 недели — рабочее проектирование;

6 — 8 — программирование задачи;

9 — 12 — отладка программы;

13 — испытание программы;

14 неделя — разработка программной документации;

15 неделя — оформление пояснительной записки;

16 неделя — защита курсовой работы.

2.1 Функциональное назначение

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

Эта программа предусматривает работу в четырех режимах.

В рамках 1 режима выводится индекс элемента,для которого сумма элементов, стоящих до него, наименее отличается от суммы элементов, стоящих после него.

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

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

В рамках 4 режима можно записать данные в файл и на их основе получить список водителей, с ФИО, с номерами автомобилей и датой техосмотра, с заданным пользователем маркой автомобиля, который отсортирован по возрастанию по критерию «номер авто» методом пузырька.

Для программы существуют функциональные ограничения:

  • в 1-ом режиме размерность массива должна быть <=100;
  • во 2-ом режиме размерность массива должна быть <=10;
  • в 3-ем режиме размерность массива должна быть <=10;
  • в 4-ом режиме количество водителей должно быть <=17;

2.2 Описание логической структуры

Основная программа работает в трех режимах. Схема основной программы представлена на рисунке 1.

 описание логической структуры 1

Рисунок 1 – Схема основной программы

В 1 режиме выводится индекс элемента,для которого сумма элементов, стоящих до него, наименее отличается от суммы элементов, стоящих после него. Схема подпрограммы представлена на рисунке 2.

 описание логической структуры 2

Рисунок 2 – Схема подпрограммы (rezh1)

 описание логической структуры 3

Продолжение рисунка 2

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

Схема подпрограммы представлена на рисунке 3.

 описание логической структуры 4

35 стр., 17292 слов

Технология хранилищ данных

... массивов - гиперкубов (или поликубов). Очевидно, что такое решение требует большей суммарной памяти для хранения данных, ... годов и возникла концепция Хранилищ Данных. Рисунок 2 1.2 Концепция Хранилищ Данных. Хранилище Данных (Data Warehouse) – предпредметно-ориентированный, интегрированный, ... системы ROLAP, HOLAP, MOLAP. 1 глава. Обзор технологии Хранилищ Данных, подходов и имеющихся решений. 1.1 ...

Рисунок 3 – Схема подпрограммы (rezh2)

 описание логической структуры 5

Продолжение рисунка 3

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

Схема подпрограммы представлена на рисунке 4.

 описание логической структуры 6

Рисунок 4 – Схема подпрограммы (rezh3)

 описание логической структуры 7

Продолжение рисунка 4(1)

 описание логической структуры 8

Продолжение рисунка 4(2)

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

 описание логической структуры 9

Рисунок 5 – Схема подпрограммы, осуществляющей обработку файлов данных (rejim4)

 описание логической структуры 10

Продолжение рисунка 5(1)

 описание логической структуры 11

Продолжение рисунка 5(2)

 описание логической структуры 12

Продолжение рисунка 5(3)

Текст основной программы приведен в приложении 1.

2.3 Входные и выходные данные

Определим для каждой из подпрограмм входные и выходные данные.

Входными данными для 1-ого режима являются размерность одномерного массива (n<=100)и сам одномерный массив.

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

Входными данными для 2-ого режима являются размерность двумерного массива (n<=10) исам двумерный массив (размерности n×n).Выходные данные будут представлены в виде вещественного числа, равного сумме элементов, находящихся на линиях параллельной главной диагонали матрицы.

Входными данными для 3-его режима являются размерность двумерного массива (n<=10)и сам массив (размерности n×n).

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

Входные данные для 4 – его режима представлены в виде таблицы, содержащей сведения о водителях. Таблица состоит из таких полей как: «№», «ФИО», «Номер авто», «Марка», «Дата техосмотра». Выходные данные будут представлять список сведений о водителях, с указанием ФИО, номера авто, марки, даты техосмотра, отсортированный по возрастаниюпо полю «Марка» методом пузырька.

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

Разработанная программа позволяет проводить различные операции над массивами и обрабатывать файлы данных.

9 стр., 4312 слов

Система автоматического управления тепловым режимом

... изменяют уставки и (или) параметры настройки локальных систем автоматического управления (регулирования); режим прямого (непосредственного) цифрового (или аналого-цифрового) управления, когда ... минимизация затрат, тепловой и электрической энергии. Автоматизированные системы управления тепловым режимом помещений (АСУ ТРП) являются разновидностью автоматизированных систем управления технологическими ...

Основная программа работает в 4-х режимах.

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

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

В рамках 4-ого режима можно записать данные в файл и на их основе получить список водителей, с ФИО, с номерами автомобилей и датой техосмотра, с заданным пользователем маркой автомобиля, который отсортирован по возрастанию по критерию «номер авто» методом пузырька.

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

Для запуска основной программы необходимо запустить файл KURSPRO.exe. После запуска программы появится окно, содержащее запрос на выбор одного из четырех режимов (рисунок 6).

 выполнение программы 1

Рисунок 6 –Пункты главного меню основной программы

Для простейшей обработки массива необходимо выбрать 1-ый режим (рисунок 7).

 выполнение программы 2

Рисунок 7. Выбор 1-го режима.

После выбора 1-го режима появится окно (рисунок 8), в котором необходимо ввести размерность одномерного массива.

 выполнение программы 3

Рисунок 8. Режим 1.

После ввода размерности необходимо ввести элементы массива (рисунок 9).

 выполнение программы 4

Рисунок 9. Ввод элементов массива.

После завершения ввода элементов массива программа выдает результат (Рисунок 10).

 выполнение программы 5

Рисунок 10. Вывод результата.

Для возврата в главное меню программы необходимо нажать клавишу «Enter». Аналогичным образом выбирается 2-ой режим. Появится окно, представленное на рисунке 11.

Рисунок вывод результата  1

Рисунок 11. Стартовое окно режима 2.

После ввода размерности квадратичной матрицы необходимоввести ее элементы (Рисунок 12).

Рисунок вывод результата  2

По окончании ввода элементов матрицы нужно нажать клавишу «Enter»для вывода результата (Рисунок 13).

Рисунок вывод результата  3

После возврата в главное меню и выбора режима 3 появится окно, аналогичное стартовому окну режима 2 (Рисунок 11).

Ввод размерности и элементов осуществляется также как и в режиме 2. После завершения ввода элементов программа выдает результат (Рисунок 14).

Рисунок вывод результата  4

9 стр., 4221 слов

Рисунок этажное сопряжения балки компоновка балочной клетки

Второй вариант. Усложненный тип балочной клетки. Рисунок 3 – Схема балочной клетки (усложненный вариант) Принимаем шаг вспомогательных балок, а значит и пролет балок настила ... прогибов по формулам: ;. Предельный относительный прогиб для балок настила и вспомогательных принимается . Расчет швов прикрепления настила Сварка ручная электродная Э42 Определяем силу растягивающую кровлю: = кн/см ...

Рисунок 14. Результат выполнения режима 3.

Для выхода из программы в главном меню необходимо ввести «0»

(Рисунок 15).

Рисунок вывод результата  5

Рисунок 15. Выход из программы.

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

В качестве контрольного примера рассмотрим принцип работы режима 4. Для запуска программы необходимо загрузить файл KURSPRO.exe. Появится окно с главным меню основной программы, в котором выберем режим 4 (рисунок 15).

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

Рисунок 16. Выбор режима 4.

После выбора появится окно, в котором предлагается ввести число водителей (Рисунок 17).

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

Рисунок 17. Ввод числа водителей.

Далее появляется окно в котором необходимо заполнитьтаблицу (Рисунок 18).

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

Рисунок 18. Таблица ввода данных о водителях.

После заполнения всей полей 1-ой строки появляется новая строка таблицы, и т.д. (Рисунок 19), количество строк будет равно введенному количеству водителей (Рисунок 20).

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

Рисунок 19. Таблица ввода данных о водителях.

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

Рисунок 20. Таблица ввода данных о водителях.

После завершения ввода данных о водителях предлагается ввести марку автомобиля, по которой будет выполняться сортировка по номеру автомобиля (Рисунок 21).

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

Рисунок 21. Ввод марки автомобиля.

После нажатия клавиши «Enter»программа выдаст список автомобилей выбранной марки отсортированных по возрастанию номеров автомобилей (Рисунок 22).

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

Рисунок 22. Вывод результата режима 4.

Для перехода в основное меню необходимо нажать клавишу «Enter».

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

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

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

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

13 стр., 6104 слов

Дипломная работы содержит страниц рисунков таблиц

... построенной на базе последней версии 1С:Предприятие, основной задачей которого является автоматизация работы менеджеров шиномонтажа. Программа имеет два рабочих стола: один предназначен ... одним недостатком пользователи отмечают неправильное формирование отчетов, в которых подсчеты выполняются с ошибками. Рисунок 1 – Интерфейс программы «Универсальная Система Учета: СТО» 2.2 «Хеликс:Автомойка и ...

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

Выполнение курсовой работы способствовало закреплению, углублению и обобщению знаний, полученных мною за время обучения. Я приобрел опыт проектирования и разработки программ, усвоил конкретные методы и технологии программирования.

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

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. Моргун А. Н. Программирование на языке Паскаль (Pascal).

Основы обработки структур данных, Москва: «Диалектика», 2005.

8. Алексеев Е.Р., Чеснокова О.В. Турбо Паскаль 7.0, Москва: NTpress, 2007.

9. Попов В.Б. Turbo Pascal для школьников, Москва: «Финансы и статистика», 2002г.

10. Меняев М.Ф. Информатика, Москва: Омега-Л, 2003г.

11. Фаронов В.В. Turbo Pascal 7.0. начальный курс, Москва: Нолидж, 2001г.

Приложение 1.

program kurspro;

  • uses crt;
  • var w:integer;
  • procedure rezh1;
  • const lim=100;
  • var b:array [1..lim] of real;
  • n,q,z,x,i,ind,k,l:integer;
  • min,s,p,v:real;

begin

clrscr;

  • writeln(‘Режим 1’);
  • writeln;
  • writeln(‘Введите размерность массива, n:’);
  • writeln;
  • read(n);
  • writeln;
  • writeln(‘Введите элементы массива (только неотрицательные элементы):’);
  • writeln;

{Ввод элементов массива}

gotoXY(whereX+7,whereY);

  • q:=whereX;
  • z:=whereY;
  • x:=1;

for i:=1 to n do

begin

if i=10 then

begin

z:=z+2;

  • x:=1;
  • end;
  • gotoXY(q*x,z);
  • read(b[i]);
  • x:=x+1;
  • end;
  • writeln;
  • min:=32000;

for i:=2 to n do

begin

s:=0;

  • p:=0;

for k:=i-1 downto 1 do

p:=p+b[k];

for l:=i+1 to n do

s:=s+b[l];

  • v:=abs(s-p);
  • if v<min then

begin

min:=v;

  • ind:=i;
  • end;
  • end;
  • writeln(‘Индекс элемента, удовлетворяющего условие: ‘,ind);
  • writeln;
  • writeln(‘Для возврата в главноe меню нажмите «ENTER» ‘);
  • readln;

readln

end;

  • procedure rezh2;
  • const lim=10;
  • var a:array [1..lim, 1..lim] of real;
  • q,z,i,j,n:integer;
  • s,p:real;

begin

50 стр., 24825 слов

Технологическая реализация системы подготовки обработки детали ...

... клавиш; дружественность интерфейса пользователя. 3.3 Условия эксплуатации корректная работа пользователей; соблюдение инструкций работы с программным модулем; соответствие программного обеспечения, установленного на ... программных модулей; описание функций программных модулей. Инструкция пользователю по работе с программными модулями. 5. Технико-экономические показатели Разработать систему подготовки ...

clrscr;

  • writeln(‘Режим 2’);
  • writeln;
  • writeln(‘Введите размерность квадратичной матрицы, n: ‘);
  • readln(n);
  • writeln(‘Введите элементы матрицы (размерности ‘,n,’x’,n,’): ‘);
  • gotoXY(wherex+10,whereY);
  • q:=whereX;
  • z:=whereY;

for i:=1 to n do begin

for j:=1 to n do begin

gotoXY(q*j,z+i*2);

  • read(a[i,j]);
  • s:=s+a[i,j];

if i=j then

p:=p+a[i,j];

  • end;
  • end;
  • writeln;
  • writeln;
  • writeln(‘Суммаэлементовравна:’,s-p:5:2);
  • writeln;
  • writeln(‘Для возврата в главноe меню нажмите «ENTER» ‘);
  • writeln;
  • writeln;
  • readln;
  • readln;
  • end;
  • procedure rezh3;
  • const lim=10;
  • var a:array [1..lim,1..lim] of real;
  • n,i,j,x,y,k,l:integer;
  • min,c:real;

begin

clrscr;

  • writeln(‘Режим 3’);
  • writeln;
  • min:=32000;
  • writeln(‘Введите размерность квадратичной матрицы, n: ‘);
  • read(n);
  • writeln;

{Vvod elementov matrici}

writeln(‘Введитеэлементыматрицы (размерности ‘,n,’x’,n,’) :’);

  • gotoXY(whereX+10,whereY);
  • x:=whereX;
  • y:=whereY;

for i:=1 to n do

for j:=1 to n do

begin

gotoXY(x*j,i*2+y);

  • read(a[i,j]);
  • if a[i,j]<min

then

begin

min:=a[i,j];

  • k:=i;
  • l:=j;
  • end;
  • end;
  • writeln;
  • if k<n then

begin

for j:=1 to n do

begin

{smena strok}

c:=a[k,j];

  • a[k,j]:=a[n,j];
  • a[n,j]:=c;
  • end;
  • end;
  • if l>1 then

begin

for i:=1 to n do

begin

{smena stolbcov}

c:=a[i,l];

  • a[i,l]:=a[i,1];
  • a[i,1]:=c;
  • end;
  • end;

{Vivod konechnoj matrici}

writeln;

  • writeln(‘Конечнаяматрица:’);
  • gotoXY(whereX+10,whereY);
  • x:=whereX;
  • y:=whereY;

for i:=1 to n do

begin

if y+i*2<=25 then

begin

for j:=1 to n do

begin

gotoxy(x*j,y+i*2);

  • write(a[i,j]:3:2);
  • end;

end

else

begin

writeln;

for j:=1 to n do

begin

gotoxy(x*j,25);

  • write(a[i,j]:3:2);
  • end;
  • end;
  • writeln;
  • end;
  • writeln;
  • writeln(‘Для возврата в главноe меню нажмите «ENTER» ‘);
  • readln;

readln

end;

  • procedure rezh4;

type vod=record

num:integer;

  • fi,mark,date:string;
  • end;
  • var avto: array [1..17] of vod;
  • box:vod;
  • kol,i,x,y,kof,kl,ch:integer;
  • vma:string;
  • zap: file of vod;

begin

14 стр., 6945 слов

Автоматизация работы с базами данных

... Pascal для автоматизации процесса работы с небольшими БД. Для наиболее эффективного использования ресурсов ЭВМ и обеспечения хорошей скорости обработки данных необходимо использовать динамические структуры данных. 1. ... случае содержательная постановка задачи - это задание на выполнение курсовой работы. Название и содержание работы приведены в варианте. Вариант 18. «Отдел кадров» Используя двоичное ...

clrscr;

  • assign(zap,’zap.txt’);
  • rewrite(zap);
  • writeln(‘Режим 4’);
  • writeln;
  • writeln(‘Введите количество водителей:’);
  • read(kol);
  • clrscr;
  • writeln(‘Введите данные о водителях’);
  • writeln;
  • writeln(‘ ———————————————————————-‘);
  • writeln(‘ | № | ФИО водителя | Номер авто | Марка |Дата техосмотра|’);
  • writeln(‘ ———————————————————————-‘);

{Ввод}

for i:=1 to kol do

begin

if i<10 then

begin

writeln(‘ | ‘,i,’ | | | | |’);

  • writeln(‘ ———————————————————————-‘);
  • x:=whereX;
  • y:=whereY;
  • gotoXY(8,4+i*2);

if i=1 then

readln(avto[i].fi);

  • readln(avto[i].fi);
  • gotoXY(27,4+i*2);
  • readln(avto[i].num);
  • gotoXY(43,4+i*2);
  • readln(avto[i].mark);
  • gotoXY(56,4+i*2);
  • readln(avto[i].date);

end

else

begin

writeln(‘ | ‘,i,’ | | | | |’);

  • writeln(‘ ———————————————————————-‘);
  • x:=whereX;
  • y:=whereY;
  • gotoXY(8,5+9*2);
  • readln(avto[i].fi);
  • gotoXY(27,5+9*2);
  • readln(avto[i].num);
  • gotoXY(43,5+9*2);
  • readln(avto[i].mark);
  • gotoXY(56,5+9*2);
  • readln(avto[i].date);
  • end;
  • write(zap,avto[i]);
  • gotoXY(x,y);
  • end;
  • close(zap);
  • assign(zap,’zap.txt’);
  • reset(zap);
  • writeln(‘Введите марку, по которой необходимо выполнить сортировку’);
  • read(vma);

{Отсев ненужных марок}

kof:=1;

  • ch:=0;

for i:=1 to kol do

begin

read(zap,avto[i]);

  • if avto[i].mark=vma then

begin

avto[kof]:=avto[i];

  • kof:=kof+1;
  • ch:=ch+1;
  • end;
  • end;

{Сортировка}

repeat

kl:=0;

for i:=1 to ch-1 do

begin

if avto[i].num>avto[i+1].num then

begin

box:=avto[i+1];

  • avto[i+1]:=avto[i];
  • avto[i]:=box;

kl:=1

end;

  • end;
  • until kl=0;

{Вывод}

clrscr;

  • writeln(‘Отсортированный список:’);
  • writeln;
  • writeln(‘ ———————————————————————-‘);
  • writeln(‘ | № | ФИО водителя | Номер авто | Марка |Дата техосмотра|’);
  • writeln(‘ ———————————————————————-‘);

for i:=1 to ch do

begin

if i<10 then

begin

writeln(‘ | ‘,i,’ | | | | |’);

  • writeln(‘ ———————————————————————-‘);
  • x:=whereX;
  • y:=whereY;
  • gotoXY(8,4+i*2);
  • writeln(avto[i].fi);
  • gotoXY(27,4+i*2);
  • writeln(avto[i].num);
  • gotoXY(43,4+i*2);
  • writeln(avto[i].mark);
  • gotoXY(56,4+i*2);
  • writeln(avto[i].date);

end

else

begin

writeln(‘ | ‘,i,’ | | | | |’);

  • writeln(‘ ———————————————————————-‘);
  • x:=whereX;
  • y:=whereY;
  • gotoXY(8,5+9*2);
  • writeln(avto[i].fi);
  • gotoXY(27,5+9*2);
  • writeln(avto[i].num);
  • gotoXY(43,5+9*2);
  • writeln(avto[i].mark);
  • gotoXY(56,5+9*2);
  • writeln(avto[i].date);

if i=11 then

begin

readln;

  • readln;
  • end;
  • end;
  • gotoXY(x,y);
  • end;
  • close(zap);
  • writeln;
  • writeln(‘Длявозвратавглавноe менюнажмите «ENTER»‘);
  • readln;

readln

end;

begin {Основнаяпрограмма}

repeat

clrscr;

  • writeln(‘Главноеменю’);
  • writeln;
  • writeln(‘Для выбора необходимого режима режима введите:’);
  • writeln;
  • writeln(‘»1″ — Простейшая обработка массива’);
  • writeln(‘»2″ — Операции над матрицами’);
  • writeln(‘»3″ — Транспонирование матриц’);
  • writeln(‘»4″ — Обработка файлов данных’);
  • writeln(‘»0″ — Выход из программы’);
  • writeln;
  • read(w);

case w of

1: rezh1;

2: rezh2;

3: rezh3;

4: rezh4;

  • end;
  • until w=0;
  • end.