- •Расчетно-пояснительная записка
- •Содержание
- •1. Постановочная часть 4
- •2. Разработочная часть 9
- •3. Результативная часть 15
- •Аннотация.
- •1. Постановочная часть
- •Теоретическое введение
- •Анализ технического задания
- •1.3 Входные данные. Форма представления результатов.
- •2. Разработочная часть
- •2.1. Обоснование структуры программы.
- •2.2. Структура модулей программы
- •2.3. Спецификация на программные модули.
- •2.4. Ограничения на программу
- •Результативная часть
- •Результаты тестирования
- •Описание пользовательского интерфейса
- •3.3 Заключение и выводы
1.3 Входные данные. Форма представления результатов.
Определяем структуру входных и выходных данных, используемые переменные, выбираем их тип и размер.
Типы:
- Fam: String[30] – переменная содержащая фамилию сотрудника института;
- name: String[30] – переменная содержащая название отдела в котором состоит сотрудник;
- sona: String[30] – переменная содержащая должность занимаемую сотрудником в отделе;
- kold: Integer – переменная содержащая год рождения;
- dohod: Integer – стаж работы;
- oklad: Integer – оклад.
В качестве входных данных принимаем фамилия, название отдела, год рождения, стаж работы, должность, оклад. В качестве выходных данных примем таблицу, куда выводятся данные о сотрудниках пенсионного возраста, выведенные в порядке возрастания по стажу работы.
2. Разработочная часть
2.1. Обоснование структуры программы.
Программа состоит из нескольких модулей различных уровней. У каждого модуля есть свое назначение и функции. Создание модулей в программе позволяет упростить непосредственно текст самой программы. Модулями в любой программе являются процедуры и функции. Составим структурную (модульную) схему программы (Рис 2.1).
рисунок 2.1. Структурная схема программы
Данная схема отражает многомодульную структуру программы, т.е. показывает все подпрограммы (процедуры и функции), входящие в основную программу. Ниже в разделе «Структура модулей» представлены блок-схемы основных модулей программы отвечающих за запросы и сортировку, алгоритмы которых являются наиболее сложными.
2.2. Структура модулей программы
Составим блок-схему модуля «Sotrud»(Отвечает за поиск данных о конкретном сотруднике):
Составим блок-схему модуля «NazPo» (Модуль отвечающий за поиск лиц пенсионного возраста):
Составим блок-схему модуля «SortVkluch» (Модуль отвечающий за сортировку методом включения):
Начало
i = seg
repo = mask[i]
J = 1
Repo.dohod > mssk[J].dohod
J = j+1
k = J
k = k-1
i = 1
True
J = j+1
True
False
sab = 0
massk[k+1] = massk[k]
ReadKey
Конец
massk[J] = repo
key = #13
True
i = i+1
segra = 1
pechat
sab = 1
key = #13
True
sab = 1
Данная блок-схема приведена к сортировке методом прямого включения. Рассмотрим суть данного метода на примере упорядочивания по возрастанию. Суть данного метода: Элементы делятся на уже готовую последовательность и не правильно расположенную последовательность. На каждом шаге начиная с i = 2 из не правильно расположенной последовательности извлекают очередной элемент и перекладываю в готовую последовательность на нужное место при этом взятое значение x либо вставляют на свободное место, либо сдвигают в право на один индекс всю левую сторону. Поиск места осуществляемся «просеиванием» x при движении по последовательности и сравнением с очередным элементом массива.