Файл: ПП. Самостоятельные работы.pdf

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

колледж при МГУТУ, 2016

П-203

Прикладное программирование/СР

6.4 Метод проверки требований к исходным кодам

Изложенный ниже метод применяется ко всем файлам, содержащим исходный текст, и
входящим в состав программной документации по отдельности. Для каждого файла вно-
сится в протокол запись: «Требования к исходным кодам для файла ####» – соответ-
ствует/не соответствует (где вместо #### указывается название файла).
Проверка состоит из следующих этапов:

• Наличие комментария в начале файла, содержащего автора работы, номера задания

и варианта, краткой формулировки задания (или его части)

• Наличие комментариев к неочевидным действиям (проверяется методом экспертной

оценки лицом, осуществляющим испытания)

• Для каждой подпрограммы наличие комментария, содержащего полное описание ее

работы, описание всех аргументов и результатов. Достаточность этого комментария
для возможности использовать подпрограмму в других программах (без изучения
собственно текста подпрограммы).

• Для каждой глобальной переменной указание ее назначения.

• Для всех переменных, кроме переменных цикла, использование «говорящих» назва-

ний

• Для всех подпрограмм использование говорящих названий.

• Использование одного оператора на одной строке программы.

• Количество пробелов перед строкой программы должно соответствовать уровню

вложенности (по два пробела на уровень вложенности).

• Слова begin и end, соответствующие друг другу, располагаются строго с одной и той

же позиции по вертикали.

• Количество строк в подпрограмме и в самой программе (между begin и end) – не

более 25 строк.

• Использование модулей для трех и более сходных по назначению подпрограмм.

• Отсутствие в подпрограммах использования глобальных переменных (напрямую).

• Разделение подпрограмм на предназначенные для вычислений (в них не должно

быть ввода-вывода) и на предназначенные для ввода-вывода (в них вычисления
должны быть только такие, что нужны для ввода-вывода).

• Отсутствие операторов goto, break, continue; процедур halt и exit.

• Проверка того, что вместо явно указанных значений чисел, в тексте программы

используются константы.

В случае, если все перечисленные этапы пройдены, то в протокол о соответствии файла
требованиям, в противном случае – о несоответствии.

6.5 Метод проверки требований к исходным кодам в части компиляции во
Free Pascal 3.6

Изложенный ниже метод применяется ко всем файлам, содержащим исходный текст, и
входящим в состав программной документации по отдельности. Для каждого файла вно-
сится в протокол запись: «Требования к исходным кодам в части компиляции во Free
Pascal 3.6 для файла ####» – соответствует/не соответствует (где вместо #### ука-
зывается название файла).
Проверка осуществляется путем открытия файла с исходным кодом в среде Free Pascal
3.6, осуществления компиляции (обе работы делаются в соответствии с документацией
к Free Pascal). В случае, если компиляция завершилась успешно в протокол заносится
запись о соответствии требованиям, в противном случае – о несоответствии.

16


background image

колледж при МГУТУ, 2016

П-203

Прикладное программирование/СР

2.2.3

Пояснительная записка технического проекта

Технический проект – это модель будущего программного изделия (или его частей) и будущей разработки.

На этом этапе исполнитель (в больших проектах) проводит исследование с целью:

• выявления наиболее оптимального способа будущей разработки программного продукта (он выбирает язы-

ки программирования, среды разработки, другие необходимые программные и аппаратные средства);

• изучения научной и/или технической литературы с целью получения информации о том, как в настоящее

время осуществляется решение тех или иных подзадач, что встречаются внутри данной задачи (например,
технический проект может в себя включать изучение математических основ нейронных сетей и их адапта-
цию для конкретной задачи): результатом этого этапа могут быть изложение алгоритмов, которые будут
использованы в будущем программном продукте;

• построения модели будущего программного продукта с тем или иным уровнем детализации (выделение

основных частей, их характеристик, способов взаимодействия между ними);

• в случае обмена информации с другими программными изделиями и/или использования файлов, в техни-

ческий проект включается информация о выборе формата хранения/передачи данных.

В проектах того масштаба, что мы рассматриваем, стадия технического проекта может быть опущена. Од-

нако, мы ее включаем в состав жизненного цикла с целью формального документирования процесса выбора
архитектурных решений и конкретных алгоритмов.

Разрабатывая технический проект в самостоятельной работе следует учитывать, что программа должна

состоять из собственно программы и модуля, осуществляющего основные вычисления. Цель такого разделения
состоит в том, что перед написанием программы и модуля необходимо будет создать другую программу, которая
предназначена для автоматического тестирования этого модуля.

Писать программу автоматического тестирования и модуль в самостоятельной работе будут разные студенты

для одного и того же варианта, однако способ использования модуля (то есть его интерфейс) должен быть
фиксирован до начала написания как основной программы, так и программы автоматического тестирования.

Собственно целью технического проекта в самостоятельной работе будет:

• выбор метода решения задачи;

• выбор алгоритма решения задачи и документирование этого выбора, в том числе, путем рисования блок-

схемы.

• выбор интерфейса модуля и документирование этого выбора;

Начальная часть документа похожа на начальные части технического задания и программы и методики

испытаний.

17


background image

колледж при МГУТУ, 2016

П-203

Прикладное программирование/СР

1. Введение

1.1 Наименование программы

Решение квадратного уравнения

1.2 Условное обозначение темы разработки

ПП-00

1.3 Документ, на основании которого ведется разработка

Сборник самостоятельных работ по МДК01.02 Прикладное программирование

2. Назначение и область применения

2.1 Назначение программы

Программа предназначена для автоматического решения квадратных уравнений

2.2 Краткая характеристика области применения

Программа может использоваться любыми лицами, деятельность которых требует реше-
ния конкретных квадратных уравнений.

3. Технические характеристики

3.1 Постановка задачи на разработку программы

Программа предназначена для решения конкретных квадратных уравнений вида ax

2

+

bx + c = 0, где a, b и c – заданные вещественные числа.

3.2 Описание применяемых математических методов

Применяемый метод имеет ограничение: a 6= 0.
Для решения используются стандартные формулы с использованием дискриминанта.

1. Вычисляется дискриминант по формуле: D = b

2

− 4ac.

2. Если D < 0, то уравнение не имеет решения

3. Если D = 0, то уравнение имеет один корень: x =

−b

2a

.

4. Если D > 0, то уравнение имеет два корня: x

1

=

−b+

D

2a

, x

2

=

−b−

D

2a

.

Метод выбран в соответствии с п. 4.5.2 технического задания.

3.3 Описание алгоритма

Выбранный метод решения непосредственно приводит к следующему алгоритму:

18


background image

колледж при МГУТУ, 2016

П-203

Прикладное программирование/СР

начало

a, b, c

a 6= 0

Некорректные

входные данные

D := b

2

− 4ac

D < 0

Данное уравнение

не имеет решений

D = 0

Данное уравнение име-

ет один корень x=

−b

2a

Данное уравнение

имеет два корня

x1=

−b+

D

2a

, x2=

−b−

D

2a

конец

да

нет

да

нет

да

нет

19


background image

колледж при МГУТУ, 2016

П-203

Прикладное программирование/СР

3.4 Описание и обоснование выбора метода организации входных и выходных данных

В разрабатываемом программном изделии выбор метода организации входных и выходных данных
не требуется

3.5 Описание и обоснование выбора состава технических и программных средств

Состав технических и программных средств полностью описан в техническом задании (пп. 4.4; 4.5.4;
4.5.5)

3.6 Интерфейс программного модуля

Вычислительную часть программы содержит модуль solveseq, содержащий функцию solve:
tsolve=(bad_data,roots_0,roots_1,roots_2);
function solve (a,b,c: real; var x1,x2: real): tsolve;
Функции передаются аргументы a, b и c – коэффициенты квадратного уравнения ax

2

+ bx + c = 0.

Возвращаемые значения:

bad_data,

если a = 0

roots_0,

если уравнение не имеет корней

roots_1,

если уравнение имеет один корень (он передается в параметре x_1)

roots_2,

если уравнение имеет два корня (они возвращаются в параметрах x_1 и x_2)

4. Источники, использованные при разработке

Квадратное

уравнение

[Электронный

ресурс]

Режим

доступа:

https://ru.wikipedia.org/wiki/Квадратное_уравнение

2.2.4

Программа автоматического тестирования модуля

Программа автоматического тестирования модуля должна разрабатываться на основе пояснительной запис-

ки технического проекта, в котором описан интерфейс будущего модуля. Используя этот интерфейс, студент
должен запустить на достаточном числе примеров подпрограммы, входящие в модуль, и проверить, что они
возвращают правильные результаты.

В случае, если модуль осуществляет работу с файлами, программа автоматического тестирования авто-

матически создает файлы с тестовыми данными, передает их название в подпрограмму модуля и проверяет
корректность возвращенных данных (или содержимое результирующего файла).

По окончании работы программа автоматического тестирования модуля выводит на экран либо предложение

«Все тесты успешно пройдены», либо предложение «Тест такой-то прошел с ошибкой».

Программа сдается на проверку в электронном виде, а также в виде распечатки.

2.2.5

Программа

На этом этапе студент разрабатывает программу в соответствии с техническим заданием и пояснительной

запиской технического проекта. При этом он проверяет, что программа автоматического тестирования модуля
успешно выполняется при подключении созданного им модуля.

Программа сдается на проверку в электронном виде, а также в виде распечатки.

2.2.6

Протокол испытаний

На этом этапе студент разрабатывает документ, который в начальной своей части похож на программу и

методику испытаний (от титульной страницы до пункта 5.2 включительно), а далее студент вставляет протокол
в форме, разработанной самостоятельно.

2.3

Варианты заданий

Замечание: объем программы и тип используемых конструкций языка достаточно сильно отличаются, так

как написание программы не главное в самостоятельной работе. Предполагается, что все предлагаемые задания
просты. Некоторые задания специально сформулированы недостаточно точно, уточнение производит студент
при разработке технического задания.

1. По данному файлу создать второй файл, в котором все байты записаны в обратном порядке

2. В данном текстовом файле определить количество строк

3. В данном текстовом файле определить количество слов (слово – непрерывная последовательность симво-

лов, состоящая из букв и знаков дефиса, слово может продолжаться на следующей строке (перенос))

4. В данном текстовом файле определите статистику использования разных символов.

20