Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 02.06.2011
Сообщений: 6

Реализация ввода формул как в Word

01.05.2012, 14:32. Показов 3636. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо построить график функции по заданной функции (функция должна полность вводиться вручную). Хотел сделать как в ворде, акуратно и красиво, но в инете ничего нужного не нашел может кто сталкивался с таким? Или может возможно выдрать эту часть формул с ворда и впихнуть в программу?




ЗЫ: Язык написания программы C#
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.05.2012, 14:32
Ответы с готовыми решениями:

Программная вставка формул в Microsoft Word
Доброго времени суток. Долго искал по гугле как вставить формулу в ворде, и после того как нашел появился другой вопрос. Как начать...

Вывод математических формул в Word
Есть у меня расчетная программа для курсача, препод требует вывод отчета в WORD. Формулы в основном с корнями, дробями и степенями, не...

Реализация формул
Вообще, появилась идея, сделать для себя "текстовый редактор" для лекций(впрочем не важно), столкнулся с проблемой реализации вставки...

1
 Аватар для Alex_Sabaka
638 / 499 / 77
Регистрация: 28.07.2010
Сообщений: 895
01.05.2012, 23:39
Лучший ответ Сообщение было отмечено xazaly как решение

Решение

Code
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
        public static string getName(string s)
        {
            return typeof(Math).GetMembers().First(m => m.Name.ToLower().Equals(s.ToLower())).Name;
        }
 
        public static bool hasFunc(string f)
        {
            return typeof(Math).GetMembers().Any(m => m.Name.ToLower().Equals(f.ToLower()));
        }
 
        static Assembly compile(string code)
        {
            CodeDomProvider provider = new CSharpCodeProvider();
            CompilerParameters cp = new CompilerParameters();
            cp.GenerateExecutable = false;
            cp.GenerateInMemory = true;
            cp.IncludeDebugInformation = false;
            cp.ReferencedAssemblies.Add("System.dll");
            cp.ReferencedAssemblies.Add("System.Core.dll");
            CompilerResults cr = provider.CompileAssemblyFromSource(cp, code);//CompileAssemblyFromFile(cp, "script.cs");
            if (!cr.Errors.HasErrors)
                return cr.CompiledAssembly;
            else return null;
        }
 
        public static Func<double, double> buildFunc(string f)
        {
            f = Regex.Replace(f, @"(?<foo>\w+)", m => (hasFunc(m.Groups["foo"].Value) ? ("System.Math." + getName(m.Groups["foo"].Value)) : m.Groups["foo"].Value));
            string funcdef = @"
namespace __temp
{{
  public class __class
  {{
     public static double __func(double x)
     {{
        return {0};
     }}
  }}
}}";
            funcdef = string.Format(funcdef, f);
            Assembly ca = compile(funcdef);
            Type[] t = ca.GetTypes();
            if (t.Length > 0)
            {
                MethodInfo mi = t[0].GetMethod("__func", BindingFlags.Static | BindingFlags.Public);
                if (mi == null) throw new Exception("error while compilation");
                try { return (Func<double, double>)Delegate.CreateDelegate(typeof(Func<double, double>), mi); }
                catch (Exception ex) { throw ex; }
            }
            else throw new Exception("error while compilation");
        }

How to
C#
1
2
3
4
5
6
7
8
9
            Console.Write("Expression: ");
            string f = Console.ReadLine();
            Func<double, double> foo = buildFunc(f);
            while (true)
            {
                Console.Write(": ");
                double v = double.Parse(Console.ReadLine());
                Console.WriteLine("\tf({0}) = {1}", v, foo(v));
            }

Program output
Code
1
2
3
4
5
6
7
8
9
Expression: pi * x - cos(exp(x / (2 + sin(x))) + 10)
: 10
        f(10) = 32.2959330642898
: 20
        f(20) = 62.6629224920727
: 30
        f(30) = 95.201141683316
: 100
        f(100) = -1.19222594647642E+29
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.05.2012, 23:39
Помогаю со студенческими работами здесь

Реализация формул
Незнаете как ввести в код эти формулы??? Формулу Дельта попытался расписать, но кажется неправильно(( private void...

Вывод "красивых" (как в MS Word) формул на форму.
Здравствуйте! Нужно ,чтобы на форму выводилась красивая математическая формула, как в MS Word или LaTex. Вставка рисунков не вариант. ...

Библиотеки для удобного ввода формул и ручного построения графиков
Доброго времени суток. Стоит задача разработать обучающую компьютерную программу по физике для школьников. В требованиях указано, что в...

Цикл, реализация 3х формул
Y принадлежит h=0,5 //шаг z=tg(y) y&lt;=0 z=SQRу 0&lt;y&lt;3 z=1/y^3

Заполнение формул в Word
Язык программирования Visual Basic Net. Есть документ Word (версия с docx). В документе есть куча текста, формул, таблиц. Как заполнять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru