Основы программирования на C++, PASCAL
stdio.h>. Все заголовочные файлы имеют расширение h (от английского header). Теперь должно быть понятно, что эти файлы содержат прототипы функций библиотеки. На стадии претрансляции происходит подстановка прототипов перед основной функцией, после чего компилятор в состоянии контролировать правильность обращения к функциям. Сами программы, реализующие функции, хранятся в форме объектного кода и подключаются к основной программе на стадии редактирования связей (при работе компоновщика).
Рассмотрим программу решения следующей задачи: зная декартовы координаты вершин выпуклого четырехугольника, вычислить его площадь (рис. 45).
Математическое решение этой задачи следующее. Обозначим координаты вершин четырехугольника так: (х1,у1), (х2,у2), (х3, у3), (х4, у4). Площадь четырехугольника можно вычислить как сумму площадей двух треугольников. В свою очередь, площадь каждого треугольника вычисляется по формуле Герона. Для применения формулы Герона нужно найти длины сторон. Длина стороны между первой и второй вершинами вычисляется по формуле:
Аналогично вычисляются длины других отрезков.
Таким образом, для решения основной задачи — вычисления площади четырехугольника — требуется вспомогательный алгоритм вычисления площади треугольника, для которого, в свою очередь, необходим вспомогательный алгоритм вычисления длины отрезка по координатам концов.
Ниже приведена программа решения поставленной задачи.
Пример 5.
В этой программе используются функции из трех стандартных библиотек с заголовочными файлами iostream.h, math.h и conio.h. С первыми двумя мы уже встречались раньше. Третья библиотека (файл conio.h) содержит функции, предназначенные для управления выводом на экран в символьном режиме. Она является аналогом модуля CRT в Турбо Паскале. В программе из этой библиотеки используется функция clrscr () — очистка экрана.
Еще одним новым элементом в приведенной программе является строка
typedef double D;
Служебное слово typedef представляет собой спецификатор типа, позволяющий определять синонимы для обозначения типов. В результате в рассматриваемой программе вместо длинного слова double для обозначения того же самого типа можно употреблять одну букву D. Данное описание действует глобально и распространяется как на основную, так и на вспомогательные функции.