Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2010, 20:37   #1
CodeExpert
Заблокирован
 
Регистрация: 30.10.2009
Сообщений: 468
Радость Формула в задании..

Помогите оформить формулу нормально по заданию:
Untitled123.jpg
Увеличенная формула - Вложение 22857
Функции то я написал, но вот не могу никак прикрутить это к формуле, оно вроде бы работало но не при всех значениях почему-то..Помогите пожалуйста..
Код:
{функция вычисления факториала}
function fac(var x:integer):integer;
var i:integer;k:integer;
begin
k:=1;
for i:=1 to x do begin
 k:=k*i;end;
fac:=k;
end;
Код:
{функция для вычисления е^х}
function ex(var x:a):real;//Возвращает экспоненту числа x 
var fx,fx0,temp,zn:real; //результирующее значение
    i:integer;//Первоначальная сумма и счетчик}
    k,z:integer;//ограничитель
begin
fx:=1+x;
i:=2; //первоначальное значение для счетчика
while abs(fx-fx0)>=e do begin
fx0:=fx;//предыдущий член последовательности
{вычисление относящееся к последующему члену ряда}
 {вычисляем текущие член ряда}
 temp:=(exp(ln(x)*i))/(fac(i));
fx:=fx+temp;//вычисиляем общий результат
Inc(I);//повышаем счетчик
end;
ex:=fx;
end;
Код:
{функция вычисления cos}
function cs(var x:a):real;//Возвращает косинус числа x 
var fx,fx0,temp,zn:real; //результирующее значение
    i:integer;//Первоначальная сумма и счетчик}
    k,z:integer;//ограничитель
begin
fx:=1;//Результирующая переменная
i:=2; //первоначальное значение для счетчика
k:=2; //номер члена ряда
{вычисление числового ряда}
while abs(fx-fx0)>=e do begin
fx0:=fx;//предыдущий член последовательности
{вычисление относящееся к последующему члену ряда}
 {вычисляем текущие член ряда}
 temp:=((exp(ln(x)*i))/(fac(i)));
 if k mod 2=0 then temp:=-temp;
fx:=fx+temp;//вычисиляем общий результат
i:=i+2;//повышаем счетчик
k:=k+1;
end;
cs:=fx;
end;
Основной код:
Код:
program laba_7;
uses Crt; //подключаем модуль
const e=0.0001;//точность вычисления
      Pi=3.14;//Постоянная округленная величина
type a=real;//вводимое значение
function fac(var x:integer):integer;
function ex(var x:a):real;
function cs(var x:a):real;
{основное тело программы}
var x,temp:a;
    res:real;
begin
{считываем введенные данные}
Writeln('Введите A');
Readln(x);
????????
Writeln('Результат = ',temp);
readln;
end.

Последний раз редактировалось CodeExpert; 19.03.2010 в 20:42.
CodeExpert вне форума Ответить с цитированием
Старый 19.03.2010, 22:14   #2
CodeExpert
Заблокирован
 
Регистрация: 30.10.2009
Сообщений: 468
По умолчанию

Буду очень признателен за помощь..
CodeExpert вне форума Ответить с цитированием
Старый 19.03.2010, 22:33   #3
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Формулу плохо видно, вложение не работает.

1) 8! при integer в паскале уже даст ошибку - используем, например, real
Код:
function fac(var x:integer):real;
var i:integer;k:real;
begin
k:=1;
for i:=1 to x do begin
 k:=k*i;end;
fac:=k;
end;
2)
Цитата:
temp:=(exp(ln(x)*i))/(fac(i));
работает только для положительных x. Если нужны и неположительные числа, рассмотри 3 случая: (пишу прям тут, могу немного ошибиться)
при x>0 - exp(ln(x)*i)
при x=0 - 0
при x<0 - +exp(ln(abs(x))*i) если i mod 2 = 0 и -exp(ln(abs(x))*i) если i mod 2 = 1
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пытаюсь разобраться в задании fs444 Microsoft Office Excel 12 12.01.2010 12:57
Не совсем понимаю, что нужно найти в задании. greenypeace Помощь студентам 2 08.06.2009 13:50
Помочь немного в задании prikolist Общие вопросы C/C++ 3 27.03.2009 23:48
Формула Танечка Microsoft Office Excel 3 26.06.2008 09:11
Организовать ввод данных с файла созданного в первом задании и вывод их терминал. Saniok Помощь студентам 2 25.10.2007 22:25