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

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

Форум «Всё о Паскале» _ Задачи _ Цикл с пост условием

Автор: aRmAnI 6.03.2011 1:06

Найти сумму n членов последовательности 1,1+1/2+1/3,... первое, большее А и его номер...
Никак не получается сделать(((
надо выполнить в Turbo Pascal

И ещё, Определить минимальный член последовательности, заданный формулой Yn=Xn*sqr(2)-7Xn-1

Автор: Lapp 6.03.2011 17:22

Цитата(aRmAnI @ 5.03.2011 21:06) *
Найти сумму n членов последовательности 1,1+1/2+1/3,... первое, большее А и его номер...
Никак не получается сделать(((
надо выполнить в Turbo Pascal

И ещё, Определить минимальный член последовательности, заданный формулой Yn=Xn*sqr(2)-7Xn-1

Напиши условие поточнее - будут ответы. Сумму какой последовательности? 1/n?

А во втором вопросе Xn - это та же самая последовательность 1/n?

Пойми, что ясность вопроса нужна ТЕБЕ, а не нам..

Автор: aRmAnI 6.03.2011 22:11

Найти сумму n членов последовательности 1,1/2,1/3,... первое, большее А и его номер...
Именно такое условие и было,

Program fordenis;
uses crt;
var n,b:integer;
a,s:real;
begin
clrscr;
n:=1;
s:=0;
writeln('Введите b,a');
Read(b,a);
Repeat
S:=S+1/n; writeln (s);
n:=n+1;
if s>=a then break;
until(n>b);
Readkey;
end.

1 часть задачи кой как выполнена, осталось ещё вывести 1 число большее А, как мне обхясняли надо ещё 1 цикл тут сделать....

а 2 задача, я даже не представляю как её сделать - она идёт отдельно от первой

Автор: Lapp 7.03.2011 12:11

Цитата(aRmAnI @ 6.03.2011 18:11) *
осталось ещё вывести 1 число большее А, как мне обхясняли надо ещё 1 цикл тут сделать....
Можно и еще один цикл, если хочешь. Только тогда второй цикл будет с предусловием. Типа вот так:
Program fordenis;
var n,b:integer;
a,s:real;
begin
n:=1;
s:=0;
writeln('Введите b,a');
Readln(b,a);
Repeat
S:=S+1/n;
n:=n+1;
until (n>b) or (s>=a);
if s>=a then writeln('первая сумма, большая ',a,' равна ',s);
while n<=b do begin
S:=S+1/n;
n:=n+1;
end;
writeln('сумма ',b,' членов ряда 1/n равна ',s);
ReadLn;
end.

И вообще, в этой задаче цикл с постусловием не совсем правильно применять, поскольку может же (в принципе) быть запрос на сумму 0 членов ряда.

Цитата
а 2 задача, я даже не представляю как её сделать - она идёт отдельно от первой
Если она отдельно, то в другой теме, плз (правила раздела Задачи, п.6 - вверху этой страницы).

Автор: aRmAnI 7.03.2011 15:24

Вы не совсем правильно сделали)) после s:=s+1/n; writeln(s); надо поставить, чтобы он выводил суммы, а не считал сумму всего ряда, а первую сумму большую А он не выводит) и её надо выводить последней, вводим 10 5, и должно получится что 1 сумма =1, вторая = 1,5, третья = 1,83, четвёртая = 2,08, пятая = 2,28..... А вот шестой он должен вывести сумму которая превзойдёт А

Добавлено через 4 мин.
Есть с тобой какая то прямая связь? аська? скайп?

Автор: Lapp 7.03.2011 17:00

Цитата(aRmAnI @ 7.03.2011 11:24) *
Вы не совсем правильно сделали))
Да?.. Гм.
Вот твое первое условие:
Цитата
Найти сумму n членов последовательности 1,1+1/2+1/3,... первое, большее А и его номер...

Потом я попросил уточнить. Вот второй вариант:
Цитата
Найти сумму n членов последовательности 1,1/2,1/3,... первое, большее А и его номер...

Теперь скажи - есть хоть в одном из них упоминание о том, что нужно выводить промежуточные суммы в процессе подсчета, а также где именно должна быть выведена первая сумма, превышающая А? И ты говоришь, что я сделал неправильно?.. blink.gif Я, конечно, понимаю, что ты, наверное, пошутил (судя по двум скбочкам в конце предложения), но - извини, я предпочитаю смешные шутки..

Цитата
после s:=s+1/n; writeln(s); надо поставить, чтобы он выводил суммы, а не считал сумму всего ряда, а первую сумму большую А он не выводит) и её надо выводить последней, вводим 10 5, и должно получится что 1 сумма =1, вторая = 1,5, третья = 1,83, четвёртая = 2,08, пятая = 2,28..... А вот шестой он должен вывести сумму которая превзойдёт А
Спасибо, конечно, за разъяснение. Но, боюсь, оно запоздало.. Я не твой подчиненный, а ты не мой начальник. Если бы в твоем мессадже было хоть одно "спасибо" - может, я бы и переделал. А так - ciao, bombino, sorry..

Но у тебя достаточно в принципе уже, чтоб доделать smile.gif.

Цитата
Есть с тобой какая то прямая связь? аська? скайп?
Нет.