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

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

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

 
 Ответить  Открыть новую тему 
> Табулирование функции, hellp
РЕЗИНОВАЯ ЗИНА
сообщение 11.11.2005 22:10
Сообщение #1


Гость






помоги составить программу табылирования функции

Цитата
    Ln^2|x-2|+sqrt(x+3) , x<=2

y=
 
    E^(6-2x)+2cos^3(x-3), x>2

на отрезке [1,3] c шагом 0.2
чето я совсем запутался.

Сообщение отредактировано: volvo - 11.11.2005 22:20
 К началу страницы 
+ Ответить 
Altair
сообщение 11.11.2005 23:00
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

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


Цитата
Ln^2|x-2|

не понял.
sqr(Ln(abs(x-2))) или что-то другое ?

Цитата
2cos^3(x-3)

аналогично. что во что возводим ?



Function F1(x:double):double;
begin
f1:=sqr(ln(abs(x-2)))+sqrt(x+3);
end;

Function F2(x:double):double;
begin
f2:=exp(6-2*x)+2*sqr(cos(x-3))*cos(x-3);
end;

Const
a:double = 1;
b:double = 3;
step:double = 0.1;
eps:double = 0.00001;
var
x,r:double;
begin
x:=a;
while abs (b-x)>eps do begin
if x<=2 then r:=f1(x) else r:=f2(x);
writeln(x:10, r:10);
x:=x+step
end;
readln
end.

функции можешь подправить сама (f1 f2)
...

Сообщение отредактировано: Altair - 11.11.2005 23:07


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 11.11.2005 23:30
Сообщение #3


Гость






Ln^2|x-2|
логорифм квадратный от х-2 по модулю
2cos^3(x-3)
2 сos куб(х-3)
а без функций никак нельзя?
step:double = 0.1;
а почему step=0,1? или если double, то оно удваивается?
пасиб большое!! wink.gif
 К началу страницы 
+ Ответить 
Altair
сообщение 11.11.2005 23:33
Сообщение #4


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

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


Цитата
Ln^2|x-2|
логорифм квадратный от х-2 по модулю
2cos^3(x-3)
2 сos куб(х-3)

тебье повезло я так и подумал.
Цитата
а без функций никак нельзя?

можно.

Const
a:double = 1;
b:double = 3;
step:double = 0.1;
eps:double = 0.00001;
var
x,r:double;
begin
x:=a;
while abs (b-x)>eps do begin
if x<=2 then r:=sqr(ln(abs(x-2)))+sqrt(x+3)
else r:=exp(6-2*x)+2*sqr(cos(x-3))*cos(x-3);
writeln(x:10, r:10);
x:=x+step
end;
readln
end.


Цитата
а почему step=0,1?

"c шагом 0.2"
прости, ошибся, исправь на 0.2
Цитата
или если double, то оно удваивается?

нет, double протсо вещесвенный тип, "двойной точности" smile.gif
не люблю real.. (причина )


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
РЕЗИНОВАЯ ЗИНА
сообщение 12.11.2005 0:19
Сообщение #5


Гость






пасиб огромное! give_rose.gif
 К началу страницы 
+ Ответить 
Guest
сообщение 12.11.2005 0:35
Сообщение #6


Гость






program labwork2_2;
uses crt;
const
step:double=0.2;
a:double=1;
b:double=3;
eps:double=0.00001;
var
x,y:double;
BEGIN
x:=a;
while abs(b-x)>eps do
begin

if x<=2 then y:=sqr(ln(abs(x-2)))+sqrt(x+3);
if x>2 then y:=Exp(6-2*x)+2*sqr(cos(x-3))*cos(x-3);
writeln(x:10,y:10);
x:=x+step;
readln;


readkey;
END.


у меня почему выдает ошибку
вот тут: x:=a;

Сообщение отредактировано: volvo - 12.11.2005 0:40
 К началу страницы 
+ Ответить 
volvo
сообщение 12.11.2005 0:39
Сообщение #7


Гость






Во-первых, пользуйся тегами CODE, а во вторых - какую именно ошибку выдает?

Кстати, у тебя End перед ReadLn пропущен, программа не будет компилироваться...
 К началу страницы 
+ Ответить 
Guest
сообщение 12.11.2005 0:44
Сообщение #8


Гость






пишет на x:=a следующее
Must be in 8087mode to compile this
 К началу страницы 
+ Ответить 
volvo
сообщение 12.11.2005 0:56
Сообщение #9


Гость






Самой первой строкой программы добавь:
{$N+}
 К началу страницы 
+ Ответить 
Guest
сообщение 12.11.2005 1:27
Сообщение #10


Гость






а что это значит?
 К началу страницы 
+ Ответить 
volvo
сообщение 12.11.2005 1:31
Сообщение #11


Гость






FAQ: Директивы компилятора
Цитата
{$N-} - Использование сопроцессора. (Глобальная директива). При указании режима {$N-} генерируется код для программного выполнения всех вещественных вычислений. При режиме {$N+} генерируется код для выполнения таких вычислений аппаратно с помощью сопроцессора.
 К началу страницы 
+ Ответить 

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

 



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