|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Оформление в маткад
Khv
Регистрация: 16.03.2007
Сообщений: 16
|
||
Просмотров: 13124
|
|
||||
Делаю сейчас так:
сначала идут, естественно, исходные данные a1:=1 a2:=2 a3:=3 потом в текстовом поле пишу формулу a:=a1+a2+a3, потом сразу после формулы ставлю равно уже в тексте и пишу выражение 1+2+3, но равно не ставлю, а перехожу на другую строку и пишу a=6. Получается так: Текст бла-бла-бла a:=a1+a2+a3 = 1+2+3, a=6. Жирным - формула (Math Region), Курсивом - текст (Text Region). Если кто-нибудь скажет, как сделать проще, буду очень рад.
__________________
С уважением, Чигинский Дмитрий. |
||||
![]() |
|
||||
Регистрация: 16.03.2007
Khv
Сообщений: 16
|
Согласен, это вариант.. но не удобен тем, что при изменении расчетов текстовые области не меняются и их надо менять в ручную
![]() Надеюсь кто-нибудь знает решение .... хотя я уже так долго ищу ответ, что начинаю думать что нельзя так делать ;( |
|||
![]() |
|
||||
Не стоит забывать, что в описанном мной варианте производится серьёзный самоконтроль, всегда же можно посмотреть, что получается в результате числового выражения, и сравнить с результатом в формуле.
__________________
С уважением, Чигинский Дмитрий. |
||||
![]() |
|
||||
Регистрация: 13.06.2005
Сообщений: 314
|
В http://www.normcad.ru/ получается нужный вариант
a=a1+a2+a3 = 1+2+3 без особых усилий. Как: http://www.normcad.ru/book/prg.rar Небольшие расчеты можно вводить в бесплатной версии http://normcad.ru/load/52/setup.rar Что значит небольшие? Файл с алгоритмами и таблицами должен быть не больше 16 кБ. |
|||
![]() |
|
||||
проектирование, обследование Регистрация: 22.10.2006
Днепропетровск
Сообщений: 115
![]() |
Цитата:
__________________
Мосты важнее, чем дома, они более святы, чем церкви, ибо сильнее объединяют.. ..они возводятся именно в тех местах, где сходится множество человеческих потребностей, они долговечнее других строений и никогда не служат какой-то скрытой или злой цели.. |
|||
![]() |
|
||||
Сообщений: n/a
|
Это элементарно сделать в Экселе, Ворде или даже в моем любимом бесплатном OpenCalc на бэйсике.
1) Откройте Excel 2) Нажмите Alt+F11 3) В отрывшемся Visual Basic for Application вставте модуль с помощью выпадающего меню, если мне память не изменяет: Insert => Module В модуле напишите следующую функцию (я для упрощения не объявляю типы переменных) Код:
5) перейдите опять в Excel 6) Меню "Вставка"=> "Функция" => "Категория: определенные пользователем" найдтие Jam2006 и заполните поля "a", "b" и "с". 7) Для того чтобы при следующем открытии файла ваша функция без проблем активировалась установите флажок, выбрав в меню "Сервис => Макрос => Безопасность => "Низкая ". Все так, если я ничего не перепутал. Поясню теперь, что вы сделали. Вы написали пользовательскую функцию с переменными a, b и с. Как видите она оказалась довольно простой - из трех строчек. Перовой строкой вы декларировали функцию Jam2006, второй вы записали что ее значение является строковой переменной "Str(a) & "+" & Str(b) & "+" & Str(c) & "=" & Str(a + b + c)", где Str(a) - бэйсиковская функция "острочивания" переменной "а" (в данном случае число) и так далее. В кавычках у вас идут постоянные символы "+" и еще вы используете символ сцепки &. Вот у меня завалялся еще один пример функции которая рассчитывает столбчатый фундамент: Код:
|
|||
|
||||
проектирование Регистрация: 01.11.2006
Кемерово
Сообщений: 2,891
|
Jam2006, и стоило из-за этого новую тему создавать? В общем, чтобы a:= превратить в a= нужно правым кликом мыши по знаку :=, получить контекстное меню и выбрать там что-то типа equal или что-то подобное, там выбираются варианты отображения этого и других знаков типа <--, чтобы получить результат в этой же строке, дальше за выражением ставишь стрелку -->. Прошу прощения, если не понятно, но пишу по памяти, под рукой нет маткада, но если все равно возникнут проблемы, сделаю скриншот. Только у этого выражения, по-моему, не ставятся е.и., а стрелку тем же способом можно превратить в =. Не знаю, как в 13-том, но все эти действия довольно трудоемки, но результат нужный Вам получить можно, будете ли возиться?
|
|||
![]() |
|
||||
Регистрация: 16.03.2007
Khv
Сообщений: 16
|
Цитата:
может я вас не понял плиз приведите скрин шот 2The_Mercy_Seat спасибо, это очень интересно, но слишком долго, я оформляю курсовик по ДМ и там есть так ие сложные формулы и их там так много, что для каждой писать такое.... это слишком грамостко, я так думаю, да и с языком я не знаком... т.е. добавится время на изучение ![]() Но идея хорошая, попробую ее когда будет много времени |
|||
![]() |
|
||||
Регистрация: 16.03.2007
Khv
Сообщений: 16
|
2Holstenman
![]() ![]() новая проблема, если исходные данные заданы не в явном виде а так a1:=round(c+r) a2:=ceil(B) a3:=3 Получается так: a:=a1+a2+a3 a explicit,a,a1,a2,a3 --> round(c+r)+ceil(B)+3 Можно что бы выводились цифры а не формулы значений а1 а а3, смотрел в хелпе по этой функции - не нашел |
|||
![]() |
|
||||
Во-первых, спасибо holstenman.
Во-вторых, Jam2006, если Вы хотите, чтобы вместо выражений подставлялись числа, то нужно добавить переменные через запятую после explicit. Чтобы не отображалось слово explicit, нужно кликнуть правой мышью в explicit и выбрать в контекстном меню Hide Keywords. Для того что вместо стрелок был знак равно - кликаем правой кнопкой мыши в explicit, в контекстном выбираем View Evaluation As \ Equal Sign.
__________________
С уважением, Чигинский Дмитрий. |
||||
![]() |
|
||||
Регистрация: 16.03.2007
Khv
Сообщений: 16
|
Уважаемый дмитрий...
Разве эта записб не включает переменные??? a explicit,a,a1,a2,a3 --> round(c+r)+ceil(B)+3 просто эти переменные определены каак выражения a1:=round(c+r) a2:=ceil(B) Вот он и подстовляет значения переменных, но не в виде их значени ;( |
|||
![]() |
|
||||
Регистрация: 05.10.2006
Хабаровск
Сообщений: 81
|
Не парьтесь с маткадом. Word+VBA рулят :-)
Пример в архиве. Просто в вордовском документе подправить исходные данные и нажать кнопочку пересчет. И результат напишет, и как он получен, и в рисунке значения поправит. [ATTACH]1174265917.rar[/ATTACH] |
|||
![]() |
|
||||
Регистрация: 16.03.2007
Khv
Сообщений: 16
|
Порлучается неприемлимо, по одной простой причине:
если имеется 5 переменных, которые получаются делением.... то если указать их так a explicit,a,a1,a2,a3,c,r,B казалось бы простое выражение а=(a1+a2)/a3 станет трех этажной дробью.... т.е. не выполняется требуемое ![]() c=1 r=2 B=3 а1=c/r a2=c/B a3=B/r получим a explicit,a,a1,a2,a3,c,r,B --> (1/2+1/3)/(3/2) 6 чисел вместо 3.... грустно ;( Видимо нельзя так делать ;(.... Я слышал что такое можно делать в NormCad, кто-нибудь знаком с этой системой? |
|||
![]() |