Scilab: различия между версиями

Содержимое удалено Содержимое добавлено
Метка: possible spambot (testing)
Строка 1791:
* В сценариях можно допускать объявление переменных по мере их необходимости, но в функциях мы будем придерживаться правила объявления всех используемых объектов строго сверху;
* Правилом хорошего тона считается явное удаление объектов, если не предполагается их дальнейшее использование в сценарии.
 
В языке Scilab существует небольшой набор базовых конструкций, реализующих циклы и ветвления. Рассмотрим их по порядку.
 
===== Ветвления =====
В языке Scilab две конструкции, организующие ветвление:
# Конструкция '''if ... else''';
# Конструкция '''select ... case'''.
 
Общий синтаксис конструкции '''if ... else''' имеет следующий вид
<source lang=Scilab>
if <условие 1>
<операторы 1>
elseif <условие 2>
<операторы 2>
...
elseif <условие n>
<операторы n>
else
<операторы>
end
</source>
На позициях <условие> записываются логические выражения, которые возвращают логический или числовой тип данных. Общий алгоритм работы данной конструкции выглядит так:
# Проверяется <условие 1>. Если условие истинно или, если это число, оно больше нуля, то выполняются <операторы 1> и ветвление завершается, в противном случае переход к пункту 2;
# Проверяется <условие 2> Если условие истинно или, если это число, оно больше нуля, то выполняются <операторы 1> и ветвление завершается, в противном случае переход к следующему elseif и так далее;
# Если ни одно из условий elseif не выполнилось, то выполняются операторы по ветке else и на этом ветвление завершается.
 
Общий синтаксис второй конструкции имеет вид
<source lang=Scilab>
select <значение>
case <значение 1>
<операторы 1>
case <значение 2>
<операторы 2>
...
case <значение n>
<операторы n>
else
<операторы>
end
</source>
 
В отличии от первой конструкции, вторая требует не логическое выражение, а конкретное значение, которое затем сравнивается по порядку со значением каждой ветви, начинающейся с ключевого слова case. При первом же совпадении выполняются операторы этой ветви. Если ни одного совпадения не оказалось, то выполняются операторы ветви else.
 
В первой конструкции объявление ветвей elseif не является обязательным, но должна быть по крайней мере ветвь по if. Ветвь else в обоих конструкциях также не является обязательной.
 
=== Использование других языков программирования ===