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


for

ключевое слово для циклов

Синтаксис

for variable = expression, instruction ; .. ; instruction; end

for variable = expression
instruction
..
instruction
end

for variable = expression do
instruction
..
instruction
end

Аргументы

variable

переменная, по которой ведётся цикл;

expression

выражение, описывающее закон изменения переменной variable в заданных пределах; может быть вектором, матрицей, списком;

instruction

любые корректные инструкции Scilab.

do

ключевое слово, отделяющее блок определения переменной цикла variable от блока инструкций instruction

Описание

Если источник является массивом (однородным или нет), то элемент устанавливается в каждый из его столбцов (для гиперматрицы, как matrix(expression, size(expression,1), -1))), один за другим.

Оператор двоеточие colon используется для создания вектор-столбцов с регулярным шагом между элементами и похож на традиционные циклы for: for variable = n1:step:n2, ..., end

Если expression является списком, то variable принимает значения списка одно за другим.

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

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

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

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

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

for i = 1:5
    disp(i);
end

а не:

for i = 1:5, disp(i); end

Примеры

Тривиальные итерации (над столбцами вектора строк) :

for i = [2 4 5]
    factorial(i)
end

// По убыванию стоимости :
for j = 4:-1:1
    j
end

цикл по столбцам матрицы :

M = [1 2 ; 3 4 ; 5 6]'
for  c = M, c, end
-> M = [1 2 ; 3 4 ; 5 6]'
 M  =
   1.   3.   5.
   2.   4.   6.

--> for  c = M, c, end
 c  =
   1.
   2.

 c  =
   3.
   4.

 c  =
   5.
   6.

Iterate on the columns of a cells array:

C = {%pi, "This is πι" ; %z^2, %t}
for  c = C, c, end
--> C = {%pi, "This is πι" ; %z^2, %t}
 C  =
  [1x1 constant  ]  [1x1 string ]
  [1x1 polynomial]  [1x1 boolean]


--> for  c = C, c, end
 c  =
  [1x1 constant  ]
  [1x1 polynomial]

 c  =
  [1x1 string ]
  [1x1 boolean]

цикл по элементам списка :

for l = list([1 2;3 4], (1+%z)^3, 'example', [%F %T]); l, end
--> for l = list([1 2;3 4], (1+%z)^3, 'example', [%F %T]); l, end
 l  =
   1.   2.
   3.   4.

 l  =
            2   3
   1 +3z +3z  +z

 l  =
 example

 l  =
  F T

Общие и вложенные итерированные циклы :

n=5;
for i = 1:n
    for j = 1:n
        a(i,j) = 1/(i+j-1);
    end;
end
for j = 2:n-1
    a(j,j) = j;
end;
a

for v = a, write(%io(2),v), end
for j = 1:n, v = a(:,j), write(%io(2),v), end

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

  • while — ключевое слово while
  • end — ключевое слово конца конструкции
  • do — ключевое слово для циклов

История

ВерсияОписание
6.0.0 Теперь for expression может быть вектором указателей на графические окна. for is now protected: Assignments like for=1 are no longer possible.
2023.0.0 The expression can be a hypermatrix. It is then processed by column as matrix(expression, size(expression,1), -1).
Report an issue
<< end Управляющая логика halt >>

Copyright (c) 2022-2024 (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 24 11:18:29 CEST 2024