mirror of
https://github.com/AntKrotov/oberon-07-compiler.git
synced 2026-10-05 09:45:47 +00:00
мелкие правки
This commit is contained in:
1 parent
2f909d3afb
commit
752d819c1e
4 files changed
+17
-11
No files matched your search
+1
-1
@@ -1,7 +1,7 @@
|
||||
(*
|
||||
BSD 2-Clause License
|
||||
|
||||
Copyright (c) 2018-2022, Anton Krotov
|
||||
Copyright (c) 2023, Anton Krotov
|
||||
All rights reserved.
|
||||
*)
|
||||
|
||||
|
||||
+5
-5
@@ -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;
|
||||
|
||||
|
||||
|
||||
@@ -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]))
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in new issue
Block a user