<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Школа179 - Информатика/Олимпиады/2008/Школьная/Разбор/E</title>
<link>https://server.179.ru/wacko43/?page=Информатика/Олимпиады/2008/Школьная/Разбор/E</link>
<description>История изменений Школа179/Информатика/Олимпиады/2008/Школьная/Разбор/E</description>
<lastBuildDate>Sat, 13 Jun 2026 15:55:53 +0300</lastBuildDate>
<image>
<title>Школа179 - последние комментарии</title>
<link>https://server.179.ru/wacko43/</link>
<url>https://server.179.ru/wacko43/files/wacko4.gif</url>
<width>108</width>
<height>50</height>
</image>
<language>en-us</language>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>WackoWiki R4.3</generator>
<item>
<title>2008-02-27 00:55:41</title>
<link>https://server.179.ru/wacko43/?page=Informatika/Olimpiady/2008/Shkol'naja/Razbor/E/show&amp;time=2008-02-27+00%3A55%3A41</link>
<description>&lt;div class="pageBefore">&amp;nbsp;&lt;/div>
&lt;div class="page">&lt;b>Сравнение версий &lt;a name=".informatika.olimpiady.2008.shkol_naja.razbor.e" href="https://server.179.ru/wacko43/?page=Informatika/Olimpiady/2008/Shkol'naja/Razbor/E" class="">/Информатика&amp;nbsp;/&amp;nbsp;Олимпиады&amp;nbsp;/&amp;nbsp;2008&amp;nbsp;/&amp;nbsp;Школьная&amp;nbsp;/&amp;nbsp;Разбор&amp;nbsp;/&amp;nbsp;E&lt;/a> от &lt;a href="https://server.179.ru/wacko43/?page=Informatika/Olimpiady/2008/Shkol'naja/Razbor/E&amp;amp;time=2008-02-27+00%3A55%3A41">2008-02-27 00:55:41&lt;/a> и &lt;a href="https://server.179.ru/wacko43/?page=Informatika/Olimpiady/2008/Shkol'naja/Razbor/E">2008-02-28 12:27:26&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Идея решения. В&amp;nbsp;глобальной переменной Roman записана строка &amp;ndash; римское число, в&amp;nbsp;переменной Arabic &amp;ndash; ее&amp;nbsp;числовое значение. Первоналально оно&amp;nbsp;равно нулю, в&amp;nbsp;ходе разбора это&amp;nbsp;значение будет увеличиваться. Переменная Position хранит количество уже&amp;nbsp;успешно считанных и&amp;nbsp;разобранных символов из&amp;nbsp;переменной Roman.&lt;br />
Основная функция &amp;ndash; это&amp;nbsp;функция Read. Она&amp;nbsp;получает два&amp;nbsp;параметра: строку, соответствующую одной группе символов, которые считываются из&amp;nbsp;переменной Roman и&amp;nbsp;их числовое значение. Например, вызов  Read(&amp;laquo;IX&amp;raquo;,9) &amp;ndash; это&amp;nbsp;попытка считать из&amp;nbsp;переменной Roman последовательность символов &amp;#147;IX&amp;#148;. &lt;br />
Считывание символов производится начиная с&amp;nbsp;позиции Position. Считывание успешным, если строка Roman после пропуска первых Position символов совпадает с&amp;nbsp;группой. Если считывание было успешным, то&amp;nbsp;к значению Arabic прибавляется числовое значение группы (второй паараметр функции Read), а&amp;nbsp;значение Position увеличивается на&amp;nbsp;значение длины группы и&amp;nbsp;функция Read возвращает true. Если считывание неуспешно, фунция Read возвращает false.&lt;br />
В&amp;nbsp;функции main считывается значение Roman, далее осуществляется разбор строки. При&amp;nbsp;этом используется особенность неполного вычисления логических выражений, например, при&amp;nbsp;вызове 	Read(&amp;laquo;MMM&amp;raquo;, 3000) || Read(&amp;quot;MM&amp;quot;,  2000) || Read(&amp;laquo;M&amp;raquo;,   1000) сначала вызывается функция Read(&amp;laquo;MMM&amp;raquo;, 3000). Если она&amp;nbsp;вернула true, то&amp;nbsp;две другие функции не&amp;nbsp;вызываются, а&amp;nbsp;если вернула false, то&amp;nbsp;вызывается Read(&amp;laquo;MM&amp;raquo;,  2000). В&amp;nbsp;свою очередь, Read(&amp;laquo;M&amp;raquo;,   1000) вызывается только если два&amp;nbsp;предыдущих вызова вернули false.&lt;br />
В&amp;nbsp;функции main осуществляются последовательные попытки считать количество тысяч, сотен, десятков и&amp;nbsp;единиц. Если после этого были считаны все&amp;nbsp;символы, значит, запись римского числа корректна и&amp;nbsp;выводится значение Arabic, иначе (остались несчитанные символы) запись некорректна и&amp;nbsp;выводится 0.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2008-02-27 00:54:39</title>
<link>https://server.179.ru/wacko43/?page=Informatika/Olimpiady/2008/Shkol'naja/Razbor/E/show&amp;time=2008-02-27+00%3A54%3A39</link>
<description>&lt;div class="pageBefore">&amp;nbsp;&lt;/div>
&lt;div class="page">&lt;b>Сравнение версий &lt;a  href="https://server.179.ru/wacko43/?page=Informatika/Olimpiady/2008/Shkol'naja/Razbor/E" class="">/Информатика&amp;nbsp;/&amp;nbsp;Олимпиады&amp;nbsp;/&amp;nbsp;2008&amp;nbsp;/&amp;nbsp;Школьная&amp;nbsp;/&amp;nbsp;Разбор&amp;nbsp;/&amp;nbsp;E&lt;/a> от &lt;a href="https://server.179.ru/wacko43/?page=Informatika/Olimpiady/2008/Shkol'naja/Razbor/E&amp;amp;time=2008-02-27+00%3A54%3A39">2008-02-27 00:54:39&lt;/a> и &lt;a href="https://server.179.ru/wacko43/?page=Informatika/Olimpiady/2008/Shkol'naja/Razbor/E&amp;amp;time=2008-02-27+00%3A55%3A41">2008-02-27 00:55:41&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;a name="h1475-1">&lt;/a>&lt;h1>Разбор задачи E&lt;/h1>
&lt;a href="http://server.179.ru/olymp/2008/statements/e.html" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="https://server.179.ru/wacko43/themes/wakka/icons/web.gif" alt="" />Условия задачи пятого тура&lt;/a>&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
