s.CountOf_s.pas(s1) в стандартном модуле

This commit is contained in:
Mikhalkovich Stanislav 2025-10-21 13:59:12 +03:00
parent c63d812a5c
commit 141c4af231
26 changed files with 313 additions and 83 deletions

View file

@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "3";
public const string Minor = "11";
public const string Build = "0";
public const string Revision = "3673";
public const string Revision = "3676";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%MINOR%=11
%REVISION%=3673
%COREVERSION%=0
%REVISION%=3676
%MINOR%=11
%MAJOR%=3

View file

@ -0,0 +1,5 @@
begin
var s := 'arara';
s.CountOf('ara').Println;
s.CountOf('ara',allowOverlap := True).Println;
end.

View file

@ -0,0 +1,55 @@
uses TurtleABC;
begin
Mark;
SetScale(4);
SetOrigin(5,-35);
//SetOrigin(-20,-50);
Mark;
SetColor(Color.Blue);
Down;
loop 4 do
begin
Forw(20);
Turn(90);
end;
Up;
MoveTo(-30, 30);
Down;
SetColor(Color.Red);
Mark;
loop 3 do
begin
Forw(15);
Turn(120);
end;
Up;
MoveTo(30, 40);
Down;
SetColor(Color.Green);
Mark;
loop 20 do
begin
Forw(30);
Turn(100);
end;
Up;
MoveTo(-30, 90);
Mark;
Down;
SetColor(Color.Orange);
loop 5 do
begin
Forw(30);
Turn(144);
end;
DrawCoordPoints;
end.

View file

@ -1,5 +1,6 @@
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="Between">
<param name="Keyword" value="Clamp">
<param name="Keyword" value="CommandLineArgs">
<param name="Keyword" value="Dec">
<param name="Keyword" value="Eof">
@ -15,10 +16,12 @@
<param name="Keyword" value="Swap"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Îáùèå ïîäïðîãðàììû</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Between&lt;T&gt;(val, a, b: T): boolean; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает True, если значение val находится между a и b (включительно) независимо от порядка a и b</td></tr>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Between&lt;T&gt;(val, a, b: T; inclusive: boolean := true): boolean; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò True, åñëè çíà÷åíèå val íàõîäèòñÿ ìåæäó a è b íåçàâèñèìî îò ïîðÿäêà a è b</td></tr>
<tr><td><code><b>function</b> Clamp&lt;T&gt;(x,bottom,top: T): T; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Îãðàíè÷èâàåò çíà÷åíèå x äèàïàçîíîì [bottom, top]</td></tr>
<tr><td><code><b>function</b> CommandLineArgs: <b>array</b> <b>of</b> string;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает аргумены командой строки, с которыми была запущена программа</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ñïèñîê àðãóìåíòîâ êîìàíäîé ñòðîêè, ñ êîòîðûìè áûëà çàïóùåíà ïðîãðàììà</td></tr>
<tr><td><code><b>procedure</b> Dec(<b>var</b> i: integer);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Óìåíüøàåò çíà÷åíèå ïåðåìåííîé i íà 1</td></tr>
<tr><td><code><b>procedure</b> Dec(<b>var</b> i: integer; n: integer);</code>
@ -60,6 +63,6 @@
<tr><td><code><b>function</b> Succ(x: ïåðå÷èñëèìûé òèï): ïåðå÷èñëèìûé òèï;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ñëåäóþùåå çà x çíà÷åíèå</td></tr>
<tr><td><code><b>procedure</b> Swap&lt;T&gt;(<b>var</b> a, b: T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Меняет местами значения двух переменных</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Îáìåíèâàåò ìåñòàìè çíà÷åíèÿ äâóõ ïåðåìåííûõ</td></tr>
</table>
</body></HTML>

View file

@ -15,6 +15,7 @@
<param name="Keyword" value="Replace">
<param name="Keyword" value="Shuffle">
<param name="Keyword" value="Slice">
<param name="Keyword" value="Swap">
<param name="Keyword" value="Transform"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Ìåòîäû ðàñøèðåíèÿ ñïèñêîâ</H1>
@ -22,9 +23,9 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Íàõîäèò ïåðâóþ ïàðó ïîäðÿä èäóùèõ îäèíàêîâûõ ýëåìåíòîâ è âîçâðàùàåò èíäåêñ ïåðâîãî ýëåìåíòà ïàðû. Åñëè íå íàéäåí, âîçâðàùàåòñÿ -1</td></tr>
<tr><td><code><b>function</b> AdjacentFind&lt;T&gt;(Self: IList&lt;T&gt;; eq: (T,T)-&gt;boolean; start: integer := 0): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Íàõîäèò ïåðâóþ ïàðó ïîäðÿä èäóùèõ îäèíàêîâûõ ýëåìåíòîâ, èñïîëüçóÿ ôóíêöèþ ñðàâíåíèÿ eq, è âîçâðàùàåò èíäåêñ ïåðâîãî ýëåìåíòà ïàðû. Åñëè íå íàéäåí, âîçâðàùàåòñÿ -1</td></tr>
<tr><td><code><b>procedure</b> Fill&lt;T&gt;(Self: List&lt;T&gt;; x: T);</code>
<tr><td><code><b>function</b> Fill&lt;T&gt;(Self: List&lt;T&gt;; x: T): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Çàïîëíÿåò ýëåìåíòû ñïèñêà óêàçàííûì çíà÷åíèåì</td></tr>
<tr><td><code><b>procedure</b> Fill&lt;T&gt;(Self: List&lt;T&gt;; f: integer-&gt;T);</code>
<tr><td><code><b>function</b> Fill&lt;T&gt;(Self: List&lt;T&gt;; f: integer-&gt;T): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Çàïîëíÿåò ýëåìåíòû ñïèñêà çíà÷åíèÿìè, âû÷èñëÿåìûìè ïî íåêîòîðîìó ïðàâèëó</td></tr>
<tr><td><code><b>function</b> IndexMax&lt;T&gt;(Self: List&lt;T&gt;; index: integer := 0): integer; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò èíäåêñ ïåðâîãî ìàêñèìàëüíîãî ýëåìåíòà íà÷èíàÿ ñ ïîçèöèè index</td></tr>
@ -56,17 +57,19 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ñëó÷àéíûé ýëåìåíò ñïèñêà</td></tr>
<tr><td><code><b>function</b> RemoveLast&lt;T&gt;(Self: List&lt;T&gt;): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Óäàëÿåò ïîñëåäíèé ýëåìåíò. Åñëè ýëåìåíòîâ íåò, ãåíåðèðóåò èñêëþ÷åíèå</td></tr>
<tr><td><code><b>procedure</b> Replace&lt;T&gt;(Self: List&lt;T&gt;; oldValue, newValue: T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Çàìåíÿåò â ìàññèâå âñå âõîæäåíèÿ îäíîãî çíà÷åíèÿ íà äðóãîåÇàìåíÿåò â ñïèñêå âñå âõîæäåíèÿ îäíîãî çíà÷åíèÿ íà äðóãîå</td></tr>
<tr><td><code><b>function</b> Replace&lt;T&gt;(Self: List&lt;T&gt;; oldValue, newValue: T): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Çàìåíÿåò â ñïèñêå âñå âõîæäåíèÿ îäíîãî çíà÷åíèÿ íà äðóãîå</td></tr>
<tr><td><code><b>function</b> Shuffle&lt;T&gt;(Self: List&lt;T&gt;): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïåðåìåøèâàåò ýëåìåíòû ñïèñêà ñëó÷àéíûì îáðàçîì</td></tr>
<tr><td><code><b>function</b> Slice&lt;T&gt;(Self: List&lt;T&gt;; from, step: integer): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ñðåç ñïèñêà îò èíäåêñà from ñ øàãîì step</td></tr>
<tr><td><code><b>function</b> Slice&lt;T&gt;(Self: List&lt;T&gt;; from, step, count: integer): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ñðåç ñïèñêà îò èíäåêñà from ñ øàãîì step äëèíû íå áîëåå count</td></tr>
<tr><td><code><b>procedure</b> Transform&lt;T&gt;(Self: List&lt;T&gt;; f: T-&gt;T);</code>
<tr><td><code><b>function</b> Swap&lt;T&gt;(Self: List&lt;T&gt;; i, j: integer): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ìåíÿåò ìåñòàìè ýëåìåíòû ñïèñêà ñ èíäåêñàìè i è j</td></tr>
<tr><td><code><b>function</b> Transform&lt;T&gt;(Self: List&lt;T&gt;; f: T-&gt;T): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò ýëåìåíòû ìàññèâà èëè ñïèñêà ïî çàäàííîìó ïðàâèëó</td></tr>
<tr><td><code><b>procedure</b> Transform&lt;T&gt;(Self: List&lt;T&gt;; f: (T,integer)-&gt;T);</code>
<tr><td><code><b>function</b> Transform&lt;T&gt;(Self: List&lt;T&gt;; f: (T,integer)-&gt;T): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò ýëåìåíòû ìàññèâà èëè ñïèñêà ïî çàäàííîìó ïðàâèëó</td></tr>
</table>
</body></HTML>

View file

@ -29,10 +29,12 @@
<param name="Keyword" value="Min">
<param name="Keyword" value="Permutations">
<param name="Keyword" value="RandomElement">
<param name="Keyword" value="Replace">
<param name="Keyword" value="Shuffle">
<param name="Keyword" value="Slice">
<param name="Keyword" value="Sort">
<param name="Keyword" value="SortDescending">
<param name="Keyword" value="Swap">
<param name="Keyword" value="Transform">
<param name="Keyword" value="ðàñøèðåíèå"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
@ -144,9 +146,9 @@
<tr><td><code><b>function</b> Min(Self: <b>array</b> <b>of</b> real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ìèíèìàëüíûé ýëåìåíò</td></tr>
<tr><td><code><b>function</b> Permutations&lt;T&gt;(Self: <b>array</b> <b>of</b> T): <b>sequence </b> <b>of</b> <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает все перестановки множества элементов, заданного массивом</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò âñå ïåðåñòàíîâêè ýëåìåíòîâ ìàññèâà</td></tr>
<tr><td><code><b>function</b> Permutations&lt;T&gt;(Self: <b>sequence </b> <b>of</b> T): <b>sequence </b> <b>of</b> <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает все перестановки множества элементов, заданного последовательностью</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò âñå ïåðåñòàíîâêè ýëåìåíòîâ ïîñëåäîâàòåëüíîñòè</td></tr>
<tr><td><code><b>function</b> Permutations&lt;T&gt;(Self: <b>array</b> <b>of</b> T; m: integer): <b>sequence </b> <b>of</b> <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò âñå ÷àñòè÷íûå ïåðåñòàíîâêè èç n ýëåìåíòîâ ïî m</td></tr>
<tr><td><code><b>function</b> Permutations&lt;T&gt;(Self: <b>sequence </b> <b>of</b> T; m: integer): <b>sequence </b> <b>of</b> <b>array</b> <b>of</b> T;</code>
@ -157,6 +159,8 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò âñå ÷àñòè÷íûå ïåðåñòàíîâêè áóêâ ñòðîêè ïî m ñèìâîëîâ â âèäå ïîñëåäîâàòåëüíîñòè ñòðîê</td></tr>
<tr><td><code><b>function</b> RandomElement&lt;T&gt;(Self: <b>array</b> <b>of</b> T): T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ñëó÷àéíûé ýëåìåíò ìàññèâà</td></tr>
<tr><td><code><b>function</b> Replace&lt;T&gt;(Self: <b>array</b> <b>of</b> T; oldValue, newValue: T): <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Çàìåíÿåò â ìàññèâå âñå âõîæäåíèÿ îäíîãî çíà÷åíèÿ íà äðóãîå</td></tr>
<tr><td><code><b>function</b> Shuffle&lt;T&gt;(Self: <b>array</b> <b>of</b> T): <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïåðåìåøèâàåò ýëåìåíòû ìàññèâà ñëó÷àéíûì îáðàçîì</td></tr>
<tr><td><code><b>function</b> Slice&lt;T&gt;(Self: <b>array</b> <b>of</b> T; from, step: integer): <b>array</b> <b>of</b> T;</code>
@ -181,9 +185,11 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ìàññèâ ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
<tr><td><code><b>procedure</b> SortDescending&lt;T&gt;(Self: <b>array</b> <b>of</b> T; keySelector: T -&gt; string);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ìàññèâ ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
<tr><td><code><b>procedure</b> Transform&lt;T&gt;(Self: <b>array</b> <b>of</b> T; f: T-&gt;T);</code>
<tr><td><code><b>function</b> Swap&lt;T&gt;(Self: <b>array</b> <b>of</b> T; i, j: integer): <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ìåíÿåò ìåñòàìè ýëåìåíòû ìàññèâà ñ èíäåêñàìè i è j</td></tr>
<tr><td><code><b>function</b> Transform&lt;T&gt;(Self: <b>array</b> <b>of</b> T; f: T-&gt;T): <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò ýëåìåíòû ìàññèâà ïî çàäàííîìó ïðàâèëó</td></tr>
<tr><td><code><b>procedure</b> Transform&lt;T&gt;(Self: <b>array</b> <b>of</b> T; f: (T,integer)-&gt;T);</code>
<tr><td><code><b>function</b> Transform&lt;T&gt;(Self: <b>array</b> <b>of</b> T; f: (T,integer)-&gt;T): <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò ýëåìåíòû ìàññèâà ïî çàäàííîìó ïðàâèëó</td></tr>
</table>
</body></HTML>

View file

@ -13,7 +13,7 @@
<param name="Keyword" value="ToUpper"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Ìåòîäû ðàñøèðåíèÿ òèïà char</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Between(Self: char; a, b: char): boolean;</code>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Between(Self: char; a, b: char; inclusive: boolean := True): boolean;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò True åñëè çíà÷åíèå íàõîäèòñÿ ìåæäó äâóìÿ äðóãèìè</td></tr>
<tr><td><code><b>function</b> Code(Self: char): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Êîä ñèìâîëà â êîäèðîâêå Unicode</td></tr>

View file

@ -18,7 +18,7 @@
<param name="Keyword" value="To"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Ìåòîäû ðàñøèðåíèÿ òèïà integer</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Between(Self: integer; a, b: integer): boolean;</code>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Between(Self: integer; a, b: integer; inclusive: boolean := true): boolean;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò True åñëè çíà÷åíèå íàõîäèòñÿ ìåæäó äâóìÿ äðóãèìè</td></tr>
<tr><td><code><b>function</b> Clamp(Self: integer; bottom,top: integer): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ÷èñëî, îãðàíè÷åííîå äèàïàçîíîì îò bottom äî top âêëþ÷èòåëüíî</td></tr>

View file

@ -15,8 +15,8 @@
<param name="Keyword" value="TruncBigInteger"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Ìåòîäû ðàñøèðåíèÿ òèïà real</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Between(Self: real; a, b: real): boolean;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò True åñëè çíà÷åíèå íàõîäèòñÿ â äèàïàçîíå [a,b]</td></tr>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Between(Self: real; a, b: real; inclusive: boolean := True): boolean;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò True åñëè çíà÷åíèå íàõîäèòñÿ ìåæäó äâóìÿ äðóãèìè</td></tr>
<tr><td><code><b>function</b> Ceil(Self: real): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò íàìåíüøåå öåëîå, áîëüøåå èëè ðàâíîå âåùåñòâåííîìó ÷èñëó</td></tr>
<tr><td><code><b>function</b> Clamp(Self: real; bottom,top: real): real;</code>

View file

@ -19,6 +19,7 @@
<param name="Keyword" value="LastMinBy">
<param name="Keyword" value="MaxBy">
<param name="Keyword" value="MinBy">
<param name="Keyword" value="None">
<param name="Keyword" value="Numerate">
<param name="Keyword" value="Nwise">
<param name="Keyword" value="Order">
@ -44,6 +45,7 @@
<param name="Keyword" value="ToSet">
<param name="Keyword" value="ToSortedSet">
<param name="Keyword" value="UnZipTuple">
<param name="Keyword" value="Windowed">
<param name="Keyword" value="WriteLines">
<param name="Keyword" value="Zip">
<param name="Keyword" value="ZipTuple"></object>
@ -143,6 +145,8 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ïåðâûé ýëåìåíò ïîñëåäîâàòåëüíîñòè ñ ìàêñèìàëüíûì çíà÷åíèåì êëþ÷à</td></tr>
<tr><td><code><b>function</b> MinBy&lt;T, TKey&gt;(Self: <b>sequence </b> <b>of</b> T; keySelector: T -&gt; TKey): T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ïåðâûé ýëåìåíò ïîñëåäîâàòåëüíîñòè ñ ìèíèìàëüíûì çíà÷åíèåì êëþ÷à</td></tr>
<tr><td><code><b>function</b> None&lt;T&gt;(Self: <b>sequence </b> <b>of</b> T; pred: T-&gt;boolean): boolean;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò True, åñëè íè îäèí ýëåìåíò íå óäîâëåòâîðÿåò óñëîâèþ</td></tr>
<tr><td><code><b>function</b> Numerate&lt;T&gt;(Self: <b>sequence </b> <b>of</b> T): <b>sequence </b> <b>of</b> (integer, T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Íóìåðóåò ïîñëåäîâàòåëüíîñòü ñ åäèíèöû</td></tr>
<tr><td><code><b>function</b> Numerate&lt;T&gt;(Self: <b>sequence </b> <b>of</b> T; from: integer): <b>sequence </b> <b>of</b> (integer, T);</code>
@ -213,7 +217,7 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ðàçáèâàåò ïîñëåäîâàòåëüíîñòü íà äâå â ïîçèöèè ind. Ðåàëèçóåòñÿ äâóõïðîõîäíûì àëãîðèòìîì</td></tr>
<tr><td><code><b>function</b> Sum(Self: <b>sequence </b> <b>of</b> BigInteger): BigInteger;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ñóììó ýëåìåíòîâ ïîñëåäîâàòåëüíîñòè</td></tr>
<tr><td><code><b>function</b> Tabulate&lt;T, T1&gt;(Self: <b>sequence </b> <b>of</b> T; F: T-&gt;T1): <b>sequence </b> <b>of</b> (T, T1);</code>
<tr><td><code><b>function</b> Tabulate&lt;T, T1&gt;(Self: <b>sequence </b> <b>of</b> T; f: T-&gt;T1): <b>sequence </b> <b>of</b> (T, T1);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Òàáóëèðóåò ôóíêöèþ ïîñëåäîâàòåëüíîñòüþ</td></tr>
<tr><td><code><b>function</b> TakeLast&lt;T&gt;(Self: <b>sequence </b> <b>of</b> T; count: integer): <b>sequence </b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ïîñëåäíèå count ýëåìåíòîâ ïîñëåäîâàòåëüíîñòè</td></tr>
@ -231,6 +235,8 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ðàçúåäèíÿåò ïîñëåäîâàòåëüíîñòü òðåõýëåìåíòíûõ êîðòåæåé íà òðè ïîñëåäîâàòåëüíîñòè. Ðåàëèçóåòñÿ ìíîãîïðîõîäíûì àëãîðèòìîì</td></tr>
<tr><td><code><b>function</b> UnZipTuple&lt;T, T1, T2, T3&gt;(Self: <b>sequence </b> <b>of</b> (T, T1, T2, T3)): (<b>sequence </b> <b>of</b> T, <b>sequence </b> <b>of</b> T1, <b>sequence </b> <b>of</b> T2, <b>sequence </b> <b>of</b> T3);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ðàçúåäèíÿåò ïîñëåäîâàòåëüíîñòü ÷åòûðåõýëåìåíòíûõ êîðòåæåé íà ÷åòûðå ïîñëåäîâàòåëüíîñòè. Ðåàëèçóåòñÿ ìíîãîïðîõîäíûì àëãîðèòìîì</td></tr>
<tr><td><code><b>function</b> Windowed&lt;T&gt;(Self: <b>sequence </b> <b>of</b> T; n: integer): <b>sequence </b> <b>of</b> <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåâðàùàåò ïîñëåäîâàòåëüíîñòü â ïîñëåäîâàòåëüíîñòü ìàññèâîâ, ñîäåðæàùèõ n ñîñåäíèõ ýëåìåíòîâ</td></tr>
<tr><td><code><b>function</b> WriteLines(Self: <b>sequence </b> <b>of</b> string; fname: string): <b>sequence </b> <b>of</b> string;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âûâîäèò ïîñëåäîâàòåëüíîñòü ñòðîê â ôàéë</td></tr>
<tr><td><code><b>function</b> Zip&lt;T, T1, T2, TRes&gt;(Self: <b>sequence </b> <b>of</b> T; b: <b>sequence </b> <b>of</b> T1; c: <b>sequence </b> <b>of</b> T2; func: (T,T1,T2) -&gt; TRes): <b>sequence </b> <b>of</b> TRes;</code>

View file

@ -1,5 +1,6 @@
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="Between">
<param name="Keyword" value="CountOf">
<param name="Keyword" value="IndicesOf">
<param name="Keyword" value="InRange">
<param name="Keyword" value="Inverse">
@ -30,8 +31,10 @@
<param name="Keyword" value="TryToReal"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Ìåòîäû ðàñøèðåíèÿ òèïà string</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Between(Self: string; a, b: string): boolean;</code>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Between(Self: string; a, b: string; inclusive: boolean := True): boolean;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò True åñëè ñòðîêà íàõîäèòñÿ ìåæäó äâóìÿ äðóãèìè (ëåêñèêîãðàôè÷åñêîå ñðàâíåíèå)</td></tr>
<tr><td><code><b>function</b> CountOf(Self: string; substring: string; allowOverlap: boolean := false): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò êîëè÷åñòâî âõîæäåíèé ïîäñòðîêè â ñòðîêó</td></tr>
<tr><td><code><b>function</b> IndicesOf(Self, SubS: string; overlay: boolean := False): <b>sequence </b> <b>of</b> integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ïîñëåäîâàòåëüíîñòü èíäåêñîâ âõîæäåíèé ïîäñòðîêè â îñíîâíóþ ñòðîêóÏàðàìåòð overlay îïðåäåëÿåò, ðàçðåøåíû ëè ïåðåêðûòèÿ âõîæäåíèé ïîäñòðîê</td></tr>
<tr><td><code><b>function</b> InRange(Self: string; a, b: string): boolean;</code>

View file

@ -3,6 +3,8 @@
<param name="Keyword" value="ArcCos">
<param name="Keyword" value="ArcSin">
<param name="Keyword" value="ArcTan">
<param name="Keyword" value="Atan2">
<param name="Keyword" value="Cbrt">
<param name="Keyword" value="Ceil">
<param name="Keyword" value="Cos">
<param name="Keyword" value="Cosh">
@ -10,7 +12,12 @@
<param name="Keyword" value="Exp">
<param name="Keyword" value="Floor">
<param name="Keyword" value="Frac">
<param name="Keyword" value="GCD">
<param name="Keyword" value="Hypot">
<param name="Keyword" value="Int">
<param name="Keyword" value="ISqrt">
<param name="Keyword" value="LCM">
<param name="Keyword" value="Lerp">
<param name="Keyword" value="Ln">
<param name="Keyword" value="Log">
<param name="Keyword" value="Log10">
@ -26,8 +33,10 @@
<param name="Keyword" value="Random3">
<param name="Keyword" value="Randomize">
<param name="Keyword" value="RandomReal">
<param name="Keyword" value="Remap">
<param name="Keyword" value="Round">
<param name="Keyword" value="RoundBigInteger">
<param name="Keyword" value="SetRandomSeed">
<param name="Keyword" value="Sign">
<param name="Keyword" value="Sin">
<param name="Keyword" value="Sinh">
@ -47,6 +56,10 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò óãîë â ðàäèàíàõ, ñèíóñ êîòîðîãî ðàâåí x, -1&lt;=x&lt;=1</td></tr>
<tr><td><code><b>function</b> ArcTan(x: real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò óãîë â ðàäèàíàõ, òàíãåíñ êîòîðîãî ðàâåí x</td></tr>
<tr><td><code><b>function</b> Atan2(y, x: real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò óãîë (â ðàäèàíàõ) ìåæäó ïîëîæèòåëüíîé îñüþ X è âåêòîðîì (x, y) ñ ó÷¸òîì êâàäðàíòà</td></tr>
<tr><td><code><b>function</b> Cbrt(x: real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò êóáè÷åñêèé êîðåíü ÷èñëà x (x ìîæåò áûòü &lt; 0)</td></tr>
<tr><td><code><b>function</b> Ceil(x: real): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò íàèìåíüøåå öåëîå &gt;= x</td></tr>
<tr><td><code><b>function</b> Cos(x: real): real;</code>
@ -61,8 +74,26 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò íàèáîëüøåå öåëîå &lt;= x</td></tr>
<tr><td><code><b>function</b> Frac(x: real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò äðîáíóþ ÷àñòü ÷èñëà x</td></tr>
<tr><td><code><b>function</b> GCD(a, b: integer): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò íàèáîëüøèé îáùèé äåëèòåëü äâóõ öåëûõ ÷èñåë</td></tr>
<tr><td><code><b>function</b> GCD(a, b: int64): int64;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò íàèáîëüøèé îáùèé äåëèòåëü äâóõ öåëûõ ÷èñåë</td></tr>
<tr><td><code><b>function</b> GCD(a, b: BigInteger): BigInteger;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò íàèáîëüøèé îáùèé äåëèòåëü äâóõ BigInteger</td></tr>
<tr><td><code><b>function</b> Hypot(x, y: real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ãèïîòåíóçó òðåóãîëüíèêà ñ êàòåòàìè x,y</td></tr>
<tr><td><code><b>function</b> Int(x: real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò öåëóþ ÷àñòü ÷èñëà x</td></tr>
<tr><td><code><b>function</b> ISqrt(n: int64): int64;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âû÷èñëÿåò öåëî÷èñëåííûé êâàäðàòíûé êîðåíü èç n.Âîçâðàùàåò íàèáîëüøåå öåëîå ÷èñëî r, òàêîå ÷òî r? ? n &lt; (r+1)?Åñëè n ÿâëÿåòñÿ òî÷íûì êâàäðàòîì, âîçâðàùàåò òî÷íûé êîðåíü</td></tr>
<tr><td><code><b>function</b> ISqrt(n: BigInteger): BigInteger;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âû÷èñëÿåò öåëî÷èñëåííûé êâàäðàòíûé êîðåíü èç n.Âîçâðàùàåò íàèáîëüøåå öåëîå ÷èñëî r, òàêîå ÷òî r? ? n &lt; (r+1)?Åñëè n ÿâëÿåòñÿ òî÷íûì êâàäðàòîì, âîçâðàùàåò òî÷íûé êîðåíü</td></tr>
<tr><td><code><b>function</b> LCM(a, b: int64): int64;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò íàèìåíüøåå îáùåå êðàòíîå äâóõ öåëûõ ÷èñåë</td></tr>
<tr><td><code><b>function</b> LCM(a, b: BigInteger): BigInteger;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò íàèìåíüøåå îáùåå êðàòíîå äâóõ BigInteger</td></tr>
<tr><td><code><b>function</b> Lerp(a, b, t: real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò çíà÷åíèå íà îòðåçêå [a, b] â ïîçèöèè t ? [0, 1]Ïðè t=0 — a, ïðè t=1 — b, ïðè t=0.5 — ñåðåäèíà ìåæäó íèìè</td></tr>
<tr><td><code><b>function</b> Ln(x: real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò íàòóðàëüíûé ëîãàðèôì ÷èñëà x</td></tr>
<tr><td><code><b>function</b> Log(x: real): real;</code>
@ -150,13 +181,17 @@
<tr><td><code><b>procedure</b> Randomize;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Èíèöèàëèçèðóåò äàò÷èê ïñåâäîñëó÷àéíûõ ÷èñåë</td></tr>
<tr><td><code><b>function</b> RandomReal(a, b: real; digits: integer := 2): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает случайное вещественное в диапазоне [a,b] c количеством значащих цифр после точки, равным digits</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ñëó÷àéíîå âåùåñòâåííîå â äèàïàçîíå [a,b], îêðóãëåííîå äî digits çíàêîâ ïîñëå äåñÿòè÷íîé òî÷êè</td></tr>
<tr><td><code><b>function</b> Remap(x, a1, b1, a2, b2: real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò x èç äèàïàçîíà [a1,b1] â äèàïàçîí [a2,b2] ñ ñîõðàíåíèåì îòíîñèòåëüíîé ïîçèöèè</td></tr>
<tr><td><code><b>function</b> Round(x: real): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò x, îêðóãëåííîå äî áëèæàéøåãî öåëîãî. Åñëè âåùåñòâåííîå íàõîäèòñÿ ïîñåðåäèíå ìåæäó äâóìÿ öåëûìè,òî îêðóãëåíèå îñóùåñòâëÿåòñÿ ê áëèæàéøåìó ÷åòíîìó (áàíêîâñêîå îêðóãëåíèå): Round(2.5)=2, Round(3.5)=4</td></tr>
<tr><td><code><b>function</b> Round(x: real; digits: integer): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò x, îêðóãëåííîå äî áëèæàéøåãî âåùåñòâåííîãî ñ digits çíàêàìè ïîñëå äåñÿòè÷íîé òî÷êè</td></tr>
<tr><td><code><b>function</b> RoundBigInteger(x: real): BigInteger;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò x, îêðóãëåííîå äî áëèæàéøåãî äëèííîãî öåëîãî</td></tr>
<tr><td><code><b>procedure</b> SetRandomSeed(seed: integer);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Èíèöèàëèçèðóåò äàò÷èê ïñåâäîñëó÷àéíûõ ÷èñåë, èñïîëüçóÿ çíà÷åíèå seed. Ïðè îäíîì è òîì æå seed ãåíåðèðóþòñÿ îäèíàêîâûå ïñåâäîñëó÷àéíûå ïîñëåäîâàòåëüíîñòè</td></tr>
<tr><td><code><b>function</b> Sign(x: ÷èñëî): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò -1, 0 èëè +1 â çàâèñèìîñòè îò çíàêà ÷èñëà x</td></tr>
<tr><td><code><b>function</b> Sin(x: real): real;</code>

View file

@ -19,21 +19,21 @@
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Êîðîòêèå ôóíêöèè Lst, LLst, HSet, SSet, Dict, KV</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Dict&lt;TKey, TVal&gt;(<b>params</b> pairs: <b>array</b> <b>of</b> KeyValuePair&lt;TKey, TVal&gt;): Dictionary&lt;TKey, TVal&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь пар элементов (ключ, значение)</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь из набора пар элементов (ключ, значение)</td></tr>
<tr><td><code><b>function</b> Dict&lt;TKey, TVal&gt;(<b>params</b> pairs: <b>array</b> <b>of</b> (TKey, TVal)): Dictionary&lt;TKey, TVal&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь пар элементов (ключ, значение)</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь из набора пар элементов (ключ, значение), заданных как кортежи</td></tr>
<tr><td><code><b>function</b> Dict&lt;TKey, TVal&gt;(pairs: <b>sequence </b> <b>of</b> KeyValuePair&lt;TKey, TVal&gt;): Dictionary&lt;TKey, TVal&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь пар элементов (ключ, значение), построенный по последовательности пар</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь из последовательности пар элементов (ключ, значение)</td></tr>
<tr><td><code><b>function</b> Dict&lt;TKey, TVal&gt;(pairs: <b>sequence </b> <b>of</b> (TKey, TVal)): Dictionary&lt;TKey, TVal&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь пар элементов (ключ, значение), построенный по последовательности пар</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь из последовательности пар элементов (ключ, значение), заданных как кортежи</td></tr>
<tr><td><code><b>function</b> Dict&lt;TKey, TVal&gt;(keys: <b>sequence </b> <b>of</b> TKey; values: <b>sequence </b> <b>of</b> TVal): Dictionary&lt;TKey, TVal&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь пар элементов (ключ, значение), построенный по последовательностям ключей и значений</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь словарь из двух последовательностей — ключей и значений</td></tr>
<tr><td><code><b>function</b> DictInt(<b>params</b> pairs: <b>array</b> <b>of</b> (integer, integer)): Dictionary&lt;integer, integer&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь пар элементов (целое, целое)</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь из набора пар элементов (целое, целое)</td></tr>
<tr><td><code><b>function</b> DictStr(<b>params</b> pairs: <b>array</b> <b>of</b> (string, string)): Dictionary&lt;string, string&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь пар элементов (строка, строка)</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь из набора пар элементов (строка, строка)</td></tr>
<tr><td><code><b>function</b> DictStrInt(<b>params</b> pairs: <b>array</b> <b>of</b> (string, integer)): Dictionary&lt;string, integer&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь пар элементов (строка, целое)</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает словарь из набора пар элементов (строка, целое)</td></tr>
<tr><td><code><b>function</b> HSet&lt;T&gt;(<b>params</b> a: <b>array</b> <b>of</b> T): HashSet&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ìíîæåñòâî íà áàçå õåø òàáëèöû, çàïîëíåííîå óêàçàííûìè çíà÷åíèÿìè</td></tr>
<tr><td><code><b>function</b> HSet&lt;T&gt;(a: <b>sequence </b> <b>of</b> T): HashSet&lt;T&gt;;</code>

View file

@ -10,11 +10,11 @@
<param name="Keyword" value="ReadArrReal">
<param name="Keyword" value="ReadArrString"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Подпрограммы для создания динамических массивов</H1>
</HEAD><body><H1>Подпрограммы для создания одномерных массивов</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Arr&lt;T&gt;(<b>params</b> a: <b>array</b> <b>of</b> T): <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ìàññèâ, çàïîëíåííûé óêàçàííûìè çíà÷åíèÿìè</td></tr>
<tr><td><code><b>function</b> Arr&lt;T&gt;(a: <b>sequence </b> <b>of</b> T): <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает массив, заполненный значениями из последовательнсти</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает массив, заполненный значениями из последовательности</td></tr>
<tr><td><code><b>function</b> Arr(a: IntRange): <b>array</b> <b>of</b> integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ìàññèâ, çàïîëíåííûé äèàïàçîíîì çíà÷åíèé</td></tr>
<tr><td><code><b>function</b> Arr(a: CharRange): <b>array</b> <b>of</b> char;</code>

View file

@ -14,25 +14,25 @@
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Ïîäïðîãðàììû äëÿ ðàáîòû ñ äèíàìè÷åñêèìè ìàññèâàìè</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> ArrEqual&lt;T&gt;(a, b: <b>array</b> <b>of</b> T): boolean;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>function</b> Copy(a: <b>array</b> <b>of</b> T): <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>function</b> High(a: <b>array</b> <b>of</b> T): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>function</b> Length(a: <b>array</b> <b>of</b> T): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>function</b> Length(a: <b>array</b> <b>of</b> T; dim: integer): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dim</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dim</td></tr>
<tr><td><code><b>function</b> Low(a: <b>array</b> <b>of</b> T): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò 0</td></tr>
<tr><td><code><b>function</b> MatrEqual&lt;T&gt;(a, b: <b>array</b> [,] <b>of</b> T): boolean;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>function</b> NextPermutation(a: <b>array</b> <b>of</b> integer): boolean;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> False, <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> Reverse&lt;T&gt;(a: <b>array</b> <b>of</b> T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> Reverse&lt;T&gt;(a: <b>array</b> <b>of</b> T; index, count: integer);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> count, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> index</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> count, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> index</td></tr>
<tr><td><code><b>procedure</b> Reverse&lt;T&gt;(a: List&lt;T&gt;);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Èçìåíÿåò ïîðÿäîê ýëåìåíòîâ â ñïèñêå íà ïðîòèâîïîëîæíûé</td></tr>
<tr><td><code><b>procedure</b> Reverse&lt;T&gt;(a: List&lt;T&gt;; index, count: integer);</code>
@ -42,25 +42,25 @@
<tr><td><code><b>procedure</b> Reverse(<b>var</b> s: string; index, count: integer);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Èçìåíÿåò ïîðÿäîê ñèìâîëîâ â ÷àñòè ñòðîêè äëèíû count íà ïðîòèâîïîëîæíûé, íà÷èíàÿ ñ èíäåêñà index</td></tr>
<tr><td><code><b>procedure</b> SetLength(<b>var</b> a: <b>array</b> <b>of</b> T; n: integer);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> SetLength(<b>var</b> a: <b>array</b> [,...,] <b>of</b> T; n1,n2,...: integer);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> Shuffle&lt;T&gt;(a: <b>array</b> <b>of</b> T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> Shuffle&lt;T&gt;(l: List&lt;T&gt;);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(a: <b>array</b> <b>of</b> T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> Sort(a: <b>array</b> <b>of</b> string);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(a: <b>array</b> <b>of</b> T; cmp: (T,T)-&gt;integer);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cmp</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cmp</td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(a: <b>array</b> <b>of</b> T; less: (T,T)-&gt;boolean);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> less</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> less</td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T,TKey&gt;(a: <b>array</b> <b>of</b> T; keySelector: T-&gt;TKey);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(a: <b>array</b> <b>of</b> T; keySelector: T-&gt;string);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(l: List&lt;T&gt;);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ñïèñîê ïî âîçðàñòàíèþ</td></tr>
<tr><td><code><b>procedure</b> Sort(<b>var</b> l: List&lt;string&gt;);</code>
@ -74,13 +74,13 @@
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(<b>var</b> l: List&lt;T&gt;; keySelector: T-&gt;string);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ñïèñîê ïî âîçðàñòàíèþ ïî êëþ÷ó</td></tr>
<tr><td><code><b>procedure</b> SortDescending&lt;T&gt;(a: <b>array</b> <b>of</b> T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> SortDescending(a: <b>array</b> <b>of</b> string);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> SortDescending&lt;T,T1&gt;(<b>var</b> a: <b>array</b> <b>of</b> T; keySelector: T-&gt;T1);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> SortDescending&lt;T&gt;(<b>var</b> a: <b>array</b> <b>of</b> T; keySelector: T-&gt;string);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD></td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD></td></tr>
<tr><td><code><b>procedure</b> SortDescending&lt;T&gt;(l: List&lt;T&gt;);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ñïèñîê ïî óáûâàíèþ</td></tr>
<tr><td><code><b>procedure</b> SortDescending(<b>var</b> l: List&lt;string&gt;);</code>

View file

@ -1,5 +1,6 @@
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="Chr">
<param name="Keyword" value="ChrAnsi">
<param name="Keyword" value="ChrUnicode">
<param name="Keyword" value="ChrWindows">
<param name="Keyword" value="Dec">
@ -7,6 +8,7 @@
<param name="Keyword" value="LowCase">
<param name="Keyword" value="LowerCase">
<param name="Keyword" value="Ord">
<param name="Keyword" value="OrdAnsi">
<param name="Keyword" value="OrdUnicode">
<param name="Keyword" value="OrdWindows">
<param name="Keyword" value="Pred">
@ -17,6 +19,8 @@
</HEAD><body><H1>Ïîäïðîãðàììû äëÿ ðàáîòû ñ ñèìâîëàìè</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Chr(a: word): char;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò êîä â ñèìâîë â êîäèðîâêå Unicode</td></tr>
<tr><td><code><b>function</b> ChrAnsi(a: byte): char;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò êîä â ñèìâîë â êîäèðîâêå Windows. Óñòàðåëî. Èñïîëüçóéòå ChrWindows</td></tr>
<tr><td><code><b>function</b> ChrUnicode(a: word): char;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò êîä â ñèìâîë â êîäèðîâêå Unicode</td></tr>
<tr><td><code><b>function</b> ChrWindows(a: byte): char;</code>
@ -35,6 +39,8 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò ñèìâîë â íèæíèé ðåãèñòð</td></tr>
<tr><td><code><b>function</b> Ord(a: char): word;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò ñèìâîë â êîä â êîäèðîâêå Unicode</td></tr>
<tr><td><code><b>function</b> OrdAnsi(a: char): byte;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò ñèìâîë â êîä â êîäèðîâêå Windows. Óñòàðåëî. Èñïîëüçóéòå OrdWindows</td></tr>
<tr><td><code><b>function</b> OrdUnicode(a: char): word;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò ñèìâîë â êîä â êîäèðîâêå Unicode</td></tr>
<tr><td><code><b>function</b> OrdWindows(a: char): byte;</code>

View file

@ -11,7 +11,7 @@
<param name="Keyword" value="ReadMatrReal">
<param name="Keyword" value="Transpose"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Подпрограммы для создания двумерных динамических массивов</H1>
</HEAD><body><H1>Подпрограммы для создания двумерных массивов</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Matr&lt;T&gt;(m,n: integer; <b>params</b> data: <b>array</b> <b>of</b> T): <b>array</b> [,] <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò äâóìåðíûé ìàññèâ ðàçìåðà m x n, çàïîëíåííûé óêàçàííûìè çíà÷åíèÿìè ïî ñòðîêàì</td></tr>
<tr><td><code><b>function</b> Matr&lt;T&gt;(<b>params</b> aa: <b>array</b> <b>of</b> <b>array</b> <b>of</b> T): <b>array</b> [,] <b>of</b> T;</code>
@ -43,9 +43,9 @@
<tr><td><code><b>function</b> MatrRandomReal(m: integer := 5; n: integer := 5; a: real := 0; b: real := 10; digits: integer := 2): <b>array</b> [,] <b>of</b> real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò äâóìåðíûé ìàññèâ ðàçìåðà m x n, çàïîëíåííûé ñëó÷àéíûìè âåùåñòâåííûìè çíà÷åíèÿìè</td></tr>
<tr><td><code><b>function</b> ReadMatrInteger(m, n: integer): <b>array</b> [,] <b>of</b> integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает матрицу m на n целых, введенных с клавиатуры</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает двумерный массив размера m x n из целых, введенных с клавиатуры</td></tr>
<tr><td><code><b>function</b> ReadMatrReal(m, n: integer): <b>array</b> [,] <b>of</b> real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает матрицу m на n вещественных, введенных с клавиатуры</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает двумерный массив размера m x n из вещественных, введенных с клавиатуры</td></tr>
<tr><td><code><b>function</b> Transpose&lt;T&gt;(a: <b>array</b> [,] <b>of</b> T): <b>array</b> [,] <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Òðàíñïîíèðóåò äâóìåðíûé ìàññèâ</td></tr>
</table>

View file

@ -1,6 +1,7 @@
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="Cartesian">
<param name="Keyword" value="Iterate">
<param name="Keyword" value="Linspace">
<param name="Keyword" value="PartitionPoints">
<param name="Keyword" value="Range">
<param name="Keyword" value="ReadSeqInteger">
@ -20,23 +21,25 @@
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Ïîäïðîãðàììû äëÿ ãåíåðàöèè ïîñëåäîâàòåëüíîñòåé</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Cartesian&lt;T, T1, TRes&gt;(a: <b>sequence </b> <b>of</b> T; b: <b>sequence </b> <b>of</b> T1; func: (T,T1)-&gt;TRes): <b>sequence </b> <b>of</b> TRes;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает декартово произведение последовательностей, проектируя каждую пару на значение</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает все комбинации элементов двух последовательностей, проектируя каждую пару на значение</td></tr>
<tr><td><code><b>function</b> Cartesian&lt;T, T1, T2, TRes&gt;(a: <b>sequence </b> <b>of</b> T; b: <b>sequence </b> <b>of</b> T1; c: <b>sequence </b> <b>of</b> T2; func: (T,T1,T2)-&gt;TRes): <b>sequence </b> <b>of</b> TRes;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает декартово произведение последовательностей, проектируя каждую тройку на значение</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает все комбинации элементов последовательностей, проектируя каждую тройку на значение</td></tr>
<tr><td><code><b>function</b> Cartesian&lt;T, T1, T2, T3, TRes&gt;(a: <b>sequence </b> <b>of</b> T; b: <b>sequence </b> <b>of</b> T1; c: <b>sequence </b> <b>of</b> T2; d: <b>sequence </b> <b>of</b> T3; func: (T,T1,T2,T3)-&gt;TRes): <b>sequence </b> <b>of</b> TRes;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает декартово произведение последовательностей, проектируя каждую четвёрку на значение</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает все комбинации элементов последовательностей, проектируя каждую четвёрку на значение</td></tr>
<tr><td><code><b>function</b> Cartesian&lt;T, T1, T2, T3, T4, TRes&gt;(a: <b>sequence </b> <b>of</b> T; b: <b>sequence </b> <b>of</b> T1; c: <b>sequence </b> <b>of</b> T2; d: <b>sequence </b> <b>of</b> T3; e: <b>sequence </b> <b>of</b> T4; func: (T,T1,T2,T3,T4)-&gt;TRes): <b>sequence </b> <b>of</b> TRes;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает декартово произведение последовательностей, проектируя каждую пятёрку на значение</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает все комбинации элементов последовательностей, проектируя каждую пятёрку на значение</td></tr>
<tr><td><code><b>function</b> Cartesian&lt;T, T1&gt;(a: <b>sequence </b> <b>of</b> T; b: <b>sequence </b> <b>of</b> T1): <b>sequence </b> <b>of</b> (T, T1);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает декартово произведение последовательностей в виде последовательности пар</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает все комбинации элементов последовательностей в виде последовательности пар</td></tr>
<tr><td><code><b>function</b> Cartesian&lt;T, T1, T2&gt;(a: <b>sequence </b> <b>of</b> T; b: <b>sequence </b> <b>of</b> T1; c: <b>sequence </b> <b>of</b> T2): <b>sequence </b> <b>of</b> (T, T1, T2);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает декартово произведение последовательностей в виде последовательности троек</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает все комбинации элементов последовательностей в виде последовательности троек</td></tr>
<tr><td><code><b>function</b> Cartesian&lt;T, T1, T2, T3&gt;(a: <b>sequence </b> <b>of</b> T; b: <b>sequence </b> <b>of</b> T1; c: <b>sequence </b> <b>of</b> T2; d: <b>sequence </b> <b>of</b> T3): <b>sequence </b> <b>of</b> (T, T1, T2, T3);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает декартово произведение последовательностей в виде последовательности четвёрок</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает все комбинации элементов последовательностей в виде последовательности четвёрок</td></tr>
<tr><td><code><b>function</b> Cartesian&lt;T, T1, T2, T3, T4&gt;(a: <b>sequence </b> <b>of</b> T; b: <b>sequence </b> <b>of</b> T1; c: <b>sequence </b> <b>of</b> T2; d: <b>sequence </b> <b>of</b> T3; e: <b>sequence </b> <b>of</b> T4): <b>sequence </b> <b>of</b> (T, T1, T2, T3, T4);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает декартово произведение последовательностей в виде последовательности пятёрок</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает все комбинации элементов последовательностей в виде последовательности пятёрок</td></tr>
<tr><td><code><b>function</b> Iterate&lt;T&gt;(first: T; next: T-&gt;T): <b>sequence </b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò áåñêîíå÷íóþ ðåêóððåíòíóþ ïîñëåäîâàòåëüíîñòü ýëåìåíòîâ, çàäàâàåìóþ íà÷àëüíûì ýëåìåíòîì first è ôóíêöèåé next</td></tr>
<tr><td><code><b>function</b> Linspace(a, b: real; n: integer): <b>sequence </b> <b>of</b> real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает n равномерно распределённых точек между a и b включительно (аналог numpy.linspace)</td></tr>
<tr><td><code><b>function</b> PartitionPoints(a, b: real; n: integer): <b>sequence </b> <b>of</b> real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ïîñëåäîâàòåëüíîñòü âåùåñòâåííûõ â òî÷êàõ ðàçáèåíèÿ îòðåçêà [a,b] íà n ðàâíûõ ÷àñòåé</td></tr>
<tr><td><code><b>function</b> Range(a, b: integer): <b>sequence </b> <b>of</b> integer;</code>
@ -78,7 +81,7 @@
<tr><td><code><b>function</b> ReadSeqStringWhile(prompt: string; cond: string-&gt;boolean): <b>sequence </b> <b>of</b> string;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âûâîäèò ïðèãëàøåíèå ê ââîäó è âîçâðàùàåò ïîñëåäîâàòåëüíîñòü ñòðîê, ââîäèìûõ ñ êëàâèàòóðû ïîêà âûïîëíÿåòñÿ îïðåäåëåííîå óñëîâèå</td></tr>
<tr><td><code><b>function</b> Seq&lt;T&gt;(<b>params</b> a: <b>array</b> <b>of</b> T): <b>sequence </b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает последовательность указанных элементов</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает последовательность из указанных элементов</td></tr>
<tr><td><code><b>function</b> SeqFill&lt;T&gt;(count: integer; x: T): <b>sequence </b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ïîñëåäîâàòåëüíîñòü èç count ýëåìåíòîâ x</td></tr>
<tr><td><code><b>function</b> SeqGen&lt;T&gt;(count: integer; f: integer-&gt;T): <b>sequence </b> <b>of</b> T;</code>

View file

@ -1 +1 @@
3.11.0.3673
3.11.0.3676

View file

@ -1 +1 @@
!define VERSION '3.11.0.3673'
!define VERSION '3.11.0.3676'

View file

@ -1902,6 +1902,17 @@ function Lerp(a, b, t: real): real;
/// Преобразует x из диапазона [a1,b1] в диапазон [a2,b2] с сохранением относительной позиции
function Remap(x, a1, b1, a2, b2: real): real;
/// Возвращает наибольший общий делитель двух целых чисел
function GCD(a, b: integer): integer;
/// Возвращает наибольший общий делитель двух целых чисел
function GCD(a, b: int64): int64;
/// Возвращает наибольший общий делитель двух BigInteger
function GCD(a, b: BigInteger): BigInteger;
/// Возвращает наименьшее общее кратное двух целых чисел
function LCM(a, b: int64): int64;
/// Возвращает наименьшее общее кратное двух BigInteger
function LCM(a, b: BigInteger): BigInteger;
/// Инициализирует датчик псевдослучайных чисел
procedure Randomize;
/// Инициализирует датчик псевдослучайных чисел, используя значение seed. При одном и том же seed генерируются одинаковые псевдослучайные последовательности
@ -9525,6 +9536,48 @@ function Lerp(a, b, t: real): real := a + (b - a) * t;
function Remap(x, a1, b1, a2, b2: real): real := a2 + (x - a1) * (b2 - a2) / (b1 - a1);
/// Возвращает наибольший общий делитель двух целых чисел
function GCD(a, b: integer): integer;
begin
var (x, y) := (Abs(a), Abs(b));
while y <> 0 do
(x, y) := (y, x mod y);
Result := x;
end;
/// Возвращает наибольший общий делитель двух больших целых чисел
function GCD(a, b: int64): int64;
begin
var (x, y) := (Abs(a), Abs(b));
while y <> 0 do
(x, y) := (y, x mod y);
Result := x;
end;
/// Возвращает наибольший общий делитель двух BigInteger
function GCD(a, b: BigInteger): BigInteger;
begin
var (x, y) := (Abs(a), Abs(b));
while y <> 0 do
(x, y) := (y, x mod y);
Result := x;
end;
/// Возвращает наименьшее общее кратное двух больших целых чисел
function LCM(a, b: int64): int64;
begin
if (a = 0) or (b = 0) then
Result := 0
else Result := Abs(a div GCD(a, b)) * Abs(b);
end;
/// Возвращает наименьшее общее кратное двух BigInteger
function LCM(a, b: BigInteger): BigInteger;
begin
if (a = 0) or (b = 0) then
Result := 0
else Result := Abs(a div GCD(a, b)) * Abs(b);
end;
procedure Randomize;
begin
@ -13878,7 +13931,7 @@ begin
Result := True;
end;
/// Возвращает все перестановки множества элементов, заданного массивом
/// Возвращает все перестановки элементов массива
function Permutations<T>(Self: array of T): sequence of array of T; extensionmethod;
begin
var a := Self;
@ -13892,7 +13945,7 @@ begin
until not NextPermutation(ind);
end;
/// Возвращает все перестановки множества элементов, заданного последовательностью
/// Возвращает все перестановки элементов последовательности
function Permutations<T>(Self: sequence of T): sequence of array of T; extensionmethod;
begin
Result := Self.ToArray.Permutations
@ -15021,6 +15074,31 @@ begin
Result := Self[Random(Self.Length)+1];
end;
/// Возвращает количество вхождений подстроки в строку
function CountOf(Self: string; substring: string; allowOverlap: boolean := false): integer; extensionmethod;
begin
if string.IsNullOrEmpty(substring) then
raise new System.ArgumentException('Подстрока не может быть пустой');
Result := 0;
var index := 0;
var substringLength := substring.Length;
while true do
begin
index := Self.IndexOf(substring, index);
if index = -1 then
break;
Result += 1;
if allowOverlap then
index += 1 // Для пересекающихся вхождений сдвигаем на 1 символ
else index += substringLength; // Для непересекающихся - на длину подстроки
end;
end;
///--
function CreateSliceFromStringInternal(Self: string; from, step, count: integer): string;
begin

View file

@ -65,7 +65,7 @@ procedure SetScale(s: real);
procedure SetOrigin(x,y: real);
/// Рисует точки в целочисленных координатах на всём экране
procedure DrawCoordPoints;
procedure DrawCoordPoints(R: integer := 0; DotsColor: GraphABC.Color := Color.Black);
implementation
@ -199,9 +199,8 @@ begin
GraphABC.MoveTo(Round(screenOriginX),Round(screenOriginY));
end;
procedure DrawCoordPoints;
procedure DrawCoordPoints(R: integer; DotsColor: GraphABC.Color);
begin
SetColor(color.Gray);
var x1 := screenOriginX;
while x1 >= 0 do
x1 -= scale;
@ -223,13 +222,15 @@ begin
Swap(yy1,yy2);
LockDrawing;
Brush.Color := DotsColor;
for var x := xx1 to xx2 do
for var y := yy1 to yy2 do
begin
var screenX := RealToScreenX(x);
var screenY := RealToScreenY(y);
Brush.Color := Color.Black;
PutPixel(screenX,screenY,Color.Black);
if R = 0 then
PutPixel(screenX,screenY,DotsColor)
else FillCircle(screenX,screenY,R)
end;
UnLockDrawing
end;

View file

@ -15074,6 +15074,31 @@ begin
Result := Self[Random(Self.Length)+1];
end;
/// Возвращает количество вхождений подстроки в строку
function CountOf(Self: string; substring: string; allowOverlap: boolean := false): integer; extensionmethod;
begin
if string.IsNullOrEmpty(substring) then
raise new System.ArgumentException('Подстрока не может быть пустой');
Result := 0;
var index := 0;
var substringLength := substring.Length;
while true do
begin
index := Self.IndexOf(substring, index);
if index = -1 then
break;
Result += 1;
if allowOverlap then
index += 1 // Для пересекающихся вхождений сдвигаем на 1 символ
else index += substringLength; // Для непересекающихся - на длину подстроки
end;
end;
///--
function CreateSliceFromStringInternal(Self: string; from, step, count: integer): string;
begin

View file

@ -65,7 +65,7 @@ procedure SetScale(s: real);
procedure SetOrigin(x,y: real);
/// Рисует точки в целочисленных координатах на всём экране
procedure DrawCoordPoints;
procedure DrawCoordPoints(R: integer := 0; DotsColor: GraphABC.Color := Color.Black);
implementation
@ -199,9 +199,8 @@ begin
GraphABC.MoveTo(Round(screenOriginX),Round(screenOriginY));
end;
procedure DrawCoordPoints;
procedure DrawCoordPoints(R: integer; DotsColor: GraphABC.Color);
begin
SetColor(color.Gray);
var x1 := screenOriginX;
while x1 >= 0 do
x1 -= scale;
@ -223,13 +222,15 @@ begin
Swap(yy1,yy2);
LockDrawing;
Brush.Color := DotsColor;
for var x := xx1 to xx2 do
for var y := yy1 to yy2 do
begin
var screenX := RealToScreenX(x);
var screenY := RealToScreenY(y);
Brush.Color := Color.Black;
PutPixel(screenX,screenY,Color.Black);
if R = 0 then
PutPixel(screenX,screenY,DotsColor)
else FillCircle(screenX,screenY,R)
end;
UnLockDrawing
end;

Binary file not shown.