Вариант - Ставропольский государственный аграрный

advertisement
МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РФ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ
УНИВЕРСИТЕТ
Институт дополнительного профессионального образования
Кафедра информационных систем и технологий
Методические указания и задания к курсовому проекту
по дисциплине Объектно-ориентированное программирование»
Ставрополь, 2014
ВВЕДЕНИЕ
Цель курсового проекта: изучить практические навыки разработки
программ на языке С++ с использованием ООП.
1 ПОРЯДОК ВЫПОЛНЕНИЯ КУРСОВОГО ПРОЕКТА
Курсовой проект выполняется в несколько этапов.
Подготовительный этап. Уточнение постановки задачи. Анализ
научно-технической литературы с целью обоснования выбора метода
решения. Разработка спецификации на программную систему.
Проектный этап. На этом этапе рассматриваются различные пути
реализации
поставленной
задачи,
предлагаются
критерии
оценки
эффективности алгоритма и оценка с их помощью различных вариантов
решения. На этом этапе разрабатывается алгоритмическое и программное
обеспечение моделирования.
Реализационный этап. В начале этого этапа вырабатывается наиболее
рациональное решение по машинной реализации модели системы и
составляется
необходимо
график
реализовать
дальнейшей
алгоритм
работы,
средствами
в
ходе
которой
выбранного
языка
программирования, выполнить окончательную отладку, получить результаты
и проанализировать их.
Оформительский этап. На данном этапе выполняется оформление
пояснительной записки в соответствии с требованиями к оформлению
технической документации, регламентируемыми стандартом Украины.
Заключительный этап. На этом этапе проводится защита курсовых
работ.
Студент
обязан
представить
окончательно
оформленную
пояснительную записку к курсовой работе не позже чем за два дня до защиты.
На заключительном этапе проводится подготовка доклада и защита курсовой
работы перед комиссией. Доклад должен сопровождаться демонстрацией
работы программы. В докладе в сжатой форме следует представить
поставленную задачу, основное содержание курсовой работы, краткий анализ
состояния изучаемого вопроса, обоснование и принятие решения, анализ
полученных результатов.
2 ВАРИАНТЫ ЗАДАНИЙ
Вариант задания назначается научным руководителем. Допускается
использовать тему, предложенную студентов по согласованию с научным
руководителем.
2.1 Структура-пара
В этой теме в каждом упражнении требуется реализовать в том или
ином виде определение нового класса. Для демонстрации работы с объектами
нового типа во всех заданиях нужно написать главную функцию. В программе
обязательно должны быть продемонстрированы различные способы создания
объектов и массивов объектов. Программа должна демонстрировать
использование всех функций и методов.
Структурой-парой называется структура с двумя полями, которые
обычно имеют имена first и second. Требуется реализовать тип данных с
помощью такой структуры. Во всех заданиях обязательно должны
присутствовать:
метод инициализации Init; метод должен контролировать значения
аргументов на корректность;
ввод с клавиатуры Read;
вывод на экран Display.
Реализовать внешнюю функцию с именем make_mun(), где тип — тип
реализуемой структуры. Функция должна получать в качестве аргументов
значения для полей структуры и возвращать структуру требуемого типа. При
передаче ошибочных параметров следует выводить сообщение и заканчивать
работу.
Вариант № 1. Поле first — дробное число; поле second — целое
число, показатель степени. Реализовать метод power () — возведение числа
first в степень second. Метод должен правильно работать при любых
допустимых значениях first и second.
Вариант № 2. Поле first — дробное число; поле second —
дробное число, показатель степени. Реализовать метод power() — возведение
числа first в степень second. Метод должен правильно работать при
любых допустимых значениях first и second.
Вариант № 3. Поле first — целое положительное число,
числитель; поле second — целое положительное число, знаменатель.
Реализовать метод ipart() — выделение целой части дроби first/second.
Метод должен проверять неравенство знаменателя нулю.
Вариант № 4. Поле first — целое положительное число, номинал
купюры; номинал может принимать значения 1, 2, 5, 10, 50, 100, 500, 1000,
5000. Поле second — целое положительное число, количество купюр данного
достоинства. Реализовать метод summa() — вычисление денежной суммы.
Вариант № 5. Поле first — дробное положительное число, цена
товара; поле second — целое положительное число, количество единиц
товара. Реализовать метод cost() — вычисление стоимости товара.
Вариант № 6. Поле first — целое положительное число,
калорийность 100 г продукта; поле second — дробное положительное число,
масса продукта в килограммах. Реализовать метод power() — вычисление
общей калорийности продукта.
Вариант № 7. Поле first — дробное число, левая граница
диапазона; поле second — дробное число, правая граница диапазона.
Реализовать метод rangecheck() — проверку заданного числа на
принадлежность диапазону.
Вариант № 8. Поле first — целое число, левая граница диапазона,
включается в диапазон; поле second — целое число, правая граница диапазона,
не включается в диапазон. Пара чисел представляет полуоткрытый интервал
[first, second). Реализовать метод rangecheck() — проверку заданного
целого числа на принадлежность диапазону.
Вариант № 9. Поле first — целое положительное число, часы; поле
second — целое положительное число, минуты. Реализовать метод
minutes()— приведение времени в минуты.
Вариант № 10. Линейное уравнение у = Ах + В. Поле first —
дробное число, коэффициент А; поле second — дробное число, коэффициент
В. Реализовать метод function()— вычисление для заданного х значения
функции у.
2.2 Открытое наследование
Во всех заданиях реализовать вывод на экран, методы получения
значений полей и методы установки значений полей, а также необходимые
конструкторы (если это не указано в задании явно). Конструкторы и методы
обязательно должны проверять параметры на допустимость; в случае
неправильных данных — выводить сообщение об ошибке и заканчивать
работу. Преобразование в строку реализовать в виде функции преобразования
string.
Для демонстрации работы с объектами нового типа во всех заданиях
требуется написать главную функцию. В программе должны присутствовать
различные способы создания объектов и массивов объектов. Программа
должна демонстрировать использование всех функций и методов.
Во всех заданиях реализовать функцию, получающую и возвращающую объекты базового класса. Продемонстрировать принцип подстановки.
Вариант № 11. Создать
базовый
класс
Саг
(машина),
характеризуемый торговой маркой (строка), числом цилиндров, мощностью.
Определить методы переназначения и изменения мощности. Создать
производный
класс
Lorry
(грузовик),
характеризуемый
также
грузоподъемностью кузова. Определить функции переназначения марки и
изменения грузоподъемности.
Вариант № 12. Создать класс Pair (пара чисел); определить методы
изменения полей и сравнения пар: пара p1 больше пары р2, если (first.p1
> first.р2) или (first.p1 = first.р2) и (second.p1 > second.р2).
Определить класс-наследник Fraction с полями: целая часть числа и
дробная часть числа. Определить полный набор методов сравнения.
Вариант № 13. Создать класс Liquid (жидкость), имеющий поля
названия и плотности. Определить методы переназначения и изменения
плотности. Создать производный класс Аlcohol (спирт), имеющий крепость.
Определить методы переназначения и изменения крепости.
Вариант № 14. Создать класс Pair (пара чисел); определить методы
изменения полей и вычисления произведения чисел. Определить производный
класс Rectangle (прямоугольник) с полями-сторонами. Определить методы
вычисления периметра и площади прямоугольника.
Вариант № 15. Создать класс Man (человек), с полями: имя, возраст,
пол и вес. Определить методы переназначения имени, изменения возраста и
изменения веса. Создать производный класс Student, имеющий поле года
обучения. Определить методы переназначения и увеличения года обучения.
Вариант № 16. Создать класс Triad (тройка чисел); определить
методы изменения полей и вычисления суммы чисел. Определить
производный класс Triangle с полями-сторонами. Определить методы
вычисления углов и площади треугольника.
Вариант № 17. Создать класс Triangle с полями-сторонами.
Определить методы изменения сторон, вычисления углов, вычисления
периметра. Создать производный класс Equilateral (равносторонний),
имеющий поле площади. Определить метод вычисления площади.
Вариант № 18. Создать класс Triangle с полями-сторонами.
Определить методы изменения сторон, вычисления углов, вычисления
периметра. Создать производный класс RightAngled (прямоугольный),
имеющий поле площади. Определить метод вычисления площади.
Вариант № 19. Создать класс Pair (пара чисел); определить методы
изменения полей и вычисления произведения чисел. Определить производный
класс RightAngled с полями-катетами. Определить методы вычисления
гипотенузы и площади треугольника.
Вариант № 20. Создать класс Triad (тройка чисел); определить
метод сравнения триад (см. задание 2). Определить производный класс Date
с полями: год, месяц и день. Определить полный набор методов сравнения дат.
2.3 Ввод-вывод
Следующие задания требуется решить с привлечением текстовых
файлов. Нужно написать функцию, с помощью которой подготовить входной
файл, записав в него 100 случайных целых чисел в диапазоне от -50 до +50 по
одному на строке. Сформировать выходной файл, преобразовав числа
входного файла.
Вариант № 21. Записать выходной файл, добавить к каждому числу
последнее число файла.
Вариант № 22. Записать выходной файл, разделить каждое число на
полусумму первого отрицательного и 50-го числа файла.
Вариант № 23. Записать выходной файл, вычесть из каждого числа
набольшее число файла.
Вариант № 24. Записать выходной файл, умножить каждое число на
минимальное из чисел файла.
Вариант № 25. Записать выходной файл, разделив все нечетные по
абсолютной величине числа на среднее арифметическое.
Вариант № 26. Записать выходной файл, вычесть из каждого числа
сумму чисел файла.
Вариант № 27. Записать выходной файл, умножить каждое третье
число на удвоенную сумму первого и последнего отрицательных чисел.
Вариант № 28. Записать выходной файл, добавить к каждому числу
первое нечетное по абсолютной величине число файла.
Вариант № 29. Записать выходной файл, умножить каждое четное
число на первое отрицательное число файла.
Вариант № 30. Записать выходной файл, добавить к каждому числу
половину последнего отрицательного числа файла.
2.4 Строки
Выполнить задание в вариантах:
 с С-строками;
 с С++-строками типа string;
Предполагается, что во всех заданиях текст записан в файле с именем
input.txt. В программе формируется строка с результатом и выводится на
экран.
Вариант № 31. В английском тексте заменить артикль «а»
определенным артиклем «the».
Вариант № 32. В русском тексте заменить местоимение «мы»
местоимением «они».
Вариант № 33. В тексте заменить все вхождения подстроки Str1
подстрокой Str2, которая вводится с клавиатуры.
Вариант № 34. В тексте после каждого сочетания Ch вставить строку
Str.
Вариант № 35. В заданном русском тексте заменить все точки
сокращением «тчк», запятые — сокращением «зпт».
Вариант № 36. В заданном тексте удалить все лишние пробелы,
оставив между словами только один пробел, а между предложениями — два
пробела.
Вариант № 37. В
заданном
тексте
выполнить
следующие
преобразования: после запятой, точки, двоеточия, точки с запятой должен
быть один пробел. Вставить пробел перед и после тире (минуса).
Вариант № 38. Дана строка, представляющая собой запись
выражения на C++. Перед и после каждого знака бинарной операции вставить
пробелы; для операции запятая пробел вставляется только после нее и запятая
прижимается к левому выражению. Знаки инкремента и декремента
прижимаются к аргументу без пробела.
Вариант № 39. Заменить в английском тексте местоимение «we»
местоимением «they».
2.5 Простые классы
Вариант 40. В заданном тексте после каждого символа Ch удалить все
символы до ближайшего символа, не являющегося буквой.
Вариант 41. Описать класс, реализующий стек. Написать программу,
использующую этот класс для моделирования Т-образного сортировочного
узла на железной дороге. Программа должна разделять на два направления
состав, состоящий из вагонов двух типов (на каждое направление формируется
состав из вагонов одного типа). Предусмотреть возможность формирования
состава из файла и с клавиатуры.
Вариант 42. Описать класс, реализующий бинарное дерево,
обладающее возможностью добавления новых элементов, удаления
существующих, поиска элемента по ключу, а также последовательного
доступа ко всем элементам.
Написать программу, использующую этот класс для представления
англо-русского словаря. Программа должна содержать меню, позволяющее
осуществить проверку всех методов класса. Предусмотреть возможность
формирования словаря из файла и с клавиатуры.
Вариант 43. Построить систему классов для описания плоских
геометрических фигур: круга, квадрата, прямоугольника. Предусмотреть
методы для создания объектов, перемещения на плоскости, изменения
размеров и вращения на заданный угол.
Написать программу, демонстрирующую работу с этими классами.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов классов.
Вариант 44. Построить описание класса, содержащего информацию о
почтовом адресе организации. Предусмотреть возможность раздельного
изменения составных частей адреса, создания и уничтожения объектов этого
класса.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 45. Составить описание класса для представления
комплексных чисел. Обеспечить выполнение операций сложения, вычитания
и умножения комплексных чисел.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 46. Составить описание класса для объектов-векторов,
задаваемых координатами концов в трехмерном пространстве. Обеспечить
операции сложения и вычитания векторов с получением нового вектора
(суммы или разности), вычисления скалярного произведения двух векторов,
длины вектора, косинуса угла между векторами.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 47. Составить описание класса прямоугольников со сторонами,
параллельными осям координат. Предусмотреть возможность перемещения
прямоугольников на плоскости, изменение размеров, построение
наименьшего прямоугольника, содержащего два заданных прямоугольника, и
прямоугольника, являющегося общей частью (пересечением) двух
прямоугольников.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 48. Составить описание класса для определения одномерных
массивов целых чисел (векторов). Предусмотреть возможность:
– обращения к отдельному элементу массива с контролем выхода за
пределы массива;
– задания произвольных границ индексов при создании объекта;
– выполнения операций поэлементного сложения и вычитания массивов
с одинаковыми границами индексов;
– умножения и деления всех элементов массива на скаляр;
– вывода на экран элемента массива по заданному индексу;
– вывода на экран всего массива.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 49. Составить описание класса для определения одномерных
массивов строк фиксированной длины. Предусмотреть возможность
обращения к отдельным строкам массива по индексам, контроль выхода за
пределы массива, выполнения операций поэлементного сцепления двух
массивов с образованием нового массива, слияния двух массивов с
исключением повторяющихся элементов, вывод на экран элемента массива по
заданному индексу и всего массива.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 50. Составить описание класса многочленов от одной
переменной, задаваемых степенью многочлена и массивом коэффициентов.
Предусмотреть методы для вычисления значения многочлена для заданного
аргумента, операции сложения, вычитания и умножения многочленов с
получением нового объекта-многочлена, вывод на экран описания
многочлена.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 51. Составить описание класса одномерных массивов строк,
каждая строка задается длиной и указателем на выделенную для нее память.
Предусмотреть возможность обращения к отдельным строкам массива по
индексам, контроль выхода за пределы массивов, выполнения операций
поэлементного сцепления двух массивов с образованием нового массива,
слияния двух массивов с исключением повторяющихся элементов, вывод на
экран элемента массива и всего массива.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 52. Составить описание класса, обеспечивающего
представление матрицы произвольного размера с возможностью изменения
числа строк и столбцов, вывода на экран подматрицы любого размера и всей
матрицы.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 53. Написать класс для эффективной работы со строками,
позволяющий форматировать и сравнивать строки, хранить в строках
числовые значения и извлекать их. Для этого необходимо реализовать:
– перегруженные операции присваивания и конкатенации;
– операции сравнения и приведения типов;
– преобразование в число любого типа;
– форматный вывод строки.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 54. Описать класс «домашняя библиотека». Предусмотреть
возможность работы с произвольным числом книг, поиска книги по какомулибо признаку (например, по автору или по году издания), добавления книг в
библиотеку, удаления книг из нее, сортировки книг по разным полям.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 55. Описать класс «записная книжка». Предусмотреть
возможность работы с произвольным числом записей, поиска записи по
какому-либо признаку (например, по фамилии, дате рождения или номеру
телефона), добавления и удаления записей, сортировки по разным полям.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 56. Описать класс «студенческая группа». Предусмотреть
возможность работы с переменным числом студентов, поиска студента по
какому-либо признаку (например, по фамилии, дате рождения или номеру
телефона), добавления и удаления записей, сортировки по разным полям.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 57. Описать класс, реализующий тип данных «вещественная
матрица» и работу с ними. Класс должен реализовывать следующие операции
над матрицами:
– сложение, вычитание, умножение, деление (+, -, *, /) (умножение и
деление, как на другую матрицу, так и на число);
– комбинированные операции присваивания (+=, -=, *=, /=);
– операции сравнения на равенство/неравенство;
– операции вычисления обратной и транспонированной матрицы,
операцию возведения в степень;
– методы вычисления детерминанта и нормы;
– методы, реализующие проверку типа матрицы (квадратная,
диагональная, нулевая, единичная, симметрическая, верхняя треугольная,
нижняя треугольная);
– операции ввода/вывода в стандартные потоки.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 58. Описать класс «множество», позволяющий выполнять
основные операции — добавление и удаление элемента, пересечение,
объединение и разность множеств.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 59. Описать класс, реализующий стек. Написать программу,
использующую этот класс для отыскания прохода по лабиринту.
Лабиринт представляется в виде матрицы, состоящей из квадратов.
Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат
запрещен. Если квадрат открыт, то вход в него возможен со стороны, но не с
угла. Каждый квадрат определяется его координатами в матрице. После
отыскания прохода программа печатает найденный путь в виде координат
квадратов.
Вариант 60. Описать класс «предметный указатель». Каждый
компонент указателя содержит слово и номера страниц, на которых это слово
встречается. Количество номеров страниц, относящихся к одному слову, от
одного до десяти. Предусмотреть возможность формирования указателя с
клавиатуры и из файла, вывода указателя, вывода номеров страниц для
заданного слова, удаления элемента из указателя.
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех
методов класса.
Вариант 61. Определить класс с именем STUDENT, содержащий
следующие поля:
– фамилия и инициалы;
– номер группы;
– успеваемость (массив из пяти элементов).
Определить методы доступа к этим полям и перегруженные операции
извлечения и вставки для объектов типа STUDENT.
Написать программу, выполняющую следующие действия:
– ввод с клавиатуры данных в массив, состоящий из десяти объектов
типа STUDENT; записи должны быть упорядочены по возрастанию номера
группы;
– вывод на дисплей фамилий и номеров групп для всех студентов,
включенных в массив, если средний балл студента больше 4.0;
– если таких студентов нет, вывести соответствующее сообщение.
Вариант 62. Определить класс с именем AEROFLOT, содержащий
следующие поля:
– название пункта назначения рейса;
– номер рейса;
– тип самолета.
Определить методы доступа к этим полям и перегруженные операции
извлечения и вставки для объектов типа AEROFLOT.
Написать программу, выполняющую следующие действия:
– ввод с клавиатуры данных в массив, состоящий из семи объектов типа
AEROFLOT, записи должны быть упорядочены по возрастанию номера рейса;
– вывод на экран номеров рейсов и типов самолетов, вылетающих в
пункт назначения, название которого совпало с названием, введенным с
клавиатуры;
– если таких рейсов нет, выдать на дисплей соответствующее
сообщение.
Вариант 63. Определить класс с именем WORKER, содержащий
следующие поля:
– фамилия и инициалы работника;
– название занимаемой должности;
– год поступления на работу.
Определить методы доступа к этим полям и перегруженные операции
извлечения и вставки для объектов типа WORKER.
Написать программу, выполняющую следующие действия:
– ввод с клавиатуры данных в массив, состоящий из десяти объектов
типа WORKER, записи должны быть размещены по алфавиту;
– вывод на дисплей фамилий работников, чей стаж работы в
организации превышает значение, введенное с клавиатуры;
– если таких работников нет, вывести на дисплей соответствующее
сообщение.
Вариант 64. Определить класс с именем TRAIN, содержащий
следующие поля:
– название пункта назначения;
– номер поезда;
– время отправления.
Определить методы доступа к этим полям и перегруженные операции
извлечения и вставки для объектов типа TRAIN.
Написать программу, выполняющую следующие действия:
– ввод с клавиатуры данных в массив, состоящий из восьми объектов
типа TRAIN, записи должны быть размещены в алфавитном порядке по названиям пунктов назначения;
– вывод на экран информации о поездах, отправляющихся после
введенного с клавиатуры времени;
– если таких поездов нет, выдать на дисплей соответствующее
сообщение.
Вариант 65. Определить класс с именем MARSH, содержащий
следующие поля:
– название начального пункта маршрута;
– название конечного пункта маршрута;
– номер маршрута.
Определить методы доступа к этим полям и перегруженные операции
извлечения и вставки для объектов типа MARSH.
Написать программу, выполняющую следующие действия:
– ввод с клавиатуры данных в массив, состоящий из восьми объектов
типа MARSH, записи должны быть упорядочены по номерам маршрутов;
– вывод на экран информации о маршруте, номер которого введен с
клавиатуры;
– если таких маршрутов нет, выдать на дисплей соответствующее сообщение.
3 СОДЕРЖАНИЕ ОТЧЕТА
Введение
1 Постановка задачи
2 Описание программы
3 Руководство оператора
4 Программа и методика испытаний
Заключение
Библиография
Приложения (текст программы)
Раздел «Описание программы» должен соответствовать требованиям
ГОСТ 19.101-77, «Руководство оператора» - ГОСТ 19.105—78, «Программа и
методика испытаний» - ГОСТ 19.105-78 (приложение А).
ЛИТЕРАТУРА
1 Лаптев В.В., Морозов А.В., Бокова А.В. С++. Объектноориентированное программирование. Задачи и упражнения. – СПб.:Питер,
2007. – 288 с.
2 Страуструп Б. Язык программирования С++: Спец. изд. / Пер. с англ. –
М.: Бином, 2001.
3 Павловская Т.А. С/С++. Программирование на языке высокого уровня.
– СПб.: Питер, 2002.
ПРИЛОЖЕНИЕ А
ГОСТ 19.101-77
ВИДЫ ПРОГРАММ И ПРОГРАММНЫХ ДОКУМЕНТОВ
Настоящий стандарт устанавливает виды программ и программных
документов для вычислительных машин, комплексов и систем независимо от
их назначения и области применения.
Стандарт полностью соответствует СТ СЭВ 1626-79.
1. ВИДЫ ПРОГРАММ
1.1. Программу (по ГОСТ 19781-90) допускается идентифицировать и
применять самостоятельно и (или) в составе других программ.
1.2. Программы подразделяют на виды:
-
Компонент.
Программа,
рассматриваемая
как
единое
целое,
выполняющая законченную функцию и применяемая самостоятельно или в
составе комплекса
- Комплекс. Программа, состоящая из двух или более компонентов и
(или) комплексов, выполняющих взаимосвязанные функции, и применяемая
самостоятельно или в составе другого комплекса
1.3. Документация, разработанная на программу, может использоваться
для реализации и передачи программы на носителях данных, а также для
изготовления программного изделия.
2. ВИДЫ ПРОГРАММНЫХ ДОКУМЕНТОВ
2.1. К программным относят документы, содержащие сведения,
необходимые для разработки, изготовления, сопровождения и эксплуатации
программ.
2.2. Виды программных документов и их содержание
Спецификация. Состав программы и документации на нее.
Ведомость держателей подлинников. Перечень предприятий, на
которых хранят подлинники программных документов.
Текст программы. Запись программы с необходимыми комментариями.
Описание
программы.
Сведения
о
логической
структуре
и
функционировании программы.
Программа и методика испытаний Требования, подлежащие проверке
при испытании программы, а также порядок и методы их контроля
Техническое задание. Назначение и область применения программы,
технические,
технико-экономические
и
специальные
требования,
предъявляемые к программе, необходимые стадии и сроки разработки, виды
испытаний.
Пояснительная записка. Схема алгоритма, общее описание алгоритма и
(или) функционирования программы, а также обоснование принятых
технических и технико-экономических решений
Эксплуатационные
документы.
Сведения
для
обеспечения
функционирования и эксплуатации программы.
2.3. Виды эксплуатационных документов и их содержание
Ведомость эксплуатационных документов. Перечень эксплуатационных
документов на программу.
Формуляр. Основные характеристики программы, комплектность и
сведения об эксплуатации программы.
Описание применения. Сведения о назначении программы, области
применения, применяемых методах, классе решаемых задач, ограничениях для
применения, минимальной конфигурации технических средств.
Руководство системного программиста. Сведения для проверки,
обеспечения функционирования и настройки программы на условия
конкретного применения.
Руководство программиста. Сведения для эксплуатации программы.
Руководство оператора. Сведения для обеспечения процедуры общения
оператора с вычислительной системой в процессе выполнения программы.
Описание языка. Описание синтаксиса и семантики языка.
Руководство по техническому обслуживанию Сведения для применения
тестовых и диагностических программ при обслуживании технических
средств.
2.4. В зависимости от способа выполнения и характера применения
программные документы подразделяются на подлинник, дубликат и копию
(ГОСТ 2.102-68), предназначенные для разработки, сопровождения и
эксплуатации программы.
ГОСТ 19.101-77. ОПИСАНИЕ ПРОГРАММЫ
1. Настоящий стандарт устанавливает состав и требования к содержанию программного документа "Описание программы", определенного ГОСТ
19.101-77. Стандарт полностью соответствует СТ СЭВ 2092—80.
2. Структуру и оформление документа устанавливают в соответствии с
ГОСТ 19.105-78. Составление информационной части (аннотации и
содержания) является обязательным.
3. Описание программы должно содержать следующие разделы общие
сведения:
- функциональное назначение;
- описание логической структуры;
- используемые технические средства;
- вызов и загрузка;
- входные данные;
- выходные данные.
В зависимости от особенностей программы допускается вводить дополнительные разделы или объединять отдельные разделы.
4. В разделе "Общие сведения" должны быть указаны:
- обозначение и наименование программы;
- программное обеспечение, необходимое для функционирования программы;
- языки программирования, на которых написана программа.
5. В разделе "Функциональное назначение" должны быть указаны классы решаемых задач и (или) назначение программы и сведения о функциональных ограничениях на применение.
6. В разделе "Описание логической структуры" должны быть указаны:
- алгоритм программы;
- используемые методы;
- структура программы с описанием функций составных частей и связей
между ними;
- связи программы с другими программами.
Описание логической структуры программы выполняют с учетом текста
программы на исходном языке.
7. В разделе "Используемые технические средства" должны быт указаны
типы
электронных
вычислительных
машин
и
устройств,
которые
используются при работе программы.
8. В разделе "Вызов и загрузка" должны быть указаны:
- способ вызова программы с соответствующего носителя данных;
- входные точки в программу.
Допускается указывать адреса загрузки, сведения об использовании
оперативной памяти, объем программы.
9. В разделе "Входные данные" должны быть указаны:
- характер, организация и предварительная подготовка входных данных;
- формат, описание и способ кодирования входных данных.
10. В разделе "Выходные данные" должны быть указаны:
- характер и организация выходных данных;
- формат, описание и способ кодирования выходных данных.
11. Допускается содержание разделов иллюстрировать пояснительными
примерами, таблицами, схемами, графиками.
•
12. В приложение к описанию программы допускается включать
различные материалы, которые нецелесообразно включать в разделы
описания.
ГОСТ 19.105—78. РУКОВОДСТВО ОПЕРАТОРА
1. Общие положения
1.1.
Структура,
устанавливаются
в
и
оформление
соответствии
с
ГОСТ
программного
19.105—78.
документа
Составление
информационной части (аннотации и содержания) является обязательным.
1.2. Руководство оператора должно содержать следующие разделы:
назначение программы;
условия выполнения программы;
выполнение программы;
сообщения оператору.
В зависимости от особенностей документа допускается объединять
отдельные разделы или вводить новые. (Измененная редакция, Изм. № 1).
2. Содержание разделов
2.1. В разделе "Назначение программы" должны быть указаны сведения
о назначении программы и информация, достаточная для понимания функций
программы и ее эксплуатации.
2.2. В разделе "Условия выполнения программы" должны быть указаны
условия, необходимые для выполнения программы минимальный и (или)
максимальный состав аппаратурных и программных. средств и т. п.).
(Измененная редакция, Изм. № 1).
2.3. В разделе "Выполнение программы" должна быть указана
последовательность действий оператора, обеспечивающих загрузку, запуск,
выполнение и завершение программы, приведено описание функций, формата
и возможных вариантов команд, с помощью которых оператор осуществляет
загрузку и управляет выполнением программы, а также ответы программы на
эти команды.
(Измененная редакция, Изм. № 1).
2.4. (Исключен, Изм. № 1).
2.5. В разделе "Сообщения оператору" должны быть приведены текст
сообщений, выдаваемых в ходе выполнения программы, описание их
содержания и соответствующие действия оператора (действия оператора в
случае сбоя, возможности повторного запуска программы и т. п.).
2.6. Допускается содержание разделов иллюстрировать поясняющими
примерами, таблицами, схемами, графиками.
2.7. В приложения к руководству оператора допускается включать
различные материалы, которые нецелесообразно включать в разделы
руководства.
ГОСТ 19.105-78. ПРОГРАММА И МЕТОДИКА ИСПЫТАНИЙ
1. Общие положения
1.1.
Структура
и
оформление
соответствии с ГОСТ 19.105-78.
документа
устанавливаются
в
Составление информационной части (аннотации и содержания) является
необязательным.
1.2. Документ "Программа и методика испытаний" должен содержать
следующие разделы:
объект испытаний;
цель испытаний;
требования к программе;
требования к программной документации;
средства и порядок испытаний;
методы испытаний.
В зависимости от особенностей документа допускается вводить
дополнительные разделы.
(Измененная редакция, Изм. № 2).
2. Содержание разделов
2.1. В разделе "Объект испытаний" указывают наименование, область
применения и обозначение испытуемой программы.
2.2. В разделе "Цель испытаний" должна быть указана цель проведения
испытаний.
2.3. В разделе "Требования к программе" должны быть указаны
требования, подлежащие проверке во время испытаний и заданные в
техническом задании на программу.
2.4. В разделе "Требования к программной документации" должны быть
указаны состав программной документации, предъявляемой на испытания, а
также специальные требования, если они заданы в техническом задании на
программу.
2.3, 2.4. (Измененная редакция, Изм. № 2).
2.5, 2.6. (Исключены, Изм. № 2).
2.7. В разделе "Средства и порядок испытаний" должны быть указаны
технические и программные средства, используемые во время испытаний, а
также порядок проведения испытаний.
2.8. В разделе "Методы испытаний" должны быть приведены описания
используемых методов испытаний. Методы испытаний рекомендуется по
отдельным показателям располагать в последовательности, в которой эти
показатели расположены в разделах "Требования к программе" и "Требования
к программной документации".
В методах испытаний должны быть приведены описания проверок с
указанием результатов проведения испытаний (перечней тестовых примеров,
контрольных распечаток тестовых примеров и т. п.).
2.7, 2.8. (Измененная редакция, Изм. № 2).
2.9. В приложение к документу могут быть включены тестовые
примеры, контрольные распечатки тестовых примеров, таблицы, графики и
т.п.
Download