Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Алгоритмизация. Технология разработки программного обеспечения. Учебно-методическое пособие.pdf
X
- •ВВЕДЕНИЕ
- •ВЫБОР ТЕМЫ КУРСОВОГО ПРОЕКТА
- •ИСХОДНАЯ ИНФОРМАЦИЯ ДЛЯ ВЫПОЛНЕНИЯ КУРСОВОГО ПРОЕКТА
- •ОБЩИЙ ПОРЯДОК ВЫПОЛНЕНИЯ КУРСОВОГО ПРОЕКТА
- •ПРИМЕР ВЫПОЛНЕНИЯ КУРСОВОГО ПРОЕКТА
- •РЕКОМЕНДАЦИИ ПО РЕАЛИЗАЦИИ АЛГОРИТМОВ
- •СОСТАВ И ОБЪЕМ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ К КУРСОВОМУ ПРОЕКТУ
- •ОФОРМЛЕНИЕ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ
- •Библиографический список
- •ПРИЛОЖЕНИЯ
- •Приложение 1
- •Приложение 2
- •Приложение 3
- •РЕКОМЕНДАЦИИ ПО НАПИСАНИЮ ИНСТРУКЦИИ ПОЛЬЗОВАТЕЛЯ
- •Приложение 4

Организация данных
Имя поля
Тип
Ширина/дес. знаки
Параметр/Условие проверки
Min
Max
a_def N 5/2
a_max N 5/2
b_def N 4/2
b_max N 4/2
q_sum_def
N
7
Суммарный недоотпуск газа
Имя поля
Тип
Ширина/дес. знаки
Параметр/Условие проверки
Коэффициент a
CONFIG.a_min < a < CONFIG.a_max
Коэффициент b
CONFIG.b_min < b < CONFIG.b_max
Имя поля
Тип
Ширина/дес. знаки
Параметр/Условие проверки
Filename C 5
Код варианта/Уникальность; допустимые символы
Comment C 70
Наименование
Структура организации данных представлена на рис. 30. Все файлы данных имеют
одинаковый формат DBF. Структура файлов представлена в табл 2–6.
В корневой папке приложения находятся 3 файла CONFIG.DBF, SPR_PRED.DBF,
VARIANT.DBF и 2 папки с именами EDIT и PROJECT.
Значения параметров, принимаемые по умолчанию, и их допустимые диапазоны изменения
хранятся в файле CONFIG.DBF (см. табл. 2). Справочная база предприятий хранится в файле
SPR_PRED.DBF (см. табл. 3). Список вариантов расчета хранится в файле VARIANT.DBF
(см. табл. 4). Информация из этих файлов доступна в течение всего сеанса работы.
В папке PROJECT находятся папки, содержащие файлы вариантов расчета и пустые прототипы файлов c именами PRD.DBF (см. табл. 5) и OID.DBF (см. табл. 6). Название папки представляет собой код, который вводит пользователь (см. рис. 21). В каждой папке находятся 2 файла:
<код>PRD.DBF и <код> OID.DBF: первый предназначен для хранения исходной информации
и результатов расчета по предприятиям (см. табл. 5), второй — для хранения общих данных
(см. табл. 6). Имена файлов формируются автоматически, префикс имени файлов совпадает с
именем папки.
Папка EDIT является папкой, в которую при выборе пользователем варианта расчета автоматически переносятся файлы из папки варианта. Префикс файлов заменяется на ttttt. Приложение всегда работает с копией файлов. После выбора нового варианта, при окончании сеанса
работы измененные данные и результаты расчета автоматически сохраняются в исходной
папке варианта.
Таблица 2
Структура файла CONFIG.DBF
Коэффициент a
a_min < a_def < a_max;
a_min N 5/2
b_min N 4/2
q_sum_max
q_sum_min
naim_pred C 50 Название предприятия/Уникальность
a N 5/2
b N 4/2
N
N
7
7
Структура файла SPR_PRED.DBF
Структура файла VARIANT.DBF
q_sum_min < q_sum_def < q_sum_max;
a_min < a_max
Коэффициент b
b_min < b_def < b_max;
b_min < b_max
q_sum_min < q_sum_max
0,00 99,99
1,01 9,99
0 9999999
Таблица 3
Таблица 4
21

Таблица 5
Имя поля
Тип
Ширина/дес.знаки
Параметр/Условие проверки
naim_pred C 50
Название предприятия/Уникальность
a N 5/2
Коэффициент a
b N 4/2
Коэффициент b
q N 10/1
Недоотпуск газа
y N 10/1
Ущерб, наносимый предприятию
Имя поля
Тип
Ширина/дес. знаки
Примечание
Суммарный недоотпуск
q_sum _min<q_sum< q_sum_max
y_sum N 10/1
Суммарный ущерб
Структура файла tttttPRE.DBF
Таблица 6
Структура файла tttttOID.DBF
q_sum N 10/1
Классы
При разработке приложения рекомендуется создать библиотеку классов объектов и экранных
форм. Для рассматриваемого приложения необходимы классы, обеспечивающие:
• ввод числовых данных и проверку значений на попадание в допустимую область изме-
нения параметра;
• ввод символьных данных и проверку уникальности введенного значения;
• выбор данных из списков и проверку уникальности выбора;
• экранную форму, включающую объект типа PageFrame и обеспечивающую ввод и
проверку значений, принимаемых по умолчанию, и диапазонов изменения параметров;
• экранную форму, включающую объект типа Grid и обеспечивающую ввод информации
в таблицу. Заголовок таблицы может содержать объединенные заголовки столбцов. Заголовки
столбцов могут быть многострочными. Боковик таблицы может включать несколько столбцов
и фиксироваться;
• экранную форму, включающую кнопки и обеспечивающую выполнение подключенных
процедур.
Сложность разработки классов с требуемыми функциональными возможностями зависит
от языка программирования. Во многие современные инструментарии, используемые при
разработке программных приложений, встроены Class Designer и Form Designer, которые
позволяют существенно облегчить и ускорить процесс разработки приложения.
В прил. 3 и 4 представлено описание реальных тепловых сетей, участки которых заданы
парой названий объектов, ограничивающих их. Для упрощения решения задач, определенных
темами 1–15, необходимо перевести имена объектов в номера. Это можно сделать в 2 этапа:
на первом этапе пронумеровать все объекты, на втором — для каждого участка для объектов,
его ограничивающих, найти их имена в списке объектов и заменить соответствующими
номерами. В среде Excel это можно сделать с помощью функции ПОИСКПОЗ. Результат
перехода от имен объектов к номерам для сети (см. прил. 4) представлен на рис. 30.
При выполнении курсовых проектов по темам 1–10 используется матрица смежности,
построенная по представленной в прил. 3–4 информации. Напомним, что матрицей смежности M
является матрица, каждая строка и столбец которой соответствуют вершине графа. Если
вершина I и вершина J связаны ребром, то элемент матрицы mij = 1. В среде Excel матрицу M
можно сформировать, используя функции ЕСЛИ, ЕНД, ПОИСКПОЗ, СЦЕПИТЬ, предварительно образовав пары «Начало-Конец» (рис. 30 — последний столбец, функция СЦЕПИТЬ).
На рис. 31 представлена матрица смежности, построенная по данным рис. 30.
РЕКОМЕНДАЦИИ ПО РЕАЛИЗАЦИИ АЛГОРИТМОВ
22

Номер
Название объекта
Номер объекта
Номер
конца
1
ЦТП-109-п
1
УТ-101-п
УТ-102-п
28
30
28-30
2
ЦТП-109-о
2
УТ-102-п
УТ-103-п
30
34
30-34
3
Гараж-о
3
УТ-103-п
УТ-104-п
34
36
34-36
4
Гараж-п
4
УТ-104-п
Роддом-п
36
14
36-14
5
Дезкам-о
5
УТ-105-п
Пищеблок-п
40
12
40-12
6
Дезкам-п
6
УТ-105-п
СК-106-п
40
16
40-16
7
Лаборат-о
7
УТ-104-п
УТ-104ф-п
36
38
36-38
8
Лаборат-п
8
УТ-104ф-п
УТ-105-п
38
40
38-40
9
Леч корп-о
9
ЦТП-109-п
УТ-101-п
1
28
1-28
10
Леч корп-п
10
УТ-103-п
УТ-103/1-п
34
32
34-32
11
Пищеблок-о
11
УТ-103/1-п
Лаборат-п
32 8 32-8
12
Пищеблок-п
12
УТ-103/1-п
Гараж-п
32 4 32-4
13
Роддом-о
13
УТ-101-п
Дезкам-п
28 6 28-6
14
Роддом-п
14
СК-106-п
ТК-107-п
16
20
16-20
15
СК-106-о
15
ТК-107-п
Леч корп-п
20
10
20-10
16
СК-106-п
16
ТК-107-п
ТК-108-п
20
22
20-22
17
Терапия-о
17
ТК-108-п
ТК-108ф-п
22
24
22-24
18
Терапия-п
18
ТК-108ф-п
ТК-109-п
24
26
24-26
19
ТК-107-о
19
ТК-109-п
Терапия-п
26
18
26-18
20
ТК-107-п
20
УТ-101-о
УТ-102-о
27
29
27-29
21
ТК-108-о
21
УТ-102-о
УТ-103-о
29
33
29-33
22
ТК-108-п
22
УТ-103-о
УТ-104-о
33
35
33-35
23
ТК-108ф-о
23
УТ-104-о
Роддом-о
35
13
35-13
24
ТК-108ф-п
24
УТ-105-о
Пищеблок-о
39
11
39-11
25
ТК-109-о
25
УТ-105-о
СК-106-о
39
15
39-15
26
ТК-109-п
26
УТ-104-о
УТ-104ф-о
35
37
35-37
27
УТ-101-о
27
УТ-104ф-о
УТ-105-о
37
39
37-39
28
УТ-101-п
28
ЦТП-109-о
УТ-101-о
2
27
2-27
29
УТ-102-о
29
УТ-103-о
УТ-103/1-о
33
31
33-31
30
УТ-102-п
30
УТ-103/1-о
Лаборат-о
31 7 31-7
31
УТ-103/1-о
31
УТ-103/1-о
Гараж-о
31 3 31-3
32
УТ-103/1-п
32
УТ-101-о
Дезкам-о
27 5 27-5
33
УТ-103-о
33
СК-106-о
ТК-107-о
15
19
15-19
34
УТ-103-п
34
ТК-107-о
Леч корп-о
19 9 19-9
35
УТ-104-о
35
ТК-107-о
ТК-108-о
19
21
19-21
36
УТ-104-п
36
ТК-108-о
ТК-108ф-о
21
23
21-23
37
УТ-104ф-о
37
ТК-108ф-о
ТК-109-о
23
25
23-25
38
УТ-104ф-п
38
ТК-109-о
Терапия-о
25
17
25-17
39
УТ-105-о
39
Дезкам-п
Дезкам-о
6 5 6-5
40
УТ-105-п
40
Гараж-п
Гараж-о
4 3 4-3
41
Лаборат-п
Лаборат-о
8 7 8-7
42
Роддом-п
Роддом-о
14
13
14-13
43
Пищеблок-п
Пищеблок-о
12
11
12-11
44
Леч корп-п
Леч корп-о
10 9 10-9
45
Терапия-п
Терапия-о
18
17
18-17
объекта
Название
объекта
Номер
участка
начала
участка
конца
участка
начала
участка
конца
участка
начала —
номер
Рис. 30. Пример перехода от имен объектов к их номерам
23

Рис. 31. Пример матрицы смежности, построенной по данным рис. 30
Ниже приводятся алгоритмы, которые рекомендуется использовать при выполнении курсовых
проектов (темы 11–15) [2; 4].
Тема 11. Анализ связности неориентированного графа (поиск в ширину)
Результатом работы приложения являются массивы mark_node и mark_link, элементы
которых содержат номер подграфа, к которому принадлежат вершина и ребро.
При маркировке вершин графа (массив mark_node) предлагается использовать следующий
принцип:
• 0 — связность вершины не определена;
• I — вершина принадлежит подграфу I.
При маркировке ребер графа (массив mark_link) предлагается использовать следующий
принцип:
• 0 — принадлежность ребра не определена;
• I — ребро принадлежит подграфу I.
Алгоритм состоит из следующих шагов:
1. Обнулить массивы mark_node и mark_link.
2. I_subgraph = 1.
3. Положить количество немаркированных вершин в графе count_notmark_nodes равным
количеству вершин в графе count_nodes.
4. Повторять, пока count_notmark_nodes > 0:
4.1. Определить количество немаркированных вершин в графе count_notmark_nodes.
4.2. Найти первую немаркированную вершину (mark_node(i_node) = 0).
4.3. mark_node (i_node) = I_subgraph.
24

4.4. Count_mark_nodes = 1.
4.5. Повторять пока Count_mark_nodes > 0:
4.5.1. Count_mark_nodes = 0.
4.5.2. Для каждого немаркированного ребра выполнить:
4.5.2.1. Найти ребро, у которого маркировка вершины начала или конца
равна I_subgraph.
4.5.2.2. Маркировать смежный узел.
4.5.2.3. Маркировать ребро.
4.5.2.4. Count_mark_nodes = Count_mark_nodes + 1.
4.6. Определить количество немаркированных вершин в графе count_notmark_nodes.
4.7. Если count_notmark_nodes > 0, то I_subgraph = I_subgraph + 1.
Тема 12. Выявление объектов, подключенных к источнику
Результатом работы приложения является массив mark_node, элементы которого содержат
номер источника, с которым связана вершина. Маркер «0» соответствует случаю, когда вершина
не связана ни с одним источником.
При маркировке вершин графа (массив mark_node) предлагается использовать следующий
принцип:
• 0 — связность вершины с источником не определена;
• I — вершина связана с источником I.
При маркировке ребер графа (массив mark_link) предлагается использовать следующий
принцип:
• 0 — принадлежность ребра не определена;
• I — ребро принадлежит подграфу, в который входит источник I.
Алгоритм состоит из следующих шагов:
1. Обнулить массивы mark_node и mark_link.
2. Для каждого источника I_source = 1, count_source выполнить:
2.1. mark_node (i_source) = I_source.
2.2. Count_mark_nodes = 1.
2.3. Повторять, пока Count_mark_nodes > 0:
2.3.1. Count_mark_nodes = 0.
2.3.2. Для каждого немаркированного ребра:
2.3.2.1. Найти ребро, у которого маркировка вершины начала или конца равна
I_source.
2.3.2.2. Маркировать смежный узел.
2.3.2.3. Маркировать ребро.
2.3.2.4. Count_mark_nodes = Count_mark_nodes + 1.
Тема 13. Выявление ненагруженных тупиковых ответвлений в сети
Под ненагруженным тупиковым ответвлением понимается подграф, не имеющий циклов,
для каждой вершины которого нагрузка равна 0. Результатом работы приложения является
массив mark_node, элементы которого содержат номер источника, с которым связана вершина.
Маркер «0» соответствует случаю, когда вершина не связана ни с одним источником. Отрицательный маркер «–I» соответствует случаю, когда вершина связана с источником I и принадлежит тупиковому ответвлению. Вершина является ненагруженным тупиком, если ее
валентность равна 1, нагрузка равна 0 и она не является источником.
Решение задачи состоит из двух этапов: на первом этапе необходимо найти множество
вершин, связанных с источником (см. тему 12); на втором — множество вершин, связанных
с источником, разбить на 2 подмножества — вершины, принадлежащие тупиковому ответвлению и не принадлежащие ему.
25

Алгоритм для второго этапа — выявление ненагруженных тупиковых ответвлений:
а б
в г
1. Вычислить валентность всех вершин графа.
2. Count_mark_links = 1.
3. Повторять, пока Count_mark_links > 0:
3.1. Count_mark_links = 0.
3.2. Для каждого немаркированного ребра выполнить:
3.2.1. Если одна из вершин, инцидентных ребру, является тупиком, то:
3.2.1.1. Изменить знак у маркера тупиковой вершины.
3.2.1.2. Валентность вершин, инцидентных ребру, уменьшить на 1.
3.2.1.3. Ребро маркировать.
3.2.1.4. Count_mark_links = Count_mark_links + 1.
Тема 14. Эквивалентирование нагруженных тупиковых ответвлений
Процесс эквивалентирования нагруженных тупиковых ответвлений начинается с терминальных узлов. В результате определяются расходы на всех ребрах и нагрузка корневой вершины,
которая увеличивается на суммарную нагрузку всех вершин, вошедших в тупиковое ответвление
(рис. 32). Индексы всех вершин и ребер, вошедших в нагруженные тупиковые ответвления,
равны 1.
При известном давлении в корневой вершине можно найти давления во всех вершинах,
принадлежащих тупиковому ответвлению (обратный ход).
Рис. 32. Последовательность эквивалентирования нагруженных тупиковых ответвлений:
a — исходное состояние; б — перенос нагрузки в вершины 3 и 4; отсекаемые вершины — 1 и 2;
в — перенос нагрузки в вершину 4; отсекаемая вершина 3;
г — перенос нагрузки в вершину S; отсекаемая вершина 4
Алгоритмы прямого и обратного ходов
Прямой ход — скручивание нагруженных тупиковых ответвлений.
1. Вычислить валентность всех вершин.
2. Count_mark_links = 1.
3. Повторять, пока Count_mark_links > 0:
3.1. Count_mark_links = 0.
3.2. Для каждого немаркированного ребра j (i; k) выполнить:
26

3.2.1. Если валентность одной из инцидентных ребру вершин равна 1 и она не
.Gxkj=
.GGG
kii
+=
.Gxij−=
.GGG
ikk
−=
P P H Sx x
i k j jj j
=+−
P P H Sx x
k i j jj j
=−−
является источником, то:
3.2.1.1. Валентность обеих вершин уменьшить на 1.
3.2.1.2. Ребро маркировать.
3.2.1.3. Присвоить индексу вершины I значение 1.
3.2.1.4. Count_mark_links = Count_mark_links + 1.
3.2.1.5. Если отсекаемая вершина — конец ребра (k), то:
3.2.1.5.1. Присвоить значению расхода значение нагрузки отсекаемой
вершины
3.2.1.5.2. Увеличить значение нагрузки смежной вершины на значение
нагрузки отсекаемой вершины:
3.2.1.6. Если отсекаемая вершина — начало ребра (i), то:
3.2.1.6.1. Присвоить значению расхода инверсное значение нагрузки
отсекаемой вершины
3.2.1.6.2. Уменьшить значение нагрузки смежной вершины на значение
нагрузки отсекаемой вершины:
Обратный ход — раскручивание свернутых нагруженных тупиковых ответвлений.
1. Count_mark_links = 1.
2. Повторять, пока Count_mark_links > 0:
2.1. Count_mark_links = 0.
2.2. Для каждого немаркированного ребра j (i; k), принадлежащего тупиковому ответвлению, выполнить:
2.2.1. Если индекс одной из инцидентных ребру вершин равен 1 и она не марки-
рована, то:
2.2.1.1. Вычислить давление в смежной вершине:
по формуле
,
если индекс узла k равен 1;
по формуле
,
если индекс узла i равен 1.
2.2.1.2. Маркировать смежную вершину.
2.2.1.3. Присвоить индексу ребра значение 1.
2.2.1.4. Count_mark_links = Count_mark_links + 1.
Тема 15. Эквивалентирование участков сети
Графы, моделирующие расчетные схемы гидравлических сетей, могут содержать большое
количество последовательных и параллельных участков. Эквивалентирование таких участков
позволяет существенно уменьшить размерность решаемой системы уравнений.
Последовательные ребра — ребра, инцидентные одной и той же вершине, которая не
имеет нагрузки и степень которой равна 2. При замене двух последовательных ребер одним
(рис. 33, a, б) на единицу уменьшается количество вершин и добавляется одно новое ребро.
Гидравлическое сопротивление нового ребра равно сумме сопротивлений замененных ребер.
27

Параллельными называются ребра, у которых совпадают пары инцидентных им вершин.
12
.S SS
new j j
= +
а б
в г
Порядок перечисления вершин в паре не имеет значения. При замене двух параллельных ребер
одним не меняется количество вершин и добавляется новое ребро, гидравлическая проводимость
которого равна сумме проводимостей замененных ребер, соединяющих те же концевые вершины
(рис. 33, в, г).
Процесс эквивалентирования ребер графа начинается с поиска и эквивалентирования последовательных ребер, затем происходит поиск и эквивалентирование параллельных ребер,
затем снова поиск последовательных ребер, затем параллельных, и так до тех пор, пока не
останется последовательных и параллельных ребер.
Рис. 33. Эквивалентирование ребер сети:
a—б — последовательное соединение; в—г — параллельное соединение;
a, в — исходное состояние; б—г — результат эквивалентирования
Обратный ход состоит в присвоении значений расходов дочерних ребер значениям расходов
родительских ребер (последовательные ребра) и в вычислении значений расходов родительских
ребер (параллельные ребра).
Описание алгоритмов
Прямой ход
1. Вычислить валентность всех вершин.
2. Определить количество вершин без нагрузки, валентность которых равна 2 (number_serial).
3. Определить количество параллельных ребер (number_parallel).
4. Количество ребер new = nl.
5. Повторять, пока есть последовательные и параллельные ребра (number_serial + number_parallel > 0):
5.1. Если есть последовательные ребра (number_serial > 0), то
5.1.1. Для каждой немаркированной вершины i, валентность которой равна 2 и
у которой отсутствует нагрузка:
5.1.1.1. Найти 2 немаркированных ребра j1 (i; k1) и j2 (i; k2), инцидентных вершине i.
5.1.1.2. Маркировать найденные ребра j1 и j2.
5.1.1.3. Маркировать вершину i.
5.1.1.4. Создать новое ребро new = new + 1 (k1; k2).
5.1.1.5. Вычислить гидравлическое сопротивление ребра new по формуле
28

5.1.1.6. Вычислить гидравлическую проводимость ребра new по формуле
1
2
R
new
S
new
=
1
R RR
new j j
= +
1
S
new
R
new
=
x
j
P
j
R
j
∆=
1
j
1
xx
jj
=
1
xx
jj
= −
11
xR P
jj j
= ∆
11
x RP
j jj
=−∆
1
1
1
x
j
P
j
R
j
∆=
.
5.1.1.7. Сохранить номер ребра new как дочерний для ребер j1 и j2.
5.1.2. Определить количество параллельных ребер (number_parallel).
5.2. Если есть параллельные ребра (number_parallel > 0), то
5.2.1. Для каждого немаркированного ребра j (i; k):
5.2.1.1. Найти параллельное ему немаркированное ребро j1 (i; k).
5.2.1.2. Маркировать найденные ребра j и j1.
5.2.1.3. Создать новое ребро new = new + 1 (i; k).
5.2.1.4. Вычислить гидравлическую проводимость ребра new по формуле
.
5.2.1.5. Вычислить гидравлическое сопротивление ребра new по формуле
.
5.2.1.6. Сохранить отрицательный номер ребра new как дочерний для ребер j и j1.
5.2.2. Определить количество вершин.
Обратный ход
1. Для каждого маркированного ребра j, включая новые, начиная с большего номера с
шагом –1:
1.1. Найти вершины (i; k), инцидентные ребру j.
1.2. Вычислить
.
1.3. Для каждого немаркированного ребра
, начиная с 1 до j:
1.3.1. Найти вершины (i1; k1), инцидентные ребру j1.
1.3.2. Найти родительское ребро (по совпадению номера дочернего ребра j1 c
номером j).
1.3.3. Если номер дочернего ребра больше 0 (т.е. последовательное соединение),
то вычислить расходы на родительских ребрах:
1.3.3.1. Если i = i1 или k = k1
.
1.3.3.2. Если i = k1 или k = i1
.
1.3.4. Если номер дочернего ребра меньше 0 (т.е. параллельное соединение), то
1.3.4.1. Если i = i1 или k = k1
.
1.3.4.2. Если i = k1 или k = i1
.
1.3.5. Вычислить
.
1.3.6. Маркировать ребро.
29

СОСТАВ И ОБЪЕМ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ К КУРСОВОМУ ПРОЕКТУ
Курсовой проект должен содержать пояснительную записку, объем которой определяется
достаточностью проработки поставленной задачи.
Примерный план пояснительной записки отражает процесс разработки приложения. Он
может быть следующим:
• Назначение разрабатываемого приложения.
• Постановка задачи.
• Математическая модель.
• Метод решения.
• Алгоритм решения.
• Структура приложения.
• Инструкция пользователя.
• Пример использования приложения.
• Литература.
• Приложения (листинги модулей).
ОФОРМЛЕНИЕ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ
При написании текста пояснительной записки рекомендуется пользоваться положениями,
изложенными в [5; 6].
Текст пояснительной записки курсового проекта выполняют с использованием компьютера
на одной стороне листа белой бумаги, формата А4, шрифт Times New Roman 14-го размера,
межстрочный интервал — 1,5.
Номер страницы проставляют в правом углу нижней части листа, страницы текстового
материала следует нумеровать арабскими цифрами, соблюдая сквозную нумерацию по всему
документу. Титульный лист текстового документа (прил. 1) включается в общую нумерацию
страниц. Номер страницы на титульном листе не проставляется.
Расстояние от края бумаги до границ текста следует оставлять:
• в начале строк — 30 мм; в конце строк — 10 мм;
• от верхней или нижней строки текста до верхнего или нижнего края бумаги — 20 мм.
Размер абзацного отступа должен быть одинаковым по всему тексту и равным 12,5 мм.
Разделы должны иметь порядковые номера в пределах всей пояснительной записки, обозначенные арабскими цифрами. Подразделы должны иметь нумерацию в пределах каждого
раздела. Номера подразделов состоят из номера раздела и подраздела, разделенных точкой. В
конце номера подраздела точка не ставится. Нумерация пунктов должна состоять из номера
раздела, подраздела и пункта, разделенных точкой.
Заголовок разделов, подразделов и пунктов следует печатать с абзацного отступа, с прописной буквы, без точки в конце, не подчеркивая. Заголовки структурных элементов располагают симметрично тексту и отделяют от текста интервалом в одну строку.
Расстояние между заголовком и текстом должно быть равно трем интервалам, между заголовками раздела и подраздела — двум интервалам.
Ссылки на использованные литературные источники должны нумероваться арабскими
цифрами по порядку появления в записке и помещаться в квадратные скобки.
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
