Введение
В этом лабораторном практикуме вы узнаете, как вычислить обратную синусную функцию (арксинус) в языке программирования C. Практикум охватывает два основных этапа: чтение допустимого входного значения в диапазоне от -1 до 1 и использование функции asin() из библиотеки math.h для вычисления арксинуса входного значения. Программа проверит диапазон входных данных и затем отобразит вычисленный угол в радианах. Этот практикум призван обеспечить практическое понимание тригонометрических вычислений с использованием языка C и использования функции asin().
Чтение значения в диапазоне от -1 до 1
В этом шаге вы научитесь читать и проверять числовой ввод для вычисления обратной синусной функции (арксинуса) в языке C. Функция арксинуса требует входных значений, строго лежащих в диапазоне от -1 до 1.
Сначала создайте новый файл C для программы:
cd ~/project
nano arcsin_input.c
Теперь напишите следующий код для чтения и проверки ввода:
#include <stdio.h>
int main() {
double input;
printf("Введите значение в диапазоне от -1 до 1 для вычисления арксинуса: ");
scanf("%lf", &input);
// Проверка диапазона ввода
if (input < -1 || input > 1) {
printf("Ошибка: Ввод должен быть в диапазоне от -1 до 1.\n");
return 1;
}
printf("Получен корректный ввод: %f\n", input);
return 0;
}
Компилируйте и запустите программу:
gcc arcsin_input.c -o arcsin_input
./arcsin_input
Пример вывода:
Введите значение в диапазоне от -1 до 1 для вычисления арксинуса: 0.5
Получен корректный ввод: 0.500000
В этом коде мы:
- Используем
scanf()для чтения числа с двойной точностью - Проверяем, находится ли ввод в допустимом диапазоне от -1 до 1
- Выводим сообщение об ошибке, если ввод находится вне допустимого диапазона
- Подтверждаем корректный ввод, если он соответствует критериям
Использование функции asin()
В этом шаге вы узнаете, как использовать функцию asin() из библиотеки math.h для вычисления обратного синуса (арксинуса) допустимого входного значения.
Сначала измените предыдущую программу, включив функцию asin():
cd ~/project
nano arcsin_calculation.c
Напишите следующий код для вычисления и отображения результата арксинуса:
#include <stdio.h>
#include <math.h>
int main() {
double input;
printf("Введите значение в диапазоне от -1 до 1 для вычисления арксинуса: ");
scanf("%lf", &input);
// Проверка диапазона ввода
if (input < -1 || input > 1) {
printf("Ошибка: Ввод должен быть в диапазоне от -1 до 1.\n");
return 1;
}
// Вычисление арксинуса с помощью функции asin()
double result = asin(input);
printf("Входное значение: %f\n", input);
printf("Результат арксинуса: %f радиан\n", result);
return 0;
}
Скомпилируйте программу с математической библиотекой:
gcc arcsin_calculation.c -o arcsin_calculation -lm
Запустите программу и протестируйте с различными входными данными:
./arcsin_calculation
Пример вывода:
Введите значение в диапазоне от -1 до 1 для вычисления арксинуса: 0.5
Входное значение: 0.500000
Результат арксинуса: 0.523599 радиан
Ключевые моменты о функции asin():
- Определена в библиотеке
math.h - Принимает значение в диапазоне от -1 до 1 в качестве входных данных
- Возвращает угол в радианах
- Требует линковки с флагом
-lmво время компиляции
Вывод Угла в Радианах
В этом шаге вы научитесь преобразовывать и выводить результат арксинуса в различных представлениях углов, включая радианы и градусы.
Измените предыдущую программу, включив преобразование в градусы:
cd ~/project
nano arcsin_angle_conversion.c
Напишите следующий код для отображения углов в радианах и градусах:
#include <stdio.h>
#include <math.h>
#define PI 3.14159265358979323846
int main() {
double input;
printf("Введите значение в диапазоне от -1 до 1 для вычисления арксинуса: ");
scanf("%lf", &input);
// Проверка диапазона ввода
if (input < -1 || input > 1) {
printf("Ошибка: Ввод должен быть в диапазоне от -1 до 1.\n");
return 1;
}
// Вычисление арксинуса
double radian_result = asin(input);
// Преобразование радиан в градусы
double degree_result = radian_result * (180.0 / PI);
// Вывод результатов с форматированием
printf("Входное значение: %f\n", input);
printf("Результат арксинуса (радианы): %f\n", radian_result);
printf("Результат арксинуса (градусы): %f\n", degree_result);
return 0;
}
Скомпилируйте программу:
gcc arcsin_angle_conversion.c -o arcsin_angle_conversion -lm
Запустите программу и протестируйте:
./arcsin_angle_conversion
Пример вывода:
Введите значение в диапазоне от -1 до 1 для вычисления арксинуса: 0.5
Входное значение: 0.500000
Результат арксинуса (радианы): 0.523599
Результат арксинуса (градусы): 30.000000
Ключевые моменты по преобразованию углов:
- Радианы являются типом результата по умолчанию для функции
asin() - Преобразование в градусы: умножение на (180/π)
- Использование
#define PIдля точного преобразования - Форматирование улучшает читаемость результатов
Резюме
В этом лабораторном практикуме вы изучили, как считывать и проверять числовое входное значение в диапазоне от -1 до 1, необходимое для вычисления обратной функции синуса (арксинуса) в языке C. Затем вы использовали функцию asin() из библиотеки math.h для вычисления арксинуса допустимого входного значения и вывели результат в радианах.
Ключевые моменты: 1) Проверка диапазона входных данных для обеспечения соответствия диапазону от -1 до 1, и 2) Использование функции asin() для вычисления обратного синуса входного значения.



