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

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

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

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Функция
Иван
сообщение 26.10.2006 16:56
Сообщение #1


Гость






Пожалуйста помогите решить эту функцию!

Функция: y:=ax+sin(at)/sqrt(2t+Exp(-0,5x*Ln(e))
X: интервал: x [от 1; до 2]; шаг: 0,3
Y: интервал: t [от 1; до 2]; шаг: 0,3
Исходные данные: a:=0,7
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 26.10.2006 17:50
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


что значит "решить функцию"?
написать программу, вычисляющую ее? найти минимум/максимум из этих точек? найти, где функция равна нулю? построить график?....
в общем, я не ясновидящая sad.gif


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Иван
сообщение 26.10.2006 17:54
Сообщение #3


Гость






Составить программу, используя вложенные операторы цикла с предусловием.
 К началу страницы 
+ Ответить 
klem4
сообщение 26.10.2006 18:09
Сообщение #4


Perl. Just code it!
******

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

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


Поиск -> Табулирование функции, ну а условия, после ввода данных проверй это :

1) e >= 1 (для логарифма)
2) 2t+Exp(-0,5x*Ln(e) > 0 (чтобы не возникло деление на 0 + корень из отрицательного)

Второе суловие возможно придется проверять и в цикле ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Иван
сообщение 26.10.2006 18:12
Сообщение #5


Гость






Хотелось бы увидеть программу в готовом виде.
 К началу страницы 
+ Ответить 
klem4
сообщение 26.10.2006 18:13
Сообщение #6


Perl. Just code it!
******

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

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


Таких программ как ты выразился "в готовом виде" на форуме куча, и писать еще одну такуюже специально для тебя никто не собирается, читай предыдущий мой пост.

Поиск и еще раз поиск, что-то не получится ? Поможем.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Иван
сообщение 26.10.2006 19:27
Сообщение #7


Гость






Умоляю подскажите что не так!!!

Program 1;
begin
y:=ax+sin(at)/sqrt(2t+Exp(-0,5x*Ln(e));
end;
Const
a:double = 1;
b:double = 2;
step:double = 0,3;
eps:double = 0.00001;
Var
x,r:double;
begin
x:=a;
while
(b-x)>eps do begin
r:=f1(x);
writeln®;
x:=x+step
end;
readln
end.


Сообщение отредактировано: volvo - 2.11.2006 0:45
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 26.10.2006 19:34
Сообщение #8


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


начнем с того, что надо использовать теги!

по тексту программы - это что за новая структура:
1. тело программы
2. const,var
3. продолжение тела.

это не с++, а паскаль.
переменные объявляются до всех бегинов/эндов. или оформляй эту бяку как подпрограмму, используя зарезервированные слова "функция" или "процедура".


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 26.10.2006 19:42
Сообщение #9


Perl. Just code it!
******

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

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


В общем чувствуется тут опять может на 30 постов все дело разойтись, так подойдет ?

uses crt;
const

a = 0.7;
step = 0.3;

function F(x, t: Single): Single;
begin
F := a*x + sin(a*t) / sqrt(2*t + exp(-0.5*x * ln(exp(1))));
end;

var
x, t: Single;

begin
clrscr;

x := 1;

writeln('x':3, 't':9, 'F(x, t)':13);
while (x <= 2) do begin
t := 1;
while (t <= 2) do begin
if (2*t + exp(-0.5*x * ln(exp(1))) > 0) then
writeln(x:3:3, t:9:3, F(x, t):9:3);
t := t + step;
end;
x := x + step;
end;
readln;
end.


ps ln(exp(1) = 1, так что можно убрать ... Если в твоем задании е - это експонента.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Иван
сообщение 27.10.2006 16:37
Сообщение #10


Гость






Пожалуйста подскажите где ошибка:

Program Sm;
uses crt;
var
x,t:Single;
const
a=0.7;
step=0.3;
Function F(x,t:Single):Single;
begin
F:=a*x+sin(a*t)/sqrt(2*t+exp(-0.5*x*ln(exp(1))));
end;
begin
clrscr;
x:=1;
writeln('x':3,'t':9,'F(x,t)':13);
while (x <= 2) do begin
t:= 1;
while (t <= 2) do begin
if (2*t+exp(-0.5*x*ln(exp(1)))>0) then
writeln(x:3:3, t:9:3, F(x,t):9:3);
t:=t+step;
end;
x:=x+step;
end;
readln;
end.
 К началу страницы 
+ Ответить 
volvo
сообщение 27.10.2006 16:53
Сообщение #11


Гость






Цитата
Пожалуйста подскажите где ошибка:
Где ты видишь ошибку? Все работает... Если ты про 8087 mode, то самой первой строкой программы поставь {$N+}
 К началу страницы 
+ Ответить 
Иван
сообщение 27.10.2006 17:26
Сообщение #12


Гость






Огромное спасибо за помощь. И огромная благодарность Андрею(klem4)!!!
 К началу страницы 
+ Ответить 
Иван
сообщение 29.10.2006 17:43
Сообщение #13


Гость






И последний вопрос. Что значит строчка Function F(x,t:Single):Single;
 К началу страницы 
+ Ответить 
volvo
сообщение 29.10.2006 17:49
Сообщение #14


Гость






Читай документацию:
Руководство по языку B.Pascal 7 & Objects/LR -> Процедуры и функции
 К началу страницы 
+ Ответить 
Гость
сообщение 1.11.2006 17:51
Сообщение #15


Гость






Уважаемые програмисты! Не могли бы вы из этой программы убрать функции. Очень надо!!!
P.S. Сам пытался - не получилось. Вся надежда на вас!
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 1.11.2006 17:58
Сообщение #16


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


ВСЕ? sin, exp,ln...?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 1.11.2006 17:58
Сообщение #17


Гость






Тут нет функций... Она всего одна в программе.

Как пытался убрать, покажи...
 К началу страницы 
+ Ответить 
Иван
сообщение 1.11.2006 18:06
Сообщение #18


Гость






Пожалуйста :
{$N+}
Program Sm;
uses crt;
var
x,t,F:Single;
const
a=0.7;
step=0.3;
begin
F:=a*x+sin(a*t)/sqrt(2*t+exp(-0.5*x*ln(exp(1))));
end.
begin
clrscr;
x:=1;
writeln ('x':3,'t':9,'F(x,t)':13);
while (x <= 2) do begin
t:= 1;
while (t <= 2) do begin
if (2*t+exp(-0.5*x*ln(exp(1)))>0) then
writeln (x:3:3, t:9:3, F(x,t):9:3);
t:=t+step;
end;
x:=x+step;
end;
readln;
end.
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 1.11.2006 18:14
Сообщение #19


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


а ничего, что к моменту подсчета еще не заданы значения х и t?
поищи, где вызывается функция, и примерно в тот район вставь F:=a*x+sin(a*t)/sqrt(2*t+exp(-0.5*x*ln(exp(1))));


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Иван
сообщение 1.11.2006 18:54
Сообщение #20


Гость






Заработала! Вот только правильно ли?
{$N+}
Program Sm;
uses crt;
var
x,t,F:Single;
const
a=0.7;
step=0.3;
begin
clrscr;
x:=1;
writeln ('x':3,'t':9,'F(x,t)':13);
while (x <= 2) do begin
t:= 1;
F:=a*x+sin(a*t)/sqrt(2*t+exp(-0.5*x*ln(exp(1))));
while (t <= 2) do begin
writeln (x:3:3, t:9:3, F:9:3);
t:=t+step;
end;
x:=x+step;
end;
readln;
end.
 К началу страницы 
+ Ответить 

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

 



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