Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2014, 21:16   #1
DeMMonoloG
Новичок
Джуниор
 
Регистрация: 12.06.2014
Сообщений: 2
По умолчанию Ввод функции с клавиатуры (Паскаль)

Доброго времени суток! Немогу понять какой тип данных надо задать для ввода произвольной функции F(x) с клавиатуры, используется судя по всему процедурный тип данных, а к переменным типа function ни read, ни write не применяется, может есть какие-то хитрости? Общая структура программы вроде такого
Код:
type fun=function(x:real):real;
var fxn:fun; x2:real; fx:???
begin
read(fx);
read(x2); 
fx:=fxn;
write ('F(x)= ', fxn(x2));
readln;
end.

На FPC это можно сделать как
Код:
uses
  comobj, activex;
var
  script: olevariant;
begin
  Script := CreateOleObject('MSScriptControl.ScriptControl');
  Script.Language := 'JScript';
  writeln(Script.Eval('var x = 2.3; (x+1.9)*Math.sin(x/3)'));
end.
и задать строку 4ерез Format, но хотелось бы как-то попроще и в виде схожем с первым вариантом, т.к. от этой функции еще будет с4итаться процедура с нахождением зна4ений на оси.
DeMMonoloG вне форума Ответить с цитированием
Старый 12.06.2014, 21:45   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
может есть какие-то хитрости?
Так не получится. Паскаль нативный язык, а не скриптовый.
Вон у тебя есть пример с JS, чего б его и не использовать?
Могу еще один подкинуть где в качестве решателя формул задействован Экзел.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.06.2014, 22:06   #3
DeMMonoloG
Новичок
Джуниор
 
Регистрация: 12.06.2014
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Вон у тебя есть пример с JS, чего б его и не использовать?
Мне потом эту функцию надо в процедуру пихать, а 4ерез яву он просто зна4ение находит... Скинь с Экзелем, может там все попроще будет...
Всегда есть вариант просто прописать все возможные варианты и вызывать при вводе, но ради заморо4ек препода писать прогу на 800 строк как-то не тянет.
DeMMonoloG вне форума Ответить с цитированием
Старый 12.06.2014, 22:17   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Скинь с Экзелем, может там все попроще будет...
То же самое - он ее тебе посчитает.
Не умеет паскаль так делать как ты задумал. Только его платный скриптовый вариант, который кажись в Delphi XE развиваться только только вот стал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод с клавиатуры на С++ skin11 Помощь студентам 0 19.02.2014 14:30
Ввод функции с клавиатуры Rus5 Паскаль, Turbo Pascal, PascalABC.NET 6 18.12.2011 13:36
Ввод функции с клавиатуры yourchoice17 Помощь студентам 6 12.05.2011 23:51