.


:




:

































 

 

 

 


(Record) With




 

- , . record end. , , .

 

RECORD

1: 1;

2: 2;

:

END;

 

, , :

 

Type

PointRecType = record x, y: Integer end;

.

Type

Car=Record

Number: integer; {}
Marka: string[20]; { }
FIO: string[40]; {, }
Address: string[60]; { }

end;

Var

M, V: Car;

Car : , , . . V Car.

, . . , , .

. , . , . .

, Car :

 

M.Number, M.Marka, M.FIO, M.Address.

 

, . .

.

 

M.Number:=1678;

M.Marka:= _24;

M.FIO:= . .

M.Address:=. 12-31;

, , -:

 

Read(M.Number, M.Marka, M.FIO, M.Address);

Write(M.Number:4, M.Marka:7, M.FIO:12, M.Address:25);

 

, , . , V:= ;

V .

. :

 

Type

Person= record

FIO: string[20];

Age: 1..99;

Prof: string[30];

End;

Var

List: array[1..50] of Person;

 

, . Pascal with,

 

with _ DO ;

 

with, , . . , .

: with

 

with M do

begin

Number:=1678;

Marka:= _24;

FIO:= . .

Address:=. 2-31;

end;

 

with , . , .

 

PROGRAM MAIN;

var

X, Y: Integer;

RecXY: record X, Y: Integer end;

Begin

X: =10; Y: =20; { X Y }
with RecXY do begin { RecXY }
X: = 3.14 * X; { X Y? }
Y: = 3.14 * Y  

end; {with}

End.

with RecXY. with X Y, X Y - (UNIT), ( ). , :

 

with RecXY do begin

X: = 3.14 * Main.X;

Y: = 3.14 * Main.Y

end;

 

.

Pascal (.. ), with .

 

with RV1 do

with RV2 do

with RVn do

 

 

with RV1, RV2, , RVn do...

 

, , . . Pascal , . . , , . .

. case. , , . . , , . :

 

Type

Rec = record

case < >: < > of

< 1>: (....:):

< n >: (....:)

end;

 

( ) . case end, case. end . , .

, , .

:

, , , ;

, ;

, - , , : <>: ().

2. , .

:

 

Program SF;

Uses Crt;

Type TF=(rect,circle);

figure=record

case art: TF of

rect:(L1,L2:real);

circle:(R:real);

end;

Var x:figure;

p:string[6];

pr:char;

Begin

ClrScr;

repeat

write(' (rect, circle) '); readln(p);

with x do begin

if p='rect' then art:=rect;

if p='circle' then art:=circle;

case art of

rect: begin

write(' = '); readln(L1);

write(' = '); readln(L2);

writeln(' =', L1*L2:8:3);

end;

circle: begin

write(' = ');readln(R);

writeln(' =', Pi*R*R:8:3);

end;

end; {case}

end;

write(' ? (Y-,N- ) ');readln(pr);

until pr='N';

readln;

End.

.

 

, . . C T, T , C, . , C T. .

< > = SET OF < >

SET OF - .

:

TYPE SCHOOL = (PUPILS, TEACHERS, ZAVUCH, ZAVHOZ, DIRECTOR)

:

TYPE ADMINISTRAZIA = SET OF SCHOOL;

ADMINISTRAZIA .

ADMINISTRAZIA - SCHOOL. SCHOOL - ADMINISTRAZIA. , . [PUPILS, TEACHERS], [ZAVUCH, ZAVHOZ, DIRECTOR] SCHOOL. . : [ ].

, , :

, ;

;

, (.. ).

, . +.

:

[1, 2] + [3, 4, 5] = [1, 2, 3, 4, 5];

[PUPILS, TEACHERS] + [ZAVUCH, ZAVHOZ, DIRECTOR] =

[PUPILS, TEACHERS, ZAVUCH, ZAVHOZ, DIRECTOR];

, . *.

:

[1..10] * [5..20] = [5..10];

[PUPILS, TEACHERS] * [TEAHERS, ZAVUCH] = [TEAHERS];

, , . -.

:

[1..10] - [5..20] = [1..4];

[PUPILS, TEACHERS, DIRECTOR] - [ZAVUCH, ZAVHOZ] = [DIRECTOR];

:

= ;

<> ;

<= ;

>= .

true false, :

[3, 4, 5] = [4, 5] - false

[3, 4, 5] <> [4, 5] - true

[1, 2, 3] <= [1..10] - true

IN, -. IN . , . true, , .. . false.

,

5 in [1, 2, 3, 4, 5, 6, 7] - true

10 in [1, 2, 3, 4, 5, 6, 7] - false

ZAVUCH IN [PUPILS, TEACHERS, ZAVUCH, ZAVHOZ]

,

DIRECTOR IN [PUPILS, TEACHERS, ZAVUCH, ZAVHOZ]

 

31,

( ) - , - . . , , . - , - . (heap - ). . - . TURBO PASCAL New, Dispose, GetMem, FreeMem, Mark,Release, MaxAvail, MemAvail, SizeOf. New(var p: Pointer) - p^ p. Dispose(var p: Pointer) , New, p . GetMem(var p: Pointer; size: Word) heap - , p, size. FreeMem(var p: Pointer; size: Word) - , p, - size. p . Mark(var p: Pointer) p . Release(var p: Pointer) - , , p Mark, -, , Mark. MaxAvail: Longint - . MemAvail: Longint - . SizeOf(X): Word -, X, X , . . var p1, p2: ^Integer; p1 p2 - . p1:=NIL; p2:=NIL; p1 p2 . New(p1); New(p2); New(p1) : - ; - p1: ===== ===== *-----------> L=====- L=====- p1 p1^ , New(p2) , p2: ===== ===== *-----------> L=====- L=====- p2 p2^ p1^:=2; p2^:=4; 2 4 -: ===== ===== *-----------> 2 L=====- L=====- p1 p1^ ===== ===== *-----------> 4 L=====- L=====- p2 p2^ p1^:=p2^; , p1, 4: ===== ===== *-----------> 4 L=====- L=====- p1 p1^ ===== ===== *-----------> 4 L=====- L=====- p2 p2^ p2:=p1; : ===== ===== *-----------> 4 L=====- --->L=====- p1 p1^ p2^ ===== *--------- L=====- p2 p1^, p2^ , New. , -: p1^:=p1^+8; Write('p1^=',p1^:3); . : Program DemoPointer; var p1,p2,p3:^Integer; begin p1:=NIL; p2:=NIL; p3:=NIL; New(p1); New(p2); New(p3); p1^:=2; p2^:=4; p3^:=p1^+Sqr(p2^); writeln('p1^=',p1^:3,' p2^=',p2^:3,' p3^=',p3^:3); p1:=p2; writeln('p1^=',p1^:3,' p2^=',p2^:3) end. : p1^= 2 p2^= 4 p3^= 18p1^= 4 p2^= 4

33,

 

. , , , .

.

* 2*3 (: 6)
/ 30/2 (: 1.5E+01)
+ 2+3 (: 5)
- 5-3 (: 2)
div 5 div 2 (: 2)
mod 5 mod 2 (: 1)

:

  • NOT - ("")
  • AND - ("")
  • OR - ("")
  • XOR - " "

.

A B not A A and B A or B A xor B
true true false true true false
true false   false true true
false true true false true true
false false   false false false

, :

  • > -
  • < -
  • = -
  • <> -
  • >= -
  • <= -

, , , .

() . :

  • not, -, @
  • : * / div mod and
  • : + - or xor
  • : = <> < > <= >= in

. 2*5+10 20, 2*(5+10) 30.





:


: 2016-11-12; !; : 1183 |


:

:

,
==> ...

1491 - | 1466 -


© 2015-2024 lektsii.org - -

: 0.067 .