Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / Lab6 / lab6-1

.c
Скачиваний:
2
Добавлен:
18.02.2023
Размер:
1.24 Кб
Скачать
/*
В основной функции main реализовать демонстрацию работы 
разработанной пользовательской функции. Ввод и вывод 
всех данных осуществляется в функции main.

Реализовать функцию вычисления значения натурального 
логарифма числа (|x|<1) по формуле:  . В качестве 
параметров в функцию передается: x и абсолютная погрешность 
вычислений. Все параметры и возвращаемое значение функции 
имеют вещественный тип. Используя разработанную функцию 
вывести таблицу значений на промежутке [A,B] с шагом H. 
Точность расчета задается пользователем.
*/

#include <stdio.h>
#include <math.h>
#include <locale.h>

double ln(double x, double eps);

int main(void)
{
	setlocale(LC_ALL, "Ru");
	double a = -1.0, b = 1.0, h = 0.1, eps = 0.001;
	printf("Введите точность: ");
	do
	{
		scanf("%lf", &eps);
		if(eps > 0 && eps < 1) break;
		printf("Некорректный ввод! Значение должно быть более 0 и менее 1. Попробуйте снова: ");
	} while(1);

	while(a < b)
	{
		printf("%lf\n", ln(a, eps));
		a += h;
	}
	return 0;
}

double ln(double x, double eps)
{
	double sum = 0.0, next = x, i = 0.0;
	while (fabs(next) > eps)
	{
		sum += next;
		i++;
		next = pow(-1.0, i) * pow(x, i + 1.0) / (i + 1.0);
	}
	return sum;
}
Соседние файлы в папке Lab6