Scilab/Управление сеансом: различия между версиями
Содержимое удалено Содержимое добавлено
АРГО-67 (обсуждение | вклад) →Правила записи выражений: орфография |
DannyS712 (обсуждение | вклад) м <source> -> <syntaxhighlight> (phab:T237267) |
||
Строка 12:
# Затем нажмите <Ctrl>+<X>.
Вы увидите такой результат
<
-->
Строка 18:
-1->
-2->
</syntaxhighlight>
Вы нажали комбинации, которые выполнили одно и то же действие — создали подуровень, т.е. как бы в одном сеансе вы открыли одновременно три. На каждом подуровне своя область памяти для хранения переменных. Данная система работает по принципу стека «первым вошёл, последним вышел». Это означает, что выход из подуровня очищает безвозвратно область памяти, выделенную на него.
Выполните следующее:
# Введите на втором подуровне выражение<
# Нажмите еще раз любую комбинацию, чтобы создать подуровень;
# Введите еще раз<
Теперь посмотрите в окно '''Обозреватель переменных''' и вы увидите, что «в мире» сосуществуют две переменные с одинаковым именем. Это происходит потому, что они не подозревают о существовании друг друга.
Чтобы подняться на уровень выше, необходимо ввести команду
<
resume
</syntaxhighlight>
Если вы уверены, что подуровни вам больше не нужны, то удалить их можно все сразу командой
<
abort
</syntaxhighlight>
после которой вы окажетесь на главном уровне с единственной областью памяти для переменных.
Строка 55:
<center><math>2\cdot x^2+4\cdot x-10=0.</math></center></br>
# Для начала создадим два подуровня, с помощью одной из двух комбинаций клавиш.
# На втором подуровне вычислим [[дискриминант]], введя<
# Теперь мы заберем результат на первый подуровень, а второй удалим. Для этого введите следующее<
# На первом уровне рассчитаем корни, для чего введите<
# Дискриминант нам уже не нужен, а корни необходимо перенести на главный уровень. Чтобы перенести за раз больше одной переменной, необходимо переносимые переменные объединить в вектор. Введите следующую команду<
# Мы решили нашу подзадачу, но правильно ли? Проведем проверку и заодно научимся ещё одному приёму. Введите следующую команду<
Вы увидите следующее<
--> 2*x2^2+4*x2-10
ans =
-1.776D-15
ans =
-3.553D-15</
|}
Теперь углубимся. Нажимая сочетания клавиш <Ctrl>+<X> или <Ctrl>+<C> вы на самом деле вызывали функцию
<
Например, попробуйте ввести
<
-1-> x1=x1+3;</
Не менее полезными будут следующие приёмы работы с текущей строкой:
Строка 148:
Приведем поучительные примеры. Введите в командной строке
<
--> 2+2*3
ans =
Строка 161:
ans =
20.
</syntaxhighlight>
Разберем все примеры по очереди. В первом случае интерпретатор проходя слева на право, согласно таблице приоритетов, выполняет операцию умножения (результат 6), к которому прибавляет двойку (в результате 8). Во втором случае, так как операторы умножения и деления на одном уровне, интерпретатор сначала выполнит операцию деления, потому что он стоит левее, а затем умножения.
Строка 169:
Теперь во втором примере изменим приоритет вычислений, выполнив сначала умножение, а затем деление
<
--> 6/(2*4)
ans=
0.75
</syntaxhighlight>
Более сложные действия, которые невозможно выполнить за один ход, группируются в функции, о которых мы поговорим чуть позже. В концепции, которую мы здесь ввели, функции тоже можно считать своего рода операторами, потому что в большинстве случаев нам не важно знать как функция работает и какие инструкции она несет в себе. Она лишь принимает аргументы (своего рода операнды) и возвращает нам результат.
Строка 210:
Для того, чтобы поставить комментарий, необходимо ввести два правых слэша, например,
<
// это мой комментарий
</syntaxhighlight>
Комментарии можно оставлять и в командной строке, хотя это вообще говоря, бессмысленно. К сожалению, в Scilab отсутствуют многострочные комментарии.
|