Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопрос начинаюшего

Автор: OdesitVadim
Дата сообщения: 22.03.2005 19:41
при добавлении отладочной инфи компилятор сохраняет в екзешнике имена переменных и где они находятся (для того, чтобы во время отладки он показывал реальные имена переменных, а не их адреса и мог привязаться к исходному коду). Поэтому если имена длиные , то соответственно прога "больше" будет. Но компилятор не розрешает очень длиные имена (кажеться 64 символа). Проведу ка я дома эксперемент - роскажу о результатах.
----------------
Да, в разных процедурах можна использовать одинаковые имена переменных - мешать друг-другу не будут.
-----------------
goto не может выходить за пределы процедуры либо в другой юнит. Почему? Со стеком бока страшные были бы. Уравновесить его сложно было-бы. (это моё мнение)
Что делать, если нужно? Алгоритм переписывать. или использовать систему флагов: делаем глобальный флаг, лучше целого типа. Если 0 - значит ок, если не ноль - процедуры анализируют его и принимают решение - но замахаешся точно. Умные люди делают с помощью исключений try except - тот же геморой, но в другом виде ()
-----------------
Фокус устанавливают так Edit1.SetFocus;
------------------
О вольтметрах. Если устройство работает по определённому протоколу, то это в корне меняет дело. В данном случае это подразумевает, что они (с компом на пару) ганяют байты друг дружке. Для такого дела СОМ порт можно открыть как файл и работать с ним. Есть даже целые компоненты. Нада - вышлем.
-----------------
В паскале длина строки храниться в первом байте (или 2 или 4 - в зависимости от длины строки и типа). поэтому обращение к длине строки паскаль переводит к обращению к ячейки переменной (она храниться в начале строки) - вывод:выиграша не получиш
Автор: Lss
Дата сообщения: 23.03.2005 19:27
Всем большое спасибо за помошь особенно Odesit-у Vadim-у наконецто написал проктически
1/10 моего калкулятора строчку анализирует без ошибок и усе вычисляет,теперь дальше
будиу алгоритм придумывать и расширять. Прямтоки можно сказать дельфа начинает нравиться.

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

Да надо пришли пожайлусто что там у тебя за имфа почитаю может найду интересное и понятное што нибуть
что мне могло бы пригодится.

Но для начала самая можно сказать легкая(но для меня и это сложно) это как КОП порт подключить к СОМ
ведь они разные даже по форме о количестве выходов на 100% сказать не че не могу но вроде
их в КОП больше. Да возможно там еше и 0,1 разлечаються по напряжению.
Ты не ведал КОП порта?
http://www.csu.ru/faculties/phys/maelab/_frames/_learning.htm#PCLab
Вот тута чето примерно в обших чертах об этом.

Добавлено:
Ну тока там со спецальной хренью а мне надо да и самому интересно сделать через СОМ или любой другой порт а не покупать за такие бабки хрен знает што да когда сам программу напишешь то будешь знать ее в доль и поперек и сможешь в любой момент мадифицировать а не тупа жать на кнопки и ограничиваться тем что написали тамашние пролграмеры.
Автор: OdesitVadim
Дата сообщения: 23.03.2005 19:42

Цитата:
КОП порт подключить к СОМ

это отдельная плата. к ней и подключается вольметр. Эта плата, вроде, не дёшево стоит.Народ говорит, что есть схемы для перехода от КОП к СОМ, но о них подробнее не слышал.
С КОП портом чуть работал, но использовал стандартные библиотеки (это было в лецензированой лаборатории, поэтому попытки выпросить какую-то инфу не увенчались успехом).
Автор: Lss
Дата сообщения: 23.03.2005 20:54
Вошем не судьба мне покапаться в этой фигне. Стоят такие платки примерно от 8000 рублей. А че там у тя за инфа кинь на яшик.
lss84@mail.ru

Автор: OdesitVadim
Дата сообщения: 24.03.2005 11:41
Lss
У меня есть компонент по работе с СОМ портом. Удобен, точно рабочий - пользуюсь три года - нарицаний не было. D3-D7, Full Source
Автор: Lss
Дата сообщения: 24.03.2005 23:18

Цитата:
У меня есть компонент по работе с СОМ портом.

А скока весят? На почту его можно кинуть можь пригодиться

1. Народ кто боле мене знаком с МатЛабом 6.5 хотелось бы спросить че это за прога стоит ли пытаться ее
изучить. Можно ли там спроектировать прибор допустим акселерометр, есть емкостной датчик
его емкость меняеться в зависимости от смешения маятника(диференциальная емкость) там дальше
всякие усилители фильтры поставить и потом завести все это дело в обратную связь. ДЛя этого дела
мне кажеться симулинк подошел бы но я толком не знаю как с ним работать поэтому и спрашиваю чтото
подобное можно спроектироватьт, там такую фигню как передаточные ф-ии использовать
обратное и прямое преобразование Лапласа ну чето типа того там можно реализовать?
2. Народ не как не могу придумать простой алгоритм выделения из строки части где одно число возводиться в степень
2*3^4^2+2(3+4)^2
Алгоритм и прогу для анализа строки со скобками и действиями * / - + сделал на 100% все работает
и не тупит даже если скобоки не закрыты или * пропушенно. А вот с Возведением в степень не как.
Я такой придумал но он сложный но если другог не найду то буду этот развивать:

Ищем символ ^ в строке.
Выделяем число после символа ^
Выделяем до ^.
Возводим в степень.
Удоляем из строки подстроку первое число ^ второе число
Вставляем с позиции первого удаленного числа подсчитанное число.
И опять в цикле просматриваем есть ли еше в строке символы ^

Вобшем как видно очень громоздкий алгоритм но если без него то допустим приведенная строка считалась бы так
2*3
(2*3)^4 .....
а не как надо 3^4,(3^4)^2,((3^4)^2)*2
Но врятле сушествует какойто лучший вариант алгоритма в любом случае сначало надо возводить в степень а ужь потом
* / -+.

Кстати для обшего развития поинтересоваться, на данный момент у меня *.pas 12Кб весит и это примерно
1/20 1/30 калькулятора КАСИО несчитая наворотав по статистическим вычислениям и решений уравнений,
как интересно создатели все это запихали в такю фигнюшку. Я его програмно реализовать не могу а они его на
транзистарах и микросхемах походу дела реализовали. В нем строка в водится целиком и потом вся вычисляеться
обычный то инженерный с функциями это примитив, вот как строку целеком проанализировать это уже проблема?
Автор: OdesitVadim
Дата сообщения: 25.03.2005 12:09

Цитата:
А скока весят? На почту его можно кинуть можь пригодиться

килобайт 50 в архиве с примером.

Цитата:
как интересно создатели все это запихали в такю фигнюшку

на асме пишут. Когдато я на старых машинах работал (УКНЦ 2 - мож кто помнит?) там ядро операционной системы было около 16кило - юникс подобное, после этог не линух я перешёл как ни в чём не бывало - практически все комманды работали. КОгдта-то дядя Билли сказал, что плоха та прога, которя больше 64к, потом 640к. Теперь он об этом забыл.
Автор: ShIvADeSt
Дата сообщения: 28.03.2005 00:00
OdesitVadim

Цитата:
на асме пишут.

Не надо вводить в заблуждение человека Какой к черту асм в калькуляторе? Там сплошные ЧИПы. Все на схемах реализовано. Просто когда пишешь программу, компилятору ее надо представить в виде удобоваримом для процессора, потом ее еще надо обработать, а там значение сразу заносится в регистры и идет работа напрямую, поэтому скорость. На занятиях по эленктротехнике в ВУЗе мы делали простейший калькулятор который умел складывать умножать и вычитать и никакого асма, только чистая электроника.

Цитата:
Когдато я на старых машинах работал (УКНЦ 2 - мож кто помнит?) там ядро операционной системы было около 16кило - юникс подобное

И я работал на таких системах, Электроника они назывались. Вот только честно, не вижу там ничего общего с иксами, что ты под этим имепл в виду? Просто главное чтобы мы говорили про одно и тоже, то на чем я работал имело вид клавиатуры внутри которой и были внутренности самы главные и монитор. Ось грузилась с 5.25 дискет. Сеть наподобие TokenRing.
Автор: OdesitVadim
Дата сообщения: 28.03.2005 12:03

Цитата:
Какой к черту асм в калькуляторе?

есть он там. в хороших калькуляторах есть.
Цитата:
Вот только честно, не вижу там ничего общего с иксами, что ты под этим имепл в виду?

я говорю о консоле, а не о иксах. Или для тебя линух только граф. оболочка?
Автор: Lss
Дата сообщения: 28.03.2005 17:29
Я конечно не шарю но наверное чето навороченое там есть потомучто я имею виду калькулятор который анализирует всю строк и ему всеравно че вы там на тыкаете главное шобы все было правилно и он сошитает. А такой то понятно где сначала вводишь число и нажимаешь синус и он выдаст синус. А у меня водишь прям строку и он считает
sin30^sqrt(2589)*ln(85)/arctg45

Вот такой вот крутой калькулятор кстати знаки умножения и скобки можно пропускать он сам разберется куда их поставить .
Автор: ShIvADeSt
Дата сообщения: 29.03.2005 00:00

Цитата:
я говорю о консоле, а не о иксах. Или для тебя линух только граф. оболочка?

Я тоже не говорил про КДЕ и XWindow и прочих. Просто если не ошибаюсь все unix клоны можно называть иксами или никсами. Сорри скорее всего мы друг друга не поняли.

Цитата:
есть он там. в хороших калькуляторах есть.

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

Цитата:
Я конечно не шарю но наверное чето навороченое там есть потомучто я имею виду калькулятор который анализирует всю строк и ему всеравно че вы там на тыкаете главное шобы все было правилно и он сошитает. А такой то понятно где сначала вводишь число и нажимаешь синус и он выдаст синус. А у меня водишь прям строку и он считает
sin30^sqrt(2589)*ln(85)/arctg45

В таком точно есть подобие асма.

Цитата:
Вот такой вот крутой калькулятор кстати знаки умножения и скобки можно пропускать он сам разберется куда их поставить

Точно? откуда он знает что я хочу вычислить Ln(10)/100 а не Ln(10/100)? ИМХО ты немного преувеличиваешь его возможности.
Автор: OdesitVadim
Дата сообщения: 29.03.2005 09:15
ShIvADeSt
иксами - это от XWindow - тоесть графическая оболочка (KDE, Gnome и прочье)
никсами - это от UNIX.
Тоесть говоря об иксах мы подразумеваем графический менеджер.

Цитата:
Точно? откуда он знает что я хочу вычислить Ln(10)/100 а не Ln(10/100)?

Он обойдёт эту проблему просто. Логарифм приоретитьней для него, поэтому будет вычислено первое
Автор: Lss
Дата сообщения: 29.03.2005 17:15
_> Он обойдёт эту проблему просто. Логарифм приоретитьней для него, поэтому будет вычислено первое

Да че то типа того приоритеты у него воше офигенно без глюков работают иногда даже сам тупишь а потом когда разберешся , а да действительно ведь если в строку то этой фиговины приоритет выше и еше скобки не надо закрыват допустим 25*(3+8
Или знаки пропускать 25(3+8 =25*(3+8)
Вошем пипец на дельши задолбаешься писать в данный момент я остоновился(застрял) на том что сделал что мой калькулятор анализирует строку и делает все как тот короче просто супер но тока с знаками скока хошь скобок + / *- а вот как дошло дело до степени ввести в калькулятор то лажа алгоритм для того чтобы вычислялся сначало степень а ужь потов все остольное нормального нет тот что я описал очень грамоздкий.

Страницы: 12

Предыдущая тема: Чем открыть файл *.db


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.