powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как решить задачу?
17 сообщений из 42, страница 2 из 2
Как решить задачу?
    #39109100
BlackEric
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
import javax.script.*;


public class MainParser {

	private static final String s="2-(5-(7-9))";
	
	public static void main(String[] args) throws ScriptException {
		// TODO Auto-generated method stub

		System.out.println(s);
		
		ScriptEngineManager sem = new ScriptEngineManager();
	    ScriptEngine engine = sem.getEngineByName("javascript");
	    engine.eval("print(" + s + ")");
	    //System.out.println(  );
		
	}

}
...
Рейтинг: 0 / 0
Как решить задачу?
    #39109230
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MМожет оно и к лучшему. Задача была идиотская. Значит, тот кто её задал - идиот и набирает на работу идиотов. И кто его держит на работе идиот. То есть, вся организация идиотская.


Интересная задача чтобы немного пошевелить мозгами (если ее видишь первый раз). Если не первый, или не прогуливал пары получая профильное образование, то вопрос вообще проходной. Ну и плюс некие знания Java - я бы ответил как предложил в первом посте Blazkowicz.
В любом случае, я думаю не требовалось написать готовую программу для перевода и вычисления в постфиксную запись или построения дерева разбора выражения, а можно было бы рассказать "на пальцах", и собеседующих бы устроило.
...
Рейтинг: 0 / 0
Как решить задачу?
    #39109286
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно вообще последовательно скобочки раскрывать и заменять минусики на плюсики)
...
Рейтинг: 0 / 0
Как решить задачу?
    #39109293
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин МаркPartisan MМожет оно и к лучшему. Задача была идиотская. Значит, тот кто её задал - идиот и набирает на работу идиотов. И кто его держит на работе идиот. То есть, вся организация идиотская.


Интересная задача чтобы немного пошевелить мозгами (если ее видишь первый раз). Если не первый, или не прогуливал пары получая профильное образование, то вопрос вообще проходной. Ну и плюс некие знания Java - я бы ответил как предложил в первом посте Blazkowicz.
В любом случае, я думаю не требовалось написать готовую программу для перевода и вычисления в постфиксную запись или построения дерева разбора выражения, а можно было бы рассказать "на пальцах", и собеседующих бы устроило.


Так что ж никто не расскажет то тут, на форуме?
...
Рейтинг: 0 / 0
Как решить задачу?
    #39109315
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerЛокшин Маркпропущено...


Интересная задача чтобы немного пошевелить мозгами (если ее видишь первый раз). Если не первый, или не прогуливал пары получая профильное образование, то вопрос вообще проходной. Ну и плюс некие знания Java - я бы ответил как предложил в первом посте Blazkowicz.
В любом случае, я думаю не требовалось написать готовую программу для перевода и вычисления в постфиксную запись или построения дерева разбора выражения, а можно было бы рассказать "на пальцах", и собеседующих бы устроило.
Так что ж никто не расскажет то тут, на форуме?
Если честно... я подобные задачи как-то решал в универе и забыл как.

Суть в том что такое выражение (инфиксный класс операций) .
Код: java
1.
String s="2-(5-(7-9))"


трансформируется в ПОЛИЗ (польская инверсная запись) или постфиксные операции
Код: java
1.
2,5,7,9,-,-,-


Скобки при этом исчезают.

И над ней выполняются вычисления таким образом как если-бы ты работал с инженерным
калькулятором типа МК-60. Тоесть сначала кладёшь два операнда в стек потом нажимаешь
кнопку операции. Операция снимает два операнда со стека и кладёт на стек результат.
И т.д. Вобщем покури Вики там достаточно доходчиво всё описано.
...
Рейтинг: 0 / 0
Как решить задачу?
    #39109318
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerТак что ж никто не расскажет то тут, на форуме?
Я ссылки привел на оба решения. Что рассказывать?
...
Рейтинг: 0 / 0
Как решить задачу?
    #39109519
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczquestionerТак что ж никто не расскажет то тут, на форуме?
Я ссылки привел на оба решения. Что рассказывать?
Я может по себе людей сужу, но всё таки на мой взгляд здоровый человек не напишет на бумажке на память алгоритм дейкстры по трансформации инфиксной записи в постфиксную, а потом еще и парсинг этой записи.

Вот если только парсинг, это реально.

Давайте предположим, что могут быть только скобки и минусы. Мне кажется можно сочинить какой-нить простенький наколеночный алгоритм.
...
Рейтинг: 0 / 0
Как решить задачу?
    #39109522
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

ну и ещё, что задача не на знание того, что в джаве есть насхорн, а то, что это алгоритмическая задача.
...
Рейтинг: 0 / 0
Как решить задачу?
    #39109548
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажу как человек который много провёл собеседований по Java.

Не напишет.

Синьоры-помидоры, ковыряя в зубах зубочисткой презрительно скажут что
не царское это дело и укажут на ScriptEngine. Мидлы будуту пыхтеть и грысть
этот кактус полтора часа без особого результата. За джунов вообще страшно.
Им грозит глубокая кома.

С точки зрения работодателя - давать такое задание во время собеседования
- безсмысленно дорого. Дорого время собеседующего. Неясны также цели.
Зачем? Что-то очень специфичное? Давать на дом? Но даже при таком подходе
парсер мат-выражений не должен быть самой целью. Цель должна быть другая.

Вобщем как-то так.
...
Рейтинг: 0 / 0
Как решить задачу?
    #39109622
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerЯ может по себе людей сужу, но всё таки на мой взгляд здоровый человек не напишет на бумажке на память алгоритм дейкстры по трансформации инфиксной записи в постфиксную, а потом еще и парсинг этой записи.

Вот если только парсинг, это реально.

Давайте предположим, что могут быть только скобки и минусы. Мне кажется можно сочинить какой-нить простенький наколеночный алгоритм.
Не могу никак прокоменнтировать. Мы это дотошно делали на лабах в универе, поэтому примерный подход отложился в памяти. Да, готовый код за 10 минут не накатать. Но за 30 с дебагом, можно. Только на интервью обычно этого не требуют. Достаточно объяснить.
...
Рейтинг: 0 / 0
Как решить задачу?
    #39109623
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerну и ещё, что задача не на знание того, что в джаве есть насхорн, а то, что это алгоритмическая задача.
Не понял коментария.
...
Рейтинг: 0 / 0
Как решить задачу?
    #39109677
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczquestionerну и ещё, что задача не на знание того, что в джаве есть насхорн, а то, что это алгоритмическая задача.
Не понял коментария.
Это прекондишен от меня))
...
Рейтинг: 0 / 0
Как решить задачу?
    #39109683
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczquestionerЯ может по себе людей сужу, но всё таки на мой взгляд здоровый человек не напишет на бумажке на память алгоритм дейкстры по трансформации инфиксной записи в постфиксную, а потом еще и парсинг этой записи.

Вот если только парсинг, это реально.

Давайте предположим, что могут быть только скобки и минусы. Мне кажется можно сочинить какой-нить простенький наколеночный алгоритм.
Не могу никак прокоменнтировать. Мы это дотошно делали на лабах в универе, поэтому примерный подход отложился в памяти. Да, готовый код за 10 минут не накатать. Но за 30 с дебагом, можно. Только на интервью обычно этого не требуют. Достаточно объяснить.

Я подозреваю, что Вы закончили универ намного раньше меня) мы это делали курсе на первом-втором...прошло уже лет так 6-7. Я помню, конечно, что такое польская запись, но алгоритмы...неее.
...
Рейтинг: 0 / 0
Как решить задачу?
    #39110926
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не ссорьтесь вы все.

Задача для выпускника. Я вот не помню. Ни польской ни хрена.
Делал бы в лоб - приоритет операций, разбор , рекурсия.

Сложность - разбор скобок. Да и то при решении в лоб не сложно.
Но как сказал Блажкович - время и отладчик. И любая задача решаема. :)
Ну или гугл. Так быстрее.
...
Рейтинг: 0 / 0
Как решить задачу?
    #39111175
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как решить задачу?
    #39111181
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньев, сколько времени у тебя заняло решение?
...
Рейтинг: 0 / 0
Как решить задачу?
    #39111939
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

не решал. Прибежали по работе злыдни сказали отчет горит. :(
сейчас попробую. :) Но не скажу.
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Как решить задачу?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]