Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Табулирование функций 
:(
    Опции темы
Аликс
Дата 7.5.2006, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



Здравствуйте!
Помогите решить задачу.

Даны 3 функции:
f(x)=a*sqr(x)+b*x+c,        при x<1.2
f(x)=a/x+(sqrt(sqr(x)+1)),    при x=1.2
f(x)=(a+b*c)/((sqrt(sqr(x)))+1) при x>1.2
А также a=2.8, b=-0.3, c=4, 
x принадлежит [1.2] и dx=0.05 (шаг).


С уважением Аликс. 
PM MAIL   Вверх
VAngeL86
Дата 8.5.2006, 05:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 29.4.2006
Где: Хабаровск

Репутация: нет
Всего: 1



А что конкретно нужно написать? smile  
PM MAIL ICQ   Вверх
Аликс
Дата 8.5.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



Ну в общем эта программа с ветлением и циклом. Там при условии 
x<1.2 выполняется функция f(x)=a*sqr(x)+b*x+c    и т.д.  с шагом 
dx=0.05. Я только не знаю как это записать.

 
PM MAIL   Вверх
VAngeL86
Дата 9.5.2006, 06:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 29.4.2006
Где: Хабаровск

Репутация: нет
Всего: 1



Лично я бы оформил твою функцию ввиде фунции (извини за тафтологию smile )
А дальше цикл с шагом dx=0.05.
Код

Program Func;
uses CRT;
var f, a, b, c, x, dx: real;

Function fun(x: real): real;
begin
 if x<1.2 then fun:=a*sqr(x)+b*x+c
 else
  if x=1.2 then fun:=a/x + sqrt(sqr(x)+1)
  else fun:=(a+b*c)/(sqrt(sqr(x))+1);
end;

BEGIN
 dx:=0.05;
 a:=2.8;
 b:=-0.3;
 c:=4;

 x:=1; f:=0;
 repeat
  f:=f + fun(x);
  x:=x+dx;
 until x>2;

 write('f(x) = ', f:0:3);
readkey;
END.
  

Это сообщение отредактировал(а) VAngeL86 - 9.5.2006, 06:56
PM MAIL ICQ   Вверх
volvo877
Дата 9.5.2006, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



VAngeL86, м-да...


"Горбатого могила исправит" (С) Народная мудрость...
Задания читать ты так и не научился...

При чем тут сумма? Это во-первых... Задание было - протабулировать функцию!!! А во-вторых, если ты сравниваешь вещественные числа через "=", то не удивляйся, что будут глюки.

Код
Program Func;
uses CRT;
var
  a, b, c: real;

function fun(x: real): real;
begin
  if x < 1.2 then fun := a*sqr(x)+b*x+c
  else
    if x > 1.2 then fun:=(a+b*c)/(sqrt(sqr(x))+1)
    else fun:=a/x + sqrt(sqr(x)+1)
end;

Var
  x, dx: real;

BEGIN
  a:=2.8; b:=-0.3; c:=4;
  x:=1; dx:=0.05;
  writeln('x':15, 'f(x)':15);
  repeat
    writeln(x:15:5, fun(x):15:5);
    x := x+dx;
  until x > (2 + dx); { <--- Иначе потеряешь последний результат (при X = 2.0) }
  readkey;
END.
 
PM MAIL   Вверх
VAngeL86
Дата 9.5.2006, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 29.4.2006
Где: Хабаровск

Репутация: нет
Всего: 1



 smile мдааа...и причем тут сумма... обещаю исправиться!

Цитата(volvo877 @  9.5.2006,  08:22 Найти цитируемый пост)
если ты сравниваешь вещественные числа через "=", то не удивляйся, что будут глюки.

Согласен. 
Цитата(volvo877 @  9.5.2006,  08:22 Найти цитируемый пост)
 until x > (2 + dx); { <--- Иначе потеряешь последний результат (при X = 2.0) }

Не согласен! когда x станет равным 2 проверка x>2 не пройдёт! т.к. 2>2 - неверно! 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.