Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.5.1 - Русский

Change language to:
English - Français - 日本語 - Português -

Please note that the recommended version of Scilab is 2024.0.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Scilab > Управляющая логика > if

if

ключевое слово для условного выполнения

Последовательность вызова

if expr1 then
statements 1
elseif expri then
statements i
....
else 
statements
end

Аргументы

expr1, expri

логические выражения.

statements, ..., statements i

наборы корректных инструкций.

Описание

Инструкция if вычисляет логическое выражение expr1 и выполняет набор инструкций statements 1, если выражение истинно.

expri являются выражениями с числовыми или логическими значениями. Если expri является нескалярным значением, то условие истинно только если все элементы этого значения истинны или отличны от нуля.

Необязательные ключевые слова elseif и else необходимы для выполнения альтернативных групп инструкций. Ключевое слово end, которое соответствует if, заканчивает последнюю группу инструкций. Линейная структура управляющей инструкции if не существенна, единственным ограничением является то, что каждое ключевое слово then должно быть на той же самой строке, что и соответствующее ключевое слово if или elseif.

Ключевое слово then можно заменить на возврат каретки или запятую.

В соответствии с договорённостями по написанию кода в Scilab рекомендуется:

  • начинать новую инструкцию на новой строке;

  • писать не более одной простой инструкции на одной строке;

  • разбивать составные инструкции на множество строк.

Например, используйте:

if rand(1,1) > 0.5 then
disp("True");
else
disp("False");
end

а не:

if rand(1,1) > 0.5 then disp("True"); else disp("False"); end

Предупреждение: число символов, используемых для определения тела любой инструкции условия (if while for или select/case) должно быть ограничено 16К.

Примеры

i=2
for j = 1:3, 
  if i == j then
    a(i,j) = 2; 
  elseif abs(i-j) == 1 then 
    a(i,j) = -1; 
  else a(i,j) = 0;
  end,
end

Смотрите также

  • try — начало блока try в управляющей структуре try-catch
  • while — ключевое слово while
  • select — ключевое слово выбора
  • boolean — Объекты Scilab'а, логические переменные и операторы & | ~
  • end — ключевое слово конца конструкции
  • then — ключевое слово в управляющих структурах if и select
  • else — ключевое слово в if-then-else и select-case-then-else
  • сравнение — операторы сравнения, отношения
Report an issue
<< for Управляющая логика pause >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 14:01:01 CEST 2014