КАТЕГОРИИ: Архитектура-(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) |
Использование библиотечных функций
Стандартные библиотеки входят в стандартный комплект системы программирования на Си/Си++. Кроме того, программист может создавать собственные библиотеки функций. Для использования стандартных функций необходимо подключать к программе заголовочные файлы соответствующих библиотек с помощью директивы претранслятора #include с указанием имени заголовочного файла. Например: #include <stdio.h>.
Все заголовочные файлы имеют расширение h (от английского header). На стадии претрансляции происходит подстановка прототипов перед основной функцией, после чего компилятор в состоянии контролировать правильность обращения к функциям. Сами программы, реализующие функции, хранятся в форме объектного кода и подключаются к основной программе на стадии редактирования связей (при работе компоновщика). Пример: программа решения задачи - зная декартовы координаты вершин выпуклого четырехугольника, вычислить его площадь:
Математическое решение этой задачи: Обозначим координаты вершин четырехугольника: (х1,у1), (х2,у2), (х3, у3), (х4, у4). Площадь четырехугольника вычислим как сумму площадей двух треугольников. Пплощадь каждого треугольника вычисляется по формуле Герона. Для применения формулы Герона нужно найти длины сторон. Длина стороны между первой и второй вершинами вычисляется по формуле:
Аналогично вычисляются длины других отрезков. Таким образом, для решения основной задачи — вычисления площади четырехугольника — требуется вспомогательный алгоритм вычисления площади треугольника, для которого, в свою очередь, необходим вспомогательный алгоритм вычисления длины отрезка по координатам концов. Программа решения поставленной задачи.
В этой программе используются функции из трех стандартных библиотек с заголовочными файлами iostream.h, math.h и conio.h. Третья библиотека (файл conio.h) содержит функции, предназначенные для управления выводом на экран в символьном режиме. В программе из этой библиотеки используется функция clrscr () — очистка экрана.
Еще одним новым элементом в приведенной программе является строка: typedef double D; Служебное слово typedef представляет собой спецификатор типа, позволяющий определять синонимы для обозначения типов. В результате в рассматриваемой программе вместо длинного слова double для обозначения того же самого типа можно употреблять одну букву D. Данное описание действует глобально и распространяется как на основную, так и на вспомогательные функции.
Еще одно обстоятельство: в функции Geron имеются обращения к функции Line, а в основной функции — обращение только к функции Geron. Для компилятора важно, чтобы перед вызывающей функцией присутствовал или прототип, или определение вызываемой функции. Поэтому если из данной программы убрать прототип функции Line, то ошибки не будет. Но если одновременно с этим поменять местами определения функций Line и Geron, то компилятор выдаст сообщение об ошибке.
Дата добавления: 2014-01-06; Просмотров: 754; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |