Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Структура программы




Программа на языке С++ состоит из функций, описаний и директив препроцессора. Одна из функций должна иметь имя main. Выполнение программы начинается с первого оператора этой функции.

Формат простейшего определения функции:

тип_возвращаемого_значения имя_функции ([параметры]) // заголовок функции

{

// Блок тела функции:

// определения объектов;

// исполняемые операторы;

// return выражение; // если функция возвращает значение.

}

Как правило, функция используется для вычисления какого-либо значения, поэтому перед именем функции указывается его тип (тип возвращаемого результата). Если функция не должна возвращать значение, указывается тип void. Тело функции является блоком и, следовательно, заключается в фигурные скобки. Любая функция, кроме main, вызывается из другой функции. Примером функций являются библиотечные функции, например, sin(x), fabs(a).

Пример структуры простейшей программы Текст программы, состоящей из одной функции и содержащей компоненты, которые почти все могут отсутствовать
1. Препроцессорные директивы #include <iostream> /* подключение директивы (заголовочного файла) для организации ввода-вывода в С++ */
2. Описания using namespace std; // описание пространства имен std
3. Определение главной функции int main() // заголовок главной функции { // Блок тела функции // здесь находится программный код }

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

Текст программы на С++ обладает структурой. Общие принципы, позволяющие написать синтаксически правильную программу, таковы:

1. Каждый оператор заканчивается знаком «;». Обычная ошибка начинающего – это знак «;», завершающий заголовки функций или операторов цикла. В первом случае синтаксическая ошибка распознается как отсутствие тела функции, во втором случае телом цикла является пустой оператор, что синтаксической ошибкой не является, и программа выполняется.

2. Прежде чем использовать функции, переменные, типы данных, следует объявить их или подключить файлы с их объявлениями (сделать известными компилятору). В С++ объявление переменной (объекта) возможно не только в начале программы, но и в любом месте текста до первого обращения к ней. Областью действия такого объекта является только непосредственно охватывающий его блок. Как правило, так объявляют рабочие переменные.

3. Чтобы вызов функции мог быть выполнен, функция должна быть определена, т. е. описаны действия, которые она осуществляет.

4. При определении функции полезно придерживаться следующих рекомендаций:

- объявить и проинициализировать входные и выходные переменные;

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

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

Пример структуры программы, содержащей 2 функции: main и mysum.

  Зона комментариев // моя первая программа
  Зона директив препроцессора #include <iostream.h> #include <conio.h>
  Зона объявления прототипов пользовательских функций и глобальных переменных и структур данных int a = 10; int mysum(int x);
  ТОЧКА ВХОДА В ПРОГРАММУ Зона функции main() int main() { int b = 15, c; c = mysum(b); cout<<c; _getch(); }
  Зона определения пользовательских функций int mysum(int x) { int z = x + a; return z; }

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

§ подключение заголовочных файлов библиотек;

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

§ заголовок главной функции;

§ определение главной функции – блок, содержащий:

§ объявление локальных переменных и констант и их инициализацию (присвоение начальных значений);

§ ввод исходных данных (диалог с пользователем);

§ обработка – обращение к функциям, вычисление выражений, выполнение операторов;

§ вывод результата;

§ возвращение кода завершения главной функции;

§ определения пользовательских вспомогательных функций и методов классов; для каждой функции после заголовка размещается блок, содержащий:

§ объявление локальных переменных и их инициализацию;

§ обработку формальных параметров с использованием локальных переменных;

§ возвращение результата.

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

Правила оформления текста программы, направленные на облегчение понимания смысла и повышение наглядности, таковы:

- разделять логические части программы пустыми строками;

- разделять операнды и операции пробелами;

- для каждой фигурной скобки отводить отдельную строку;

- в каждой строке должно быть, как правило, не более одного оператора;

- ограничивать длину строки 60-70 символами;

- отступами слева отражать вложенность операторов и блоков;

- длинные операторы располагать в нескольких строках;

- проводить алгоритмизацию так, чтобы определение одной функции занимало, как правило, не более одного экрана текста;

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

Конечно, эти правила нужно использовать совместно с правилами именования элементов программы и комментирования текста программы:

- комментарии в тексте необходимы;

- имена объектов программы выбираются осмысленно. Каждое имя подчеркивает назначение и логику объекта, например, имена библиотечных функций sin, abs, printf и прочих говорят сами за себя. Имена объектов, введенные программистом, подчеркивают их абстрактный смысл, например, Count, Square, Point.x, Point.y и так далее.




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 756; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.