мелкие правки

This commit is contained in:
AntKrotov committed 2023-10-05 19:38:00 +03:00
1 parent 2f909d3afb
commit 752d819c1e
4 files changed
+17 -11

No files matched your search

+1 -1
View File
@@ -1,7 +1,7 @@
(*
BSD 2-Clause License
Copyright (c) 2018-2022, Anton Krotov
Copyright (c) 2023, Anton Krotov
All rights reserved.
*)
+5 -5
View File
@@ -30,7 +30,7 @@ BEGIN
END Randomize;
(* Целые какбыслучайные числа до RAND_MAX *)
(* Целые какбыслучайные числа 0..RAND_MAX-1 *)
PROCEDURE RandomI* (): INTEGER;
CONST
a = 630360016;
@@ -41,14 +41,14 @@ BEGIN
END RandomI;
(* Какбыслучайные числа с плавающей запятой от 0 до 1 *)
(* Какбыслучайные числа с плавающей запятой [0, 1) *)
PROCEDURE RandomR* (): REAL;
RETURN FLT(RandomI()) / FLT(RAND_MAX)
END RandomR;
(* Какбыслучайное число в диапазоне от 0 до l.
Return a random number in a range 0 ... l *)
(* Какбыслучайное число в диапазоне 0..aTo-1
Return a random number in a range 0..aTo-1 *)
PROCEDURE RandomITo* (aTo: INTEGER): INTEGER;
RETURN FLOOR(RandomR() * FLT(aTo))
END RandomITo;
@@ -57,7 +57,7 @@ END RandomITo;
(* Какбыслучайное число в диапазоне.
Return a random number in a range *)
PROCEDURE RandomIRange* (aFrom, aTo: INTEGER): INTEGER;
RETURN FLOOR(RandomR() * FLT(aTo - aFrom)) + aFrom
RETURN FLOOR(RandomR() * FLT(aTo - aFrom + 1)) + aFrom
END RandomIRange;
+9 -3
View File
@@ -33,10 +33,10 @@ PROCEDURE [windows, "kernel32.dll", ""]
GetStdHandle (nStdHandle: INTEGER): INTEGER;
PROCEDURE Char* (x: CHAR);
PROCEDURE CharW* (c: WCHAR);
BEGIN
printf1(SYSTEM.SADR("%c"), ORD(x))
END Char;
WriteConsoleW(hConsoleOutput, SYSTEM.ADR(c), 1, 0, 0)
END CharW;
PROCEDURE StringW* (s: ARRAY OF WCHAR);
@@ -45,6 +45,12 @@ BEGIN
END StringW;
PROCEDURE Char* (c: CHAR);
BEGIN
printf1(SYSTEM.SADR("%c"), ORD(c))
END Char;
PROCEDURE String* (s: ARRAY OF CHAR);
BEGIN
printf2(SYSTEM.SADR("%.*s"), LENGTH(s), SYSTEM.ADR(s[0]))
+2 -2
View File
@@ -10,8 +10,8 @@ VAR
BEGIN
str := "Привет!";
Out.StringW(str); Out.Ln;
str[2] := "е";
str[5] := "д";
str[0] := "п";
str[6] := "?";
Out.StringW(str)
END main;