|
2 / 2 / 0
Регистрация: 02.11.2012
Сообщений: 20
|
|
Визуальное программирование. Считывание теста22.11.2012, 02:46. Показов 1329. Ответов 8
Метки нет (Все метки)
Создать программу, которая могла бы считывать введённую функцию и потом рассчитать по ней.
Как сие реализовать?
0
|
|
| 22.11.2012, 02:46 | |
|
Ответы с готовыми решениями:
8
Визуальное программирование. Метод деления отрезка пополам Считывание из файла (узнать максимальный балл за три теста и вывести фамилию и имя...)
|
|
|
|||||||||||
| 22.11.2012, 11:09 | |||||||||||
|
в студии отключи юникод
main.cpp Кликните здесь для просмотра всего текста
парсер из соседнего топика parser.h Кликните здесь для просмотра всего текста
1
|
|||||||||||
|
2 / 2 / 0
Регистрация: 02.11.2012
Сообщений: 20
|
|
| 22.11.2012, 22:55 [ТС] | |
|
Спасибо за помощь, но я прошу прощения. Я не совсем понимаю о чём речь.
Я начал изучать C++ сравнительно недавно и тут такие термины. Насколько я понял, то помимо исходного кода мы подключаем дополнительный "обработчик" вводимого текста. Пожалуйста, изъясните чуть более подробней)
0
|
|
|
387 / 214 / 102
Регистрация: 09.04.2012
Сообщений: 635
|
||||||||||||||||
| 23.11.2012, 11:38 | ||||||||||||||||
Сообщение было отмечено как решение
Решение
Задача решается построением конечного автомата. При синтаксическом разборе выражения строится дерево. Нужно использовать структуру данных стек.
Конечный автомат - это кортеж терминальных символов, нетерминальных символов, таблицы переходов, множества начальных и конечных состояний. Конечные автоматы используются программистами железа, например инженерами компаний Intel, AMD, nVidia и др крупных производителей логики микросхем ( процессоров, оперативной памяти, материнских плат, видеокарт и т.п.). Как строится конечный автомат? Предположим, мы можем использовать только символы 0 и 1, и нам нужно определить содержится ли в последовательности четное количество 0 и нечетное количество 1. Начальное состояние чтение цепочки 0. Если нечетное количество 0 или четное количество 1, то значит цепочка не соответствует условиям грамматики. В начальном состоянии количество 0 и 1 является четным (это не допускающее состояние). Из цепочки может быть считано либо 0, либо 1. Предположим, считано 0, тогда пусть состояние чтение цепочки будет 1. Предположим, считано 1, тогда пусть состояние чтения цепочки будет 2. Таким образом конечный автомат распознавания цепочки приобретает вид: ________символы состояние| 0 | 1 | -------------------------- 0 _______| 1 | 2 | ->err -> err значит что состояние не является допускающим. В 1 состоянии количество 0 нечетное, количество 1 - четное, так как 0 считаем четным числом. В состоянии 1 цепочка не соответствует условиям, таким образом состояние 1 не может быть допускающим состоянием чтения цепочки. Во 2 состоянии количество 1 нечетное, количество 0 - четное. В состоянии 1 цепочка соответствует условиям. Состояние 2 допускающее. В 1 состоянии может быть считана либо 0, либо 1. Если считано 0, то состояние нулей снова становится четным, количество 1 остается четным. Это эквивалентно 0 состоянию. Конечный автомат распознавания цепочки приобретает вид: ________символы состояние| 0 | 1 | -------------------------- 0________| 1 | 2 | ->err 1________| 0 | |->err Если в 1 состоянии считано 1, то количество 1 становится нечетным ( количество 0 было нечетным). Требуется новое состояние, пусть это будет состояние 3. Конечный автомат распознавания цепочки приобретает вид: ________символы состояние| 0 | 1 | -------------------------- 0________| 1 | 2 | ->err 1________| 0 | 3 | ->err Состояние 3 не является допускающим. Во 2 состоянии может быть считано 0 или 1. Если считано во 2 состоянии 0, тогда количество 0 становится нечетным, количество 1 остается нечетным. Это состояние эквивалентно состоянию 3. Состояние не допускающее. Конечный автомат распознавания цепочки приобретает вид: ________символы состояние| 0 | 1 | -------------------------- 0________| 1 | 2 | ->err 1________| 0 | 3 | ->err 2________| 3 | 0 | Если считано во 2 состоянии 1,тогда количество 1 становится четным, количество 0 остается четным. Состояние недопускающее. Оно эквивалентно состоянию 0. 0 состояние: четное количество 0 и 1 1 состояние: нечетное количество 0, четное количество 1 2 состояние: нечетное количество 1, четное количество 0 3 состояние: нечетное количество 0, нечетное количество 1 В 3 состоянии может быть считано 0 или 1. Если считано в 3 состоянии 0, то количество 1 становится четным, количество 0 остается нечетным. Это состояние 1. Конечный автомат распознавания цепочки приобретает вид: ________символы состояние| 0 | 1 | -------------------------- 0________| 1 | 2 | ->err 1 _______| 0 | 3 | ->err 2________| 3 | 0 | 3________| 1 Если считано в 3 состоянии 1, то количество 0 становится четным, количество 1 остается нечетным. Это состояние 2.Конечный автомат распознавания цепочки приобретает вид: ________символы состояние| 0 | 1 | -------------------------- 0________| 1 | 2 | ->err 1________| 0 | 3 | ->err 2________| 3 | 0 | 3________| 1 | 2 | ->err Конечный автомат построен. Если по завершения чтении цепочки состояние не 2, то цепочка не является допускающей, а значит не соответствует грамматике. Логика программы реализуется следующим образом
Стек это структура данных LIFO ( last in, first out). Последним зашел - первым вышел. В классе стек должен быть реализован метод push - занесение в стек и метод pop - вынесения из стека. Предположим мы организовываем стек на основе структуры char, тогда класс будет выглядеть следующим образом.
При чтении '(' заносится на верхушку стека. Другой способ это рекурсивный вызов. Частный случай решения:
5
|
||||||||||||||||
|
2 / 2 / 0
Регистрация: 02.11.2012
Сообщений: 20
|
|
| 24.11.2012, 03:10 [ТС] | |
|
Парень...ты просто гений.
0
|
|
|
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 6
|
||
| 26.11.2012, 21:56 | ||
|
0
|
||
|
|
||||||
| 28.11.2012, 08:18 | ||||||
|
проверял в vs12 и в codeblocks. Создаётся проект win32, туда копируется код main.cpp и к проекту add item parser.h
Кликните здесь для просмотра всего текста
1
|
||||||
|
2 / 2 / 0
Регистрация: 02.11.2012
Сообщений: 20
|
||
| 01.12.2012, 05:11 [ТС] | ||
|
Но есть одно маленькое но. Если все поля пустые и жмёшь "go" , то программа крашится! Ка этого избежать, чтобы также выбивало (NAN)?
0
|
||
| 01.12.2012, 05:11 | |
|
Помогаю со студенческими работами здесь
9
Визуальное программирование Визуальное программирование. Визуальное программирование Визуальное программирование Визуальное программирование Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
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 .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|