Указания по выполнению курсовой работы
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к выполнению курсовой работы по дисциплине
"ПРОГРАММИРОВАНИЕ"
для студентов специальностей:
7.091501 “Компьютерные системы и сети”,
7.091502 “Системное программирование ”
дневной и заочной форм обучения
Электронное издание
Северодонецк 2005
УДК 681.3.06
Методические указания к выполнению курсовой работы по дисциплине "Программирование" для студентов специальностей 7.091501 "Компьютерные системы и сети" и 7.091502 «Системное программирование» дневной и заочной форм обучения. /Сост.: Н.С. Семенова, С.А. Сафонова – Северодонецк: Изд-во СТИ ВНУ, 2006. - 58с.
Настоящее издание содержит основные сведения, необходимые для выполнения курсовой работы по программированию и оформлению пояснительной записки. Приводятся рекомендации по созданию пользовательского интерфейса программы и использовании технологии визуального программирования.
Составители: | Н.С. Семенова, ст. преп. | |
С.А. Сафонова, асс. |
Отв. за выпуск: | А.И. Рязанцев, доц., к.т.н |
Рецензент Е.П. Герасименко, доц., к.т.н.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ. 4
1 ТЕМАТИКА КУРСОВЫХ РАБОТ. 4
2 УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ.. 4
2.1 Постановка задачи. 4
2.2 Разработка алгоритма. 5
2.3 Составление схемы алгоритма. 6
2.4 Составление программы. Разработка пользовательского интерфейса. 7
2.4.1 Создание оконного приложения. 8
2.4.2 Этапы создания оконного приложения. 10
2.4.3 Страница Standard Палитры Компонентов. 11
2.4.4 Организация ввода и вывода данных. 12
2.4.5 Создание меню приложений в среде Delphi 17
2.4.6 Структура проекта Delphi. 20
2.5 Отладка программы.. 20
3 ЗАЩИТА КУРСОВОЙ РАБОТЫ.. 21
4 СТРУКТУРА ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ.. 21
5 ПРАВИЛА ОФОРМЛЕНИЯ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ.. 22
5.1 Общие положения. 22
5.2 Нумерация. 23
5.3 Иллюстрации. 24
5.4 Таблицы.. 24
5.5 Перечисления. 24
5.6 Ссылки и перечень ссылок. 25
5.7 Приложения. 25
ПЕРЕЧЕНЬ ССЫЛОК.. 26
Приложение А Образец оформления титульного листа. 27
Приложение Б Бланк задания на курсовую работу. 28
Приложение В Пример оформления реферата. 29
ВВЕДЕНИЕ
Курсовая работа выполняется с целью закрепления и обобщения знаний, полученных студентами при изучении дисциплины «Программирование». В результате выполнения курсовой работы студенты получают навыки анализа поставленной задачи, выбора наиболее оптимального алгоритма решения задачи, разработки интерфейса, отладки и тестирования программ большого объема.
Выполняя курсовую работу, студенты знакомятся с правилами оформления пояснительной записки в соответствии с действующими стандартами.
ТЕМАТИКА КУРСОВЫХ РАБОТ
курсовая работа по программированию выполняется студентами по индивидуальному заданию. Предлагается следующая тематика работ:
- обработка текстовых файлов с элементами лексического и синтаксического анализа;
- разработка информационных систем различного назначения;
- разработка текстового редактора;
- разработка программ проверки знаний;
- обработка матриц;
- обработка текстовых файлов.
УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ
Постановка задачи
На первом этапе выполнения курсовой работы необходимо проанализировать задание и определить перечень вопросов, которые будут решаться в данной работе. Основное назначение этого этапа – создания перечня функциональных требований к программе, то есть определение того, что, собственно, будет выполнять разрабатываемая программа, не рассматривая конкретную реализацию этих функций. Для программы постановка задачи является самым высшим уровнем абстракции, что упрощает взгляд на её разработку.
Для разного типа программ могут быть выделены различные аспекты разработки, которые являются наиболее важными и значимыми для данного класса задач.
В задачах лексического и синтаксического анализа должны быть рассмотрены синтаксические диаграммы, приведены правила грамматики языка, определены возможные ошибки в записи операторов, определен общий порядок действий – например, проверка описания типов данных и переменных, сохранение их в определенном формате, выделение лексем, проверка синтаксических правил записи оператора, формирование сообщения об ошибке и т.д.
При разработке программ обработки типизированных файлов большее внимание следует уделить описанию интерфейса программы и тем функциям, которые она будет выполнять.
В любом случае следует помнить, что постановка задачи – это первый этап разработки, после которого создается алгоритм программы.
Разработка алгоритма
Разработка алгоритма должна начинаться с определения путей решения постановки задачи на словесном уровне (на уровне идеи алгоритма). Продумывается структура данных алгоритма, т.е. выясняется, какие именно структуры данных нужны для его реализации. Необходимо перебрать, проанализировать и сравнить несколько вариантов алгоритмов основных процедур, предусматриваемых в программе.
При программировании типичными являются следующие ошибки:
- ошибки в алгоритме: алгоритм на самом деле не решает (или решает не всегда) ту задачу, для которой его разработал автор;
- ошибки анализа: например, в программе не учитывается возможность появления очень больших или малых значений, отрицательных чисел, нулей и т.д.;
- логические ошибки, наиболее распространенные в программе: неверный выбор ветви алгоритма, не учет одного из возможных путей работы алгоритма, неверная организация цикла, неверные условия окончания цикла и т.д.
При составлении алгоритма и программы рекомендуется придерживаться правил структурного программирования, т.е. проектирование программ сверху - вниз, которые позволяют предотвратить большинство логических ошибок и легко обнаружить те, которые допущены.
Метод проектирования программ сверху – вниз предусматривает вначале формулировку решения в общих чертах, а затем постепенное уточнение алгоритма. На каждом шаге уточнения следует выяснить основные подзадачи. Процесс уточнения идет до тех пор, пока решение последней задачи не станет совершенно ясным. Подзадачи, возникающие на каждом уровне, должны быть достаточно простыми. Если это не так, значит неправильно сформулированы подзадачи. После того, как задача разбита на подзадачи, необходимо проверить, правильно ли они взаимодействуют. В разделе "Разработка алгоритма" пояснительной записки следует привести в самом общем виде описание алгоритма на словесном уровне, а затем составить более подробную схему алгоритма.
Составление схемы алгоритма
Для представления алгоритма можно использовать схему алгоритма. Она состоит из двух частей:
- графическое изображение алгоритма;
- пояснение к алгоритму.
В качестве графического изображения используются специальные символы в соответствии с ГОСТами ЕСПД [1-2].
Основные символы, необходимые для построения схемы алгоритма, приведены в табл. 1.
Таблица 1
Символы схем алгоритма
Обозначение символа | Наименование символа | Функции |
Процесс | Выполнение операций, в результате которых происходит изменение значения данных, формы представления или размещения данных | |
Предопределенный процесс | Использование уже готовых программ или подпрограмм | |
Ввод-вывод | Преобразование данных из внешнего представления во внутреннее (ввод) и наоборот (вывод). Внутри символа нужно указать какая операция (ввод или вывод) происходит и название вводимых и выводимых данных | |
Решение | Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий | |
Пуск-останов | Начало, конец выполнения алгоритма | |
Модификация | Используется для организации циклических процессов | |
Линия потока | Указание последовательности связи между символами | |
Соединитель | Используется там, где прерываются линии потока, обозначается буквой | |
Межстраничный соединитель | Указывает связь между частями алгоритма, находящимися на разных листах. Обозначается двумя цифрами: 1-я указывает номер листа схемы, 2-я – номер символа |
Размер а выбирается из ряда 10, 15, 20, … . допускается увеличивать размер а на число, кратное 5. Размер b=1,5а.
Символы в схемах нумеруются в разрыве линии в левом верхнем углу. Расстояние между символами схемы – не менее 5 мм.
Направление линий потока обозначают стрелкой. Если направление линий потока совпадает с естественным направлением (сверху-вниз и слева-направо), то стрелки можно не ставить. Во всех остальных случаях наличие стрелки на линии потока обязательно.
Структура проекта Delphi.
Программа Delphi – это несколько связанных между собой файлов. Любая программа состоит из файла проекта (с расширением .dpr) и одного или нескольких модулей с расширением .pas. Файл проекта не предназначен для редактирования пользователем и создается автоматически самой системой программирования Delphi.. Модули имеют стандартную конструкцию, предусмотренную языком Pascal.
Уже при составлении программы следует думать о ее отладке и с этой целью в программу стоит помещать операторы или группы операторов, которые проверяют правильность ее работы, или выводят сведения, позволяющие судить об этом программисту.
Отладка программы
Ошибки можно выявить тестированием программ с использованием встроенного отладчика. Отладчик позволяет выполнять следующие действия:
- получать значения любых параметров программы;
- модифицировать значения параметров;
- останавливать программу в заданной точке останова или в месте, соответствующем строке текста, где расположен курсор;
- осуществлять трассировку программы (выполнение программы по шагам) и т.д.
Для этой цели можно использовать меню или соответствующие клавиши быстрого управления.
ЗАЩИТА КУРСОВОЙ РАБОТЫ
К защите курсовой работы допускаются студенты, предоставившие пояснительную записку и дискету со следующими файлами:
- тексты программы и модулей (*.pas);
- загрузочный (выполнимый) exe-файл;
- тестовые файлы для проверки работы программы и другие файлы, необходимые для работы.
Оценка за курсовую работу выставляется, исходя из следующих критериев:
- полнота анализа поставленной задачи ;
- эффективность алгоритма;
- разработанный интерфейс;
- полнота тестирования программы;
- оформление пояснительной записки;
- ответы на вопросы при защите курсовой работы.
ПРАВИЛА ОФОРМЛЕНИЯ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ
Общие положения
Пояснительную записку следует оформлять на листах формата А4 (210х297 мм). Текст выполняют рукописным, машинописным или машинным (при помощи компьютерной техники) способом на одной стороне листа белой бумаги.
При машинописном способе текст печатается через полтора интервала; при машинном - из расчета не более 40 строк на странице при условии равномерного ее заполнения. Рекомендуется применять размер шрифта 12 пунктов.
Размеры полей страницы: верхнее, левое и нижнее - 20 мм; правое - 10 мм.
Рисунки, выполненные не на компьютере, должны выполняться черной шариковой ручкой.
Отдельные слова формулы, знаки, которые вписываются в отпечатанный текст, должны быть черного цвета, плотность вписанного текста должна максимально приближаться к плотности основного текста.
Ошибки, описки и графические неточности допускается исправлять подчисткой или закрашивать белой краской.
Структурные элементы "ВВЕДЕНИЕ", "РЕФЕРАТ", "СОДЕРЖАНИЕ", "ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ", "ВЫВОДЫ", "ПЕРЕЧЕНЬ ССЫЛОК" не нумеруют, а их наименования служат заголовками структурных элементов.
Разделы и подразделы должны иметь заголовки. Пункты и подпункты могут иметь заголовки. Заголовки структурных элементов текста пояснительной записки и заголовки разделов следует располагать в средине строки и печатать прописными буквами без точки в конце, не подчеркивая.
Заголовки подразделов, пунктов и подпунктов следует начинать с абзацного отступа и печатать строчными буквами, кроме первой прописной, не подчеркивая, без точки в конце. Абзацный отступ должен быть одинаковым по всему тексту и равный пяти знакам. Если заголовок состоит из двух или более предложений, их разделяют точкой. Переносы слов в заголовках не допускаются.
Расстояния между заголовком и последующим или предыдущим текстом должно быть:
- при машинописном способе - не менее трех интервалов;
- при машинном способе - не менее двух строк.
Расстояние между строками заголовка, а также между заголовками принимаются такими же, как в тексте.
Заголовок нельзя располагать в конце страницы, если после него будет всего одна строка.
Нумерация
Нумеровать страницы пояснительной записки следует арабскими цифрами, соблюдая сквозную нумерацию по всему тексту. Номер страницы проставляют в правом верхнем углу страницы без точки. Титульный лист и лист задания включают в общую нумерацию, но номера страниц на них не ставится. Иллюстрации и таблицы, выполненные на отдельных страницах, включают в общую нумерацию.
Нумерация разделов, подразделов, пунктов и подпунктов выполняется арабскими цифрами. Разделы должны иметь порядковую нумерацию в пределах пояснительной записки и обозначаться арабскими цифрами без точки.
Подразделы должны иметь нумерацию в пределах раздела. Номер должен состоять из номера раздела и подраздела, например, 1.1, 1.2 и т.д.
Пункты и подпункты должны иметь нумерацию в пределах раздела или подраздела и состоять из номера раздела, подраздела, пункта и подпункта, например, 1.1.1.1, 1.1.1.2 и так далее.
При ссылках на разделы, подразделы, пункты и подпункты следует писать: “... в разделе 4 ...”, “ ... смотри 2.1 ...”, “ ... по 3.3.4 ...”, “... в соответствии с 2.3.4.1 ... “.
Иллюстрации
Иллюстрации ( чертежи, рисунки, графики, схемы, диаграммы, фотоснимки) следует располагать непосредственно после текста, в котором они упоминаются впервые, или на следующей странице. На все иллюстрации должны быть даны ссылки в тексте. При ссылке на иллюстрации указывают их номера. При ссылках следует писать: “... на рис. 1.3 ...”, или “... на рисунке 1.3 ...”.
Чертежи, схемы, рисунки, графики, диаграммы должны соответствовать требованиям ЕСКД И ЕСПД. Иллюстрации могут иметь названия, которые размещаются под ними. Поясняющие данные размещают под иллюстрацией. Иллюстрации обозначают словом «Рисунок____», которое вместе с названием иллюстрации помещают после поясняющих данных, например, «Рисунок 3.1 - Схема размещения».
Иллюстрации нумеруются арабскими цифрами в пределах раздела. Номер состоит из номера раздела и номера рисунка в разделе, разделенных точкой, например, 3.2. Нумеруется даже одна иллюстрация. Если иллюстрация выполняется на нескольких страницах, то название иллюстрации помещают на первой странице, на последующих страницах название не повторяют, а указывают только номер рисунка и номер листа рисунка, например, «Рисунок 3.2, лист 2».
Таблицы
Таблицы следует располагать непосредственно после текста, в котором они упоминаются. Таблицы следует нумеровать арабскими цифрами в пределах раздела, например, «Таблица 2.1-». Нумеруется даже одна таблица. При ссылках на таблицу следует писать: ”... в таблице 3.2 ...” или “... (см. табл. 3.2) ...”.
Название таблицы размещают в той же строке, что слово "Таблица...", печатают строчными буквами и отделяют от номера таблицы дефисом "-". Если строки или графы таблицы выходят за формат страницы, таблицу делят на части, помещая одну часть под другой, или рядом, или перенося часть таблицы на следующую страницу.
Перечисления
Перечисления могут быть приведены внутри пунктов и подпунктов. Перед перечислением становят двоеточие. Перед каждой позицией перечисления следует ставить строчную букву украинского алфавита со скобкой, или, не нумеруя - дефис (первый уровень детализации). Для дальнейшей детализации следует использовать арабские цифры со скобкой (второй уровень детализации). Перечисления первого уровня детализации печатаются строчными буквами с абзацного отступа, второй уровень - с отступом относительно местоположения начала перечислений первого уровня.
Ссылки и перечень ссылок
Ссылки на источники в тексте следует указывать порядковым номером по перечню ссылок в квадратных скобках, например, «... в работах [1 - 7] ...».
Перечень источников, на которые ссылаются в тексте, должен быть приведен после основной части пояснительной записки, начиная с новой страницы. В соответствующих местах текста должны быть ссылки. Библиографические описания в перечне ссылок приводят в порядке, в котором они впервые упоминаются в тексте. Порядковые номера описаний в перечне являются ссылками в тексте (номерные ссылки). При необходимости источники, на которые ссылаются только в приложении, приводят в отдельном перечне ссылок, располагаемом в конце этого приложения.
Приложения
Приложения следует оформлять как продолжение основного текста пояснительной записки на последующих страницах, располагая приложения в порядке появления ссылок на них в тексте.
Каждое приложение начинается с новой страницы. Приложение должно иметь заголовок, напечатанный вверху строчными буквами с первой прописной и расположенный симметрично относительно страницы. Посредине строки над заголовком строчными с первой прописной буквы должно быть напечатано слово «Приложение____» и прописная буква, обозначающая приложение.
Приложение следует обозначать последовательно прописными буквами украинского алфавита за исключением Ґ, Є, З, I, Ї, Й, О, Щ, Ч, Ь, например, «Приложение А».
Приложения должны иметь общую с основной частью пояснительной записки сквозную нумерацию страниц. Иллюстрации, формулы и таблицы нумеруются в пределах приложения, аналогично основному тексту, но с добавлением буквы приложения, например, «Рисунок А.3», «Таблица А.3», формула (А.2) .
Нумеруются даже одна иллюстрация, формула или таблица.
Перечисления, примечания и ссылки в приложениях выполняют так же, как в основном тексте.
Источники, цитируемые только в приложении, оформляются отдельным перечнем в конце приложения по общим правилам.
ПЕРЕЧЕНЬ ССЫЛОК
1.Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. - М.: Наука, 1988.
2.Довгаль С.И., Литвинов Б.Ю., Сбитнев А..И. Персональные ЭВМ : Турбо Паскаль V7.0, объектное программирование, локальные сети. – Киев: Информсиситема сервис, 1993.
3. Епанешников А.М., Епанешникова В.А. Программирование в среде Turbo Pascal 7.0.-М.: Диалог –МИФИ,1999.
4.Зуев Е.А. Программирование на языке Turbo Pascal 6.0,7.0. – М.: Радио и связь, Веста,1993.
5. Климова Л.М. Pascal 7.0.Практическое программирование. Решение типовых задач. –М.:КУДИУ ОБРАЗ, 2000.
6. Марченко А. И., Марченко Л.А.. Программирование в среде Turbo Pascal 7.0.-К.: Век+,1999.
7. Фаронов В.В. Turbo Pascal 7.0. Начальный курс. - М.: Нолидж, 2000.
Приложение А
Образец оформления титульного листа
Министерство образования и науки Украины Восточноукраинский национальный университет имени Владимира Даля Северодонецкий технологический институт Кафедра компьютерной инженерии ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ ПО ПРОГРАММИРОВАНИЮ на тему:_____________________ Выполнил студент группы <группа> <ФИО студента> Проверил < ФИО преподавателя> Северодонецк 2005 |
Приложение Б
Бланк задания на курсовую работу
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ СТУДЕНТА ГРУППЫ <группа><ФИО> 1.Тема работы 2. Срок сдачи студентом законченной работы 3. Исходные данные к работе 4. Содержание пояснительной записки (перечень подлежащих разработке вопросов) КАЛЕНДАРНЫЙ ПЛАН
Студент (подпись) Руководитель (подпись) |
Приложение В
Пример оформления реферата
Р Е Ф Е Р А Т
Пояснительная записка к курсовой работе: 25 с., 2 рис., 1 табл., 3 приложения, 8 источников.
Цель работы: создание информационной системы проведения модульного контроля.
В данной курсовой работе создано программное обеспечение, которое реализует выполнение следующих функций: определение дисциплин модульного контроля, печать ведомостей, создание расписания проведения модульного контроля, хранение и обработка результатов. Выбор выполняемой функции производится с помощью линейки меню. В программе разработаны формы для ввода данных и форматы печатных документов, производится контроль исходных данных.
Программа разработана с использованием среды визуального программирования Delphi 7 и языка Object Pascal. Результаты работы программы выводятся на экран и сохраняются в файлах.
ДИСЦИПЛИНА, ОЦЕНКА, СТУДЕНТ, ВЕДОМОСТЬ, МОДУЛЬ, МЕНЮ, ФОРМАТ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к выполнению курсовой работы по дисциплине
"ПРОГРАММИРОВАНИЕ"
для студентов специальностей:
7.091501 “Компьютерные системы и сети”,
7.091502 “Системное программирование ”
дневной и заочной форм обучения
Электронное издание
Северодонецк 2005
УДК 681.3.06
Методические указания к выполнению курсовой работы по дисциплине "Программирование" для студентов специальностей 7.091501 "Компьютерные системы и сети" и 7.091502 «Системное программирование» дневной и заочной форм обучения. /Сост.: Н.С. Семенова, С.А. Сафонова – Северодонецк: Изд-во СТИ ВНУ, 2006. - 58с.
Настоящее издание содержит основные сведения, необходимые для выполнения курсовой работы по программированию и оформлению пояснительной записки. Приводятся рекомендации по созданию пользовательского интерфейса программы и использовании технологии визуального программирования.
Составители: | Н.С. Семенова, ст. преп. | |
С.А. Сафонова, асс. |
Отв. за выпуск: | А.И. Рязанцев, доц., к.т.н |
Рецензент Е.П. Герасименко, доц., к.т.н.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ. 4
1 ТЕМАТИКА КУРСОВЫХ РАБОТ. 4
2 УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ.. 4
2.1 Постановка задачи. 4
2.2 Разработка алгоритма. 5
2.3 Составление схемы алгоритма. 6
2.4 Составление программы. Разработка пользовательского интерфейса. 7
2.4.1 Создание оконного приложения. 8
2.4.2 Этапы создания оконного приложения. 10
2.4.3 Страница Standard Палитры Компонентов. 11
2.4.4 Организация ввода и вывода данных. 12
2.4.5 Создание меню приложений в среде Delphi 17
2.4.6 Структура проекта Delphi. 20
2.5 Отладка программы.. 20
3 ЗАЩИТА КУРСОВОЙ РАБОТЫ.. 21
4 СТРУКТУРА ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ.. 21
5 ПРАВИЛА ОФОРМЛЕНИЯ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ.. 22
5.1 Общие положения. 22
5.2 Нумерация. 23
5.3 Иллюстрации. 24
5.4 Таблицы.. 24
5.5 Перечисления. 24
5.6 Ссылки и перечень ссылок. 25
5.7 Приложения. 25
ПЕРЕЧЕНЬ ССЫЛОК.. 26
Приложение А Образец оформления титульного листа. 27
Приложение Б Бланк задания на курсовую работу. 28
Приложение В Пример оформления реферата. 29
ВВЕДЕНИЕ
Курсовая работа выполняется с целью закрепления и обобщения знаний, полученных студентами при изучении дисциплины «Программирование». В результате выполнения курсовой работы студенты получают навыки анализа поставленной задачи, выбора наиболее оптимального алгоритма решения задачи, разработки интерфейса, отладки и тестирования программ большого объема.
Выполняя курсовую работу, студенты знакомятся с правилами оформления пояснительной записки в соответствии с действующими стандартами.
ТЕМАТИКА КУРСОВЫХ РАБОТ
курсовая работа по программированию выполняется студентами по индивидуальному заданию. Предлагается следующая тематика работ:
- обработка текстовых файлов с элементами лексического и синтаксического анализа;
- разработка информационных систем различного назначения;
- разработка текстового редактора;
- разработка программ проверки знаний;
- обработка матриц;
- обработка текстовых файлов.
УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ
Постановка задачи
На первом этапе выполнения курсовой работы необходимо проанализировать задание и определить перечень вопросов, которые будут решаться в данной работе. Основное назначение этого этапа – создания перечня функциональных требований к программе, то есть определение того, что, собственно, будет выполнять разрабатываемая программа, не рассматривая конкретную реализацию этих функций. Для программы постановка задачи является самым высшим уровнем абстракции, что упрощает взгляд на её разработку.
Для разного типа программ могут быть выделены различные аспекты разработки, которые являются наиболее важными и значимыми для данного класса задач.
В задачах лексического и синтаксического анализа должны быть рассмотрены синтаксические диаграммы, приведены правила грамматики языка, определены возможные ошибки в записи операторов, определен общий порядок действий – например, проверка описания типов данных и переменных, сохранение их в определенном формате, выделение лексем, проверка синтаксических правил записи оператора, формирование сообщения об ошибке и т.д.
При разработке программ обработки типизированных файлов большее внимание следует уделить описанию интерфейса программы и тем функциям, которые она будет выполнять.
В любом случае следует помнить, что постановка задачи – это первый этап разработки, после которого создается алгоритм программы.
Разработка алгоритма
Разработка алгоритма должна начинаться с определения путей решения постановки задачи на словесном уровне (на уровне идеи алгоритма). Продумывается структура данных алгоритма, т.е. выясняется, какие именно структуры данных нужны для его реализации. Необходимо перебрать, проанализировать и сравнить несколько вариантов алгоритмов основных процедур, предусматриваемых в программе.
При программировании типичными являются следующие ошибки:
- ошибки в алгоритме: алгоритм на самом деле не решает (или решает не всегда) ту задачу, для которой его разработал автор;
- ошибки анализа: например, в программе не учитывается возможность появления очень больших или малых значений, отрицательных чисел, нулей и т.д.;
- логические ошибки, наиболее распространенные в программе: неверный выбор ветви алгоритма, не учет одного из возможных путей работы алгоритма, неверная организация цикла, неверные условия окончания цикла и т.д.
При составлении алгоритма и программы рекомендуется придерживаться правил структурного программирования, т.е. проектирование программ сверху - вниз, которые позволяют предотвратить большинство логических ошибок и легко обнаружить те, которые допущены.
Метод проектирования программ сверху – вниз предусматривает вначале формулировку решения в общих чертах, а затем постепенное уточнение алгоритма. На каждом шаге уточнения следует выяснить основные подзадачи. Процесс уточнения идет до тех пор, пока решение последней задачи не станет совершенно ясным. Подзадачи, возникающие на каждом уровне, должны быть достаточно простыми. Если это не так, значит неправильно сформулированы подзадачи. После того, как задача разбита на подзадачи, необходимо проверить, правильно ли они взаимодействуют. В разделе "Разработка алгоритма" пояснительной записки следует привести в самом общем виде описание алгоритма на словесном уровне, а затем составить более подробную схему алгоритма.
Составление схемы алгоритма
Для представления алгоритма можно использовать схему алгоритма. Она состоит из двух частей:
- графическое изображение алгоритма;
- пояснение к алгоритму.
В качестве графического изображения используются специальные символы в соответствии с ГОСТами ЕСПД [1-2].
Основные символы, необходимые для построения схемы алгоритма, приведены в табл. 1.
Таблица 1
Символы схем алгоритма
Обозначение символа | Наименование символа | Функции |
Процесс | Выполнение операций, в результате которых происходит изменение значения данных, формы представления или размещения данных | |
Предопределенный процесс | Использование уже готовых программ или подпрограмм | |
Ввод-вывод | Преобразование данных из внешнего представления во внутреннее (ввод) и наоборот (вывод). Внутри символа нужно указать какая операция (ввод или вывод) происходит и название вводимых и выводимых данных | |
Решение | Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий | |
Пуск-останов | Начало, конец выполнения алгоритма | |
Модификация | Используется для организации циклических процессов | |
Линия потока | Указание последовательности связи между символами | |
Соединитель | Используется там, где прерываются линии потока, обозначается буквой | |
Межстраничный соединитель | Указывает связь между частями алгоритма, находящимися на разных листах. Обозначается двумя цифрами: 1-я указывает номер листа схемы, 2-я – номер символа |
Размер а выбирается из ряда 10, 15, 20, … . допускается увеличивать размер а на число, кратное 5. Размер b=1,5а.
Символы в схемах нумеруются в разрыве линии в левом верхнем углу. Расстояние между символами схемы – не менее 5 мм.
Направление линий потока обозначают стрелкой. Если направление линий потока совпадает с естественным направлением (сверху-вниз и слева-направо), то стрелки можно не ставить. Во всех остальных случаях наличие стрелки на линии потока обязательно.