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

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

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

 
 Ответить  Открыть новую тему 
> Вычислить значение функции, ошибка какая-то
MaxiMum
сообщение 11.12.2006 17:27
Сообщение #1





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

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


Здравствуйте!!!
Помогите , пожалуйста, написал алгоритм, но там явная ошибка, только не пойму где.
Задача такая: нужно вычислить значение функции
w=sqrt(a*t*t+b*sin(t)+1) при t<0.1
w=a*t+b при t=0.1
w=sqrt(a*t*t+b*cos(t)+1) при t>0.1
a=2.5
b=0.4
t принадлежит отрезку [-1;1] при шаге дельта t равном 0,1

PROGRAM INTEGRAL;
VAR A, B, TK, TN, DT, T, W: REAl;
Begin
READ (A, B, TN, TK, DT);
T:=TN;
REPEAT
IF T<0.1 THEN W:=SQRT(A*T*T+B*SIN(T)+1);
IF T=0.1 THEN W:=A*T+B
ELSE W:=SQRT(A*T*T+B*COS(T)+1);
WRITELN ('W=',W,'T=',T:4:1,'A=',A:3:1,'B=',B:3:1); T':=T+DT
UNTIL T>TK
END



Сообщение отредактировано: MaxiMum - 11.12.2006 17:29
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 11.12.2006 17:39
Сообщение #2


Michael_Rybak
*****

Группа: Модераторы
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

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


1) после первого if'а поставь else
2) действительные числа сравниваются неточно, поэтому равенство "T=0.1" может не наступить; сравнивай лучше так: Abs(t - 0.1) < 1e-8.
3) "T':=T+DT" - че за апостроф? У тебя компилится?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
AnTiDoD
сообщение 11.12.2006 17:44
Сообщение #3


Новичок
*

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

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


Ошибка в цикле по-моему
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.12.2006 17:47
Сообщение #4


Гость






AnTiDoD, очень мудрое замечание - особенно если учесть, что ВНЕ цикла в программе 3 строки...

Автору: выложи сюда свой код в аттаче или СКОПИРУЙ, но не перепечатывай (пока ты его перепечатываешь - вносишь ошибки, получается испорченный телефон...)
 К началу страницы 
+ Ответить 
MaxiMum
сообщение 11.12.2006 20:36
Сообщение #5





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

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


Цитата(volvo @ 11.12.2006 17:47) *

AnTiDoD, очень мудрое замечание - особенно если учесть, что ВНЕ цикла в программе 3 строки...

Автору: выложи сюда свой код в аттаче или СКОПИРУЙ, но не перепечатывай (пока ты его перепечатываешь - вносишь ошибки, получается испорченный телефон...)

Я его и СКОПИРОВАЛ и вставил (в первом посте).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
MaxiMum
сообщение 16.12.2006 18:32
Сообщение #6





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

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


Цитата(MaxiMum @ 11.12.2006 20:36) *

Я его и СКОПИРОВАЛ и вставил (в первом посте).

Всё, я её уже решил.
Всем спасибо, все свободны.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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