• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Сумма ряда в Паскаль, ошибка

  • Автор темы Автор темы vitjok
  • Дата начала Дата начала

vitjok

Новые
Регистрация
29 Сен 2012
Сообщения
72
Реакции
0
Баллы
0
Сумма ряда в Паскаль, ошибка

Для заданного с консоли значения n определить сумму числового ряда: 45698.webp:

Результаты вычислений вывести в виде таблицы с заголовком. Вычисленные значения ряда сравнить со значением функции f.
Накопление суммы производим по рекуррентной формуле – каждая последующая сумма вычисляется через предыдущую

код составил но он работает не правильно ошибка в самом важном(( в задание рекурентной формулы( пытался еще сделать через переходный коэффициент так там вообще бред ролучился(( отзовитесь кто нибудь(( заранее большое спасибо)
Код:
PROGRAM Vitjok_part1;
USES CRT;
const pi=3.14159265358;
VAR
 sum, f : real;
 n, i : integer;
BEGIN
 writeln('Laboratornaja rabota #4');
 writeln('Variant #3');
 writeln('IS-12-2');
 writeln('Kapustin Victor');
 writeln;
  write('n = ');
  readln(n);
  writeln;
  writeln(' n sum ');
  writeln('_______________');
  f:=0.5-pi/8;
  sum:=0;
 for i:=1 to n do
  begin
   sum:=sum+(1/((4*n-1)*(4*n+1)));
   writeln(' ', i, ' ', sum:0:5);
  end;
 writeln('_______________');
 writeln(' f = ', f:0:5);
 readln;
END.
 
код составил но он работает не правильно ошибка в самом важном(( в задание рекурентной формулы
Правильно, и ошибка тут абсолютно очевидна. Но прежде, чем говорить о ней - одно замечание и один вопрос.
1. Вводить строку
const pi=3.14159265358;
не нужно: в Паскале величина Pi определена. Так что эту строку можете просто выбросить.
2. А не подскажете, для кого я это тут распинался насчет нежелательности обвешивания программы балластом неиспользуемых модулей, в частности, CRT? Видимо, для переизбранного президента Обамы или для левой стенки комнаты. Ну-ну...

Теперь об ошибке. В теле цикла в знаменателе формулы должна стоять переменная цикла, а не предел. То есть i, а не n. Исправьте, и всё пойдёт.
 
я бы рад весь этот баласт убрать но так требует препод)) а на счет пи я знаю просто код не редактированный)) спасибо))
 
а при выводе суммы мне нужно что бы ответ был приближен к F , как это сделать??)будет ли правильно если sum:=0.1??))и еще кое что, вы очень хорошо объясняете я от души вам благодарен)
 
а при выводе суммы мне нужно что бы ответ был приближен к F , как это сделать??)будет ли правильно если sum:=0.1??))и еще кое что, вы очень хорошо объясняете я от души вам благодарен)
Что-то не совсем понял. Чем больше членов ряда возьмете, тем ближе будет результат к точному значению. А как иначе?
 
все понятно) спасибо)
 
именно в таком виде выводит?))
 
а какой результат при 1 выводит?)0.06667?)
 
Назад
Сверху