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