Алгоритм создания программного кода на С++.
Конструирование многих программ логически можно разделить на три этапа:
(1) Этап инициализации, на котором происходит инициализация переменных программы.
(2) Этап обработки, на котором происходит ввод данных и соответствующая настройка переменных программы.
(3) Этап завершения программы, на котором происходит вычисление и вывод окончательных результатов.
В составе программного модуля выделяются:
(1) Главная функция.
(2) Заголовочные файлы. Стандартное расширение заголовочных файлов - .h.
(3) Файлы реализации. Стандартное расширение файлов реализации - .cpp.
2.1. Комментарий в программном коде предназначен для облегчения восприятия программного кода. Комментарий можно разбить он не вызывает каких-либо действий. Синтаксис комментария в языках программирования выражается: (1), (2)
(1) в языке программирования Си : /* текст комментария */
(2) в языке программирования Си++: // текст комментария
(2.1) в языка программирования С++ допустима запись комментария в виде: /* текст комментария */
(3) ANSI-стандартом запрещено вкладывать комментарии друг в друга.
(1) <:> - : стандартный заголовочный файл, т.е. файл стандартной библиотеки функций С++,
(2) ":" - : имя подключаемого файла из библиотеки функций пользователя, так называемые функции, определяемые программистом, т.е. заголовочный файл,
(3) IM - : идентификатор макроса
4.1. Написать комментарий, раскрывающий описание и назначение глобальных переменных.
(1) тип возвращаемого значения функции пользователя
(2) заголовок функции, который должен быть уникальным
(3) в круглых скобках список параметров с указанием типа возвращаемого параметра
(4) такой оператор, должен заканчиваться операцией "точка с запятой"
(5) после операции "точка с запятой" надо вставить комментарий с описанием назначения функции
5.1. Такой оператор включается после написания функции пользователя, имеющей также обязательный оператор return в своем теле, в файле головной программы. Старайтесь применять метод повторного использования кода.
{ объявления;
операторы;
}
(1) main - для консольных приложений (работающих с Win32);
(2) WinMain - для приложений Windows.
- Цикл: while
- Цикл: do / while
- Цикл: for
- Определенное повторение - это повторение, управляемое счетчиком.
- Неопределенное повторение - это повторение, управляемое контрольным значением.
6.1. Определить спецификацию главной функции main ( ): (1) или (2)
(1) (void) - это значит, что функция не возвращает никакого значения - пример, void F1(void);
(2) или ( ) - это значит, что если тип возвращаемого значения не указан, то он по умолчанию считается равным int - пример, void F1( ).
(3) Первая из приведенных записей предпочтительнее, так как делает программу более переносимой.
6.1.1. При необходимости указать тип возвращаемых значений переменных в функции main (тип1, тип2, :).
6.2. Поставить скобки "{", "}", означающие начало и конец тела головной функции main ( ).
6.2.1. В теле главной функции (и не только главной функции) допустимы следующие типы комментариев:
(1) перед типом переменной в случае необходимости указывается спецификатор класса памяти идентификатора
(1.1) Справочно: Каждая переменная характеризуется некоторым классом памяти, который определяет ее время жизни - период, в течение которого эта переменная существует в памяти. Спецификация класса памяти идентификатора определяет его класс памяти, область действия и пространство имен. Класс памяти, в частности, определяется местом объявления переменной. В C++Builder имеется четыре спецификации класса памяти:
- auto, registr - автоматический класс памяти с локальным временем жизни,
- extern, static - статический класс памяти с глобальным временем жизни.
(2.1) Если переменная описана как const, то она недоступна в других модулях программы, ее нельзя изменять в других во время выполнения программы. Единственная возможность присвоить ей значение - это инициализация при определении. Объекту с модификатором const не только нельзя присваивать значения, но и для него запрещены операции инкремента (++) и декремента ( -- ). Указатель, определенный с модификатором const, нельзя изменять, однако может быть изменен объект, который им адресуется.
(2.2) Модификатор volatile отмечает, что в процессе выполнения программы значение объекта может изменяться в промежутке между явными обращениями к нему. Например, на объект может повлиять внешнее событие. Поэтому компилятор не должен помещать его в регистровую память и не должен делать никаких предположений о постоянстве объекта в те моменты, когда в про-грамме нет явных операций, изменяющих значение объекта.
(2.3) Диалекты языка С++ также включают следующие модификаторы:
(3) тип переменной (данных)
(3.1) Помните, что переменная может быть простая и вычисляемая. Поэтому для вычисляемых переменных используйте операцию приведения типов, чтобы программа корректно выполняла вычисления.
(3.2) Если программиста по каким -либо причинам не устраивает тот тип, который компилятор приписывает константе, то он может явным образом повлиять на его выбор. Для этого служат суффиксы, например, L, l (long), U, u (unsigned), которые ставятся перед типом переменной.
(4) идентификатор (имя) переменной
(4.1) Требования к идентификатору:
- Длина идентификатора должна быть больше или равна 31 символа;
- Особенности написания идентификаторов:
- Идентификатор не должен начинаться с цифры;
- Ключевые или зарезервированные слова Языка прогр. не применимы как идентификаторы;
- Идентификаторы нельзя разбивать. - Виды идентификаторов в зависимости от регистра написания:
- в нижнем регистре,
- в верхнем регистре,
- начинающийся с заглавной буквы. - Виды областей действия идентификатора:
- область действия функции,
- область действия файла,
- область действия блока, - область действия прототипа функции.
- целые (десятичные, восьмеричные, шестнадцатеричные);
- вещественные (с плавающей точкой);
- перечислимые;
- символьные (литерные);
- строковые (строки или литерные строки).
- Значением присваиваемым непосредственно;
- Значением присваиваемым по адресу.
- Синонимы термина "контрольное значение": сигнальное значение, фиктивное значение или флаговое значение.
- Нельзя в качестве контрольного значения выбирать значение, которое является допустимым значением данных.