|
6 / 6 / 3
Регистрация: 15.06.2013
Сообщений: 69
|
|
Как научить программу распознавать функции, знаки, скобки15.06.2013, 18:31. Показов 2768. Ответов 21
Метки нет (Все метки)
Добрый день.
Интересует вопрос, например: Ввожу в строку (х+3)*(2*х^2)+ln(x) нажимаю ввод, указываю чему равен икс, программа должна вывести на экран значение этой функции что я ввел - f(x). Могу ввести и другую функцию, например, x^6-14. Как научить программу распознавать функции ln, cos, e, pi, x^3,скобки, ариф. знаки ну и тому подобное, если пользователь сам вводит нужное выражение?
0
|
|
| 15.06.2013, 18:31 | |
|
Ответы с готовыми решениями:
21
Калькулятор на TkInter, как распознавать знаки? Как научить IDE Cbuilder 6 понимать русский текст (массив строк с кириллицей преобразуется в знаки вопроса)? |
|
24 / 5 / 2
Регистрация: 08.01.2013
Сообщений: 94
|
||||||
| 15.06.2013, 18:44 | ||||||
|
При обращении к стандартным функциям необходимо записать имя функции, а в скобках указать аргумент.
Выражения представляют собой формальное правило для вычисления некоторого нового значения. Они могут состоять из констант, переменных, стандартных функций . Например, 0.5 + А, Р - T/A - B, 1.25 * sin (x) + cos (x). Порядок выполнения операций определяется скобками, а при их отсутствии - согласно приоритету операций: 1. операция отрицания not; 2. операции: * , / , div , mod , and; 3. операции : + , - , or; 4. операции отношения : <= , < , = , < > , > , >=. Операции одного приоритета выполняются последовательно слева направо. Есть целая таблица выражения функций в коде. Например код к ниже указанной формуле к картинке будет такой:
0
|
||||||
|
6 / 6 / 3
Регистрация: 15.06.2013
Сообщений: 69
|
|
| 15.06.2013, 18:56 [ТС] | |
|
Вы написали программу на конкретное выражение, повторяюсь, пользователь сам должен написать нужное ему выражение.
0
|
|
|
24 / 5 / 2
Регистрация: 08.01.2013
Сообщений: 94
|
|
| 15.06.2013, 19:00 | |
|
Все, я Вас понял.
Такого я не умею, самому стало интересно, как под пользователя так написать... Надеюсь, помогут решить... я только начинаю изучать паскаль...
0
|
|
|
Заблокирован
|
|
| 15.06.2013, 20:03 | |
|
вполне помогут стандартные функции паскаля
IntToStr(i) функция i - integer string преобразует целое число к строке StrToInt(s) функция s - string integer преобразует строку в целое число . Если преобразование невозможно, то возникает ошибка времени выполнения FloatToStr(r) функция r - real string преобразует вещественное число к строке StrToFloat(s) функция s - string real преобразует строку в вещественное число. Если преобразование
2
|
|
|
6 / 6 / 3
Регистрация: 15.06.2013
Сообщений: 69
|
|
| 15.06.2013, 20:12 [ТС] | |
|
Wiseman, как вы себе представляете перевод (x+x^2)*(x+ln(2*x)) в вещественный или целый тип? в строке и скобки и функции и знаки, нельзя применять такое преобразование.
0
|
|
|
Заблокирован
|
|
| 15.06.2013, 20:16 | |
|
переобразуй в строчний тип и присвой s
создай множество s2 из ()+-/* и т.д и проверь if s[i] in s2 then .......
1
|
|
|
6 / 6 / 3
Регистрация: 15.06.2013
Сообщений: 69
|
|
| 15.06.2013, 20:18 [ТС] | |
|
Фокус со множеством сработает в поисках скобок безусловно, а если sin cos ln и тому подобные...
0
|
|
|
Заблокирован
|
|
| 15.06.2013, 20:18 | |
|
создай еще одно множество типа стринг и сверяй с ним
1
|
|
|
6 / 6 / 3
Регистрация: 15.06.2013
Сообщений: 69
|
|
| 15.06.2013, 20:20 [ТС] | |
|
как-то не очень ясно, если я определю строку то как потом икс подставить?
0
|
|
|
Заблокирован
|
|
| 15.06.2013, 20:29 | |
|
переобразуеш все
это долго обьяснять но вот удача чтобы найти решение достаточно просто перейти в https://www.cyberforum.ru/search.php
1
|
|
|
6 / 6 / 3
Регистрация: 15.06.2013
Сообщений: 69
|
|
| 16.06.2013, 08:21 [ТС] | |
|
Поиск - прекрасно, я сформулировать не могу задачу для поиска...
0
|
|
|
Заблокирован
|
||||||
| 16.06.2013, 08:39 | ||||||
|
поищи калькулятор на паскале
дело в том что там стоит такое же задание Добавлено через 3 минуты вот для роспознавания математических знаков
скобки по аналогии
1
|
||||||
|
6 / 6 / 3
Регистрация: 15.06.2013
Сообщений: 69
|
|
| 16.06.2013, 09:26 [ТС] | |
|
Wiseman, Спасибо, попробую разобраться.
Добавлено через 33 минуты Что-то не то, вы меняете значение итератора i в цикле, компилятор ругается
0
|
|
|
Заблокирован
|
|
| 16.06.2013, 11:26 | |
|
мой не ругается
1
|
|
|
6 / 6 / 3
Регистрация: 15.06.2013
Сообщений: 69
|
|
| 16.06.2013, 12:33 [ТС] | |
|
Wiseman, угу работает,я в паскаль .net просто запускал, сейчас подумаю...
Добавлено через 36 минут Как-то не в кайф ковыряться в чужом коде... проще самому писать, может кто подскажет, может библиотека какая есть? не обязательно в паскале, могу и в delphi этот проект сделать...
0
|
|
|
Заблокирован
|
|
| 16.06.2013, 12:34 | |
|
найди калькулятор на Делфи и от туда все возьми
0
|
|
|
6 / 6 / 3
Регистрация: 15.06.2013
Сообщений: 69
|
|
| 16.06.2013, 13:00 [ТС] | |
|
калькулятор я разберу, но у меня немного другая процедура, я же пишу с иксом, а потом программе нужно его подставить, калькулятор отделит скобки и т.п. а подставить икс?
0
|
|
|
Заблокирован
|
|
| 16.06.2013, 13:16 | |
|
ты сделай все остальное а с х я помогу
0
|
|
|
6 / 6 / 3
Регистрация: 15.06.2013
Сообщений: 69
|
|
| 16.06.2013, 14:01 [ТС] | |
|
на сайте есть хорошие примеры калькуляторов, но там уже созданные библиотеки, копаться в библиотеке попробовал - не понимаю
0
|
|
| 16.06.2013, 14:01 | |
|
Помогаю со студенческими работами здесь
20
Как научить программу различать '1' и '9' от '19'?
Как научить программу отличать win1251 от ibm866? Как научить программу выбирать файл для открытия Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|