Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ бесконечный цикл

Автор: polic 24.12.2006 15:08

program k;
var s:real;n,i:integer;
begin
writeln ('vedite n');
readln(n);
for I:=1 to n
n:=n+1;
s:= power((-1),n)*(n / (2*n*n -1));
writeln ('s=',s:6:4);
end.


(for I:=1 to n) после n выводит ошибку чтото неправильно ерунда какаято что тут может быть неправильно wink.gif

М
Теги - это не S, а открываешь комбобокс CODE и выбираешь язык из списка...
Прикрепленное изображение


Автор: Айра 24.12.2006 15:21

Цитата
for I:=1 to n

После n 'DO' поставить забыл, наверное? smile.gif
Цитата
power((-1),n)

Это твоя функция или что, а то компилятор воспринимает ее как неизвестную переменную (нужно ее описать smile.gif )?

Автор: polic 24.12.2006 15:25

да всё забываю чото стоит повешаться

повесится вот уже начал ошибки делать и в русском языке...

Автор: klem4 24.12.2006 15:26

1) Пользуйся тегами
2) Зачем ты хочешь поменять параметр цикла n в цикле ? Темболее в for, некоторые компиляторы это вовсе запрещают.

Автор: Айра 24.12.2006 15:29

Да, кстати, begin и end в циклах кажется еще не отменяли... smile.gif
Я тоже не сразу заметила...

Автор: polic 24.12.2006 15:34

чото я запутался вроде получается не бесконечный цикл как его бесконечным сделать или у мя всё правильно wacko.gif ?

зделаем begin

Автор: klem4 24.12.2006 15:35

Зачем тебе бесконечный цикл ? Он же никогда не завершится ? А вот программа твоя будет с ошибкой вылетать :rolleyes:

Вот тебе бесконечный цикл :

while true do writeln('Я бесконечный цикл :)');


Какое у тебя задание ?

Автор: polic 24.12.2006 15:37

найти сумму бесконечного ряда условие остановки не дано

Автор: klem4 24.12.2006 15:42

Цитата
условие остановки не дано


Так не бывает smile.gif Условие остановки в таких задачах - очередной член суммы по абсолютной величине меньше некоторого заданного значение точности (0.001 например)

Пользуйся поиском, примеров много, ну вот в FAQ тоже есть : http://forum.pascal.net.ru/index.php?s=&showtopic=4535&view=findpost&p=44175

Автор: polic 24.12.2006 16:02

впринципе там написано с точностью до E
я просто не знаю что такое с точность до E как это выразить?

Автор: polic 24.12.2006 16:39

Код
program k;
const eps = 0.0000001;
var s:real;n,i:integer;
begin
writeln ('vedite n');
readln(n);
begin
repeat
n:=n+1;
s:= power((-1),n)*(n / (2*n*n -1));
until (S)<eps;
end;
writeln ('s=',s:6:4);
end.


вот так правильно?

опять забыл теги поставить я думаю меня модераторы простят

Автор: klem4 24.12.2006 16:45

Скорее всего вот так

program k;
uses math;
const eps = 0.001;

var s, next:real;
n,i:integer;

begin

s := 0;

n := 1;

repeat
next := power((-1),n)*(n / (2*n*n -1));
s := s + next;
inc(n);
until abs(next) < eps;

writeln ('s=',s:6:4);

readln;

end.


Автор: volvo 24.12.2006 16:48

Цитата
опять забыл теги поставить я думаю меня модераторы простят
Кнопка "Изменить" у тебя что, невидима? Забыл - исправь...

Автор: polic 24.12.2006 16:48

math не найден может можно чемнибудь заменить?

Автор: klem4 24.12.2006 16:49

a^n = exp(n * ln(a))

Автор: polic 24.12.2006 17:07

Код
a^n = exp(n * ln(a))
а чо это такое? куда его засунуть?

извини конечно что я задаю дурацкие вопросы но действительно не понимаю

Автор: klem4 24.12.2006 17:12

это вместо функции power, она ведь находится в модуле Math, которого у тебя нет.

Автор: polic 24.12.2006 17:23

Код
program k;

const eps = 0.001;

var s, next:real;
    n,i:integer;

begin

  s := 0;

  n := 1;

  repeat
    next :=  ((exp(n * ln(-1))*(n / (2*n*n -1)));
    s := s + next;
    inc(n);
  until abs(next) < eps;

  writeln ('s=',s:6:4);

  readln;

end.


вот что получилось

Код
next :=  ((exp(n * ln(-1))*(n / (2*n*n -1)));

пишет нужна скобка ставиш пишет неправильная вещественная операция

mega_chok.gif

Автор: klem4 24.12.2006 17:25

Ничего удивительного,

Цитата
ln(-1)


Это по твоему чему равно ?

Автор: polic 24.12.2006 17:28

весело в задании -1 мож просто поставить 1

погоди чоно само вводит чтоль типа random ?

Автор: мисс_граффити 24.12.2006 18:15

FAQ почитай. Там про степень -1 написано.

Автор: polic 24.12.2006 19:24

это не степень -1 а число -1 в степени n

----------------
а рейтинг выше всех уже 106

просмотров

Автор: мисс_граффити 24.12.2006 19:25

я тебе про это и говорю.
степень двойки - это ведь и 4, и 8.
а здесь - степень минус единицы.
в общем, FAQ

Автор: polic 24.12.2006 19:34

какая хоть тема не могу найти

------------
вообщем до нового года осталось немого а там и Паскалб кончится..потерпите товарищи модераторы !low.gif

Автор: volvo 24.12.2006 19:37

Тебе ссылку дали в 9-ом посте !!! (смотреть по ссылке "Сообщение №2")

Автор: polic 24.12.2006 19:47

%№!^*$,вы запутали меня то то сказали так потом по другому потом снова указываете мне ссылку где метод дргой добавили !fire.gif !fire.gif !fire.gif