|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Вычисление площади треугольника
Вычисление площади треугольника. Для определения площади треугольника по формуле Герона
достаточно задать длины его сторон А, В, С и, вычислив полупериметр р=(А+В+С)/2, вычислить значение площади по формуле. Однако для составления соответствующей программы необходима функция вычисления квадратного корня. Предположив, что такой функции в библиотеке стандартных математических функций нет, составим ее сами. В основу положим метод Ньютона:
где z - подкоренное выражение; х0 - начальное приближение. Вычисления будем проводить с фиксированной относительной точностью e. Для простоты условием прекращения счета будет выполнение неравенства Для вычисления абсолютного значения введем еще одну функцию с именем abs() (хотя такая функция, так же как функция для вычисления квадратного корня, есть в стандартной библиотеке). Программа может быть такой:
В программе используются три функции. Основная функция main() вызывает функцию sqr(), прототип которой размещен выше вызова. Функция abs() не описана в основной программе, так как здесь к ней нет явных обращений. Функция abs() вызывается из функции sqr(), поэтому ее прототип помещен в тело функции sqr(). В процессе выполнения программы может возникнуть аварийная ситуация, когда введены такие значения переменных а, b, с, при которых они не могут быть длинами сторон одного треугольника. При обнаружении такой ситуации выдается предупреждающее сообщение "Треугольник построить нельзя!" и основная функция main() завершается оператором return. В функции sqr() также есть защита от неверных исходных данных. В случае отрицательного значения подкоренного выражения (х) нужно не только прервать вычисление значения корня, но и завершить выполнение программы с соответствующим предупреждающим сообщением. Оператор return для этого неудобен, так как позволяет выйти только из той функции, в которой он выполнен. Поэтому вместо return; при отрицательном значении х в функции sqr() вызывается стандартная библиотечная функция exit(), прекращающая выполнение программы. Прототип (описание) функции exit() находится в заголовочном файле stdlib.h, который включается в начало текста программы препроцессорной директивой. Пример результатов выполнения программы:
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |