MathCAD


6.13. Оптимизация Mathcad-программ


Программист, написав и отладив программу, как правило, на этом не успокаивается и начинает ее улучшать – оптимизировать. Таким программистам можно посоветовать повесить на стене перед глазами такой листочек:

«За все нужно платить!»

 

«Лучшее ¾ враг хорошего!»

«Не до жиру, быть бы живу!»

Далее в тексте читатель будет встречать подобные тривиальные истины, некоторые из них он может также вывешивать в виде плаката[89].

Поговорим о том, что можно улучшить в программах – хотя бы в тех, которые помещены в этой книге.

Программы можно оптимизировать по разным параметрам. Вот три основополагающих:

  • Время выполнения программы;
  • Объем программы: место, занимаемое ею в ОЗУ компьютера, длина файла с исходным текстом программы, хранимого в архивной памяти.
  • Читабельность программы; степень ее открытости для изучения другими людьми и для доработки самим автором или кем-то другим.

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

пожарное ведро и знаем, как нечеткие

величины можно обрабатывать четкими методами (см. рис. 6.41-6.45). Открытость программ очень важна в среде Mathcad, так как этот пакет интенсивно используется в сфере образования. Все три параметра (и еще какие-то другие) можно объединить в один интегральный и применить к нему метод экспертных оценок с функциями принадлежности какого-либо элемента (параметра) нечеткому множеству «оптимально-неоптимально».

Все три вышеотмеченные качества взаимосвязаны. Только в очень неряшливо написанной программе все параметры можно улучшить. Обычно же бывает так, что, улучшая читабельность программы человеком, мы ухудшаем ее «читабельность» компьютером: комментарии в программе (в нашем случае – текстовые константы) не только увеличивают объем программы, но и замедляют ее прогонку.

Вот другой пример. Если в программе на рис. 4.10 (сплайн-интерполяция) исходные векторы и матрицы термодинамических параметров водяного пара переместить в файл на диске, а в программе оставить операторы его считывания (функция READ), то объем программы существенно уменьшится, но читабельность ее при этом ухудшится (самое интересное уйдет с экрана дисплея), а время ее выполнения изменится.




- Начало -  - Назад -  - Вперед -