IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Рекурр. последоват.
smith
сообщение 7.01.2010 23:33
Сообщение #21


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Мужской

Репутация: -  0  +


Цитата(Unconnected @ 7.01.2010 23:30) *

Да даже если sheka и неправильно сделал - он то действовал не от имени форума (или smith сказал обратное?), и даже в этом случае обвинять весь форум и требовать что-то - неправильно.

да я же извинился.
говорю:погорячился. с кем не бывает?.
К форуму нет и не может быть претензий.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 7.01.2010 23:37
Сообщение #22


Гость






Цитата
Помогите, пожалуйста сделать правильно!
Навскидку -
  s := 0; t := 1;
for i := 1 to n do
begin
t := t / i;
s := s + (t + sqrt(abs(x)));
end;
Это если через For, для других циклов - аналогично...
 К началу страницы 
+ Ответить 
Lapp
сообщение 7.01.2010 23:53
Сообщение #23


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


М
все все поняли, флуд в этой теме прекращаем.

Я добавлю разъясняющую инфу в раздел "Задачи на заказ"



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
smith
сообщение 8.01.2010 14:11
Сообщение #24


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Мужской

Репутация: -  0  +


s := 0; t := 1;
for i := 1 to n do
begin
t := t / i;
s := s + (t + sqrt(abs(x)));
end;

.

Извините меня, дурака, но где здесь поиск факториала?))
Простите, но 5!=1*2*3*5?))
Поясните, пожалуйста!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.01.2010 14:27
Сообщение #25


Гость






Цитата
Простите, но 5!=1*2*3*5?))
Нет, 5! = 1*2*3*4*5
Цитата
Извините меня, дурака, но где здесь поиск факториала?))
Смотри:
Изначально: t = 1
первая итерация: i = 1, t = t/i = 1/1
вторая итерация: i = 2, t = t/i = 1/(1*2)
третья итерация: i = 3, t = t/i = 1/(1*2*3)
четвертая итерация: i = 4, t = t/i = 1/(1*2*3*4)
пятая итерация: i = 5, t = t/i = 1/(1*2*3*4*5)

Итого, что имеем в знаменателе? Не факториал i, случайно?
 К началу страницы 
+ Ответить 
smith
сообщение 8.01.2010 15:56
Сообщение #26


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Мужской

Репутация: -  0  +


спасибо! give_rose.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
smith
сообщение 8.01.2010 16:24
Сообщение #27


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Мужской

Репутация: -  0  +


окей, прога с циклом со счетчиком исправно работает.
uses crt;
var x,t,s:real;
n,i,j:integer;
begin
clrscr;
write('x=');readln(x);
write('n=');readln(n);
s:=0;
for i:=1 to n do
begin
t:=1;
for j:=1 to i do
t:=t/j;
s:=s+t+sqrt(abs(x));
end;
write('S=',s:0:2);
readln
end.
.

Но вот цикл с пост/пред-условием никак не работает...=(
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
smith
сообщение 8.01.2010 17:27
Сообщение #28


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Мужской

Репутация: -  0  +


uses crt;
var x,t,s:real;
n,i,j:integer;
begin
clrscr;
write('x=');readln(x);
write('n=');readln(n);
s:=0;
i:=1;
while i<=n do
begin
t:=1;
j:=1;
while j<=i do
begin
t:=t/j;
j:=j+1;
end;
s:=s+t+sqrt(abs(x));
i:=i+1;
end;
write('S=',s:0:2);
readln
end.
.

ок, с while есть))
Пожалуйста, помогите с репит антил сделать=)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.01.2010 17:52
Сообщение #29


Гость






var x,t,s:real;
n,i,j:integer;
begin
write('x=');readln(x);
write('n=');readln(n);
s:=0;
i := 0;
repeat
inc(i);
t:=1;
j := 0;
repeat
inc(j);
t:=t/j;
until j = i;
s:=s+t+sqrt(abs(x));
until i = n;
write('S=',s:0:2);
readln
end.
Выдает тот же результат, что и твои оба варианта, хотя я не понимаю, зачем тебе внешний цикл. В первоначальном условии про него ни слова не было, и вот это:
var x,t,s:real;
n,i,j:integer;
begin
write('x=');readln(x);
write('n=');readln(n);
s:=0; t := 1;
for i:=1 to n do
begin
t:=t/i;
s:=s+t+sqrt(abs(x));
end;
write('S=',s:0:2);
readln
end.
работает точно так же, как твой код из поста №27. А если оно работает так же, "зачем писать больше"? почти (С). Итого: от внешнего цикла можно избавиться...
 К началу страницы 
+ Ответить 
smith
сообщение 8.01.2010 17:56
Сообщение #30


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 8.01.2010 17:52) *

работает точно так же, как твой код из поста №27. А если оно работает так же, "зачем писать больше"? почти (С). Итого: от внешнего цикла можно избавиться...

Да тут дело в том, что задание гласит:
написать прогу тремя способами: с пред/пост-условием и с помощью цикла со счетчиком.=)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.01.2010 18:20
Сообщение #31


Гость






Задание гласит, что тебе надо написать то, что написано в первой строке, а не то, что во второй:
Прикрепленное изображение

Учти, я тебя предупредил... Чтоб потом не было опять претензий dry.gif
 К началу страницы 
+ Ответить 
smith
сообщение 8.01.2010 18:22
Сообщение #32


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Мужской

Репутация: -  0  +


чорд, тогда я ваще ниче не понял))
Можешь попродробнее на примере программы?
Чет я значит непрально понял/сделал.

Сейчас ты написал и я чет задумался))
Спасибо большое.
Сможешь помочь разобраться? mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.01.2010 18:28
Сообщение #33


Гость






Я тебе уже привел программу, которая выполняет твое задание:
Цитата
var x,t,s:real;
n,i:integer;
begin
write('x=');readln(x);
write('n=');readln(n);
s:=0; t := 1;
for i:=1 to n do
begin
t:=t/i;
s:=s+t+sqrt(abs(x));
end;
write('S=',s:0:2);
readln
end.
Если тебе надо сделать это несколькими видами циклов - то не делай их ВЛОЖЕННЫМИ, они должны идти последовательно один за другим... Вот тебе пример для For и While, третий добавишь сам:
var x,t,s:real;
n,i,j:integer;
begin
write('x=');readln(x);
write('n=');readln(n);

write('for loop: ');
s:=0; t := 1;
for i:=1 to n do
begin
t:=t/i;
s:=s+t+sqrt(abs(x));
end;
writeln('S=',s:0:5);

write('while loop: ');
s:=0; t := 1;
i := 1;
while i <= n do
begin
t:=t/i;
s:=s+t+sqrt(abs(x));
inc(i);
end;
writeln('S=',s:0:5);

readln
end.
 К началу страницы 
+ Ответить 
smith
сообщение 8.01.2010 18:33
Сообщение #34


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Мужской

Репутация: -  0  +


спасибо!!
Тыща раз спасибо! good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V < 1 2
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 9.09.2025 10:35
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"