Cтраница 3
Программирование занимает особое место в Mathcad. Для начального обучения изучать его совершенно не обязательно. Возможности Mathcad дозволяют решить подавляющее количество задач без всякого программирования, да к тому же, как правило, несколькими способами. Однако есть класс задач, при решении которых без программирования не обойтись. Это задачи, в которых часть документа из нескольких или многих операторов надо выполнить многократно. В таких случаях документ должен состоять из отдельных подпрограмм, объединенных в единую головную программу. И в этом случае программирования можно было бы избежать, если бы создатели Mathcad предусмотрели оператор перехода к метке, который есть ( был) во многих языках программирования, в частности в FORTRAN. Серьезные программисты считают дурным тоном использование оператора перехода к метке, полагая, что в любой программе можно обойтись без меток. Это верно, но зачастую требует больших усилий. Система же Mathcad предназначена для обычных инженеров, не всегда являющихся специалистами в программировании, и поэтому не должна быть сложной в применении. [31]
Вопрос об использовании ( точнее говоря, неиспользовании) оператора перехода уже многократно обсуждался. Ясно, что бессистемное использование оператора перехода вредно, поскольку программа становится малопонятной и, что еще важнее, статический текст программы не отражает динамики ее выполнения. Однако в ряде случаев это становится обременительным. Например, если в цикле производится однородная обработка данных и среди них встречается неправильное данное, то самым лучшим завершением цикла является выход из него с помощью оператора перехода. Можно, конечно, воспользоваться некоторой переменной, которая в случае неправильных данных принимает определенное значение, и предусмотреть анализ этого значения в заголовке цикла. Но это будет не что иное, как маскировка оператора перехода. Другим примером являются многократно вложенные друг в друга циклы. Если при возникновении некоторого условия в одном из внутренних циклов необходимо завершить выполнение всех циклов, то и в этом случае использование оператора перехода оправдано. В противном случае в заголовках всех циклов необходимо предусматривать анализ некоторой переменной и последовательно выходить из каждого цикла. [32]