Get ride of the useless pubdate tag.
[scilab.git] / scilab / modules / core / help / ru_RU / control_flow / if.xml
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" version="5.0-subset Scilab" xml:lang="ru" xml:id="if">
3   <refnamediv>
4     <refname>if</refname>
5     <refpurpose>ключевое слово для условного выполнения</refpurpose>
6   </refnamediv>
7   <refsynopsisdiv>
8     <title>Последовательность вызова</title>
9     <synopsis>
10       if expr1 then
11       statements 1
12       elseif expri then
13       statements i
14       ....
15       else 
16       statements
17       end
18     </synopsis>
19   </refsynopsisdiv>
20   <refsection>
21     <title>Аргументы</title>
22     <variablelist>
23       <varlistentry>
24         <term>expr1, expri</term>
25         <listitem>
26           <para>
27             логические выражения. 
28           </para>
29         </listitem>
30       </varlistentry>
31       <varlistentry>
32         <term>statements, ..., statements i</term>
33         <listitem>
34           <para>
35             наборы корректных инструкций. 
36           </para>
37         </listitem>
38       </varlistentry>
39     </variablelist>
40   </refsection>
41   <refsection>
42     <title>Описание</title>
43     <para>
44       Инструкция <literal>if</literal> вычисляет логическое выражение <literal>expr1</literal> 
45       и выполняет набор инструкций <literal>statements 1</literal>, если выражение истинно.
46     </para>
47     <para>
48       <literal>expri</literal> являются выражениями с числовыми или логическими значениями. Если 
49       <literal>expri</literal> является нескалярным значением, то условие истинно только если 
50       все элементы этого значения истинны или отличны от нуля.
51     </para>
52     <para>
53       Необязательные ключевые слова <literal>elseif</literal> и <literal>else</literal>
54       необходимы для выполнения альтернативных групп инструкций. Ключевое слово 
55       <literal>end</literal>, которое соответствует <literal>if</literal>, заканчивает 
56       последнюю группу инструкций. Линейная структура управляющей инструкции 
57       <literal>if</literal> не существенна, единственным ограничением является то, что 
58       каждое ключевое слово <literal>then</literal> должно быть на той же самой строке, 
59       что и соответствующее ключевое слово <literal>if</literal> или <literal>elseif</literal>.
60     </para>
61     <para>
62       Ключевое слово <literal>then</literal> можно заменить на возврат каретки или запятую.
63     </para>
64     <para>
65       В соответствии с договорённостями по написанию кода  в Scilab рекомендуется:
66     </para>
67     <itemizedlist>
68       <listitem>
69         <para>
70           начинать новую инструкцию на новой строке;
71         </para>
72       </listitem>
73       <listitem>
74         <para>
75           писать не более одной простой инструкции на одной строке;
76         </para>
77       </listitem>
78       <listitem>
79         <para>
80           разбивать составные инструкции на множество строк.
81         </para>
82       </listitem>
83     </itemizedlist>
84     <para>
85       Например, используйте:
86     </para>
87     <programlisting role=""><![CDATA[
88       if rand(1,1) > 0.5 then
89         disp("True");
90       else
91         disp("False");
92       end
93 ]]></programlisting>
94     <para>
95       а не:
96     </para>
97     <programlisting role=""><![CDATA[
98       if rand(1,1) > 0.5 then disp("True"); else disp("False"); end
99 ]]></programlisting>
100     <para>
101       Предупреждение: число символов, используемых для определения тела любой инструкции условия
102       (<literal>if while for</literal> или <literal>select/case</literal>) должно быть ограничено
103       16К.
104     </para>
105   </refsection>
106   <refsection>
107     <title>Примеры</title>
108     <programlisting role="example"><![CDATA[ 
109 i=2
110 for j = 1:3, 
111   if i == j then
112     a(i,j) = 2; 
113   elseif abs(i-j) == 1 then 
114     a(i,j) = -1; 
115   else a(i,j) = 0;
116   end,
117 end
118  ]]></programlisting>
119   </refsection>
120   <refsection role="see also">
121     <title>Смотрите также</title>
122     <simplelist type="inline">
123       <member>
124         <link linkend="try">try</link>
125       </member>
126       <member>
127         <link linkend="while">while</link>
128       </member>
129       <member>
130         <link linkend="select">select</link>
131       </member>
132       <member>
133         <link linkend="boolean">boolean</link>
134       </member>
135       <member>
136         <link linkend="end">end</link>
137       </member>
138       <member>
139         <link linkend="then">then</link>
140       </member>
141       <member>
142         <link linkend="else">else</link>
143       </member>
144       <member>
145         <link linkend="comparison">сравнение</link>
146       </member>
147     </simplelist>
148   </refsection>
149 </refentry>