s.CountOf_s.pas(s1) в стандартном модуле
This commit is contained in:
parent
c63d812a5c
commit
141c4af231
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%MINOR%=11
|
||||
%REVISION%=3673
|
||||
%COREVERSION%=0
|
||||
%REVISION%=3676
|
||||
%MINOR%=11
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
5
InstallerSamples/WhatsNew/3_11_1/CountOf_s.pas
Normal file
5
InstallerSamples/WhatsNew/3_11_1/CountOf_s.pas
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
begin
|
||||
var s := 'arara';
|
||||
s.CountOf('ara').Println;
|
||||
s.CountOf('ara',allowOverlap := True).Println;
|
||||
end.
|
||||
55
InstallerSamples/WhatsNew/3_11_1/TurtleABCExample.pas
Normal file
55
InstallerSamples/WhatsNew/3_11_1/TurtleABCExample.pas
Normal 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.
|
||||
|
|
@ -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<T>(val, a, b: T): boolean; <b>where</b> T: IComparable<T>;</code>
|
||||
<br> Возвращает True, если значение val находится между a и b (включительно) независимо от порядка a и b</td></tr>
|
||||
<table border=0 cellpadding=5><tr><td><code><b>function</b> Between<T>(val, a, b: T; inclusive: boolean := true): boolean; <b>where</b> T: IComparable<T>;</code>
|
||||
<br> Âîçâðàùàåò True, åñëè çíà÷åíèå val íàõîäèòñÿ ìåæäó a è b íåçàâèñèìî îò ïîðÿäêà a è b</td></tr>
|
||||
<tr><td><code><b>function</b> Clamp<T>(x,bottom,top: T): T; <b>where</b> T: IComparable<T>;</code>
|
||||
<br> Îãðàíè÷èâàåò çíà÷åíèå x äèàïàçîíîì [bottom, top]</td></tr>
|
||||
<tr><td><code><b>function</b> CommandLineArgs: <b>array</b> <b>of</b> string;</code>
|
||||
<br> Возвращает аргумены командой строки, с которыми была запущена программа</td></tr>
|
||||
<br> Âîçâðàùàåò ñïèñîê àðãóìåíòîâ êîìàíäîé ñòðîêè, ñ êîòîðûìè áûëà çàïóùåíà ïðîãðàììà</td></tr>
|
||||
<tr><td><code><b>procedure</b> Dec(<b>var</b> i: integer);</code>
|
||||
<br> Óìåíüøàåò çíà÷åíèå ïåðåìåííîé 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> Âîçâðàùàåò ñëåäóþùåå çà x çíà÷åíèå</td></tr>
|
||||
<tr><td><code><b>procedure</b> Swap<T>(<b>var</b> a, b: T);</code>
|
||||
<br> Меняет местами значения двух переменных</td></tr>
|
||||
<br> Îáìåíèâàåò ìåñòàìè çíà÷åíèÿ äâóõ ïåðåìåííûõ</td></tr>
|
||||
</table>
|
||||
</body></HTML>
|
||||
|
|
@ -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> Íàõîäèò ïåðâóþ ïàðó ïîäðÿä èäóùèõ îäèíàêîâûõ ýëåìåíòîâ è âîçâðàùàåò èíäåêñ ïåðâîãî ýëåìåíòà ïàðû. Åñëè íå íàéäåí, âîçâðàùàåòñÿ -1</td></tr>
|
||||
<tr><td><code><b>function</b> AdjacentFind<T>(Self: IList<T>; eq: (T,T)->boolean; start: integer := 0): integer;</code>
|
||||
<br> Íàõîäèò ïåðâóþ ïàðó ïîäðÿä èäóùèõ îäèíàêîâûõ ýëåìåíòîâ, èñïîëüçóÿ ôóíêöèþ ñðàâíåíèÿ eq, è âîçâðàùàåò èíäåêñ ïåðâîãî ýëåìåíòà ïàðû. Åñëè íå íàéäåí, âîçâðàùàåòñÿ -1</td></tr>
|
||||
<tr><td><code><b>procedure</b> Fill<T>(Self: List<T>; x: T);</code>
|
||||
<tr><td><code><b>function</b> Fill<T>(Self: List<T>; x: T): List<T>;</code>
|
||||
<br> Çàïîëíÿåò ýëåìåíòû ñïèñêà óêàçàííûì çíà÷åíèåì</td></tr>
|
||||
<tr><td><code><b>procedure</b> Fill<T>(Self: List<T>; f: integer->T);</code>
|
||||
<tr><td><code><b>function</b> Fill<T>(Self: List<T>; f: integer->T): List<T>;</code>
|
||||
<br> Çàïîëíÿåò ýëåìåíòû ñïèñêà çíà÷åíèÿìè, âû÷èñëÿåìûìè ïî íåêîòîðîìó ïðàâèëó</td></tr>
|
||||
<tr><td><code><b>function</b> IndexMax<T>(Self: List<T>; index: integer := 0): integer; <b>where</b> T: IComparable<T>;</code>
|
||||
<br> Âîçâðàùàåò èíäåêñ ïåðâîãî ìàêñèìàëüíîãî ýëåìåíòà íà÷èíàÿ ñ ïîçèöèè index</td></tr>
|
||||
|
|
@ -56,17 +57,19 @@
|
|||
<br> Âîçâðàùàåò ñëó÷àéíûé ýëåìåíò ñïèñêà</td></tr>
|
||||
<tr><td><code><b>function</b> RemoveLast<T>(Self: List<T>): List<T>;</code>
|
||||
<br> Óäàëÿåò ïîñëåäíèé ýëåìåíò. Åñëè ýëåìåíòîâ íåò, ãåíåðèðóåò èñêëþ÷åíèå</td></tr>
|
||||
<tr><td><code><b>procedure</b> Replace<T>(Self: List<T>; oldValue, newValue: T);</code>
|
||||
<br> Çàìåíÿåò â ìàññèâå âñå âõîæäåíèÿ îäíîãî çíà÷åíèÿ íà äðóãîåÇàìåíÿåò â ñïèñêå âñå âõîæäåíèÿ îäíîãî çíà÷åíèÿ íà äðóãîå</td></tr>
|
||||
<tr><td><code><b>function</b> Replace<T>(Self: List<T>; oldValue, newValue: T): List<T>;</code>
|
||||
<br> Çàìåíÿåò â ñïèñêå âñå âõîæäåíèÿ îäíîãî çíà÷åíèÿ íà äðóãîå</td></tr>
|
||||
<tr><td><code><b>function</b> Shuffle<T>(Self: List<T>): List<T>;</code>
|
||||
<br> Ïåðåìåøèâàåò ýëåìåíòû ñïèñêà ñëó÷àéíûì îáðàçîì</td></tr>
|
||||
<tr><td><code><b>function</b> Slice<T>(Self: List<T>; from, step: integer): List<T>;</code>
|
||||
<br> Âîçâðàùàåò ñðåç ñïèñêà îò èíäåêñà from ñ øàãîì step</td></tr>
|
||||
<tr><td><code><b>function</b> Slice<T>(Self: List<T>; from, step, count: integer): List<T>;</code>
|
||||
<br> Âîçâðàùàåò ñðåç ñïèñêà îò èíäåêñà from ñ øàãîì step äëèíû íå áîëåå count</td></tr>
|
||||
<tr><td><code><b>procedure</b> Transform<T>(Self: List<T>; f: T->T);</code>
|
||||
<tr><td><code><b>function</b> Swap<T>(Self: List<T>; i, j: integer): List<T>;</code>
|
||||
<br> Ìåíÿåò ìåñòàìè ýëåìåíòû ñïèñêà ñ èíäåêñàìè i è j</td></tr>
|
||||
<tr><td><code><b>function</b> Transform<T>(Self: List<T>; f: T->T): List<T>;</code>
|
||||
<br> Ïðåîáðàçóåò ýëåìåíòû ìàññèâà èëè ñïèñêà ïî çàäàííîìó ïðàâèëó</td></tr>
|
||||
<tr><td><code><b>procedure</b> Transform<T>(Self: List<T>; f: (T,integer)->T);</code>
|
||||
<tr><td><code><b>function</b> Transform<T>(Self: List<T>; f: (T,integer)->T): List<T>;</code>
|
||||
<br> Ïðåîáðàçóåò ýëåìåíòû ìàññèâà èëè ñïèñêà ïî çàäàííîìó ïðàâèëó</td></tr>
|
||||
</table>
|
||||
</body></HTML>
|
||||
|
|
@ -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> Âîçâðàùàåò ìèíèìàëüíûé ýëåìåíò</td></tr>
|
||||
<tr><td><code><b>function</b> Permutations<T>(Self: <b>array</b> <b>of</b> T): <b>sequence </b> <b>of</b> <b>array</b> <b>of</b> T;</code>
|
||||
<br> Возвращает все перестановки множества элементов, заданного массивом</td></tr>
|
||||
<br> Âîçâðàùàåò âñå ïåðåñòàíîâêè ýëåìåíòîâ ìàññèâà</td></tr>
|
||||
<tr><td><code><b>function</b> Permutations<T>(Self: <b>sequence </b> <b>of</b> T): <b>sequence </b> <b>of</b> <b>array</b> <b>of</b> T;</code>
|
||||
<br> Возвращает все перестановки множества элементов, заданного последовательностью</td></tr>
|
||||
<br> Âîçâðàùàåò âñå ïåðåñòàíîâêè ýëåìåíòîâ ïîñëåäîâàòåëüíîñòè</td></tr>
|
||||
<tr><td><code><b>function</b> Permutations<T>(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> Âîçâðàùàåò âñå ÷àñòè÷íûå ïåðåñòàíîâêè èç n ýëåìåíòîâ ïî m</td></tr>
|
||||
<tr><td><code><b>function</b> Permutations<T>(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> Âîçâðàùàåò âñå ÷àñòè÷íûå ïåðåñòàíîâêè áóêâ ñòðîêè ïî m ñèìâîëîâ â âèäå ïîñëåäîâàòåëüíîñòè ñòðîê</td></tr>
|
||||
<tr><td><code><b>function</b> RandomElement<T>(Self: <b>array</b> <b>of</b> T): T;</code>
|
||||
<br> Âîçâðàùàåò ñëó÷àéíûé ýëåìåíò ìàññèâà</td></tr>
|
||||
<tr><td><code><b>function</b> Replace<T>(Self: <b>array</b> <b>of</b> T; oldValue, newValue: T): <b>array</b> <b>of</b> T;</code>
|
||||
<br> Çàìåíÿåò â ìàññèâå âñå âõîæäåíèÿ îäíîãî çíà÷åíèÿ íà äðóãîå</td></tr>
|
||||
<tr><td><code><b>function</b> Shuffle<T>(Self: <b>array</b> <b>of</b> T): <b>array</b> <b>of</b> T;</code>
|
||||
<br> Ïåðåìåøèâàåò ýëåìåíòû ìàññèâà ñëó÷àéíûì îáðàçîì</td></tr>
|
||||
<tr><td><code><b>function</b> Slice<T>(Self: <b>array</b> <b>of</b> T; from, step: integer): <b>array</b> <b>of</b> T;</code>
|
||||
|
|
@ -181,9 +185,11 @@
|
|||
<br> Ñîðòèðóåò ìàññèâ ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending<T>(Self: <b>array</b> <b>of</b> T; keySelector: T -> string);</code>
|
||||
<br> Ñîðòèðóåò ìàññèâ ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> Transform<T>(Self: <b>array</b> <b>of</b> T; f: T->T);</code>
|
||||
<tr><td><code><b>function</b> Swap<T>(Self: <b>array</b> <b>of</b> T; i, j: integer): <b>array</b> <b>of</b> T;</code>
|
||||
<br> Ìåíÿåò ìåñòàìè ýëåìåíòû ìàññèâà ñ èíäåêñàìè i è j</td></tr>
|
||||
<tr><td><code><b>function</b> Transform<T>(Self: <b>array</b> <b>of</b> T; f: T->T): <b>array</b> <b>of</b> T;</code>
|
||||
<br> Ïðåîáðàçóåò ýëåìåíòû ìàññèâà ïî çàäàííîìó ïðàâèëó</td></tr>
|
||||
<tr><td><code><b>procedure</b> Transform<T>(Self: <b>array</b> <b>of</b> T; f: (T,integer)->T);</code>
|
||||
<tr><td><code><b>function</b> Transform<T>(Self: <b>array</b> <b>of</b> T; f: (T,integer)->T): <b>array</b> <b>of</b> T;</code>
|
||||
<br> Ïðåîáðàçóåò ýëåìåíòû ìàññèâà ïî çàäàííîìó ïðàâèëó</td></tr>
|
||||
</table>
|
||||
</body></HTML>
|
||||
|
|
@ -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> Âîçâðàùàåò True åñëè çíà÷åíèå íàõîäèòñÿ ìåæäó äâóìÿ äðóãèìè</td></tr>
|
||||
<tr><td><code><b>function</b> Code(Self: char): integer;</code>
|
||||
<br> Êîä ñèìâîëà â êîäèðîâêå Unicode</td></tr>
|
||||
|
|
|
|||
|
|
@ -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> Âîçâðàùàåò True åñëè çíà÷åíèå íàõîäèòñÿ ìåæäó äâóìÿ äðóãèìè</td></tr>
|
||||
<tr><td><code><b>function</b> Clamp(Self: integer; bottom,top: integer): integer;</code>
|
||||
<br> Âîçâðàùàåò ÷èñëî, îãðàíè÷åííîå äèàïàçîíîì îò bottom äî top âêëþ÷èòåëüíî</td></tr>
|
||||
|
|
|
|||
|
|
@ -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> Âîçâðàùàåò 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> Âîçâðàùàåò True åñëè çíà÷åíèå íàõîäèòñÿ ìåæäó äâóìÿ äðóãèìè</td></tr>
|
||||
<tr><td><code><b>function</b> Ceil(Self: real): integer;</code>
|
||||
<br> Âîçâðàùàåò íàìåíüøåå öåëîå, áîëüøåå èëè ðàâíîå âåùåñòâåííîìó ÷èñëó</td></tr>
|
||||
<tr><td><code><b>function</b> Clamp(Self: real; bottom,top: real): real;</code>
|
||||
|
|
|
|||
|
|
@ -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> Âîçâðàùàåò ïåðâûé ýëåìåíò ïîñëåäîâàòåëüíîñòè ñ ìàêñèìàëüíûì çíà÷åíèåì êëþ÷à</td></tr>
|
||||
<tr><td><code><b>function</b> MinBy<T, TKey>(Self: <b>sequence </b> <b>of</b> T; keySelector: T -> TKey): T;</code>
|
||||
<br> Âîçâðàùàåò ïåðâûé ýëåìåíò ïîñëåäîâàòåëüíîñòè ñ ìèíèìàëüíûì çíà÷åíèåì êëþ÷à</td></tr>
|
||||
<tr><td><code><b>function</b> None<T>(Self: <b>sequence </b> <b>of</b> T; pred: T->boolean): boolean;</code>
|
||||
<br> Âîçâðàùàåò True, åñëè íè îäèí ýëåìåíò íå óäîâëåòâîðÿåò óñëîâèþ</td></tr>
|
||||
<tr><td><code><b>function</b> Numerate<T>(Self: <b>sequence </b> <b>of</b> T): <b>sequence </b> <b>of</b> (integer, T);</code>
|
||||
<br> Íóìåðóåò ïîñëåäîâàòåëüíîñòü ñ åäèíèöû</td></tr>
|
||||
<tr><td><code><b>function</b> Numerate<T>(Self: <b>sequence </b> <b>of</b> T; from: integer): <b>sequence </b> <b>of</b> (integer, T);</code>
|
||||
|
|
@ -213,7 +217,7 @@
|
|||
<br> Ðàçáèâàåò ïîñëåäîâàòåëüíîñòü íà äâå â ïîçèöèè ind. Ðåàëèçóåòñÿ äâóõïðîõîäíûì àëãîðèòìîì</td></tr>
|
||||
<tr><td><code><b>function</b> Sum(Self: <b>sequence </b> <b>of</b> BigInteger): BigInteger;</code>
|
||||
<br> Âîçâðàùàåò ñóììó ýëåìåíòîâ ïîñëåäîâàòåëüíîñòè</td></tr>
|
||||
<tr><td><code><b>function</b> Tabulate<T, T1>(Self: <b>sequence </b> <b>of</b> T; F: T->T1): <b>sequence </b> <b>of</b> (T, T1);</code>
|
||||
<tr><td><code><b>function</b> Tabulate<T, T1>(Self: <b>sequence </b> <b>of</b> T; f: T->T1): <b>sequence </b> <b>of</b> (T, T1);</code>
|
||||
<br> Òàáóëèðóåò ôóíêöèþ ïîñëåäîâàòåëüíîñòüþ</td></tr>
|
||||
<tr><td><code><b>function</b> TakeLast<T>(Self: <b>sequence </b> <b>of</b> T; count: integer): <b>sequence </b> <b>of</b> T;</code>
|
||||
<br> Âîçâðàùàåò ïîñëåäíèå count ýëåìåíòîâ ïîñëåäîâàòåëüíîñòè</td></tr>
|
||||
|
|
@ -231,6 +235,8 @@
|
|||
<br> Ðàçúåäèíÿåò ïîñëåäîâàòåëüíîñòü òðåõýëåìåíòíûõ êîðòåæåé íà òðè ïîñëåäîâàòåëüíîñòè. Ðåàëèçóåòñÿ ìíîãîïðîõîäíûì àëãîðèòìîì</td></tr>
|
||||
<tr><td><code><b>function</b> UnZipTuple<T, T1, T2, T3>(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> Ðàçúåäèíÿåò ïîñëåäîâàòåëüíîñòü ÷åòûðåõýëåìåíòíûõ êîðòåæåé íà ÷åòûðå ïîñëåäîâàòåëüíîñòè. Ðåàëèçóåòñÿ ìíîãîïðîõîäíûì àëãîðèòìîì</td></tr>
|
||||
<tr><td><code><b>function</b> Windowed<T>(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> Ïðåâðàùàåò ïîñëåäîâàòåëüíîñòü â ïîñëåäîâàòåëüíîñòü ìàññèâîâ, ñîäåðæàùèõ 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> Âûâîäèò ïîñëåäîâàòåëüíîñòü ñòðîê â ôàéë</td></tr>
|
||||
<tr><td><code><b>function</b> Zip<T, T1, T2, TRes>(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) -> TRes): <b>sequence </b> <b>of</b> TRes;</code>
|
||||
|
|
|
|||
|
|
@ -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> Âîçâðàùàåò True åñëè ñòðîêà íàõîäèòñÿ ìåæäó äâóìÿ äðóãèìè (ëåêñèêîãðàôè÷åñêîå ñðàâíåíèå)</td></tr>
|
||||
<tr><td><code><b>function</b> CountOf(Self: string; substring: string; allowOverlap: boolean := false): integer;</code>
|
||||
<br> Âîçâðàùàåò êîëè÷åñòâî âõîæäåíèé ïîäñòðîêè â ñòðîêó</td></tr>
|
||||
<tr><td><code><b>function</b> IndicesOf(Self, SubS: string; overlay: boolean := False): <b>sequence </b> <b>of</b> integer;</code>
|
||||
<br> Âîçâðàùàåò ïîñëåäîâàòåëüíîñòü èíäåêñîâ âõîæäåíèé ïîäñòðîêè â îñíîâíóþ ñòðîêóÏàðàìåòð overlay îïðåäåëÿåò, ðàçðåøåíû ëè ïåðåêðûòèÿ âõîæäåíèé ïîäñòðîê</td></tr>
|
||||
<tr><td><code><b>function</b> InRange(Self: string; a, b: string): boolean;</code>
|
||||
|
|
|
|||
|
|
@ -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> Âîçâðàùàåò óãîë â ðàäèàíàõ, ñèíóñ êîòîðîãî ðàâåí x, -1<=x<=1</td></tr>
|
||||
<tr><td><code><b>function</b> ArcTan(x: real): real;</code>
|
||||
<br> Âîçâðàùàåò óãîë â ðàäèàíàõ, òàíãåíñ êîòîðîãî ðàâåí x</td></tr>
|
||||
<tr><td><code><b>function</b> Atan2(y, x: real): real;</code>
|
||||
<br> Âîçâðàùàåò óãîë (â ðàäèàíàõ) ìåæäó ïîëîæèòåëüíîé îñüþ X è âåêòîðîì (x, y) ñ ó÷¸òîì êâàäðàíòà</td></tr>
|
||||
<tr><td><code><b>function</b> Cbrt(x: real): real;</code>
|
||||
<br> Âîçâðàùàåò êóáè÷åñêèé êîðåíü ÷èñëà x (x ìîæåò áûòü < 0)</td></tr>
|
||||
<tr><td><code><b>function</b> Ceil(x: real): integer;</code>
|
||||
<br> Âîçâðàùàåò íàèìåíüøåå öåëîå >= x</td></tr>
|
||||
<tr><td><code><b>function</b> Cos(x: real): real;</code>
|
||||
|
|
@ -61,8 +74,26 @@
|
|||
<br> Âîçâðàùàåò íàèáîëüøåå öåëîå <= x</td></tr>
|
||||
<tr><td><code><b>function</b> Frac(x: real): real;</code>
|
||||
<br> Âîçâðàùàåò äðîáíóþ ÷àñòü ÷èñëà x</td></tr>
|
||||
<tr><td><code><b>function</b> GCD(a, b: integer): integer;</code>
|
||||
<br> Âîçâðàùàåò íàèáîëüøèé îáùèé äåëèòåëü äâóõ öåëûõ ÷èñåë</td></tr>
|
||||
<tr><td><code><b>function</b> GCD(a, b: int64): int64;</code>
|
||||
<br> Âîçâðàùàåò íàèáîëüøèé îáùèé äåëèòåëü äâóõ öåëûõ ÷èñåë</td></tr>
|
||||
<tr><td><code><b>function</b> GCD(a, b: BigInteger): BigInteger;</code>
|
||||
<br> Âîçâðàùàåò íàèáîëüøèé îáùèé äåëèòåëü äâóõ BigInteger</td></tr>
|
||||
<tr><td><code><b>function</b> Hypot(x, y: real): real;</code>
|
||||
<br> Âîçâðàùàåò ãèïîòåíóçó òðåóãîëüíèêà ñ êàòåòàìè x,y</td></tr>
|
||||
<tr><td><code><b>function</b> Int(x: real): real;</code>
|
||||
<br> Âîçâðàùàåò öåëóþ ÷àñòü ÷èñëà x</td></tr>
|
||||
<tr><td><code><b>function</b> ISqrt(n: int64): int64;</code>
|
||||
<br> Âû÷èñëÿåò öåëî÷èñëåííûé êâàäðàòíûé êîðåíü èç n.Âîçâðàùàåò íàèáîëüøåå öåëîå ÷èñëî r, òàêîå ÷òî r? ? n < (r+1)?Åñëè n ÿâëÿåòñÿ òî÷íûì êâàäðàòîì, âîçâðàùàåò òî÷íûé êîðåíü</td></tr>
|
||||
<tr><td><code><b>function</b> ISqrt(n: BigInteger): BigInteger;</code>
|
||||
<br> Âû÷èñëÿåò öåëî÷èñëåííûé êâàäðàòíûé êîðåíü èç n.Âîçâðàùàåò íàèáîëüøåå öåëîå ÷èñëî r, òàêîå ÷òî r? ? n < (r+1)?Åñëè n ÿâëÿåòñÿ òî÷íûì êâàäðàòîì, âîçâðàùàåò òî÷íûé êîðåíü</td></tr>
|
||||
<tr><td><code><b>function</b> LCM(a, b: int64): int64;</code>
|
||||
<br> Âîçâðàùàåò íàèìåíüøåå îáùåå êðàòíîå äâóõ öåëûõ ÷èñåë</td></tr>
|
||||
<tr><td><code><b>function</b> LCM(a, b: BigInteger): BigInteger;</code>
|
||||
<br> Âîçâðàùàåò íàèìåíüøåå îáùåå êðàòíîå äâóõ BigInteger</td></tr>
|
||||
<tr><td><code><b>function</b> Lerp(a, b, t: real): real;</code>
|
||||
<br> Âîçâðàùàåò çíà÷åíèå íà îòðåçêå [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> Âîçâðàùàåò íàòóðàëüíûé ëîãàðèôì ÷èñëà 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> Èíèöèàëèçèðóåò äàò÷èê ïñåâäîñëó÷àéíûõ ÷èñåë</td></tr>
|
||||
<tr><td><code><b>function</b> RandomReal(a, b: real; digits: integer := 2): real;</code>
|
||||
<br> Возвращает случайное вещественное в диапазоне [a,b] c количеством значащих цифр после точки, равным digits</td></tr>
|
||||
<br> Âîçâðàùàåò ñëó÷àéíîå âåùåñòâåííîå â äèàïàçîíå [a,b], îêðóãëåííîå äî digits çíàêîâ ïîñëå äåñÿòè÷íîé òî÷êè</td></tr>
|
||||
<tr><td><code><b>function</b> Remap(x, a1, b1, a2, b2: real): real;</code>
|
||||
<br> Ïðåîáðàçóåò x èç äèàïàçîíà [a1,b1] â äèàïàçîí [a2,b2] ñ ñîõðàíåíèåì îòíîñèòåëüíîé ïîçèöèè</td></tr>
|
||||
<tr><td><code><b>function</b> Round(x: real): integer;</code>
|
||||
<br> Âîçâðàùàåò 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> Âîçâðàùàåò x, îêðóãëåííîå äî áëèæàéøåãî âåùåñòâåííîãî ñ digits çíàêàìè ïîñëå äåñÿòè÷íîé òî÷êè</td></tr>
|
||||
<tr><td><code><b>function</b> RoundBigInteger(x: real): BigInteger;</code>
|
||||
<br> Âîçâðàùàåò x, îêðóãëåííîå äî áëèæàéøåãî äëèííîãî öåëîãî</td></tr>
|
||||
<tr><td><code><b>procedure</b> SetRandomSeed(seed: integer);</code>
|
||||
<br> Èíèöèàëèçèðóåò äàò÷èê ïñåâäîñëó÷àéíûõ ÷èñåë, èñïîëüçóÿ çíà÷åíèå seed. Ïðè îäíîì è òîì æå seed ãåíåðèðóþòñÿ îäèíàêîâûå ïñåâäîñëó÷àéíûå ïîñëåäîâàòåëüíîñòè</td></tr>
|
||||
<tr><td><code><b>function</b> Sign(x: ÷èñëî): integer;</code>
|
||||
<br> Âîçâðàùàåò -1, 0 èëè +1 â çàâèñèìîñòè îò çíàêà ÷èñëà x</td></tr>
|
||||
<tr><td><code><b>function</b> Sin(x: real): real;</code>
|
||||
|
|
|
|||
|
|
@ -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<TKey, TVal>(<b>params</b> pairs: <b>array</b> <b>of</b> KeyValuePair<TKey, TVal>): Dictionary<TKey, TVal>;</code>
|
||||
<br> Возвращает словарь пар элементов (ключ, значение)</td></tr>
|
||||
<br> Возвращает словарь из набора пар элементов (ключ, значение)</td></tr>
|
||||
<tr><td><code><b>function</b> Dict<TKey, TVal>(<b>params</b> pairs: <b>array</b> <b>of</b> (TKey, TVal)): Dictionary<TKey, TVal>;</code>
|
||||
<br> Возвращает словарь пар элементов (ключ, значение)</td></tr>
|
||||
<br> Возвращает словарь из набора пар элементов (ключ, значение), заданных как кортежи</td></tr>
|
||||
<tr><td><code><b>function</b> Dict<TKey, TVal>(pairs: <b>sequence </b> <b>of</b> KeyValuePair<TKey, TVal>): Dictionary<TKey, TVal>;</code>
|
||||
<br> Возвращает словарь пар элементов (ключ, значение), построенный по последовательности пар</td></tr>
|
||||
<br> Возвращает словарь из последовательности пар элементов (ключ, значение)</td></tr>
|
||||
<tr><td><code><b>function</b> Dict<TKey, TVal>(pairs: <b>sequence </b> <b>of</b> (TKey, TVal)): Dictionary<TKey, TVal>;</code>
|
||||
<br> Возвращает словарь пар элементов (ключ, значение), построенный по последовательности пар</td></tr>
|
||||
<br> Возвращает словарь из последовательности пар элементов (ключ, значение), заданных как кортежи</td></tr>
|
||||
<tr><td><code><b>function</b> Dict<TKey, TVal>(keys: <b>sequence </b> <b>of</b> TKey; values: <b>sequence </b> <b>of</b> TVal): Dictionary<TKey, TVal>;</code>
|
||||
<br> Возвращает словарь пар элементов (ключ, значение), построенный по последовательностям ключей и значений</td></tr>
|
||||
<br> Возвращает словарь словарь из двух последовательностей — ключей и значений</td></tr>
|
||||
<tr><td><code><b>function</b> DictInt(<b>params</b> pairs: <b>array</b> <b>of</b> (integer, integer)): Dictionary<integer, integer>;</code>
|
||||
<br> Возвращает словарь пар элементов (целое, целое)</td></tr>
|
||||
<br> Возвращает словарь из набора пар элементов (целое, целое)</td></tr>
|
||||
<tr><td><code><b>function</b> DictStr(<b>params</b> pairs: <b>array</b> <b>of</b> (string, string)): Dictionary<string, string>;</code>
|
||||
<br> Возвращает словарь пар элементов (строка, строка)</td></tr>
|
||||
<br> Возвращает словарь из набора пар элементов (строка, строка)</td></tr>
|
||||
<tr><td><code><b>function</b> DictStrInt(<b>params</b> pairs: <b>array</b> <b>of</b> (string, integer)): Dictionary<string, integer>;</code>
|
||||
<br> Возвращает словарь пар элементов (строка, целое)</td></tr>
|
||||
<br> Возвращает словарь из набора пар элементов (строка, целое)</td></tr>
|
||||
<tr><td><code><b>function</b> HSet<T>(<b>params</b> a: <b>array</b> <b>of</b> T): HashSet<T>;</code>
|
||||
<br> Âîçâðàùàåò ìíîæåñòâî íà áàçå õåø òàáëèöû, çàïîëíåííîå óêàçàííûìè çíà÷åíèÿìè</td></tr>
|
||||
<tr><td><code><b>function</b> HSet<T>(a: <b>sequence </b> <b>of</b> T): HashSet<T>;</code>
|
||||
|
|
|
|||
|
|
@ -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<T>(<b>params</b> a: <b>array</b> <b>of</b> T): <b>array</b> <b>of</b> T;</code>
|
||||
<br> Âîçâðàùàåò ìàññèâ, çàïîëíåííûé óêàçàííûìè çíà÷åíèÿìè</td></tr>
|
||||
<tr><td><code><b>function</b> Arr<T>(a: <b>sequence </b> <b>of</b> T): <b>array</b> <b>of</b> T;</code>
|
||||
<br> Возвращает массив, заполненный значениями из последовательнсти</td></tr>
|
||||
<br> Возвращает массив, заполненный значениями из последовательности</td></tr>
|
||||
<tr><td><code><b>function</b> Arr(a: IntRange): <b>array</b> <b>of</b> integer;</code>
|
||||
<br> Âîçâðàùàåò ìàññèâ, çàïîëíåííûé äèàïàçîíîì çíà÷åíèé</td></tr>
|
||||
<tr><td><code><b>function</b> Arr(a: CharRange): <b>array</b> <b>of</b> char;</code>
|
||||
|
|
|
|||
|
|
@ -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<T>(a, b: <b>array</b> <b>of</b> T): boolean;</code>
|
||||
<br> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> Âîçâðàùàåò 0</td></tr>
|
||||
<tr><td><code><b>function</b> MatrEqual<T>(a, b: <b>array</b> [,] <b>of</b> T): boolean;</code>
|
||||
<br> <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> <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> <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> <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<T>(a: <b>array</b> <b>of</b> T);</code>
|
||||
<br> <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> <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<T>(a: <b>array</b> <b>of</b> T; index, count: integer);</code>
|
||||
<br> <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> <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<T>(a: List<T>);</code>
|
||||
<br> Èçìåíÿåò ïîðÿäîê ýëåìåíòîâ â ñïèñêå íà ïðîòèâîïîëîæíûé</td></tr>
|
||||
<tr><td><code><b>procedure</b> Reverse<T>(a: List<T>; 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> Èçìåíÿåò ïîðÿäîê ñèìâîëîâ â ÷àñòè ñòðîêè äëèíû 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> <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> <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> <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> <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<T>(a: <b>array</b> <b>of</b> T);</code>
|
||||
<br> <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> <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<T>(l: List<T>);</code>
|
||||
<br> <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> <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<T>(a: <b>array</b> <b>of</b> T);</code>
|
||||
<br> <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> <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> <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> <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<T>(a: <b>array</b> <b>of</b> T; cmp: (T,T)->integer);</code>
|
||||
<br> <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> <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<T>(a: <b>array</b> <b>of</b> T; less: (T,T)->boolean);</code>
|
||||
<br> <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> <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<T,TKey>(a: <b>array</b> <b>of</b> T; keySelector: T->TKey);</code>
|
||||
<br> <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> <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<T>(a: <b>array</b> <b>of</b> T; keySelector: T->string);</code>
|
||||
<br> <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> <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<T>(l: List<T>);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî âîçðàñòàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort(<b>var</b> l: List<string>);</code>
|
||||
|
|
@ -74,13 +74,13 @@
|
|||
<tr><td><code><b>procedure</b> Sort<T>(<b>var</b> l: List<T>; keySelector: T->string);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî âîçðàñòàíèþ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending<T>(a: <b>array</b> <b>of</b> T);</code>
|
||||
<br> <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> <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> <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> <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<T,T1>(<b>var</b> a: <b>array</b> <b>of</b> T; keySelector: T->T1);</code>
|
||||
<br> <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> <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<T>(<b>var</b> a: <b>array</b> <b>of</b> T; keySelector: T->string);</code>
|
||||
<br> <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> <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<T>(l: List<T>);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî óáûâàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending(<b>var</b> l: List<string>);</code>
|
||||
|
|
|
|||
|
|
@ -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> Ïðåîáðàçóåò êîä â ñèìâîë â êîäèðîâêå Unicode</td></tr>
|
||||
<tr><td><code><b>function</b> ChrAnsi(a: byte): char;</code>
|
||||
<br> Ïðåîáðàçóåò êîä â ñèìâîë â êîäèðîâêå Windows. Óñòàðåëî. Èñïîëüçóéòå ChrWindows</td></tr>
|
||||
<tr><td><code><b>function</b> ChrUnicode(a: word): char;</code>
|
||||
<br> Ïðåîáðàçóåò êîä â ñèìâîë â êîäèðîâêå Unicode</td></tr>
|
||||
<tr><td><code><b>function</b> ChrWindows(a: byte): char;</code>
|
||||
|
|
@ -35,6 +39,8 @@
|
|||
<br> Ïðåîáðàçóåò ñèìâîë â íèæíèé ðåãèñòð</td></tr>
|
||||
<tr><td><code><b>function</b> Ord(a: char): word;</code>
|
||||
<br> Ïðåîáðàçóåò ñèìâîë â êîä â êîäèðîâêå Unicode</td></tr>
|
||||
<tr><td><code><b>function</b> OrdAnsi(a: char): byte;</code>
|
||||
<br> Ïðåîáðàçóåò ñèìâîë â êîä â êîäèðîâêå Windows. Óñòàðåëî. Èñïîëüçóéòå OrdWindows</td></tr>
|
||||
<tr><td><code><b>function</b> OrdUnicode(a: char): word;</code>
|
||||
<br> Ïðåîáðàçóåò ñèìâîë â êîä â êîäèðîâêå Unicode</td></tr>
|
||||
<tr><td><code><b>function</b> OrdWindows(a: char): byte;</code>
|
||||
|
|
|
|||
|
|
@ -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<T>(m,n: integer; <b>params</b> data: <b>array</b> <b>of</b> T): <b>array</b> [,] <b>of</b> T;</code>
|
||||
<br> Âîçâðàùàåò äâóìåðíûé ìàññèâ ðàçìåðà m x n, çàïîëíåííûé óêàçàííûìè çíà÷åíèÿìè ïî ñòðîêàì</td></tr>
|
||||
<tr><td><code><b>function</b> Matr<T>(<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> Âîçâðàùàåò äâóìåðíûé ìàññèâ ðàçìåðà m x n, çàïîëíåííûé ñëó÷àéíûìè âåùåñòâåííûìè çíà÷åíèÿìè</td></tr>
|
||||
<tr><td><code><b>function</b> ReadMatrInteger(m, n: integer): <b>array</b> [,] <b>of</b> integer;</code>
|
||||
<br> Возвращает матрицу m на n целых, введенных с клавиатуры</td></tr>
|
||||
<br> Возвращает двумерный массив размера m x n из целых, введенных с клавиатуры</td></tr>
|
||||
<tr><td><code><b>function</b> ReadMatrReal(m, n: integer): <b>array</b> [,] <b>of</b> real;</code>
|
||||
<br> Возвращает матрицу m на n вещественных, введенных с клавиатуры</td></tr>
|
||||
<br> Возвращает двумерный массив размера m x n из вещественных, введенных с клавиатуры</td></tr>
|
||||
<tr><td><code><b>function</b> Transpose<T>(a: <b>array</b> [,] <b>of</b> T): <b>array</b> [,] <b>of</b> T;</code>
|
||||
<br> Òðàíñïîíèðóåò äâóìåðíûé ìàññèâ</td></tr>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -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<T, T1, TRes>(a: <b>sequence </b> <b>of</b> T; b: <b>sequence </b> <b>of</b> T1; func: (T,T1)->TRes): <b>sequence </b> <b>of</b> TRes;</code>
|
||||
<br> Возвращает декартово произведение последовательностей, проектируя каждую пару на значение</td></tr>
|
||||
<br> Возвращает все комбинации элементов двух последовательностей, проектируя каждую пару на значение</td></tr>
|
||||
<tr><td><code><b>function</b> Cartesian<T, T1, T2, TRes>(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)->TRes): <b>sequence </b> <b>of</b> TRes;</code>
|
||||
<br> Возвращает декартово произведение последовательностей, проектируя каждую тройку на значение</td></tr>
|
||||
<br> Возвращает все комбинации элементов последовательностей, проектируя каждую тройку на значение</td></tr>
|
||||
<tr><td><code><b>function</b> Cartesian<T, T1, T2, T3, TRes>(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)->TRes): <b>sequence </b> <b>of</b> TRes;</code>
|
||||
<br> Возвращает декартово произведение последовательностей, проектируя каждую четвёрку на значение</td></tr>
|
||||
<br> Возвращает все комбинации элементов последовательностей, проектируя каждую четвёрку на значение</td></tr>
|
||||
<tr><td><code><b>function</b> Cartesian<T, T1, T2, T3, T4, TRes>(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)->TRes): <b>sequence </b> <b>of</b> TRes;</code>
|
||||
<br> Возвращает декартово произведение последовательностей, проектируя каждую пятёрку на значение</td></tr>
|
||||
<br> Возвращает все комбинации элементов последовательностей, проектируя каждую пятёрку на значение</td></tr>
|
||||
<tr><td><code><b>function</b> Cartesian<T, T1>(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> Возвращает декартово произведение последовательностей в виде последовательности пар</td></tr>
|
||||
<br> Возвращает все комбинации элементов последовательностей в виде последовательности пар</td></tr>
|
||||
<tr><td><code><b>function</b> Cartesian<T, T1, T2>(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> Возвращает декартово произведение последовательностей в виде последовательности троек</td></tr>
|
||||
<br> Возвращает все комбинации элементов последовательностей в виде последовательности троек</td></tr>
|
||||
<tr><td><code><b>function</b> Cartesian<T, T1, T2, T3>(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> Возвращает декартово произведение последовательностей в виде последовательности четвёрок</td></tr>
|
||||
<br> Возвращает все комбинации элементов последовательностей в виде последовательности четвёрок</td></tr>
|
||||
<tr><td><code><b>function</b> Cartesian<T, T1, T2, T3, T4>(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> Возвращает декартово произведение последовательностей в виде последовательности пятёрок</td></tr>
|
||||
<br> Возвращает все комбинации элементов последовательностей в виде последовательности пятёрок</td></tr>
|
||||
<tr><td><code><b>function</b> Iterate<T>(first: T; next: T->T): <b>sequence </b> <b>of</b> T;</code>
|
||||
<br> Âîçâðàùàåò áåñêîíå÷íóþ ðåêóððåíòíóþ ïîñëåäîâàòåëüíîñòü ýëåìåíòîâ, çàäàâàåìóþ íà÷àëüíûì ýëåìåíòîì 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> Возвращает 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> Âîçâðàùàåò ïîñëåäîâàòåëüíîñòü âåùåñòâåííûõ â òî÷êàõ ðàçáèåíèÿ îòðåçêà [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->boolean): <b>sequence </b> <b>of</b> string;</code>
|
||||
<br> Âûâîäèò ïðèãëàøåíèå ê ââîäó è âîçâðàùàåò ïîñëåäîâàòåëüíîñòü ñòðîê, ââîäèìûõ ñ êëàâèàòóðû ïîêà âûïîëíÿåòñÿ îïðåäåëåííîå óñëîâèå</td></tr>
|
||||
<tr><td><code><b>function</b> Seq<T>(<b>params</b> a: <b>array</b> <b>of</b> T): <b>sequence </b> <b>of</b> T;</code>
|
||||
<br> Возвращает последовательность указанных элементов</td></tr>
|
||||
<br> Возвращает последовательность из указанных элементов</td></tr>
|
||||
<tr><td><code><b>function</b> SeqFill<T>(count: integer; x: T): <b>sequence </b> <b>of</b> T;</code>
|
||||
<br> Âîçâðàùàåò ïîñëåäîâàòåëüíîñòü èç count ýëåìåíòîâ x</td></tr>
|
||||
<tr><td><code><b>function</b> SeqGen<T>(count: integer; f: integer->T): <b>sequence </b> <b>of</b> T;</code>
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
3.11.0.3673
|
||||
3.11.0.3676
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.11.0.3673'
|
||||
!define VERSION '3.11.0.3676'
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
Loading…
Reference in a new issue