PascalABC.NET :
procedure WriteStar:= write('*');
, :
function Add(a,b: real): real:= a + b;
:
function Add(a,b: real):= a + b;
.
begin / end, , " ". , .
uses .
:
program MyProgram;
var
a,b: integer;
x: real;
begin
readln(a,b);
x:= a/b;
writeln(x);
end.
uses GraphABC;
begin
var x:= 100;
var y:= 100;
var r:= 50;
Circle(x,y,r);
end.
PascalABC.NET , , , , .
, , , .
, .
, , , , .
, - .
, , . for. , Ord, Pred Succ, Inc Dec.
, , Object. PascalABC.NET .NET. void*.
PascalABC.NET : .
PascalABC.NET : . , , , , . , , .
: , , . : , .
. .
var i: integer; // i
i:= 5;
|
|
. , nil ( ). :
type Person = auto class
name: string;
age: integer;
end;
var p: Person; // p nil,
p:= new Person('',20); //
. , . :
var a,a1: array [1..1000000] of integer;
a1:= a; // 1000000
, :
var p1: Person;
p1:= p; //
. , .
type PersonRec = record
name: string;
age: integer;
end;
var p,p1: PersonRec;
p.name:= ''; p.age:= 20;
p1.name:= ''; p1.age:= 20;
writeln(p1=p); // True
, .
var p:= new Person('',20);
var p1:= new Person('',20);
writeln(p1=p); // False
, . . . .
. . , , , .
- . , , :
type Arr = array [1..100] of integer;
procedure PrintArray(const a: Arr; n: integer);
begin
for var i:=1 to n do
Print(a[i])
end;
, , . , .
procedure Change666(a: array of integer);
begin
a[0]:= 666;
end;
.
, .
|
|
, | ||
shortint | 1 | -128..127 |
smallint | 2 | -32768..32767 |
integer, longint | 4 | -2147483648..2147483647 |
int64 | 8 | -9223372036854775808..9223372036854775807 |
byte | 1 | 0..255 |
word | 2 | 0..65535 |
longword, cardinal | 4 | 0..4294967295 |
uint64 | 8 | 0..18446744073709551615 |
BigInteger |
integer longint, longword cardinal .
: MaxInt64, MaxInt, MaxSmallInt, MaxShortInt, MaxUInt64, MaxLongWord, MaxWord,MaxByte.
T BigInteger :
T.MinValue - , T;
T.MaxValue - , T;
T :
T.Parse(s) - , T. , ;
T.TryParse(s,res) - , T res. , True, - False.
, T ToString, .
, , $:
25 3456 $FFFF
, , :
, | |||
real | 8 | 15-16 | -1.8∙10308 .. 1.8∙10308 |
double | 8 | 15-16 | -1.8∙10308 .. 1.8∙10308 |
single | 4 | 7-8 | -3.4∙1038 .. 3.4∙1038 |
decimal | 16 | 28-29 | -79228162514264337593543950335 .. 79228162514264337593543950335 |
real double . real 5.0∙10-324, single 1.4∙10-45.
: MaxReal, MaxDouble MaxSingle.
R decimal :
R.MinValue - , R;
R.MaxValue - , R;
R.Epsilon - , R;
R.NaN - , (, , 0/0);
R.NegativeInfinity - , (, , -2/0);
R.PositiveInfinity - , (, , 2/0).
R decimal :
R.IsNaN(r) - True, r R.NaN, False ;
R.IsInfinity(r) - True, r R.PositiveInfinity R.NegativeInfinity, False ;
R.IsPositiveInfinity(r) - True, r R.PositiveInfinity, False ;
R.IsNegativeInfinity(r) - True, r R.NegativeInfinity, False ;
R :
R.Parse(s) - , R. , ;
R.TryParse(s,res) , R res. , True, - False.
|
|
, ToString, R.
, :
1.7 0.013 2.5e3 (2500) 1.4e-1 (0.14)
boolean 1 , True () False ().
:
boolean.Parse(s) - , boolean. , ;
boolean.TryParse(s,res) - , boolean res. , True, - False.
, ToString, boolean.
. , False<True, Ord(False)=0, Ord(True)=1.
char 2 Unicode-. System.Char .NET.
+ () . : 'a'+'b' = 'ab'. , , :
var s: string:= ' '+15; // s = ' 15'
var s1: string:= 15+' '; // s = '15 '
< > <= >= = <>, :
'a'<'b' // True
'2'<'3' // True
Windows (CP1251) Chr Ord:
Chr(n) - , n Windows;
Ord() - , byte, c Windows.
Unicode ChrUnicode OrdUnicode:
ChrUnicode(w) - w Unicode;
OrdUnicode() - word, c Unicode.
, # Unicode- ( 0 65535).
:
char(w) w Unicode;
word() c Unicode.
string, char .
. , : s[i] i- , . i , .
: < > <= >= = <>. : s1 < s2 i s1[i]<s2[i] , s1 s2.
+ () . : ''+'' = ''.
+= - - . :
var s: string:= '';
s += ''; // s = ''
, :
|
|
s:= ': '+15; // s = ': 15'
s:= 20.5+''; // s = '20.5'
s += 1; // s = '20.51'
*: s*n n*s , s, n :
s:= '*'*10; // s = '**********'
s:= 5*'ab' // s = 'ababababab'
s:= 'd'; s *= 3; // s = 'ddd'
System.String .NET . , System.String. , .NET - , PascalABC.NET . , s[i] (.NET ). , string PascalABC.NET :
var s2:= 'Hello';
var s1:= s2;
s1[2]:= 'a';
s2 . , .. , Delphi Object Pascal, .NET.
, nil, NET-.
, PascalABC.NET . string[n], n - , . , , . Delphi Object Pascal shortstring=string[255].
.
string.