<span>10 var a,b,c: integer; </span>
<span>20 p,s: real; </span>
<span>30 begin </span>
<span>40 writeln('Введите длины сторон треугольника (a,b,c)'); </span>
<span>50 readln(a,b,c); </span>
<span>60 if (a+b>c) then </span>
<span>70 begin </span>
<span>80 p:=(a+b+c)/2; </span>
<span>90 s:=sqrt(p*(p-a)*(p-b)*(p-c)); </span>
<span>100 writeln('Да, треугольник с такими сторонами существует.'); </span>
<span>110 writeln('S = ',s:0:3); </span>
<span>120 end </span>
<span>130 else </span>
<span>140 writeln('Треугольник с такими сторонами не существует.'); </span>
<span>150 end.</span>
<span>Кульминацией в теории групп и колец Галуа является понятиеконечного поля. Поле, конечное поле обозначает одну и ту же структуру. Однако не стоит забывать о существовании и бесконечных полей, но такие в криптографии не рассматриваются.</span>Поле F <F, +, *, 0, 1> называют конечным, если F - множество его элементов - конечно.<span>Обозначение <F, +, *, 0, 1> означает F - множество элементов, для которых справедливы операции + (аддитивная операциия) и * (мультипликативная операция), а также существует адитивныйединичный элемент по сложению (аддитивный нуль) - 0 иединичный элемент по умножению (мультипликативная единица) - 1.</span>Обозначается конечное поле Fq, где q - количество элементов поля.Если р - простое число и q = р, то Z/(q) - кольцо классов вычетов по модулю р, т.е. конечное поле из р элементов:0 (mod p), 1 (mod p), 2 (mod p), ... , p-1 (mod p),<span>Если a = b (modp), то a b (modp)</span><span><span>Пример 1. Пусть р = 5. Тогда полем является множество {0, 1, 2, 3, 4}. </span>
Тогда аддитивная операция представлена следующим образом:</span><span><span>+01234</span><span>001234</span><span>112340</span><span>223401</span><span>334012</span><span>440123</span></span>мультипликативная операция представлена следующим образом:<span><span>*1234</span><span>11234</span><span>22423</span><span>33142</span><span>44321</span></span>Пример 2. Решить в поле F(11) уравнения: 1) 5+7 2) 3*4 3) 4*4<span>1) 5 + 7 (mod 11) 1 (mod 11);
2) 3*4 (mod 11) 1 (mod 11);
3) 4*4 (mod 11) 5 (mod 11).</span>Характеристика поля<span>Если для любого натурального m в поле F(q)</span><span>m*1 = 0,</span><span>то наименьшее m - есть характеристика поля F(q). Иначе поле считается нулевой характеристики.</span>Любое числовое поле - поле нулевой характеристики. Кольцо классов вычетов по модулю простого числа является полем характеристики р.ТЕОРЕМА. Если F - подполе поля H, то характеристика полей F и H равны.Пример 3. Поле из примера 2 - поле F(11) является полем характеристики 11.Пример 4. Поле F(11^3) является также полем характеристики 11, т.к. поле F(11) является подполем поля F(11^3).<span>Поле F(11^3) является уже примером расширенного поля Галуа (см. расширения конечных полей Галуа).</span>
Паскаль "не умеет" читать числа напрямую. В случае "текстового ввода" он читает всё вводимое, как последовательность символов, которую затем анализирует и преобразует в соответствии со списком переменных в операторе ввода и их типом.
Завершается текстовый ввод в Паскале всегда нажатием клавиши Enter, посылающей последовательность символов с десятичными кодами 13 и 10 (CR - "возврат каретки" и LF- "перевод строки"), либо считыванием этих кодов из файла.
"Команда" Realln (на самом деле это не команда, а процедура) считывает и удаляет последовательность символов с кодами 13, 10, а Read - оставляет эти коды не считанными. Если после Read будет еще один оператор ввода, читающий СИМВОЛЬНЫЕ данные (string, char), то оставшиеся необработанными после предыдущего Read символы с кодами 13,10 будут восприняты, как вводимые, что неверно.
<u>Как итог: </u>только в случае, когда есть ввод символьных данных и эти данные вводятся не в единственном операторе ввода, перед вводом таких данных нужно указывать Readln. В прочих случаях разницы нет.