Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР4-С++-13 марта-2012 - копия.doc
Скачиваний:
11
Добавлен:
15.09.2019
Размер:
2.55 Mб
Скачать

2.11.3.4. Пример программы

Условие задачи. В треугольнике заданы две стороны а, b и угол напротив одной из них А. Определить сторону с, углы B и С и площадь треугольника S (линейные размеры вводить и выводить в см, площадь — в см2, углы — в градусах).

Расчетные формулы. При решении задач воспользуемся следу­ющими формулами:

из теоремы синусов –

сумма углов треугольника 180° – C = 180 – (A +B);

из теоремы синусов

2.11.3.5. Программа

Лабораторная работа № 4

Решение треугольника по двум сторонам и углу напротив одной из них.

Автор Корейко Александр Иванович, гр. ИНФО-101 20.03.2012

#include <stdio.h>

#include <conio.h>

#include <math.h> // подключение заголовочных файлов,

// библиотек стандартных функций

void main () // заголовок главной функции

{

float a, b, с, А, В, С, S;

float Ар, Вр, Ср; /*углы в радианах*/

float const pi = 3.141592;

printf("Введите стороны а и b (см) >");

scanf(" %/%/",& а, &Ь);

printf("\ri- Введите угол А (град)> ");

scanf("%/",&A);

/*вычисление углов В и С*/

Ар = A*pi/180; //перевод угла А в радианы

Вр = asin(b/a*sin(Ap));

В = Вр* 180/pi; //перевод угла В в градусы

С = 180- +В);

Ср = C*pi/180; //перевод угла С в радианы

/*вычисление стороны с и площади треугольника*/

с = a*sin (Cp)/sin(Ap);

S= 1.0/2* a*b*sin(Cp);

/* печать результатов*/

printf("\n. \nРезультаты:"

"\n Сторона с = % 7.2/см"

"\n Углы В = % 6.2/град, С= % 6.2/град"

"\n Площадь S= % 7.2/кв. см",

c,B,C,S);

getch ();

return 0;

}

2.11.3.6. Результаты работы программы.

Введите стороны а и b (см) > 1 1

Введите угол А (°) > 45

Результаты: сторона с =1,42 см углы В = 45°, С =90° площадь S=0,5 см2

2.11.3.7. Типичные ошибки при выполнении работы

Аргументы библиотечных тригонометрических функций оши­бочно задаются в градусах. Компилятор такую ошибку не перехватывает, поэтому ее обнаружение затруднительно.

Функция вычисления тангенса ошибочно записывается в виде tg(x), а обратные тригонометрические функции в виде arcsin(x), arcos(x) и arctg(x). В языке С принято написание: tan(x), asin(x), acos(x) и atan(x).

3. Выводы

 Выполнение этой лабораторной работы должно познакомить Вас с простейшими конструкциями языка С++. Вы должны научиться: выполнять математические операции в своих программах с использованием арифметических операторов языка C++; используя круглые скобки в арифметических выражениях, управлять порядком, в котором язык C++ выполняет операции; правильно записывать арифметические выражения; использовать префиксные (до) и постфиксные (после) операции увеличения и уменьшения значения переменной на единицу; правильно выбирать имена переменных с учетом информативности и требований языка С++.

Выполнение этой лабораторной работы позволит закрепить знания: по приоритету арифметических операция языка С++; по структуре программы на языке С++; выработать навыки программирование алгебраических выражений с использованием арифметических операций и стандартных математических функций.