Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.4.0 - English

Change language to:
Français - 日本語 - Português - Русский

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

Scilab help >> Scilab > Control flow > while

while

while keyword

Description

The while clause must be terminated by "end".

while expr ,instructions,...[,else instructions], end

while expr do instructions,...[,else instructions], end

while expr then instructions,...[,else instructions], end

Notes:

  • The only constraint is that each then or do keyword must be on the same line line as while keyword.

  • Keywords then or do can be replaced by a carriage return or a comma. For compatibility with Matlab it is also possible, but not recommended, to put a space between the end of the expression and the beginning of the first instruction.

  • The optional [,else instructions] construction allows to gives instructions which are executed when expr expression becomes false.

According to the Code Conventions for the Scilab Programming Language it is recommended:

  • Start each statement on a new line.

  • Write no more than one simple statement per line.

  • Break compound statements over multiple lines.

For example, use:

i = 0
while i<5 
    disp("i");
    i = i + 1; 
end

rather than

i = 0; while i<5 disp("i"); i = i + 1; end

Warning: the number of characters used to define the body of any conditional instruction (if while for or select/case) must be limited to 16k.

Examples

e=1; a=1; k=1;
while norm(a-(a+e),1) > %eps, 
    e=e/2; 
    k=k+1; 
end
e,k

See Also

  • for — language keyword for loops
  • select — select keyword
  • break — keyword to interrupt loops
  • return — return or resume execution and copy some local variables
  • pause — pause mode, invoke keyboard
Report an issue
<< then Control flow Debugging >>

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:
Mon Oct 01 17:34:33 CEST 2012