1 <?xml version="1.0" encoding="UTF-8"?>
2 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="while">
4 <refname>while</refname>
5 <refpurpose>ключевое слово while</refpurpose>
8 <title>Описание</title>
10 Оператор <literal>while</literal> должен заканчиваться ключевым словом
11 <literal>"end"</literal>.
14 <literal>while expr ,instructions,...[,else instructions], end</literal>
17 <literal>while expr do instructions,...[,else instructions], end</literal>
20 <literal>while expr then instructions,...[,else instructions], end</literal>
22 <para>Примечания:</para>
26 Единственное ограничение состоит в том, что каждое ключевое слово <literal>then</literal>
27 или <literal>do</literal> должно быть в той же самой строке, что и ключевое слово
28 <literal>while</literal>.
33 Ключевые слова <literal>then</literal> или <literal>do</literal> могут
34 быть заменены на возврат каретки или запятую. Для совместимости с
35 Matlab можно, но не рекомендуется, вставлять пробел между концом
36 инструкции и началом новой инструкции.
41 Необязательная конструкция <literal>,else instructions</literal> позволяет
42 указывать инструкции <literal>instructions</literal>, которые исполняются когда выражение
43 <literal>expr</literal> становится ложным.
48 В соответствии с договорённостями по написанию кода в Scilab рекомендуется:
53 начинать новую инструкцию на новой строке;
58 писать не более одной простой инструкции на одной строке;
63 разбивать составные инструкции на множество строк.
68 Например, используйте:
70 <programlisting role=""><![CDATA[
80 <programlisting role=""><![CDATA[
81 i = 0; while i<5 disp("i"); i = i + 1; end
84 Предупреждение: число символов, используемых для определения тела любой инструкции условия
85 (<literal>if while for</literal> или <literal>select/case</literal>) должно быть ограничено
90 <title>Примеры</title>
91 <programlisting role="example"><![CDATA[
93 while norm(a-(a+e),1) > %eps,
100 <refsection role="see also">
101 <title>Смотрите также</title>
102 <simplelist type="inline">
104 <link linkend="for">for</link>
107 <link linkend="select">select</link>
110 <link linkend="break">break</link>
113 <link linkend="return">return</link>
116 <link linkend="pause">pause</link>