https://xn--80ac3cm.xn--p1ai/index.php?title=%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0_%D0%B1%D0%BB%D0%BE%D0%BA%D0%B0_%D0%BA%D0%BE%D0%B4%D0%B0_%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D0%94%D0%BB%D1%8F&feed=atom&action=historyОператор условного выбора блока кода Выбор Для - История изменений2024-03-29T06:09:46ZИстория изменений этой страницы в викиMediaWiki 1.26.4https://xn--80ac3cm.xn--p1ai/index.php?title=%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0_%D0%B1%D0%BB%D0%BE%D0%BA%D0%B0_%D0%BA%D0%BE%D0%B4%D0%B0_%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D0%94%D0%BB%D1%8F&diff=8585&oldid=prevАдмин в 09:12, 8 августа 20212021-08-08T09:12:09Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='ru'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Версия 09:12, 8 августа 2021</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l141" >Строка 141:</td>
<td colspan="2" class="diff-lineno">Строка 141:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Ссылки ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Ссылки ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [http://promcod.com.ua/Article.asp?code=<del class="diffchange diffchange-inline">20210807140309036609 </del>ПРОМКОД - Оператор условного выбора блока кода '''Выбор Для''']</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [http://promcod.com.ua/Article.asp?code=<ins class="diffchange diffchange-inline">20200304215919039468 </ins>ПРОМКОД - Оператор условного выбора блока кода '''Выбор Для''']</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:Описание языка Перфолента.NET]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:Описание языка Перфолента.NET]]</div></td></tr>
</table>Админhttps://xn--80ac3cm.xn--p1ai/index.php?title=%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0_%D0%B1%D0%BB%D0%BE%D0%BA%D0%B0_%D0%BA%D0%BE%D0%B4%D0%B0_%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D0%94%D0%BB%D1%8F&diff=8584&oldid=prevАдмин в 09:11, 8 августа 20212021-08-08T09:11:15Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='ru'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Версия 09:11, 8 августа 2021</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l141" >Строка 141:</td>
<td colspan="2" class="diff-lineno">Строка 141:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Ссылки ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Ссылки ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [http://promcod.com.ua/Article.asp?code=<del class="diffchange diffchange-inline">20200304215919039468 ПРОМОКОД </del>- Оператор условного выбора блока кода Выбор Для]</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [http://promcod.com.ua/Article.asp?code=<ins class="diffchange diffchange-inline">20210807140309036609 ПРОМКОД </ins>- Оператор условного выбора блока кода <ins class="diffchange diffchange-inline">'''</ins>Выбор Для<ins class="diffchange diffchange-inline">'''</ins>]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:Описание языка Перфолента.NET]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:Описание языка Перфолента.NET]]</div></td></tr>
</table>Админhttps://xn--80ac3cm.xn--p1ai/index.php?title=%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0_%D0%B1%D0%BB%D0%BE%D0%BA%D0%B0_%D0%BA%D0%BE%D0%B4%D0%B0_%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D0%94%D0%BB%D1%8F&diff=8004&oldid=prevДизайнер в 09:05, 27 июля 20202020-07-27T09:05:13Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='ru'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Версия 09:05, 27 июля 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l134" >Строка 134:</td>
<td colspan="2" class="diff-lineno">Строка 134:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  КонецВыбора         </div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  КонецВыбора         </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Вывод:</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">'''</ins>Вывод:<ins class="diffchange diffchange-inline">'''</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Условный блочный оператор Выбор Для позволяет сделать код программы лучше читаемым, а часто и быстрее работающим. Он может с успехом применяться для замены оператора Если в тех случаях, когда одно и то же значение проверяется в условиях несколько раз.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline"> </ins>Условный блочный оператор Выбор Для позволяет сделать код программы лучше читаемым, а часто и быстрее работающим. Он может с успехом применяться для замены оператора Если в тех случаях, когда одно и то же значение проверяется в условиях несколько раз.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">{{Описание языка Перфолента.NET-Содержание}}</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Ссылки ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Ссылки ==</div></td></tr>
</table>Дизайнерhttps://xn--80ac3cm.xn--p1ai/index.php?title=%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0_%D0%B1%D0%BB%D0%BE%D0%BA%D0%B0_%D0%BA%D0%BE%D0%B4%D0%B0_%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D0%94%D0%BB%D1%8F&diff=7981&oldid=prevBee: не понятно, о чем фраза "в данном случае", во втором предложении после введения2020-06-18T20:02:55Z<p>не понятно, о чем фраза "в данном случае", во втором предложении после введения</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='ru'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Версия 20:02, 18 июня 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Строка 1:</td>
<td colspan="2" class="diff-lineno">Строка 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Оператор Выбор Для это отличная замена оператору Если в тех случаях, когда одно и тоже выражение используется в проверяемых условиях многократно.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Оператор Выбор Для это отличная замена оператору Если в тех случаях, когда одно и тоже выражение используется в проверяемых условиях многократно.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Оператор Выбор Для в <del class="diffchange diffchange-inline">данном </del>случае не поможет.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Оператор Выбор Для в случае <ins class="diffchange diffchange-inline">необходимости проверки значения разных выражений в пределах одного блока, </ins>не поможет.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>В языке Перфолента.Net условный выбор блока кода можно сделать с помощью блочного оператора '''Если''', про синтаксис и использование которого можно почитать в статье [[Условный оператор Если]].</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>В языке Перфолента.Net условный выбор блока кода можно сделать с помощью блочного оператора '''Если''', про синтаксис и использование которого можно почитать в статье [[Условный оператор Если]].</div></td></tr>
</table>Beehttps://xn--80ac3cm.xn--p1ai/index.php?title=%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0_%D0%B1%D0%BB%D0%BE%D0%BA%D0%B0_%D0%BA%D0%BE%D0%B4%D0%B0_%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D0%94%D0%BB%D1%8F&diff=7972&oldid=prevТест: Новая страница: «Оператор Выбор Для это отличная замена оператору Если в тех случаях, когда одно и тоже вы…»2020-06-09T12:14:50Z<p>Новая страница: «Оператор Выбор Для это отличная замена оператору Если в тех случаях, когда одно и тоже вы…»</p>
<p><b>Новая страница</b></p><div>Оператор Выбор Для это отличная замена оператору Если в тех случаях, когда одно и тоже выражение используется в проверяемых условиях многократно.<br />
<br />
Оператор Выбор Для в данном случае не поможет.<br />
<br />
В языке Перфолента.Net условный выбор блока кода можно сделать с помощью блочного оператора '''Если''', про синтаксис и использование которого можно почитать в статье [[Условный оператор Если]].<br />
<br />
Однако, синтаксис оператора Если иногда заставляет вас записывать одно и то же выражение снова и снова. Это не только увеличивает текст программы, но и ведет к снижению быстродействия. Рассмотрим пример, в котором значение переменной МоёЗначение проверяется несколько раз.<br />
<br />
Если МоёЗначение = 1 Тогда<br />
//блок кода <br />
ИначеЕсли МоёЗначение = 3 или МоёЗначение = 4 или МоёЗначение = 5 Тогда<br />
//блок кода <br />
ИначеЕсли МоёЗначение = 10 Тогда<br />
//блок кода <br />
Иначе<br />
//блок кода <br />
КонецЕсли<br />
<br />
Для сокращения записи и уменьшения количества вычислений можно использовать блочный оператор Выбор Для. Запишем предыдущий пример новым способом.<br />
<br />
Выбор Для МоёЗначение<br />
Когда 1 Тогда<br />
//блок кода <br />
Когда 3, 4, 5 Тогда<br />
//блок кода <br />
Когда 10 Тогда<br />
//блок кода <br />
Иначе<br />
//блок кода <br />
КонецВыбора <br />
<br />
Умнику на заметку: Ключевые слова Для и Тогда не являются обязательными и могут быть пропущены. <br />
<br />
В приведенном примере значение переменной МоёЗначение вычисляется один раз и затем сравнивается со всеми проверяемыми значениями. Вместо переменной может быть задано любое выражение, результат вычисления которого будет использован при сравнениях в условиях после ключевого слова Когда.<br />
<br />
Обратите внимание, что вместо оператора Или используется запятая.<br />
<br />
==Использование бинарных операторов сравнения ==<br />
<br />
По умолчанию в операциях сравнения используется оператор равно, однако, его можно переопределить другим бинарным оператором сравнения, например, <, >, <=, >=, <>, Это, ЭтоНе, ЭтоТип, ЭтоНеТип.<br />
<br />
Умнику на заметку: Другие бинарные и унарные операторы, кроме указанных операторов сравнения, воспринимаются как часть выражения правого операнда в операции сравнения. Вы можете допустить ошибку, если используете, например, унарный оператор Не. Запись Когда НЕ 5 трактуется как Когда =(НЕ 5), что эквивалентно Когда Ложь. <br />
<br />
Выбор Инд <br />
Когда <3 ВыводСтроки "Значение Инд < 3" //меньше 3 <br />
Когда >16 ВыводСтроки "Значение Инд >16" //больше 16 <br />
Когда <>5 ВыводСтроки "Значение Инд <>5" //не равно 5<br />
Иначе ВыводСтроки "Другое "+Инд<br />
КонецВыбора <br />
<br />
Приведем пример с операторами сравнения Это и ЭтоНе. В этом случае мы будем сравнивать со значением Неопределено, но можно сравнивать и с конкретными объектами.<br />
<br />
Выбор Для МойОбъект <br />
Когда Это Неопределено ВыводСтроки "Мой объект НЕ задан…" <br />
Когда ЭтоНе Неопределено ВыводСтроки "Мой объект существует!" <br />
КонецВыбора <br />
<br />
И один из самых интересных случаев — это использование операторов ЭтоТип и ЭтоНеТип.<br />
<br />
Допустим, что у нас есть классы Кот и Собака родителем которых является класс Животное, а переменная МоёЖивотное типа Животное содержит значение одного из двух возможных типов. Определим, кто же у нас в переменной.<br />
<br />
Выбор Для МоёЖивотное <br />
Когда ЭтоТип Кот ВыводСтроки "Это мой кот!" <br />
Когда ЭтоТип Собака ВыводСтроки "Это моя собака!" <br />
КонецВыбора <br />
<br />
Операторы ЭтоТип и ЭтоНеТип позволяют задавать тип двумя способами – непосредственной записью и при помощи функции Тип(). Выше мы использовали непосредственную запись, а теперь напишем то же самое с использованием функции Тип().<br />
<br />
Выбор Для МоёЖивотное <br />
Когда ЭтоТип Тип("Кот") ВыводСтроки "Это мой кот!" <br />
Когда ЭтоТип Тип("Собака") ВыводСтроки "Это моя собака!" <br />
КонецВыбора <br />
<br />
Добавочное условие При.<br />
<br />
Иногда одного сравнения в условии не хватает. В таких случаях можно задать дополнительное условие с помощью ключевого слова При. Правила определения дополнительного условия такие же, как в операторе Если. Дополнительное условие проверяется только тогда, когда выполнилось основное условие.<br />
<br />
Выбор Для МоёЖивотное <br />
Когда ЭтоТип Кот При МоёЖивотное.Цвет="рыжий" ВыводСтроки "Это мой рыжий кот!" <br />
Когда ЭтоТип Кот При МоёЖивотное.Цвет="черный" ВыводСтроки "Это мой черный кот!" <br />
Когда ЭтоТип Собака При МоёЖивотное.Цвет="рыжий" ВыводСтроки "Это моя рыжая собака!" <br />
Когда ЭтоТип Собака При МоёЖивотное.Цвет="черный" ВыводСтроки "Это моя черная собака!" <br />
КонецВыбора <br />
<br />
В приведенном примере свойство Цвет принадлежит классу Животное, поэтому дополнительное условие проверяется одинаково для кота и для собаки, но что, если нам надо в дополнительном условии проверить одно или несколько свойств принадлежащих коту, в том случае, если это кот, или принадлежащих собаке, если это собака?<br />
<br />
Это можно сделать, например, вот так:<br />
<br />
Выбор Для МоёЖивотное <br />
Когда ЭтоТип Кот При ТипКТипу(МоёЖивотное, "Кот").ГибкостьСпины="высокая" И ТипКТипу(МоёЖивотное, "Кот").Пятнистость="высокая" <br />
ВыводСтроки "Это гибкий пятнистый кот! По имени "+ ТипКТипу(МоёЖивотное, "Кот").Имя <br />
Когда ЭтоТип Собака При ТипКТипу(МоёЖивотное, "Собака").ДлинаШерсти="высокая" И ТипКТипу(МоёЖивотное, "Собака").ГромкостьЛая="высокая" <br />
ВыводСтроки "Это громкая длинношерстная собака! По кличке "+ ТипКТипу(МоёЖивотное, "Собака").Кличка <br />
КонецВыбора<br />
<br />
Выглядит довольно громоздко из-за того, что приходится приводить тип животного к классу, имеющему необходимые свойства. К тому же, операция приведения типа выполняется по 4 раза на каждую секцию Когда, а она вовсе не бесплатная и за неё приходится платить потерей быстродействия работы программы.<br />
<br />
Для упрощения кода и улучшения его быстродействия воспользуемся дополнительным ключевым словом Для оператора ЭтоТип, с помощью которого будем создавать переменную для только что определенного в секции Когда типа. <br />
<br />
Выбор Для МоёЖивотное <br />
Когда ЭтоТип Кот Для МойКотик При МойКотик.ГибкостьСпины="высокая" И МойКотик.Пятнистость="высокая" <br />
ВыводСтроки "Это гибкий пятнистый кот! По имени "+МойКотик.Имя <br />
Когда ЭтоТип Собака Для МояСобачка При МояСобачка.ДлинаШерсти="высокая" И МояСобачка.ГромкостьЛая="высокая" <br />
ВыводСтроки "Это громкая длинношерстная собака! По кличке "+МояСобачка.Кличка <br />
КонецВыбора<br />
<br />
Переменные МойКотик и МояСобачка создаются в тот момент, когда выполняется условие в операторе ЭтоТип. При этом определение и приведение типа объекта к необходимому выполняется всего один раз на каждую секцию Когда.<br />
<br />
Тот же приём можно использовать в случае, когда дополнительное условие не используется, но в самом блоке кода идет многократное обращение к только что определенному типу.<br />
<br />
Выбор Для МоёЖивотное <br />
Когда ЭтоТип Кот Для МойКотик<br />
ВыводСтроки "Это кот по имени: "+МойКотик.Имя <br />
ВыводСтроки "Гибкость спины: "+МойКотик. ГибкостьСпины<br />
ВыводСтроки "Пятнистость: "+МойКотик. Пятнистость<br />
Когда ЭтоТип Собака Для МояСобачка <br />
ВыводСтроки "Это собака по кличке: "+ МояСобачка. Кличка <br />
ВыводСтроки "Длина шерсти: "+ МояСобачка. ДлинаШерсти<br />
ВыводСтроки "Громкость лая: "+ МояСобачка. ГромкостьЛая<br />
КонецВыбора<br />
<br />
В том случае, когда в условии секции Когда перечисляются через запятую несколько выражений, дополнительное условие При используется для каждого выражения отдельно.<br />
<br />
А=3<br />
Б=5<br />
Выбор Для МоёЗначение<br />
Когда 3 При А=3,<br />
4 При А=4 или Б=4,<br />
5 При Б=5<br />
Тогда<br />
//блок кода <br />
Иначе<br />
//блок кода <br />
КонецВыбора <br />
<br />
Вывод:<br />
<br />
Условный блочный оператор Выбор Для позволяет сделать код программы лучше читаемым, а часто и быстрее работающим. Он может с успехом применяться для замены оператора Если в тех случаях, когда одно и то же значение проверяется в условиях несколько раз.<br />
<br />
== Ссылки ==<br />
* [http://promcod.com.ua/Article.asp?code=20200304215919039468 ПРОМОКОД - Оператор условного выбора блока кода Выбор Для]<br />
<br />
[[Категория:Описание языка Перфолента.NET]]</div>Тест