Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Р.З Ольга В№11.doc
Скачиваний:
3
Добавлен:
01.09.2019
Размер:
229.38 Кб
Скачать

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 при движении по последовательности и сравнением с очередным элементом массива.