1 |
|
|
2 |
|
|
3 |
4 |
47. |
Продажа билетов на рейсы: список рейсов, прайс |
|
Очередь |
16, 10, 18 |
|||
|
билетов, список компаний, журнал продаж |
|
LIFO |
|
|||
|
билетов. |
|
|
|
|
|
|
48. |
Продажа пиломатериалов: виды пиломатериалов, |
|
Дек |
17, 1, 12 |
|||
|
список заказчиков, журнал учета продаж |
|
|
|
|||
|
пиломатериалов. |
|
|
|
|
|
|
49. |
Склад металлоконструкций: прайс товара |
|
Стек |
18, 2, 13 |
|||
|
металлоконструкций, |
список |
поставщиков, |
|
|
|
|
|
список сотрудников, журнал учета поставок. |
|
|
|
|||
50. |
Система поддержки решений: список экспертов, |
|
Очередь |
19, 3, 17 |
|||
|
список тем обсуждений, список департаментов, |
|
FIFO |
|
|||
|
журнал учета предложений. |
|
|
|
|
||
51. |
Детский сад: список родителей, список детей, |
|
Очередь |
20, 4, 16 |
|||
|
список групп, журнал посещения детского сада. |
|
LIFO |
|
|||
52. |
Дом творчества молодежи: список кружков, |
|
Дек |
21, 5, 15 |
|||
|
список руководителей, список детей, журнал |
|
|
|
|||
|
регистрации посещения кружков. |
|
|
|
|
||
|
Таблица А.2 Методы внутренней сортировки данных |
|
|
||||
№ п/п |
|
Метод сортировки |
|
|
|||
1 |
|
Сортировка простым выбором (выделением) |
|
|
|||
2 |
|
Сортировка обменом (пузырьком). |
|
|
|||
3 |
|
Улучшенный метод пузырька |
|
|
|
|
|
4 |
|
Обменная сортировка со слиянием |
|
|
|||
5 |
|
Обменная сортировка с разделением |
|
|
|||
|
|
|
|
|
|||
6 |
|
Обменная поразрядная сортировка |
|
|
|||
7 |
|
Сортировка вставками (включением) |
|
|
|||
8 |
|
Сортировка Шелла |
|
|
|
|
|
9 |
|
Пирамидальная сортировка (сортировка кучей) |
|
|
|||
10 |
|
Быстрая сортировка |
|
|
|
|
|
11 |
|
Сортировка подсчетом |
|
|
|
|
|
12 |
|
Сортировка слиянием |
|
|
|
|
|
13 |
|
Плавная сортировка |
|
|
|
|
|
14 |
|
Сортировка перемешиванием |
|
|
|
|
|
15 |
|
Распределяющая сортировка |
|
|
|
|
|
16 |
|
Сортировка методом нахождения минимального элемента |
|
||||
17 |
|
Поиск перебором |
|
|
|
|
|
18 |
|
Бинарный поиск |
|
|
|
|
|
19 |
|
Сортировка с помощью включений с уменьшающимися расстояниями |
|||||
20 |
|
Сортировка извлечением |
|
|
|
|
|
21 |
|
Сортировка распределением |
|
|
|
|
|
|
|
|
86 |
|
|
|
|
Приложение Б – Состав и содержание технического задания на создание программ (ГОСТ 34.60289)
№
Раздел
п/п
1 Общие сведения
Содержание
полное наименование программы и ее условное обозначение
шифр темы или шифр (номер) договора;
наименование предприятий разработчика и заказчика системы, их реквизиты
перечень документов, на основании которых создается программа
плановые сроки начала и окончания работ
сведения об источниках и порядке финансирования работ
порядок оформления и предъявления заказчику результатов работ по созданию системы, ее частей и отдельных средств
2 |
Назначение и цели |
|
вид автоматизируемой деятельности |
|
создания |
|
перечень объектов, на которых предполагается использование |
|
(развития) |
|
программы |
|
программы |
|
наименования и требуемые значения технических, |
|
|
|
технологических, производственно-экономических и др. |
|
|
|
показателей объекта, которые должны быть достигнуты при |
|
|
|
внедрении программы |
|
|
|
|
3 |
Характеристика |
|
краткие сведения об объекте автоматизации |
|
бизнес-процесса |
|
сведения об условиях эксплуатации и характеристиках |
|
|
|
окружающей среды |
|
|
|
|
|
|
|
|
4 |
Состав и |
|
перечень стадий и этапов работ |
|
содержание работ |
|
сроки исполнения |
|
по созданию |
|
состав организаций — исполнителей работ |
|
программы |
|
вид и порядок экспертизы технической документации |
|
|
|
программа обеспечения надежности |
|
|
|
программа математического обеспечения |
|
|
|
|
5 |
Порядок контроля |
|
виды, состав, объем и методы испытаний программы |
|
и приемки |
|
общие требования к приемке работ по стадиям |
|
программы |
|
статус приемной комиссии |
|
|
|
|
|
|
|
|
6 |
Требования к |
|
преобразование входной информации к машиночитаемому |
|
составу и |
|
виду |
|
содержанию работ |
|
изменения в объекте автоматизации |
|
по подготовке |
|
сроки и порядок комплектования и обучения персонала |
|
объекта |
|
|
|
автоматизации к |
|
|
|
вводу программы в |
|
|
|
действие |
|
|
|
|
|
|
7 |
Требования к |
|
перечень подлежащих разработке документов |
|
документированию |
|
перечень документов на машинных носителях |
|
|
|
|
8 |
Источники |
|
документы и информационные материалы, на основании |
|
разработки |
|
которых разрабатывается ТЗ и программы |
|
|
|
|
|
|
|
87 |
Приложение В – Листинги кода программирования односвязного списка
Листинг В.1 Пространство имен LinkedListLibrary и класс List для представления односвязного списка
using System; using System.IO;
namespace LinkedListLibrary
{
// Определение класса List public class List
{
private ListNode |
firstNode; |
|
|
private |
ListNode |
lastNode; |
// Имя списка |
private |
string name; |
||
//Построение пустого списка с заданным именем public List(string ListName)
{
name = ListName;
firstNode = lastNode = null;
}
//Конструктор без параметров
public List() : this("list") { }
// Вставка узла в начало списка с проверкой списка на пустоту
public void InsertAtFront(PData insertItem)
{
lock (this)
{
if (IsEmpty())
firstNode = lastNode = new ListNode(insertItem);
else
firstNode = new ListNode(insertItem,
firstNode);
}
}
// Вставка узла в конец списка с проверкой списка на пустоту
88
public void InsertAtBack(PData insertItem)
{
lock (this)
{
if (IsEmpty())
firstNode = lastNode = new ListNode(insertItem);
else
lastNode = lastNode.Next = new ListNode(insertItem);
}
}
// Удаление первого узла из списка public PData RemuveFromFront()
{
lock (this)
{
if (IsEmpty())
throw new EmptyListException(name); PData RemuveItem = firstNode.Data;
if (firstNode == lastNode) firstNode = lastNode = null;
else
firstNode = firstNode.Next;
return RemuveItem;
}
}
// Удаление последнего узла из списка public PData RemuveFromBack()
{
lock (this)
{
if (IsEmpty())
throw new EmptyListException(name); PData RemuveItem = lastNode.Data;
if (firstNode == lastNode) firstNode = lastNode = null;
else
{
ListNode current = firstNode; while (current.Next != lastNode) current = current.Next;
89
lastNode = current; current.Next = null;
}
return RemuveItem;
}
}
// Удаление указанного узла из списка public PData RemuveFrom(int n)
{
lock (this)
{
if (IsEmpty())
throw new EmptyListException(name); PData RemuveItem = firstNode.Data;
if (firstNode == lastNode)
{
firstNode = lastNode = null; return RemuveItem;
}
if (n == 1)
{
firstNode = firstNode.Next;
}
else
{
ListNode current = firstNode; for (int i = 1; i < n - 1; i++)
{
if (current.Next == lastNode)
break;
current = current.Next;
}
RemuveItem = current.Next.Data; if (current.Next == lastNode)
{
lastNode = current; current.Next = null;
}
else current.Next =
current.Next.Next;
}
return RemuveItem;
}
90