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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 19:34   #1
RaZ.OK2
Пользователь
 
Регистрация: 21.12.2007
Сообщений: 13
По умолчанию программа в паскале на вычесление суммы ряда

задача:
Вычислить сумму ряда. Вычисления заканчивать при достижении заданной
степени точности (т.е. очередной член ряда становится меньше введенной точности).
s=1/1*2+1/2*2^2+1/3*2^3 и тд

вот что я написал но он у меня не компилируется(
Код:
program lab3_1;
uses crt;
var
   d,n,s:integer;


begin
  writeln('Введите точность ');
  readln (d);

  n:=1;

   repeat

     s:=1\(n*(exp(ln(2)*n)))+s;
     n:=n+1;

   until s<d;

   writeln('S равна= ',s);
   readkey;

end.

Последний раз редактировалось Stilet; 28.11.2010 в 20:07.
RaZ.OK2 вне форума Ответить с цитированием
Старый 28.11.2010, 19:38   #2
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

А что значит не компилируется? В какой паскаль используете и какую ошибку выдает?
Ybn2 вне форума Ответить с цитированием
Старый 28.11.2010, 19:40   #3
RaZ.OK2
Пользователь
 
Регистрация: 21.12.2007
Сообщений: 13
По умолчанию

использую фрипаскаль а ошибка fatal:compilation aborted
RaZ.OK2 вне форума Ответить с цитированием
Старый 28.11.2010, 19:46   #4
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Ну во первых у вас стоит не правильное условие выхода из цикла, Вы же сами пишите,
(т.е. очередной член ряда становится меньше введенной точности) а условие у Вас until s<d;, т.е сравниваете с не очередным членом ряда, а с суммой, что в принципе никогда (для вашего ряда) не случиться. Исправте это, а потом будем думать дальше, если ошибка не исчезнит.
Ybn2 вне форума Ответить с цитированием
Старый 28.11.2010, 19:52   #5
RaZ.OK2
Пользователь
 
Регистрация: 21.12.2007
Сообщений: 13
По умолчанию

Код:
program lab3_1;
uses crt;
var
d,n:integer;
s,och:real;

begin
writeln('введите точность ');
readln (d);

n:=1;
s:=0;

repeat

och:=1/(n*(exp(ln(2)*n)));
s:=s+och;
n:=n+1;

until och<d;

writeln('S Равна= ',s);
readkey;

end.
From Stilet: Для оформления кода попрошу использовать спецтег по кнопке #

так?

Последний раз редактировалось Stilet; 28.11.2010 в 20:08.
RaZ.OK2 вне форума Ответить с цитированием
Старый 28.11.2010, 19:54   #6
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Все равно ошибка?
Ybn2 вне форума Ответить с цитированием
Старый 28.11.2010, 19:56   #7
RaZ.OK2
Пользователь
 
Регистрация: 21.12.2007
Сообщений: 13
По умолчанию

нет вроде работает но кажется я типы неправильно выбрал
сможете подсказать какие типы здесь лучше использовать?
RaZ.OK2 вне форума Ответить с цитированием
Старый 28.11.2010, 20:02   #8
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Во вторых, у Вас все равно будет бесконечный цикл, потому что вы точность вводите как d:Integer (целое), а у вашего ряда первый элемент 0.5, второй 0.125 третий 0.0416(6) и т.д. т.е. точность нужно определить как Real (Вещественное) и вводить что-то вроде 0.00001
Ybn2 вне форума Ответить с цитированием
Старый 28.11.2010, 20:07   #9
RaZ.OK2
Пользователь
 
Регистрация: 21.12.2007
Сообщений: 13
По умолчанию

хм все равно как то не так она работает)
щас точность определил как реал
RaZ.OK2 вне форума Ответить с цитированием
Старый 28.11.2010, 20:13   #10
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Цитата:
Сообщение от RaZ.OK2 Посмотреть сообщение
как то не так она работает)
А покажите пожалуйста код програмы и результаты для введенных значений.
Ybn2 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция суммы ряда gector_sm Помощь студентам 1 02.06.2010 18:12
Delphi. Сортировка элементов и вычесление суммы Stubby Помощь студентам 0 28.04.2010 17:26
Вычисление суммы ряда 666Rayne666 Помощь студентам 3 25.12.2009 22:39
вычесление суммы Dartchuwak Паскаль, Turbo Pascal, PascalABC.NET 12 08.01.2009 20:51
вычисления суммы ряда kJlaCuk Паскаль, Turbo Pascal, PascalABC.NET 3 17.09.2008 23:24