Операторы > Операторы определения и оценки > Пример. Чередование локальных и глобальных определений
  
Пример. Чередование локальных и глобальных определений
Чередование локальных и глобальных определений требует особого внимания, поскольку результаты могут отличаться от тех, которые ожидаются.
При расчете документа 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 при первом проходе.