Оператор otherwise должен соответствовать оператору if ошибка

1 / 1 / 0

Регистрация: 28.02.2021

Сообщений: 21

1

03.03.2021, 17:39. Показов 1857. Ответов 5


Студворк — интернет-сервис помощи студентам

При выполнении расчета выдается ошибка «Это otherwise должно соответствовать if»

Миниатюры

Выскакивает ошибка "Это otherwise должно соответствовать if"
 



0



6660 / 4758 / 1984

Регистрация: 02.02.2014

Сообщений: 12,746

03.03.2021, 17:53

2

Лучший ответ Сообщение было отмечено ВолодяЗвяг как решение

Решение

надо сначала otherwise щелкать, потом вводить в черный квадратик выражение слева



1



2168 / 1513 / 772

Регистрация: 25.12.2016

Сообщений: 4,314

03.03.2021, 18:11

3

ага.

Миниатюры

Выскакивает ошибка "Это otherwise должно соответствовать if"
 



1



1 / 1 / 0

Регистрация: 28.02.2021

Сообщений: 21

03.03.2021, 18:22

 [ТС]

4

Спасибо, действительно помогло) а графики не подскажите как такие сделать?

Миниатюры

Выскакивает ошибка "Это otherwise должно соответствовать if"
 



0



2168 / 1513 / 772

Регистрация: 25.12.2016

Сообщений: 4,314

03.03.2021, 18:32

5

———————

Миниатюры

Выскакивает ошибка "Это otherwise должно соответствовать if"
 



1



1 / 1 / 0

Регистрация: 28.02.2021

Сообщений: 21

03.03.2021, 19:00

 [ТС]

6

Все, получилось, спасибо за помощь



0



ПОДПРОГРАММА-ФУНКЦИЯ: ОПИСАНИЕ И ВЫЗОВ

 

Описание
подпрограммы-функции

(
П-Ф) и локальный оператор
присваивания

Описание П-Ф
размещается в рабочем документе перед ее вызовом и включает в себя имя подпрограммы-функции,
 список формальных параметров (который может  отсутствовать) и тело подпрограммы-функции.
Для ввода конструкций в тело П-Ф используется палитра инструментов ПРОГРАММИРОВАНИЕ,
приведенная на рис. 1.

Рис.
1. Палитра  ПРОГРАММИРОВАНИЕ

Каждая П-Ф
Mathcad имеет оригинальное имя,
посредством  которого осуществляется обращение к ней. Через это же имя  (и
только через это имя
) «возвращается»  результат выполнения П-Ф.

После имени
П-Ф идет список формальных параметров, заключенный в круглые скобки.
Через формальные параметры «внутрь»  П-Ф «передаются»  данные, необходимые для
выполнения вычислений внутри программы, т.е. все формальные параметры
являются входными
.

В качестве 
формальных  параметров  могут использоваться имена простых переменных, массивов
и функций. Формальные параметры отделяются друг от друга запятой.

Замечание
1.
П-Ф может не иметь  формальных параметров, и тогда
данные передаются через имена переменных, определенных  выше  описания П-Ф.

Тело
подпрограммы-функции
включает любое число операторов:  локальных
операторов присваивания, условных операторов и операторов цикла, а также вызов
других  П-Ф и функций пользователя.

Порядок
описания подпрограммы-функции Mathcad
.

Для ввода в
рабочий документ описания П-Ф необходимо выполнить следующие действия:

·    
ввести имя П-Ф и список формальных параметров, заключенный в
круглые скобки

·    
ввести символ “:” – на экране отображается как “: =”;

·    
открыть палитру Программирования
и щелкнуть кнопкой Add line (см. рис. 1). На экране появится вертикальная черта
и вертикальный столбец с двумя полями для ввода операторов, образующих тело  
П-Ф (см. рис. 2);

Рис. 2. Структура подпрограммы-функции

·    
перейти в поле 1 (щелкнув на нем мышью или нажав клавишу
[Tab]) и ввести первый оператор тела П-Ф.

·    
затем ввести второй, третий и т.д. операторы, добавляя 
пустые поля с помощью щелчка на кнопке Add line палитры программирование.

·    
заполнить самое нижнее поле ввода, введя туда выражение,
определяющее возвращаемое через имя П-Ф (см. рис. 3).

Рис. 3. 
Окончательная структура подпрограммы-функции

Замечание
2
. Если результатом работы П-Ф являются несколько величин, то из
них в теле П-Ф необходимо сформировать массив и его имя поместить в последней
строке тела П-Ф.

Локальный
оператор присваивания

Для задания
внутри программы значения какой-либо переменной используется так  называемый локальный
оператор присваивания
, имеющий вид:

< имя  переменной
>  <
выражение > .

            Для выполнения
П-Ф необходимо обратиться к ее имени  с указанием списка фактических параметров
(если в описании программы присутствует список формальных параметров),
т.е.:

< имя П-Ф >
(< список фактических параметров >) .

Фактические параметры отделяются
друг от друга  запятой.

·    
Очевидно, что между фактическими и формальными параметрами
должно быть соответствие по количеству, порядку следования и типу.

Замечание
3.
Обращение к П-Ф должно находиться после ее описания, и к моменту
обращения
  фактические параметры должны быть определены.

Пример 4. Обращение
к программе f(x), приведенной
на рис. 4.1.4, может иметь следующий вид:

Заметим, что
переменная z никак не связана с «локальной»
переменной   z, используемой внутри тела П-Ф.¨

Замечание
4.
Передать данные внутрь П-Ф можно, используя внутри подпрограммы 
переменные, определенные до описания П-Ф (см. пример на рис. 4.2.1).

Рис. 4.
Подпрограмма-функция без формальных параметров

Программирование 
АЛГОРИТМОВ
в  подпрограмме-функции 
MathCAD

Программирование  линейных алгоритмов в  подпрограмме-функции

Операторы, реализующие этот алгоритм,
в теле П-Ф также размещаются последовательно и выполняются все, начиная с
первого и заканчивая  последним
.

            Пример 6. Оформим в виде П-Ф вычисление
корней квадратного уравнения   
ax2 + bx +c = 0 по формуле

.

             Описание П-Ф root_poly2 и обращение к ней приведено на рис. 5.5.1.
П-Ф имеет три входных
формальных  параметра – коэффициенты квадратного уравнения. Выходом является
вектор с двумя компонентами. Заметим, что величины
x1,
x2
являются простыми переменными, а не элементами одномерного массива. Поэтому
нижние индексы в их именах вводятся после нажатия клавиши [.] – «десятичная
точка».

Подпрограмма-функция
реализует линейный алгоритм
все операторы выполняются всегда
строго последовательно.

Пример программирования линейного алгоритма

Программирование разветвляющихся алгоритмов в подпрограмме-функции

Для программирования разветвляющихся
алгоритмов в подпрограмме-функции Math
cad можно использовать:

§        
условную
функции

§        
условный
оператор
if.

Используя эти конструкции, можно
«изменить» последовательное выполнение операторов.

Условный оператор. Этот оператор используется только в теле П-Ф и для его ввода необходимо щелкнуть
на кнопке
if  палитры программирование.
На экране появляется конструкция с  двумя  полями ввода, изображенная на рисунке
.

  Структура условного оператора  if

В поле 2 вводится
логическое выражение УСЛ (в простейшем случае это выражение отношений). В поле
1 вводится конструкция  ВЫР1, которая выполняется, если проверяемое логическое
выражение  принимает значение 1. Если УСЛ = 0, то ВЫР1 не выполняется. Это
соответствует условной структуре, называемой  ЕСЛИ – ТО
.

Для получения условной
структуры ЕСЛИ
ТО
ИНАЧЕ используется оператор otherwise, вводимый
с палитры
ПРОГРАММИРОВАНИЕ, в поле которого размещается
конструкция ВЫР2, которая выполняется, если проверяемое логическое выражение 
принимает значение  0 (см. рисунок). Оператор
otherwise непосредственно
следует после условного оператора
if.

Реализация структуры  ЕСЛИ – ТО –
ИНАЧЕ

Для
ввода ВЫР2  в поле оператора  
otherwise необходимо:

·    
выделить
поле, стоящее после оператора
if;

·    
щелкнуть на
кнопке
otherwise палитры программированиЕ;

·    
в 
появившееся поле оператора  
otherwise ввести необходимую конструкцию ВЫР2.

            Пример
6.
Составим описание
П-Ф, вычисляющей функцию
y(x),
заданную выражением

Описание
и вызов П-Ф приведены на рисунке

Реализация разветвляющегося алгоритма

Пример 7. Составим описание П-Ф для вычисления
переменной 
z(t)  по формуле

=

Описание  П-Ф  и ее вызов приведены
на рисунке

Реализация разветвляющегося алгоритма

Из описания видно, что функция z(t)
получит значение
ln(t) только
тогда, когда не выполняются условия, записанные в двух вышестоящих
строках тела П-Ф.

Внимание! Если в строке 3 ввести просто ln(t), то это выражение  будет вычисляться всегда
вне зависимости от
выполнения заданных выше условных операторов.

Задание 2. Составьте описания П-Ф, реализующих
следующие разветвляющиеся алгоритмы:

где  
.  

Вариант 1. При выполнении заданного условия УСЛ
необходимо выполнить несколько конструкций
MathCAD.

            Вариант 2. При невыполнении заданного условия
УСЛ необходимо выполнить несколько конструкций
MathCAD.

В этом случае необходимо выделить  поле 
оператора
otherwise, щелкнуть на кнопке Add line палитры ПРОГРАММИРОВАНИЕ нужное число раз и заполнить появившиеся поля.

Пример 8. Составьте описание П-Ф, вычисляющей
значения двух полиномов
x(t), y(t) нулевой или первой степени. Порядок
полиномов задается переменной
n. Если n
< 0
или n > 1,
то значения полиномов равны 0. Описание П-Ф приведено на рисунке.

Реализация алгоритма примера

Пример 9. Даны два числа x, y. Составить описание П-Ф, которая
переменной
x присваивает максимальное значение из этих двух чисел, а
y
– минимальное. Описание приведено на рисунке.
 

Реализация разветвляющегося алгоритма

Вызов подпрограммы-функции arrangement

Задание 3. Даны три числа a, b, c. Составить П-Ф, реализующую
следующий алгоритм. Если
,
то все числа заменить их квадратами, если
,
то каждое число заменить максимальным значением из этих трех чисел, в противном
случае
сменить знаки у
чисел.

Задание 4. Координаты точки на плоскости задаются
двумя числами
x, y.
Составить П-Ф, вычисляющую
номер четверти на плоскости, в которую попала точка.

Задание 5. Длина сторон треугольника задается
числами 
a, b,
c.
Составить П-Ф, вычисляющую значение целой переменной
n по
следующему правилу:
n
= 3, если три
стороны равны;
n = 2, если любые две  стороны равны; n =
1, если все три стороны имеют разную длину.

Программирование
циклических алгоритмов

в подпрограмме-функции

Циклы можно условно разделить на две
группы:

·    
циклы
типа арифметической прогрессии;

·    
итерационные
циклы.

Программирование цикла типа арифметической
прогрессии

Для программирования таких циклов
используется оператор цикла
for
(часто называемый оператором цикла с параметром). Для ввода такого оператора необходимо выполнить следующие действия:

·     
щелкнуть  на 
кнопке 
for  палитры  ПрограммированиЕ. На экране появятся  поля ввода,
изображенные на рисунке

Поля  оператора цикла  for

·    
в поле ввода
1 ввести имя переменной, являющейся параметром цикла;

·    
в поле 2 закон изменения параметра цикла, используя
для этого описание дискретной переменной или описание массива
;

·    
в поле 3 операторы, составляющие тело цикла.
Если одной строки недостаточно, то дополнительные поля ввода (дополнительные
строки) создаются щелчком на кнопке
Add
line
палитры программированиЕ, и тогда слева от тела цикла
появляется вертикальная черта, охватывающая тело цикла.

            Пример
9.
Составить
описание П-Ф, реализующей алгоритм формирование вектора.

Заметим, что значение системной
переменной
ORIGIN (начальное значение индексного выражения)
задается равным 1. 

Подпрограмма-функция формирования
вектора

Пример 9. Для x меняющегося от -2 до 2 с шагом 0.5
вычислить значение 
f(x) = e-x. Cos (2x) и
сформировать из этих значений  вектор y, т.е.  
y1 = f(-2), 
y2 =  f(-1.5)
  
и  т.д.

В этом примере количество повторений
тела цикла определяется по формуле

где
xk, x0 конечное и начальное значения
параметра цикла,
d
шаг его изменения. Подставив значения, получаем (2
–(–2))/0.5+1=9.

Следовательно, сформированный вектор y будет
содержать 9 элементов.

Описание П-Ф и ее вызов приведены на
рисунке. Видно, что в теле цикла выполняется два оператора. Первый оператор
формирует элемент массива
y, а второй изменяет на 1 значение
индекса. 
¨

Формирование вектора примера   9

Пример 10. Составить описание П-Ф, где  значения
параметра цикла  задаются вектором.

На рисунке  приведено описание такой
П-Ф.

Задание 5. Составьте описание П-Ф формирования
вектора
y
примера 9, приняв в качестве параметра цикла переменную
i.

Программирование итерационных циклов

            Для программирования таких циклов
используется оператор цикла
while.
Для ввода этого оператора необходимо выполнить следующие действия:

·    
щелкнуть на
кнопке
while палитры ПрограммированиЕ. На экране появляются  элементы, показанные
на рисунке

Структура оператора цикла  while

·    
в поле 1
ввести условие выполнения цикла;

·    
в поле 2
ввести операторы тела цикла. В теле цикла должны присутствовать операторы,
которые могут изменить значение условия цикла, иначе цикл будет
продолжаться бесконечно.

Оператор цикла
while
выполняется следующим
образом
: обнаружив
оператор while, Math
cad проверяет указанное в операторе
условие. Если оно равно 1 (т.е. выполняется), то выполняется тело цикла, и
снова проверяется условие. Если условие принимает значение 0,  то цикл
заканчивается.

Пример 11. Составим П-Ф, реализующую итерационную
процедуру приближенного вычисления корня квадратного
,
используя итерационную процедуру:

В качестве
приближенного значения принимается
, удовлетворяющее
условию:

,

где  – заданная точность вычисления корня квадратного.

Нет необходимости хранить в памяти
все приближенные решения
x0, x1, x2,... Достаточно хранить предыдущее
(«старое») значение (обозначим его как
xc) и последующее («новое»)  значение xn.

К
сожалению, организация итерационного цикла с помощью оператора
while без дополнительных средств контроля
может привести к зацикливанию, т.е. повторению тела цикла «бесконечное» число раз.
Например, задав при обращении к П-Ф
 < 0,
получаем зацикливание.

            Поэтому
в Math
cad имеется специальный оператор break, который позволяет выйти из цикла
или приостановить исполнение программы при выполнении заданного в операторе
break условия.

Оператор break используется 
в левом поле ввода  условного оператор
if, а в правом размещается условие, при выполнении
которого происходит прекращение работы цикла или программы. Поэтому первоначально
вводится оператор if
, а
затем заполняются поля этого оператора. Следующий пример показывает написание
подпрограммы без «зацикливания» с использованием оператора
break.

            Пример
12.1
.
Составим П-Ф,
реализующую итерационную про
­цедуру
вычисления корня квадратного  без «зацикливания»
.

Рис. 5.3.7. Реализация итерационного
цикла без  «зацикливания»

Пример 12.2 Составить П-Ф, осуществляющую
суммирование ряда с бесконечным числом слагаемых. Накопление суммы
прекращается, как только очередное слагаемое по абсолютной величине становится
меньше заданной погрешности
.

Описание П-Ф и ее вызов показаны на
рисунке. Заметим, что  вторым формальным параметром является имя функции
пользователя, определяющей зависимость величины члена ряда от его номера. При
вызове этот формальный параметр заменяется фактическим – именем функции
пользователя, описанной до обращения к П-Ф. 
                                                                                             

Вызовы
подпрограммы-функции

     

Программирование двойных циклов

Варианты вложений
операторов цикла

            Составить описание П-Ф формирующей
матрицу по следующему правилу:

.

Описание
и вызов П-Ф приведены на рисунке. В этой П-Ф параметром внешнего цикла является
переменная
i, а параметром внутреннего переменная  j.

Реализация двойного цикла

Дополнительные операторы, используемые
при программировании циклов

       Оператор continue. Обычно используется для продолжения
выполнения цикла путем возврата в начало тела цикла. Следующий пример поясняет
работу этого оператора.

Пример 12.3 Составить описание П-Ф, формирующей
новый вектор из положительных проекций исходного вектора.

Описание приведено на рисунке

Оператор return.
Прерывает выполнение П-Ф  и возвращает значение операнда, стоящего в поле 1
(см. рисунок).

Структура оператора  return

Пример 13. Составить описание П-Ф, находящей
первую положительную проекцию исходного вектора. Возможны два варианта
программной реализации алгоритма решения этой задачи.  Вариант
B
представляется более простым и «элегантным».

Вариант А

Вариант B

Оператор on error.
Этот оператор является обработчиком
возникающих при выполнении тех или иных вычислений ошибок и записывается в
виде:

конструкция 1 >  on error 
<  конструкция 2
>
.

Оператор выполняется следующим
образом. Если при выполнении
<конструкция 2> возникает
ошибка, то выполняется  <конструкция
 1>. Если ошибка не возникает, то
выполняется  <конструкция
 2>.

             Пример 14. Используем оператор on error для
предотвращения появления
ошибки «деление на ноль» при вычислении функции
angl(x,y). Фрагмент представлен на рисунке

Функция
error. Используется
для вывода диагностических сообщений при возникновении в вычислениях ошибки и
записывается в виде:

error
(
«<  диагностическое
сообщение
>«).

Имя функции вводится с клавиатуры. Функция используется в левом поле
условного оператора
if, как показано в следующем примере.

Пример 16. Запрограммируем вывод диагностического
сообщения при попытке спроецировать вектор 
v на нулевой вектор w.
Описание П-Ф и ее вызовы приведены на рисунке.

Рейтинг@Mail.ru

Hosted by uCoz

I guess the second if should be under the first one, not inside and you should use «else if».

Looking at the examples of the built-in help would be a good idea.

See the first example here:

http://www.ptc.com/cs/help/mathcad_hc/prime3_hc/mprime/programming_strategies.html#styler-id1.1.1.8….

The local variable y in that example has no relationship to the function-name y (but I consider it bad habit to use the same name for two different things). In fact you could use that example without any temporary variable at all (but using it is considered better style and is less failure prone with larger programs).

If you are interested in using your sheet with the free Prime Express Edition, as Valery pointed out, you may also use nested if-functions.

  • Опель мокка ошибки на панели приборов
  • Оперативная память выдает ошибки что делать
  • Опель мокка ошибка тс перечеркнутая
  • Опера хроники убойного отдела двойная ошибка
  • Опель мокка ошибка р0300