Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lection1.doc
Скачиваний:
16
Добавлен:
17.12.2018
Размер:
169.47 Кб
Скачать

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

В этом разделе описывается структура исходной программы на C++ и определяются термины, используемые в последующем при описании языка. По сути, здесь представлен в самом общем виде обзор особенностей языка C++, которые в дальнейшем будут рассмотрены более детально.

Исходная программа

Исходная программа- это совокупность следующих объектов:

директив, указаний компилятору, объявлений и определений.

Директивы задают действия препроцессора по преобразованию текста программы перед компиляцией. Указания компилятору - это команды, выполняемые компилятором во время процесса компиляции. Объявления задают имена и атрибуты переменных, функций и типов, используемых в программе. Определения - это объявления, определяющие переменные и функции.

Определение переменной в дополнении к ее имени и типу задает начальное значение объявленной переменной. Кроме того, определение предполагает распределение памяти для переменной.

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

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

В следующем примере иллюстрируется простая программа на языке C++:

#include<iostream>

using namespace std;

int main()

{

int a,b,s,r;

cout<<"Input two numbers: ";

cin>>a>>b; // input a & b

s=a+b; // s – sum of a & b

r=a-b; // r – difference of a & b

cout<<s<<" "<<r<<endl; // Output two numbers s & r

return 0;

}

Эта программа определяет функцию с именем main. Переменные a,b,s,r задаются как переменные целого типа (int). В качестве результата работы программы на экран монитора выдается сумма и разность входных данных a и b.

1.9 Пример программы

Еще раз обобщим изложенное выше на примере аналогичной программы, которая находит сумму двух введенных с клавиатуры целых чисел. В конце программы мы вызываем функцию system(«pause»), необходимую для того, чтобы окно программы не закрывалось сразу же при работе в оболочке Dev-C++:

#include <iostream>

using namespace std;

int main()

{

int a,b,s;

cout<<«Введите два числа: «;

cin>>a>>b;

s=a+b;

cout<<a<<«+»<<b<<«=«<<s<<endl;

system(«pause»);

return 0;

}

1.10 Критерии качества программ

Создаваемые программы (вне зависимости то того, на каком языке программирования они пишутся) должны удовлетворять некоторым критериям. Перечислим их:

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

  2. Надежность – программа не должна «зависать» или «зацикливаться» при любых (разумных) исходных данных.

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

  4. Эргономичность – удобство для пользователя: не стоит забывать, что первым пользователем программы является непосредственно ее автор.

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

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

  • принято вложенные блоки писать со смещением вправо;

  • использовать везде, где это возможно, аккуратные столбцы строк;

  • не прятать операторные скобки (в C++ – это { }) в конец строки – в этом случае их трудно найти и определить начало и конец блока;

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

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

  1. Переносимость – программа должна работать не только на том компьютере, где ее изначально разрабатывали, но и на всех других ! В этой связи при написании программ необходимо отказаться от использования русских букв (а также и всех других, не используемых в английском алфавите) для обозначения имен идентификаторов, констант, ссылок, названий функций и т.д. Для этих целей надо использовать исключительно символы из английского алфавита ! Русские буквы можно использовать при написании комментариев к программе, но и в этом случае целесообразнее писать комментарии с использованием английских букв (еще лучше, если эти комментарии будут написаны на английском языке).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]