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

Тема 25

Программные средства многомерной интерполяции

4 Общие методические указания

1. При перегрузке операции присваивания необходимо учесть, что динамическое присваивание включает следующие 4 этапа.

Этап 1. Проверить, не присваивается ли объект самому себе, если это так, то необходимо завершить выполнение функции с возвратом ссылки на объект. Это позволяет предотвратить эффект "схлопывания" объекта.

Этап 2. Свернуть левый операнд (т.е. уничтожить его динамичес-кие компоненты).

Этап 3. Развернуть левый операнд в соответствии со структурой и размерами правого.

Этап 4. Выполнить копирование простых и динамических компо-нент из B в A .

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

3. При записи текстов программ следует руководствоваться правилами, определяемыми стилем ЗНТУ. Описание этих правил приводится в следующей главе.

5 Стиль записи программ

При записи текстов программ в отчетах, публикациях, книгах и других материалах важную роль играет стиль записи текстов программ. Особенно большое значение это имеет для языка С/С++. Если используется хороший стиль, программа выглядит лучше, проще и понятнее и, кроме того, текст программы в этом случае будет короче. Выполнить анализ программы, найти в ней ошибку или какую-нибудь проблемную точку оказывается намного легче, если текст программы записан в хорошем стиле. К сожалению, в настоящее время правила записи текстов программ не регламентируется никакими действующими стандартами или хотя бы рекомендациями или какими-либо общепринятыми правилами. В книгах и публикациях, которые мы читаем, каждый из авторов использует свой собственный стиль и, как свидетельствуют результаты систематического опыта, в большинстве случаев предлагаемый стиль на поверку оказывается или плохим, или вообще никуда не годным. Это относится как к отечественным, так и к зарубежным авторам книг и публикаций по соответствующей тематике. И, конечно же, это в полной мере относится к студентам, которые пишут свои тексты программ в отчетах по выполненным учебным заданиям и в пояснительных записках к разрабатываемым проектам.

Хорошим решением проблемы является использование так называемого стиля ЗНТУ. Он определяет правила записи программ на языке С/С++ и носит рекомендательный характер. Попробуйте писать свои программы в соответствии с этим стандартом и вы убедитесь, что это действительно хорошо. Накопленный опыт использования этого стандарта в учебном процессе, а также в научных отчетах и публикациях подтверждает его эффективность. Правила стандарта достаточно просты, они легко запоминаются и осваиваются.

Ниже приводятся некоторые основные положения стандарта - стиля ЗНТУ.

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

2. Текст любой программы на языке С/С++ представляет собой некоторую последовательность программных компонентов одного из следующих видов: директив, объявлений, комментариев и функций. Директивы представляют собой команды, которые управляют процессом компиляции программы. Комментарии используются для того, чтобы сделать программу более удобочитаемой. Они как раз и являются именно теми элементами, которые позволяют лучше выполнять именно вторую функцию языка программирования.

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

3. Все директивы, которые начинаются символом " # " записываем с первой позиции строки. Например:

#define M_PI pi

#ifndef _SYST_

#define _SYST_

#include <dos.h>

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#endif

Параметры директивы отделяются от самой директивы и разделяются между собой пробелами. Количество пробелов не регламентируется.

4. Глобальные простые объявления также записываются с первой позиции строки. Примеры:

 расширение пространства имен:

using namespace std;

 объявление глобальной константы:

const double CPU_Frequency = 2600.0;

 объявление глобальных переменных:

unsigned long STIME_1,STIME_2;

5. Фигурные скобки, которые имеют глобальный статус (например, скобки, которые определяют тело функции или класса), записываются с первой позиции строки. И, наоборот, в первой позиции строки записываются только те фигурные скобки, которые имеют глобальный статус. Фигурная скобка, которая открывает локально определенный блок, сдвигается вправо на количество позиций, кратное двум. При этом величина сдвига определяется уровнем вложенности соответствующего блока. Скобка, которая закрывает блок, записывается точно под соответствующей открывающей скобкой. Если блок целиком помещается в одной строке, то обе скобки можно расположить в той строке.

Все строки, которые составляют тело блока, сдвигаются на 2 позиции вправо относительно положения фигурных скобок, которые определяют блок.

Заголовок класса или классового типа, объявление которого имеет глобальный статус (то есть обычное объявление класса), записывается с 3 позиции строки. С этой же позиции записывается и заголовок любой функции.

Пример правильной записи текста программы.

class poligon // Заголовок класса, сдвиг на 2 позиции

{ float xc,yc,r; // Фигурная скобка имеет глобальный // статус

int n, alfa, col;

public: // Атрибут доступа пишем в отдельной строке

poligon();

void draw();

void rotate(int delta);

}; // Скобка имеет глобальный статус!

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