Основы программирования для автоматизированного проектирования и решения творческих задач - 49 стр.

UptoLike

Составители: 

#define ABS(a) (a > 0 ? a : -(a))
а в тексте программы написать
ABS(x)
то после обработки текста программы препроцессором, на этом месте в программе появится выражение
(x > 0 ? x : -(x))
В отличие от функций, определение которых существует в программе в одном экземпляре, макросы
вставляются препроцессором в текст программы столько раз, сколько они используются. Функция оп-
ределяется для аргументов указанных в ее заголовке типов и возвращает результат строго определенно-
го типа. Макрос может использоваться для данных любого типа, допустимого в формируемом препро-
цессором выражении. Тип возвращаемого макросом результата определяется типом используемых в
нем операндов. Фактически макрос способен заменить несколько простых функций.
Для устранения неоднозначного толкования формируемых макроподстановок может быть полез-
ным параметры макроса и строку замещения выделять в скобки.
Главным ограничением при записи директивы #define с определением макроса является то, что она
должна состоять из одной строки в тексте программы. Если выражение, записываемое в определении
макроса является длинным, то его можно разбить на несколько строк. Для этого применяется символ '\',
который обозначает перенос текста на новую строку. Длину формируемой строки может сократить
применение препроцессорных операций # и ##.
16 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПРОГРАММИРОВАНИЯ
Процесс разработки программ для решения различных задач является творческим, а следовательно,
трудно формализуемым процессом. Это означает, что отсутствует единая система правил, следуя кото-
рой можно быстро создать правильную программу решения поставленной задачи; т.е. создавая про-
грамму, разработчик каждый раз начинает свой труд "с нуля". Однако существуют рекомендации по ор-
ганизации труда программиста, которые позволяют максимально сократить время разработки програм-
мы при получении наиболее высокого качества создаваемого программного продукта. Эти правила ре-
комендуют работу над программой разбивать на ряд стадий.
1 Постановка задачиопределяются цели и условия решения задачи, раскрывается ее содержа-
ние, выявляются факторы, оказывающие влияние на ход вычислений или конечный результат.
2 Формализацияпо результатам анализа сущности задачи определяется объем и специфика ис-
ходных данных, вводится система условных обозначений, устанавливается принадлежность данной за-
дачи к одному из известных классов задач и выбирается соответствующий математический аппарат
описания.
3 Выбор и разработка метода решенияпостроение на предыдущем шаге математической моде-
ли приводит к необходимости поиска способов решения задачи, т.е. необходимо установить зависи-
мость искомых результатов от исходных данных и разработать такие способы получения результата,
которые реализуемы на ЭВМ.
4 Составление алгоритма. Часто решение задачи не удается получить в виде явной формулы. В
этом случае разработке программы предшествует разработка алгоритма. Главное назначение алгоритма
точное и детальное описание процесса обработки исходных данных для получения требуемого ре-
зультата в соответствии с выбранным методом. На этом этапе последовательность действий, состав-
ляющая процесс решения задачи преобразуется в последовательность действий ЭВМ.
5 Составление программысоставленный алгоритм записывается на выбранном языке програм-
мирования в соответствии с правилами записи программы на этом языке.