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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2010, 19:10   #11
cyber_NINJA
Пользователь
 
Аватар для cyber_NINJA
 
Регистрация: 19.05.2010
Сообщений: 40
По умолчанию

Цитата:
Сообщение от Mie4ka Посмотреть сообщение
205: Floating point overflow.
Цитата:
Сообщение от Mie4ka Посмотреть сообщение
что б программа не выдавала ошибку
Ета ошибка означает, что тип real не катит (точка в числе за пределом) ,можно попытастя заменить на double например, а лучше на extended;
Windows обнаружила изменение координат положения курсора мыши, чтобы изменения вступили в силу требуется перезагрузка системы
cyber_NINJA вне форума Ответить с цитированием
Старый 28.12.2010, 21:21   #12
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Цитата:
Сообщение от Mie4ka Посмотреть сообщение
rubius2008, Вы меня конечно извините, но я не поняла зачем выполнять одни и те же действия в программе два раза, введь это не корректно, а во вторых не поняла все таки как сделать так, что б программа не выдавала ошибку, и отдав программу преподавателю в готовом виде он все понял и не придирался..????
по-быстрому делал, наведем красивости в программке
Код:
PROGRAM Lab_7_2;
USES
     Crt;
CONST
     m   = 5;          {Êîëè÷åñòâî Õ}
     xn  = 0.1;        {Íà÷àëüíîå çíåà÷åíèå Õ}
     xk  = 1.3;        {Êîíå÷íîå çíà÷åíèå Õ}
     hx  = 0.3;        {Øàã ïî Õ}
     eps = 1e-3;       {Êîýôôèöèåíò òî÷íîñòè}
VAR
     s : array [1..m] of real; {Ìàññèâ ñóìì}
     q : real;                 {Êîýôôèöèåíò ðåêóðåíòíîñòè}
     i : integer;              {Ñ÷åò÷èê ýëåìåíòîâ ðÿäà}
     x : real;                 {Òåêóùèé Õ}
     k : integer;              {Ñ÷åò÷èê Õ}
BEGIN
     ClrScr;
     for k:=1 to m do begin
        x:=xn+(k-1)*hx;
        s[k]:=exp(3*ln(x))/3;
        i:=2;
                REPEAT {Öèêë ïîèñêà k-îé ñóììû}
                       q:=exp((2*i+1)*ln(x))/((4*sqr(i))-1);
                       if odd(i)=false then q:=-q;
                       if abs(q)>eps then s[k]:=s[k]+q;
                       i:=i+1;
                UNTIL abs(q)<eps;  {Óñëîâèå òî÷íîñòè}
                Writeln('k = ',k,'  x = ',x:3:1,'  S = ',s[k]:6:4);
                Readln;
     End;
END.
то что касается корректности выполнения, задайте xk=1. А преподавателю объясните что при k>1 каждый новый элемент суммы больше предыдущего, а, следовательно, сумма всегда будет увеличиваться на значение >e. И расчет теоретически никогда не остановится, в вашем же случае расчет оканчивается при переполнение типа, и не важно какой вы возьмете тип все равно будет переполнение.
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Старый 07.01.2011, 21:42   #13
Mie4ka
 
Регистрация: 16.12.2010
Сообщений: 6
По умолчанию

Спасибо за помощь!
Mie4ka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти сумму ряда с необходимой точностью на паскале Раздва Помощь студентам 3 06.10.2011 01:28
Программа запрашивает имя файла и формирует массив, состоящий из сумм каждых трех вещественных компонент brother-bear Помощь студентам 0 26.04.2010 19:09
Найти сумму ряда с точностью до 0.0001 и перевод формулы n-ого члена ivil19 Помощь студентам 5 05.03.2010 06:50
найти бесконечную сумму ряда с заданной точностью логарифм Паскаль, Turbo Pascal, PascalABC.NET 1 23.07.2009 07:17
Найти сумму ряда с точностью Е=10^-3 Добрый Кот Паскаль, Turbo Pascal, PascalABC.NET 2 12.12.2007 12:04