КАТЕГОРИИ: Архитектура-(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) |
Обозначения геометрических фигур
ОБОЗНАЧЕНИЯ И СИМВОЛИКА Макроподстановки средствами препроцессора
Макрос, по определению, есть средство замены одной последовательности символов другой. Для выполнения замен должны быть заданы соответствующие макроопределения. Простейшее макроопределение можно записать так: #define идентификатор строка_замещения Такая директива удобна, однако она имеет существенный недостаток – строка замещения фиксирована. Большими возможностями обладает следующее макроопределение с параметрами: #define имя(список параметров) строка_замещения Здесь имя – имя макроса (идентификатор), список_параметров – список разделённых запятыми идентификаторов. Между именем макроса и списком параметров не должно быть пробелов. Классический пример макроопределение: #define max(a,b) (a < b? b: a) позволяет формировать в программе выражение, определяющее максимальное из двух значений аргументов. При таком определении вхождение в программу max(X, Y) заменяется выражением (X < Y? Y: X) а использование max(Z, 4) приведёт к формированию (Z < 4? 4: Z) Выводы: При препроцессорной обработке исходного текста программы каждая строка обрабатывается отдельно. Напомню, что возможно “соединение” строк: если в конце строки стоит символ ‘\’, а за ним – символ перехода на новую строку ‘\n’, то эта пара символов исключается и следующая строка непосредственно присоединяется к текущей строке. Анализируя полученные строки, препроцессор распознаёт лексемы. Лексемами для препроцессора являются: - лексемы языка С++; - имена файлов; - символы, не определённые иным способом. Аргументы вызова макроса – лексемы, разделённые запятыми. В последовательности лексем, образующих строку замещения, предусматривается использование двух операций – ‘#’ и ‘##’, первая из которых помещается перед параметром, а вторая – между любыми двумя лексемами. Операция ‘#’ требует, чтобы текст, замещающий данный параметр в формируемой строке, заключался в двойные кавычки. Например, для определения: #define sm(zip) cout << #zip обращение (макровызов) sm(сумма); приведёт к формированию оператора cout << “сумма”; Операция ‘##’, допускаемая только между лексемами строки замещения, позволяет выполнять конкатенацию лексем, включаемых в строку замещения. Определение: #define abc(a, b, c, d) a##(##b##c##d) позволит сформировать выражение sin(x+y), если использовать макровызов abc(sin,x,+,y).
1. Геометрическая фигура - Ф. 2. Точки - A, B, C, D,... или 1, 2, 3, 4,... 3. Линии - a, b, c,... 4. Отрезки прямых линий - AB, BC, CD,... 5. Плоскости и поверхности D, L, S, U,… 6. Плоскости проекций - П 7. Углы - a, b, g, d,… 8. Расстояния- IABI, IabI,... 9. Проекции геометрических фигур на плоскости проекций – A1, A2, A3,..., a1, b2, c3, …, A1B1, B2C2,... 10. Аксонометрические проекции геометрических фигур- A1, B1, C1 , a1, b1, d1,... 11. Оси проекции - Оx, Оy, Оz.
Дата добавления: 2014-01-06; Просмотров: 424; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |