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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2012, 01:32   #1
Ania Lunee
Новичок
Джуниор
 
Регистрация: 17.05.2012
Сообщений: 15
По умолчанию задача по аналогии

Вот нашла похожую программу на сумму( файл прикреплен ниже №1)
своя же очень очень похожая, но когда исправляю, видать что то лишнее делаю, помогите исправить,( моя задача №2)

Код:
uses crt;
var xn,xk,h,x,t,e,s:real;
    i:integer;
begin
clrscr;
repeat
write('Введите начало интервала |x|<1 xn=');
readln(xn);
until abs(xn)<1;
repeat
write('Введите конец интервала x>',xn:0:1,' x<1 xk=');
readln(xk);
until (xk>xn)and(xn<1);
repeat
write('Введите шаг табуляции h >0 и <',xk-xn:0:1,' h=');
readln(h);
until (h>0)and(h<xk-xn);
repeat
write('Введите точность (0;1) e=');readln(e);{точность типа 0,0001}
until (e>0)and(e<1);
writeln('Табулирование функции y=Arth(x) для |x|<1');
writeln('на интервале [',xn:0:1,';',xk:0:1,'] с шагом ',h:0:1);
writeln('-------------------------------');
writeln('|  x  |    S    |    Ln   | N |');
writeln('-------------------------------');
x:=xn;
while x<=xk+h/2 do
 begin
  s:=x;
  t:=x;
  i:=0;{нулевое значение}
  while abs(t)>e do
   begin
    i:=i+1;
    t:=t*x*x;
    s:=s+t/(2*i+1);
   end;
  writeln('|',x:4:1,' |',s:8:4,' |',0.5*ln((1+x)/(1-x)):8:4,' |',i+1:3,'|');
  x:=x+h;
 end;
writeln('---------------------------------');
readln
end.
Изображения
Тип файла: jpg №1.jpg (63.6 Кб, 120 просмотров)
Тип файла: jpg 2(моя задача).jpg (11.3 Кб, 48 просмотров)
Вложения
Тип файла: txt 1.txt (1.0 Кб, 156 просмотров)

Последний раз редактировалось Stilet; 18.05.2012 в 07:29.
Ania Lunee вне форума Ответить с цитированием
Старый 18.05.2012, 07:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
 while abs(t-t2)>e do begin
   t2:=t;
   k:=2*i+1;
   t:=1/(exp(k*ln(x))*k);
   s:=s+t;
   inc(i);
   writeln('|',x:4:1,' |',s:8:4,' |',t:8:4,' |',i+1:3,'|');
  x:=x+h;
 end;
Добавь еще переменку K:integer;и t2:real;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.05.2012, 08:03   #3
Ania Lunee
Новичок
Джуниор
 
Регистрация: 17.05.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
 while abs(t-t2)>e do begin
   t2:=t;
   k:=2*i+1;
   t:=1/(exp(k*ln(x))*k);
   s:=s+t;
   inc(i);
   writeln('|',x:4:1,' |',s:8:4,' |',t:8:4,' |',i+1:3,'|');
  x:=x+h;
 end;
Добавь еще переменку K:integer;и t2:real;
спасибо огромное)
но теперь не могу разобраться с другим- пишет floating point overflow

Последний раз редактировалось Ania Lunee; 18.05.2012 в 08:08.
Ania Lunee вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Edit по аналогии с CheckBox GrabbeR Общие вопросы Delphi 0 26.03.2012 22:03
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51
Доступ в InterBase по аналогии udl и ADO svyatoi777 Помощь студентам 10 21.01.2011 17:59