|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
помогите поправить программку на lisp
Проектировщик ЭО,ЭМ, ЭОС
Нижний Новгород
Регистрация: 18.07.2007
Сообщений: 257
|
||
Просмотров: 3081
|
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
gizmo_zx, эту программу надо переделывать в принципе, иначе она абсолютно ненадежна - достаточно где-то не сделать ввод и все дальше ломается.
1. В начале надо присвоить какие-то значения по умолчанию всем запрашиваемым данным - самые распространенные варианты. В идеале - если восстанавливаются использованные ранее когда-то. 2. Сделать в цикле один запрос с опциями и возможностью отказа от расчета. Здесь должен и сразу результат расчета выводиться. При выборе опций - ввод выбранного параметра. С непременной проверкой на отказ и пустой ввод. При изменении любого параметра сразу выполняется расчет и возврат к 2. 3. Убрать все эти многочисленные, но ненужные setq. Все будет просто (для пользователя) удобно и надежно. Ну, а конструкцию if я бы заменил на cond. Это еще и с легкой возможностью расширения. |
|||
![]() |
|
||||
gizmo_zx, правильно, у нас у всех были первые программы, это только gomer всё знал и умел заранее
![]() Ты начни по пунктам, как написал ShaggyDoc, а что не получиться - спрашивай.
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Разумеется, многим здесь раз плюнуть написать такую программу, причем в разных вариантах. Но лучше, если ты её сам доведешь до ума с нашей помощью. Вот сейчас она действительно написана в стиле Бейсика, причем не VB, а каких-то древних версий, наподобие GWBasic - последовательные шаги. А надо писать, как делается в AutoCAD. Практически любая программа сразу предлагает что-то ввести (обычно точку), но при этом имеет значения по умолчанию (для штатных команд они обычно в системных переменных зашиты). Но, с помощью опций командной строки (дублируемых в контекстном меню) можно какие то исходные данные изменить. Вот и подумай сначала - нужна ли тебе такая микро-расчетная программа в Автокад? Она же только результат по формуле вычисляет. Да на экран показывает. Здесь Автокад не нужен. Можно хоть в Excel, хоть на VB, хоть просто на калькуляторе - тот же последовательный ввод нескольких чисел. А вот если бы, например, длину надо было измерить в чертеже, тогда смысл бы был. Первым запросом было бы указание первой точки начала "длины". Причем длину можно бы несколько раз вводить - по точкам, указанием на объект, прямым вводом. А потом, если бы еще и результат надо было в чертеж написать, то еще больше бы смысла в использовании Автокада было. Бы. Так что думай.... |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409
|
А нужна ли вообще блок-схема? Анахронизм тот еще, мне кажется...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
![]() ![]() Блок-схемы развивают навыки мышления... позволяют не держать ВСЕ в голове, отображая программу в наглядном виде... Нужны ли они? Наверное нужны, так как до сих пор существует множество программ для составления блок-схем В принципе тема исчерпала себя во втором посте... Я написал, где плохо... До конца не досмотрел... не захотел... Если автор поймет почему плохо, хорошо... если нет... На нет и суда нет ![]() Последний раз редактировалось gomer, 15.09.2010 в 20:16. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409
|
gomer, я под впечатлением от Брукса и Макконнелла и не такое могу выдать
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Сразу совет, большие программки надо делать из маленьких функций, иначе к концу написания большой программы не разберёшься, что? от куда? и зачем?...
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
lisp помогите обработать список | Apelsinov | LISP | 33 | 16.07.2021 15:56 |
Lisp, помогите с алгоритмом "подтягивания" поллиний | 2123 | LISP | 1 | 03.02.2010 23:58 |
Auto Lisp. Помогите с легкой программой. | BARS_1985 | LISP | 6 | 27.09.2007 11:10 |
LISP помогите разобраться. | Elenaka | LISP | 5 | 20.10.2006 18:15 |
Помогите отладить lisp программу | Мишаня | LISP | 7 | 31.07.2006 12:54 |