- •Программирование и основы алгоритмизации
- •1. Понятие алгоритма
- •1.1. Определение алгоритма
- •1.2. Гост на описание блок-схем
- •1.3. Виды алгоритмов
- •2. Языки программирования
- •2.1. Определение алгоритмического языка
- •2.2. Классификация языков. История развития языков программирования
- •2.3. Выбор языка программирования
- •2.5. Арифметические и логические основы программирования
- •3. Понятие системы программирования
- •3.1. Этапы создания программ
- •3.2. Конструирование программ
- •3.3. Методы, технологии и инструментальные средства производства программных продуктов
- •4.1. Литералы
- •4.2. Встроенные типы данных
- •4.3. Операции
- •Адресные операции
- •Операции преобразования знака
- •Побитовые операции
- •Операция определения размера
- •Операции увеличения и уменьшения значения
- •Операции динамического распределения памяти
- •Операция доступа
- •Аддитивные операции
- •Мультипликативные операции
- •Операции сдвига
- •Поразрядные операции
- •Операции сравнения
- •Логические бинарные операции
- •Операция присваивания
- •Специальные формы операций присваивания
- •Операции выбора компонентов структурированного объекта
- •Операции обращения к компонентам класса
- •Операция управления процессом вычисления значений
- •Операция вызова функции
- •Операция явного преобразования типа
- •Операция индексации
- •4.5. Агрегатные типы данных
- •4.5.1. Массивы
- •4.5.2. Структуры
- •4.5.3. Поля битов
- •4.5.4. Объединения Используются для хранения значений различных типов в одной и той же области памяти, но не одновременно.
- •4.5.5. Перечисления
- •4.5.6. Переименование типов
- •Typedef имя ранее определенного типа имя нового типа1
- •Объявление typedef применяется для создания удобных распознаваемых имен часто встречающихся и для вложенных типов, а также, чтобы сделать программы переносимыми для различных целых типов.
- •4.6. Обработка символьных и строковых переменных
- •4.7. Указатели
- •4.7.1. Инициализация указателей
- •4.7.2. Операции с указателями
- •4.8. Пользовательские процедуры и функции
- •4.8.1. Перегрузка функций
- •4.8.2. Перегрузка операций
- •4.8.3. Шаблоны функций
- •4.8.4. Возврат из функции нескольких значений
- •4.9. Файлы
- •4.10. Директивы препроцессора
- •Библиографический список
3. Понятие системы программирования
3.1. Этапы создания программ
Программное обеспечение (ПО) состоит из нескольких совместно работающих программ (программных модулей), объединенных в программный комплекс (ПК), и документов, необходимых для разработки, сопровождения и эксплуатации ПК, а также ряда других документов. В простейшем случае ПК включает в себя только одну программу, но второй компонент ПО – документы, должны присутствовать всегда.
Программа (программный модуль) – это упорядоченная последовательность команд или операторов, которые после ввода в ОЗУ позволяют обработать входные данные и выдать результаты.
Проектирование и последующая поддержка ПО включает ряд этапов (рис. 7), которые в совокупности называются жизненным циклом программного продукта.
На первом этапе (10 %) создается математическая и логическая модели исследуемого явления. Характеристики и особенности модели отражаются в спецификации (формализованное описание свойств, характеристик и функций объекта). Она включает название задачи, программы, систему программирования, тип ПК, подробную постановку задачи, описание математической модели, метода обработки данных и т.д.
Выполняемые функции предусматривают:
― Управление режимами работы (формулировка требований к способу взаимодействия пользователя с программой: интерфейсу «пользователь – компьютер»). Интерфейс пользователя – комплекс программных средств, обеспечивающий взаимодействие пользователя с системой.
― Требования к входным данным (форма, пределы изменения).
― Вид выходных данных (числовой, графический, сообщения).
― Способы диагностики и защиты от ошибок на этапе проектирования.
― Особые ситуации. Краткая документация.
При проектировании программного средства (10%) формируется общая структура программного комплекса (ПК разбивается на части – программные модули). При этом используются сновные методы проектирования: «снизу вверх» и «сверху вниз». Для каждого модуля формируются требования по функциям и разрабатываются алгоритмы. Определятся схема взаимодействия программных модулей (потоков данных). Доказывается правильность проекта и алгоритмов или методов.
Рис. 7. Диаграмма этапов разработки программного обеспечения
Кодирование (10 %) заключается в переводе алгоритмов для каждого программного модуля в программы на конкретном языке программирования (с обоснованием выбора языка).
Отладка и тестирование (20 %) направлены на устранение следующих ошибок:
– допущенных при разработке и не обнаруженных при тестировании (к ним относятся неправильная постановка задачи; неверный алгоритм; семантические, синтаксические ошибки; ошибки стадии выполнения; ошибки в данных и в документах);
– при вводе в компьютер неверных данных;
– компьютерных вирусов;
– сбоев оборудования;
– «злой воли человека», когда программист специально может внести ошибку в программный комплекс, включить «логическую бомбу», срабатывающую после определенного числа запусков.
Отладка – поиск и исправление ошибок. Для выявления «скрытых» ошибок производится тестирование. Тестирование различают автономное (тестируются отдельные программные модули) и комплексное (проверка всего программного комплекса).
После того как тестированием обнаружена ошибка, она исправляется, и продолжается процесс отладки. Отладка и тестирование чередуются, пока в ПК не будут найдены и ликвидированы все ошибки.
На этапе сопровождения (50 %) и эксплуатации производится добавление новых функций в ПК, устранение ошибок, обнаруженных в процессе эксплуатации, тиражирование программного продукта.
Документация разрабатывается с момента начала разработки ПО. Она делится на группу документов для разработчиков и специалистов, которые будут сопровождать ПК; и для пользователей ПО. Первая группа документов включает:
– техническое задание (задание на разработку) и спецификацию;
– схему разбиения ПК на программные модули;
– схему потоков данных;
– схему взаимодействия программных модулей;
– схемы алгоритмов и исходные тесты программ с комментариями;
– планы и данные для тестирования ПК;
– другие материалы, иллюстрирующие проект (структуру ПК и модулей).
Второй вид документов содержит информацию, необходимую для работы с программным комплексом. Эти документы могут оформляться в печатном виде или встраиваться в ПК или программу помощь в виде подсказки.