Deprecated: Function eregi_replace() is deprecated in /club.itdrom.com/data/cms/modules/products/client.php on line 420 Урок : Сделай на компьютере : Несколько мат.функций на C

Учимся вместе ::: Сделай на компьютере ::: Несколько мат.функций на C

В некоторых задачах по программированию нужно произвести какие-нибудь вычисления, но при этом запрещают пользоваться тандартными математическими функциями.
Однако, если не уточняется, что мы не можем написать их сами, нам ничего не мешает это сделать!
Примеры некоторых я напишу на C.
1) Первая - это вычисление степени с вещественным основанием и целым положительным показателем ap. Есть много путей, но лучший пока - реккурентное умножение.

Листинг 1

2) Вторая - вычисление факториала числа a!. Эта функция также реализована реккурентным умножением.

Листинг 2

Первые две функции очень просты, третья сложнее.
3) Вычисление квадратного корня числа. Математика вычислений построена на том, что корнем числа a^0.5 является пределом последовательности {x(n)}, заданной реккурентным соотношением x(n+1)=0.5*(x(n)+ a/x(n)), x(1)=a.
Для реализации рекуурсии функции ей аргументами передаются текущий x(n) и a. Третий аргумент - номер n, x(n) будет выдан как a^0.5, и n задает точность вычисления (обычно n=100 хватает за уши).
Листинг 3

 Соответственно, a^0.5=SquRt(a, a, n).
4) Вычисление синуса угла в радианах. Эта функция раскладывает синус x (0<=x<2?) в ряд Тейлора: sin(x)=x + x^3/3! + x^5/5! + x^7/7!... Здесь будем использовать функции степени и факториала. Как аргументы функции передаются x и n, последний задает степень точности (количество слагаемых, для 6 знаков после запятой хватает n=10).
Листинг 4

Ну вот так и закрутились, не используя стандартные функции)

<<< Предыдущая работа

Вернуться в галерею "Учимся вместе"
Несколько мат.функций на C
Автор: Администратор 1-го ранга (Координатор) Darth Waiter*
Город: На'Хталн

Дата: 11.10.2010  23:42
Комментариев: 2
Просмотров: 550
Оценка: 0 (0|0|0|0|0) [0]
Вернуться на главную
  Работа опубликована администратором Walet  
Вы не можете оценивать

КОММЕНТАРИИ К РАБОТЕ:
Администратор 1-го ранга (Координатор) Darth Waiter* ::: комментарий от 11.02.2011 | 00:53
Darth Waiter Герой (ур.14)
Очки: 13846
Город: На'Хталн
Тв. работ: 68
Рег: 15.04.2009 (10407)
Ответ для Sauron 15.11.2010 | 17:38:
Мне Валет (кажется, он) обещал удалить, чтоб я перезалил - это к проблеме с картинками)
Сейчас вижу, что я тоже не могу удалить, почему-то у автора нет такой кнопки)


--------------------
Император рад вас видеть
Администратор 1-го ранга (Координатор) Sauron ::: комментарий от 16.11.2010 | 00:38
Sauron Вождь (ур.18)
Очки: 40484
Город: Томск
Тв. работ: 168
Рег: 27.04.2006 (15)
цитирую:
В некоторых задачах по программированию


Это в каких?) На практике ничего не запрещается

Не понимаю зачем так извращаться.



И картинки не грузятся, да.


--------------------
Штоу.