Форум проекта SMath
»
SMath Studio
»
Предложения
»
Новые возможности требующие минимальных трудозатрат
Статус: Newbie
Группы: Registered
Зарегистрирован: 06.11.2009(UTC) Сообщений: 2
Сказал(а) «Спасибо»: 191 раз
Как каждый пользователь SMath Studio со стажем, я имею дли-и-и-инный список пожеланий к этой программе. Но, сознавая, что Андрей занимается этой программой в свое свободное время, не собираюсь его тут обнародовать полностью. Ниже перечислены только самые простые поправки, требующие минимальных "трудозатрат". 1. Оператор continue (или pass , в разных языках программирования есть разные названия). Он вообще ничего не делает, но может быть "затычкой" для неиспользуемых "ветвей" оператора if (и не только). Разумеется можно в каждой программе сначала вставить continue:=0 , но почему не сделать это глобально, в самом SMath Studio? Самое смешное, что можно уже сейчас вписать continue в "слепую" ветвь оператора if и SMath Studio будет работать. Но лучше, чтобы все было "легально". 2. Оператор break для "аварийного" выхода из оператора цикла for . Есть практически в каждом современном языке программирования. Ясно, что можно искусственно выйти из цикла приписывая переменной цикла значение превышающее верхнюю допустимую границу, но (а) в SMath Studio 0.93 это работает только в for(3) и не работает в for(2) ; (в) такой трюк всегда считался примером плохого стиля программирования, а в некоторых языках просто запрещен. Поскольку SMath массово используется студентами?, стоит учить их программировать пристойно. 3. Короткий оператор if (только if-then). Я проверил свои документы - полная форма логического оператора в них была нужна менее чем в 20% случаев. Думаю, что мой пример - не исключение. А реализовать if(1) имея готовый if(2) просто. 4. "Матлабовская" форма записи интервалов изменения индекса в векторах и матрицах. Пример: вместо A:=submatrix(B,1,3,2,6) хотелось бы иметь возможность "нормально" (для мира FORTRANа и всех клонов MATLABа) написать A:=B(1..3,2..6) (используя range ). Поскольку функция submatrix уже реализована добавить ее "синоним" не должно быть сильно сложно. Использование "матлабовской" индексации в левой части оператора приписывания - это вообще "голубая мечта". Можно уже сейчас написать A:=matrix(1,5) A(2..4):=1 . Сообщения об ошибке не будет, но и толку тоже. А еще... Стоп. Обещал, что будет коротко и без "напряга". Поэтому - конец мечтаний.
Статус: Administration
Группы: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Зарегистрирован: 11.07.2008(UTC)
Сообщений: 912
Сказал «Спасибо»: 640 раз Поблагодарили: 262 раз в 102 постах
IVR, спасибо!
По поводу continue, break и return - они уже работают в тестовой сборке SMath Studio (пока недоступна для загрузки), т.ч. вполне можно рассчитывать, что данная функциональность появится в следующей версии.
Про if - есть у меня идея как красиво сделать поддержку этого оператора, да так, что б условий можно было бы задать сколько угодно и что бы пользователь сам решал, нужен else или нет. Не уверен, что сделаю к следующей версии, но постараюсь не затягивать.
IVR написал: 4. "Матлабовская" форма записи интервалов изменения индекса в векторах и матрицах. Пример: вместо A:=submatrix(B,1,3,2,6) хотелось бы иметь возможность "нормально" (для мира FORTRANа и всех клонов MATLABа) написать A:=B(1..3,2..6) (используя range ). Поскольку функция submatrix уже реализована добавить ее "синоним" не должно быть сильно сложно. Использование "матлабовской" индексации в левой части оператора приписывания - это вообще "голубая мечта". Можно уже сейчас написать A:=matrix(1,5) A(2..4):=1 . Сообщения об ошибке не будет, но и толку тоже.
Можно Вас попросить сделать пару скриншотов в матлабе того, что бы хотелось видеть? Обещаю рассмотреть.
С уважением, Андрей Ивашов.
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 21.05.2009(UTC)
Сообщений: 155
Откуда: Россия, Новочеркасск
Сказал «Спасибо»: 21 раз Поблагодарили: 13 раз в 9 постах
return - это оператор для подпрограмм?
А по поводу нормальности - понятие относительное. Напоминает слова о том, что в С составной оператор {} написать удобнее, чем в Pascal связку begin end. И из-за этого С круче!
З.Ы. А когда выход новой сборки планируется?
Отредактировано пользователем 11 апреля 2012 г. 10:08:07(UTC)
| Причина: Не указана
Форум проекта SMath
»
SMath Studio
»
Предложения
»
Новые возможности требующие минимальных трудозатрат
Быстрый переход
Форум проекта SMath
SMath Studio
- Скачать SMath Studio
--- Архив
--- Ночные сборки
- Примеры использования
- Вопросы по использованию
- Предложения
- Ошибки
Математика
- Документы
- Алгоритмы
- Математические задачи
Общение
- О проекте
- Общение
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.