Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#136: 2009-09-06 23:28:27 ЛС | профиль | цитата
nesco, я твой код не смотрел - взял код, который выложил кричащий "Не считает!!!"
И в его верхний Edit можно ввести любую формулу, а у тебя фиксированое (2+2)*3-10/2

Вывод - его схема более гибкая, даже в качестве примера . ИМХО

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 30
Рейтинг: 2
#137: 2009-09-06 23:42:06 ЛС | профиль | цитата
Уважаемые программеры, может я плохо объяснил?!
Входные данные могут быть ЛЮБЫМИ!!! (В рамках предложенной задачи[+;-;*;/;;dim;^]) Это как в Excelе! Вводите в ячейку =вычисление и - получаете ответ!
Я прекрасно понимаю, что для фиксированных вычислений - все работает, но нужен парсер строки любого, по-правилам, выражения!!!
карма: 0

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#138: 2009-09-06 23:47:42 ЛС | профиль | цитата
BeginEnd писал(а):
Я прекрасно понимаю, что для фиксированных вычислений - все работает, но нужен парсер строки любого, по-правилам, выражения!!!

Млин, ну слов нет, одни эмоции


Add(MainForm,11339219,238,168)
{
}
Add(Button,2151046,294,168)
{
Left=135
Top=25
Caption="Calc"
link(onClick,1834605:doData,[])
}
Add(Edit,7683434,483,161)
{
Left=200
Top=25
Text=""
}
Add(MathParse,10424193,434,161)
{
MathStr=""
Point(doMathStr)
Point(reCalc)
link(onResult,7683434:doText,[])
}
Add(Hub,14902312,392,168)
{
link(onEvent1,10424193:doMathStr,[])
link(onEvent2,10424193:doCalc,[(420,181)(420,167)])
}
Add(DoData,1834605,343,168)
{
Data=String()
link(onEventData,14902312:doEvent1,[])
link(Data,8214691:Text,[])
}
Add(Edit,8214691,343,119)
{
Left=10
Top=25
Width=110
Text="(2+2)*3-10/2"
}



карма: 22

0
Ответов: 16884
Рейтинг: 1239
#139: 2009-09-06 23:49:35 ЛС | профиль | цитата
BeginEnd писал(а):
Входные данные могут быть ЛЮБЫМИ!!!

BeginEnd, ну ты даже не открыл http://www.hiasm.com/xf//getfile/14844 и опят кричиш "Караул!!!"
Там можешь вводить любую формулу и не только перечисленные тобой, но и SQRT, Min,Max,Sin,Cos и т.д.
И наверное всё, что захочешь.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#140: 2009-09-06 23:49:51 ЛС | профиль | цитата
BeginEnd писал(а):
В рамках предложенной задачи[+;-;*;/;;dim;^

В рамках предложеной задачи делай сам, а у MathParse есть свои умолчания. Кликни F1 на выбранном MathParse и прочитай, какие выражения он поддерживает. Нам этого хватает
карма: 22

0
Ответов: 30
Рейтинг: 2
#141: 2009-09-07 00:08:52 ЛС | профиль | цитата
А для задач предлагаю:
1) Обработка математического выражения с простыми операндами, (с исключениями), надо дать список операций;
2) Обработка текста (входной -> прилагательное в именительном падеже + существительное, выход -> ЛЮБОЙ падеж) (с исключениями) Можно дать список прилагательных и существительных;
3) Обработка графики - масштабирование и увеличение резкости (заострение) изображения, надо дать 2-3 картинки
4) Решение логических задач, типа "у Васи есть плеер и зеленая куртка, и он реальный парень, которого любят девушки"
5) Бот-сервис, типа "Вопрос - ответ" (которые не повторяются)
Естественно выбор за Вами!!!
карма: 0

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#142: 2009-09-07 00:12:15 ЛС | профиль | цитата
BeginEnd писал(а):
Естественно выбор за Вами!!!

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

Запомни, раз и навсегда -- мы ПОМОГАЕМ людям делать задачи, а не делаем их за них
карма: 22

0
Ответов: 30
Рейтинг: 2
#143: 2009-09-07 00:29:13 ЛС | профиль | цитата
nesco писал(а):

Ребята, моя профессия абсолютно не пингуется с Вашей!!! Я - строитель, а программирование - хобби... С 1986 года... Я еще с "Микрошей" работал, со "Спектрумом", если Вы про такие штуки слышали...
Извините, что тупой!
Но от жизни отставать не хочу - программирование - моя мечта с 1972 года!!!
Подсказывайте, если знаете, мне чисто для образования, а если чем смогу - помогу...Интеллект не пропьешь!!!
Персонально для "nesco" - Я оч рад, что не отстал!!!
------------ Дoбавленo в 00.31:
Нет ничего более постоянного, чем временное! А лучшее, все же -- враг хорошего!
А как такой стикер сделать в этом форуме?
карма: 0

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#144: 2009-09-07 00:46:18 ЛС | профиль | цитата
Приношу извинения за неболшую грубость, тут такие кадры плавают, что иногда слов уже не зватает.

BeginEnd писал(а):
Ребята, моя профессия абсолютно не пингуется с Вашей!!!

Ну это ты зря, я тоже не профессиональный программист, и это тоже мое хобби, да и мое звание заработано трудом для этого проекта, упорным, иногда до изнемождения, трудом и тягой к знаниям, да и просто -- я нашел здесь себя, вот так вот.

BeginEnd писал(а):
С 1986 года... Я еще с "Микрошей" работал, со "Спектрумом", если Вы про такие штуки слышали...

Слышали. В ту бытность времен я на БК и ДВК работал, даже резидентный файловый менеджер для них написал.

BeginEnd писал(а):
Я оч рад, что не отстал!!!

Если честно, то я нифига не понял к чему это сказано

BeginEnd писал(а):
А как такой стикер сделать в этом форуме?

Через свой профиль, графа "Подпись"

карма: 22

0
Ответов: 30
Рейтинг: 2
#145: 2009-09-07 01:10:03 ЛС | профиль | цитата
Для "Tad"
Извините, не разобрался! Работает парсер выражений!!! Надо это в хелпе изъяснить, оч тяжело методом тыка такие вещи изучать!
Но прошу не снимать этот вопрос из олимпиады!!! (Так и знал, что Delphi)
Спасиб!

Не всякий без примера поймет, что:
******************Возможно проведение нового вычисления по запросу на нижнюю точку reCalc. При этом данные, поступившие снизу выполняют роль данных из потока при запуске вычислений методом doCalc. В общем MathParse-ы можно вертикально каскадировать, причем верхний MathParse будет вызываться нижним сколько раз, сколько потребуется в формуле.
Может в примерах объяснить?************************

Для "nesco" **********************************Ну это ты зря, я тоже не профессиональный программист, и это тоже мое хобби, да и мое звание заработано трудом для этого проекта, упорным, иногда до изнемождения, трудом и тягой к знаниям.!!! ****************
Немножко завидую, крутой проект!!! Может я и не совсем в этом плане образованный, но реально сделать "Visual" Delphi - русским!!!
И пущай америкосы у нас покупают!!!


карма: 0

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#146: 2009-09-07 01:14:46 ЛС | профиль | цитата
BeginEnd, изучи тэги (сверху поля, где пишишь), и вот тут почитай -- Раздел Help
------------ Дoбавленo в 01.22:
BeginEnd писал(а):
Не всякий без примера поймет, что:

То что ты прочитал, называется вертикальным программированием, у нас мало кто его применяет, видимо, плохо себе представляют как это работает. Кстати, это распространяется не только на MathParse. Без проблем можно устроить смешанное программирование, но чтение такой схемы будет очень непривычно



Add(MainForm,11339219,147,280)
{
}
Add(Button,2151046,203,280)
{
Left=135
Top=25
Caption="Calc"
link(onClick,1834605:doData,[])
}
Add(Edit,7683434,392,273)
{
Left=200
Top=25
Text=""
}
Add(MathParse,10424193,343,273)
{
MathStr=""
Point(doMathStr)
Point(reCalc)
link(onResult,7683434:doText,[])
link(X1,14576552:reCalc,[])
}
Add(Hub,14902312,301,280)
{
link(onEvent1,10424193:doMathStr,[])
link(onEvent2,10424193:doCalc,[(329,293)(329,279)])
}
Add(DoData,1834605,252,280)
{
Data=String()
link(onEventData,14902312:doEvent1,[])
link(Data,8214691:Text,[])
}
Add(Edit,8214691,252,231)
{
Left=10
Top=25
Width=110
Text="(2+2)*3-10/2 + %1"
}
Add(MathParse,14576552,336,224)
{
MathStr="((%1 + %2) / 180) * pi"
Point(reCalc)
link(X1,11418324:Value,[(342,205)(314,205)])
link(X2,7172421:reCalc,[(349,205)(370,205)])
}
Add(Memory,11418324,308,154)
{
Default=Integer(120)
}
Add(MathParse,7172421,357,154)
{
Point(reCalc)
link(X1,13664554:Value,[(363,142)(342,142)])
link(X2,10507366:Value,[(370,142)(391,142)])
}
Add(Memory,13664554,336,98)
{
Default=Integer(10)
}
Add(Memory,10507366,385,98)
{
Default=Integer(20)
}

карма: 22

0
Ответов: 30
Рейтинг: 2
#147: 2009-09-07 01:30:53 ЛС | профиль | цитата
Для nesco
Уже начал читать хелп, но в башке стучит - все правила созданы для того, чтобы их нарушать!
Я не нигилист и бом*ист, просто прикольно, когда на серийном ноуте, с нормальным разрешением, не видно подвала!!! (Я про авторизацию). Может уменьшить параметры и ввести еще одной строчкой код на знания языков программирования?
карма: 0

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#148: 2009-09-07 01:42:41 ЛС | профиль | цитата
Вот пример смешанного программирования, только сильно не пугайся



Add(MainForm,11339219,238,469)
{
}
Add(Button,2151046,294,469)
{
Left=135
Top=25
Caption="Calc"
link(onClick,1834605:doData,[])
}
Add(Edit,7683434,483,462)
{
Left=200
Top=25
Text=""
}
Add(MathParse,10424193,434,462)
{
DataCount=1
MathStr=""
Point(doMathStr)
Point(reCalc)
link(onResult,7683434:doText,[])
link(X1,2371725:GetData,[])
}
Add(Hub,14902312,392,469)
{
link(onEvent1,10424193:doMathStr,[])
link(onEvent2,10424193:doCalc,[(420,482)(420,468)])
}
Add(DoData,1834605,343,469)
{
Data=String()
link(onEventData,14902312:doEvent1,[])
link(Data,8214691:Text,[])
}
Add(Edit,8214691,343,399)
{
Left=10
Top=25
Width=110
Text="(2+2)*3-10/2 + %1"
}
Add(MathParse,14576552,623,336)
{
DataCount=0
MathStr="pi"
Point(reCalc)
}
Add(Memory,11418324,434,336)
{
Default=Integer(120)
}
Add(Memory,13664554,518,280)
{
Default=Integer(10)
}
Add(Memory,10507366,574,280)
{
Default=Integer(20)
}
Add(EventFromData,2371725,434,399)
{
link(onEvent,7256487:doOperation,[])
}
Add(Math,7256487,490,399)
{
link(onResult,8297307:doOperation,[])
link(Op1,11418324:Value,[(496,383)(440,383)])
link(Op2,9448255:GetData,[])
}
Add(EventFromData,9448255,497,336)
{
link(onEvent,5343131:doOperation,[])
}
Add(Math,5343131,546,336)
{
link(onResult,9448255:doData,[(613,342)(613,273)(487,273)(487,342)])
link(Op1,13664554:Value,[(552,324)(524,324)])
link(Op2,10507366:Value,[(559,324)(580,324)])
}
Add(Math,8297307,546,399)
{
OpType=3
Op2=180
link(onResult,1125339:doOperation,[])
}
Add(Math,1125339,623,399)
{
OpType=2
Op2=180
link(onResult,2371725:doData,[(667,405)(667,265)(418,265)(418,405)])
link(Op2,14576552:reCalc,[])
}


Но, увы и ах, к сожалению, для каждого случая примеров не напишешь.
карма: 22

0
Ответов: 30
Рейтинг: 2
#149: 2009-09-07 02:13:13 ЛС | профиль | цитата
Глянул без анализа...
В HiAsm пока не нашел описания переменных...
Брать значение без определения и описания - жди блуждающей ошибки!!! Как в Visual Basic...
карма: 0

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#150: 2009-09-07 02:28:53 ЛС | профиль | цитата
BeginEnd писал(а):
Брать значение без определения и описания - жди блуждающей ошибки

Не будет в Hiasm-e никаких блуждающих ошибок, все на что это может повлиять так только на результат. В Hiasm-e существует специальная структура данных, которая автоматически преобразуется в нужный тип данных при чтении точек внутри компонентов
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)