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

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

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

 
 Ответить  Открыть новую тему 
> цикл repeat, Нужно вычислить выражение -0,5+0,7-0,9+...+0.23;
сообщение
Сообщение #1





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

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


Доброго времени. Уважаемые специалисты.
У меня вот такой вопрос.
Нужно вычислить выражение -0,5+0,7-0,9+...+0.23;
Я написал программу, но не не могу понять правильно или нет. Подскажите
const n=0.23
var s, x:real;
zn:integer;
begin
s:=0.5; x:=0.2;zn:=-1;
repeat
s:=s*zn;
s:=s+x;
x:=x+0.2;
zn:=-zn;
until x>0.23;
writeln ('s= ' ,s:8:3);
end.

Меня еще условие немного настораживает потому что оканчивается 0,23

Добавлено через 10 мин.
Думаю вместо 0,23 там должно быть 2,3. А может это хитрость такая
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
не могу понять правильно или нет
Нет. Опять то же самое. Не выделяйте первый элемент! Он точно такой же, как и остальные! Сколько раз повторять? За что ему выпала честь сразу быть занесенным в сумму? (Похоже, пришло время написать об этом развернутый ответ, а может даже статью smile.gif ) Все проще:
  s := 0; { <-- Сумма ВСЕГДА инициализируется 0, запомни это раз и навсегда }
x := 0.5; zn := -1;
repeat
s := s + x*zn; { Увеличиваем сумму, принимая во внимание знак }
writeln(x:5:2);
x:=x+0.2;
zn:=-zn;
until x > 2.3;
(примечание: если сумма инициализирована не нулем - программа с большой степенью вероятности будет выброшена, ибо это подгонка под ответ а не вычисления).
Цитата
Меня еще условие немного настораживает потому что оканчивается 0,23
Правильно настораживает, у тебя изначально по модулю начальное значение больше, чем конечное, хотя модули членов ряда вроде бы все время возрастают. Программа зациклится. Может до 2.3, а не 0.23?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


Большое спасибо, а то смотрел примеры в лекциях и насобирал. Посчитал вручную совсем другой ответ выходил вот и обратился за помощью. 3 дня голову ломал.
А напишите статью дайте ссылку обязательно прочитаю ))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 19.04.2024 8:46
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name