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

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

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

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




ЗЫ: Язык написания программы 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 2
Лучший ответ Сообщение было отмечено 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
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной. Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
Формулы поворота
Igor3D 10.03.2025
Добрый день Тема Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости". x' = x * cos(a) - y * sin(a) y' = y * cos(a) + x * sin(a) Как бы Вы их. . .
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view. string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет! Отправлено 19 февраля 2025 года в 17:20:21 UTC Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home. Мы официально. . .
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru