Пример. Чередование локальных и глобальных определений
Чередование локальных и глобальных определений требует особого внимания, поскольку результаты могут отличаться от тех, которые ожидаются.
При расчете документа PTC Mathcad два раза проходит весь документ.
• В первом проходе обрабатываются только глобальные определения и игнорируются все локальные определения.
• Во втором проходе обрабатываются локальные определения, а также выполняются обычные и аналитические преобразования.
Следующие сценарии показывают, как влияют эти два прохода вычислений на результаты при использовании чередующихся локальных и глобальных определений в документе.
Определение глобальной переменной через локальную переменную
1. Используйте оператор локального определения, чтобы назначить постоянное значение переменной u.
2. Используйте оператор глобального определения, чтобы назначить выражение, которое содержит переменную u, функции f1.
При первом проходе локальные определения игнорируются. Назначение f1 выполнить не удастся, поскольку значение u не будет известно к моменту вычисления f1.
3. Вычислите переменные u и f1.
Определение глобальной переменной через другую глобальную переменную
1. Используйте оператор глобального определения, чтобы назначить постоянное значение переменной v.
2. Используйте оператор глобального определения, чтобы назначить выражение, которое содержит переменную v, функции f2.
Назначение f2 будет выполнено, поскольку значение v будет известно к моменту вычисления f2 при первом проходе.
3. Вычислите переменные v и f2.
4. Используйте оператор глобального определения, чтобы назначить выражение, но на этот раз включите глобальную переменную, которая определена ниже.
Поскольку глобальные назначения выполняются сверху вниз, слева направо, назначение f3 выполнить не удастся, т. к. значение w не будет известно к моменту вычисления f3 при первом проходе.
5. Вычислите переменные w и f3.
Вычисление переменной w будет выполнено, поскольку она определена глобально как константа, но переменную f3 вычислить не удастся, поскольку ее значение зависит от значения переменной w, которое не известно к моменту вычисления f3 при первом проходе.