.


:




:

































 

 

 

 





- . , , , , . ( ) goto.

(.. ) :

begin < > end

. begin end .

: (). , .

:

If < >

then < 1>

else < 2>

,.. else < 2>. , false, .

: , , , b , d ( < b, < d). , m , n - b d.

3

 

program cross;

var a,b,c,d,m,n,l:real;

begin

writeln(' ');

read(a,b,,d);

writeln;

if a<c then m:=c else m:=a;

if b<d then n:=b else n:=d;

if m<n then l:=n-m else 1:=0;

writeln(" =',1:6:2)

end.

:

case <> of

< 1>: < 1>;

< 2>: < 2>;

< N>: < N>

end.

 

, case of, . .

, case. , , . , .

, .

4

program seasons;

var k:integers

begin

writeln(' ');

readin(k);

case k of

1,2,12:writeln('');

3, 4,5:writeln('');

6, 7,8:writeln('');

9,10,11:writeln('')

end

end.

 

, . ( ) ( ).

. . :

 

while - < > do <>

 

: . true, , , .

. . , , . , , 100 .

: sum - , ; num - ; w - . sum num . , sum < 100.

 

5

program store;

var sum,w:real;

num:integer;

begin

num:=0;sum:=0;

while sum<100do

begin

writeln(' ');

readln(w);

sum:=sum+w;

if sum<=100 then num:=num+l

else writeln(' ')

end;

writeln(' =',num;3)

end.

 

:

repeat < >

until < >

: . . true, , ..

, . , : sum > 100.

6

program store2;

var sum,w:real; man:integer;

begin

num: =0; sum: =0;

repeat

writeln(' ');

readln(w); sum:=sum+w;

if sum<=100 then num:=num+l.

else writeln(' ')

until sum>=100;

writeln(' =',num:3)

end.

() . .

1:

for <>:= <1> to < 2> do <>

, 1, 2 ;

. :

begin

<>:=< 1>;

while <> <= < 2> do

begin

<>;

<>:=su(<>)

end

end.

<= >=, succ pred, , 2.

2:

for <>:=< 1> downto < 2> do <>

: , (1 = 1,603 ). k - . 1 10 ( 1, ).

7

program mili;

const a=1.603;b=''; ='';

var k:integer; m:real;

begin

writeln(b:5,c:7); writeln;

for k:=l to 10 do

begin

m:=k/a; writeln(k:5,m:6:3)

end

end.

2:

for k:=10 downto 1 do

begin

m:=k/a; writeln(k:5,m:6:3)

end.

 

k 10 1 1.

 

1. ?

2. ? ?

3. ? ?

 

real, integer, boolean, byte,char.

- , .

:

type < > = < >

 

:

 

type operator = (plus,minus,multi, divide);

color = (white,red,blue,yelow,purple,green);

 

256 .

, ord(x), pred(x), succ(x) . , / .

8, .

 

8

programweek;

type days=(mon,tue,wed,thu,fri,sat,sun);

var d:days;

begin

for d:=mon to sun do

case d of

mon: writeln("");

tue writeln("");

wed writeln("");

thu writeln("");

fri writeln("");

sat writein("");

sun writeln("")

end

end.

 

- , . , , :

 

type days=(mon,tue,wed,thu,fri,sat,sun);

workday s=mon.. fri;

index=1..30;

letter='a'..'z';

 

:

 

vara:1..100;b:-25..25;

 

- , . .

: k - ,

 

var k:integer;

 

 

vark:1..12;

 

.

 

. , , . : , , . . - , , . : , .. , , .

, , , , .

- . - , . ( ) . , . array of. .

:

 

type < > = array [< >] f < >

 

- , . . .

:

 

type vector = array [1.. 10] of real;

table = array ['A'..'Z',1..5] of integer;

var a,b: vector;

: table;

 

, .

:

 

[7]:=3.1; b[k*k+l]:=0; ['',3]:=-14;

 

, , b:=;

:

 

var a,b: array [1.. 10] of real;

d: array [byte] of char;

 

- , , . . , .

:

 

const < >: < > = (< >)

 

:

 

type digits = array [1..5] of char;

const a: digits =('0';2','4';6';8');

 

: , , 20 .

 

[1]=[2]=1; a[k]=a[k-l]+a[k-2] >2.

 

. 5 .

 

9

program fibon; "''

const n=20;

var a: array[l..n] of integer;

k: integer;

begin

a[l]:=l;a[2]:=l;

for k:=3 to n do a[kl:=a[k-l]+a[k-2];

for k:=l to n do write(a[k]:5);

writeln

end.

 

- .

: .

, .

, :

 

5,3,2,4,1 → 5,3,2,1,4 → 5,3,1,2,4 →5,1, 3,2,4 → 1,5,3,2,4

 

true:

p:=true; , : p:=false; , . , : p=true. 10 - .

 

10

program bubble; '

const a:array[l..10] of integer=(19,8,17,6,15,4,13,2,11,0);

var b,i:integer; p:boolean;

begin c1rscr;

for i:=l to 10 do write(a[i]:3);writeln;writeln;

repeat p:=true;

for i:=10 downto 2 do

if a[i]<a[i-l]

then begin

 

b:=a[il;a[i]:=a[i-l]; ali-1]:=b;p:=false

end

until p=true;

for i:=l to 10 do write(a[i]:3);

writeln

end.

 

() . , - .

. , - string[n] - n , n <= 255. - - .

1. , - :

 

type word: string[20];

var a,b,c: word;

 

2. :

 

var a,b,c: string[20];

d: string[30];

 

3. -:

const l:string[l 1]='';

 

, , ; , .

, :

 

'fife' < 'tree' ( 'f' < 't'); '4' > '237' ( '4' > '2' ).

 

<, >, =, , :

 

:=''+''+''; ( ='').

 

.

1. - concat(sl,s2,...,sk). - sl,s2,...sk, 255 .

2. - copy(s,i,k). s k , i- :

 

:=('',4,3); ( ='*).

 

3. - length(s). , s:

 

b:=length(''); (b=8).

 

4. - pos(s,t). , s t; 0, s t:

 

:=s('',''); (=2).

 

:

1. delete(s,i,k). s k , i- .

 

s:=''; delete(s,5,2); ( S='').

 

2. - insert(s,t,i). s t, i:

 

t:=''; insert ('ka',t,5); (t='').

 

3. - str(k,s). s k:

 

str(564,s); (s='564').

 

4. - val(s,k,i). i=0, s , , i= , :

 

val('780',k,i); (k=780; i=0).

 

, .

1. , , 100 .

-, 18 , , -.

 

11

program vowel;

const :tring[18]='';

var a:string[100]; k,n:integer;

begin

writeln(' '); readln(a);n:=0;

for k:=l to length(a) do

if pos(a[k],c)>0 then n:=n+l;

writeln('. =',n) end.

2. sqr . sqr delete insert:

 

12

program stroka;

var a,b:string[40]; k:integer;

begin

writeln(' <= 40 ');

readin(a);b:=a;

repeat k:=pos('sqr',b);

if k>0 then

begin

delete(b,k,3);insert('',b,k);

end

until k=0;

writein(' =',a); writein(' "',b);

end.

 

3. 10 . 10 - .

 

13

program order;

const s=10;

type word=string(20];

var i, j, k: 1.. s;

b:word; p:boolean; list:array[l..s] of word;

begin

clrscr;writeln<' ');

for i:=l to s do readln(list[i]);

repeat p:=true;

for i:=s downto 2 do

if list[i]<list[i-l] then

begin

b:list[i);list[i]:=list[i-l]; list[i-l]:=b;p:=false end

until p=true;

writein(' :');

for i:=l to s do writeln(list[i])

end.

, - . 255. , integer , > 255. . set of. () - , . [].

:

 

type <> = set of < >

 

:

 

type t=set of byte;

var a:t;

 

:

 

var code: set of0..7;

digits: set of'0'..'9';

 

, . , ,

 

type up=setof'A'..'Z';

low=set of'a'.. "z";

const upcase: up=['A'.. 'Z'];

vocals:low=['a', 'e', 'i', 'o', "u", 'y'];

delimiterset of char=[ '..' /',':'..'? '];

 

, , +, * -, (=), (<>), (<=,>=).

in true, false . , in .

, , , .

: , , .

alfa - . , - . *. in , . N - - : N:= alfa - .

 

14

program search;

const alfa:set of char=['a' .. 'z'];

var c:char;E,N:set of char;

begin

cirscr; E:=[]; writeln(' , -*'); read(c);

while c<> '*' do

begin

if in alfa then E:=E+[c]; read(c)

end;

writeln;

if E=alfa then writeln(' ')

else begin

N:=alfa-E;

writeln(':');

for c:='a' to 'z' do if in E then write(c);

writeln; writeln(' :');

for c:='a' to 'z' do if in N then write(c);

writeln

end

end.

 

, , .

: 5 36, 1..36, : 0, 1 2 , ; 3 , 3 ; 4 , 100 ; 5 , 1000 .

: mn 1.. 36, - , , - ,. , z=a*x - ; i, k, s - , 1..36. : s:=random(35)+l. , .

 

15

program lottery;

type mn = set of 1.. 36;

var x ,a, z: nm; i, k, s: 0.. 36;

begin

writeln; a:=[];

for i:=l to 5 do

begin write(' ',i,' - '); readin(k);a:=a+[k] end;

randomize;

k:=0; x:=[];

whilek<5 do

begin

s:random (35) +1;

if not(s in x) then begin k:=k+l; x:=x+[s]

end

end; writeln;

writeln(' : ');

for i:=l to 36 do if (i in x) then write(i,' ');

writeln; z:=a*x; k:=0;

for i:=l to 36 do if (i in z) then begin writeln(': ',i); k:=k+l

end;

case k of

0, 1, 2: writeln(' ');

3: writeln(' 3 ');

4: writeln(' 100 ');

5: writein(' 1000 ')

end

end.

( ) - , , , . - , , . , , , . , (, , , , ) (record):

 

type address = record

index: string[6];

city: string[20];

street: string[20];

haus.ilat: integer

end;

 

,

 

type = record

1: ;

2: ;

N:

end;

 

, . , :

 

fio:string[20];

fas:string[10]

grup:string[8]

end

 

-

 

const <>: < > = < >

 

- , . . , :

 

type point = record

, , z: integer

end;

const o: point = (x:0; y:0; z:0);

 

. . , , address, .. var x: address. :

 

x.haus:= 52; .street:='.'; x.city:= '';

x.flat:= 135; x.index:='60049'

 

, :

 

zl=al+i*blz2=a2+i*b2.

 

16

program cornpl;

type compi =record

re: real;

im: real

end;

var zl,z2,s,p: compl;

begin

writeln('. a+i*b : 'it-write(' 1 : '); readln(zl.re,zl.im);

write(' 2 : '); readin(z2.re,z2.im);

s.re:= zl.re + z2.re;

s.im:= zl.re + z2.im;

p.re := zl.re * z2.re - zl.im * z2.im;

p.im:= zl.re * z2.im + z2.re * zl.im;

writeln('s=',s.re:4:2,' + i *' ,s. im:4:2);

write('p=',p.re:4:2,' + i *',p.im:4:2)

end.

 

. , , with. :

 

with < > do <>;

 

, do, . , s with :

 

with s do writeln('s=',re:4:2,'+i*',im:4:2);

 

, .

.

:

 

man = record

fio:record

fam, im,otch: string[10];

end;

data: record

day: 1..31;

mes:1..12;

god:integer

end;

pol: char;

telef: record

dom,rab: string[10];

end;

end;

 

, , .

:

 

N 1 2

1 .. 4 4 3 11 50.00 0.25 49.75

 

, . . : 15, 75 .; , 12 < < 15 62 50 ., 9 < < 12, - 50 . ( ). 0,5% , .

.

 

17

program spisok;

type stud = record

fio:string[20];

ex1, ex2, ex3: 2.. 5;

bal:6.. 15;

sum:real;

nalog:real;

itog:real;

end;

var x: array[1..30] of stud;

i,k,m,n:integer;

: 6..15;

z: stud;

begin write(' : '); readln(n);

for i:= 1 to n do with x[i] do

begin write(' ',i,'-ro : ');

readln(fio); write('B : ');

readin(exl,ex2,ex3);

end;

for i:= 1 to n do with x[i] do

begin bal:=exl+ex2+ex3;

if (exl=2) or (ex2=2) or (ex3=2)

then sum:=0

else if bal=15 then sum:=75

else if bal>12 then sum:=62.5

else if bal>9 then sum:=50

else sum:=0;

nalog:=sum*0.005; itog:=sum-nalog;

end;

for k:= 1 to n-1 do

begin y:=x[k].bal; m:=k;

for i:=k+l to n do if y<x[i].bal then

begin y:=x[i].bal; m:=i

end; z:=x[k]; x(k]:=x[m]; x(m]:=z;

end;

writeln; writeln (' ');

for i:=l to 64 do write('-'); writeln;

write ('N | | 1 | 2 | 3 | | | | |');

for i:=l to 64 do write('-'); writeln;

for i:=l to n do with x[i] do

begin write(i:3,fio:20,exi:4, ex2:4,ex3:4);

writeln(bal:5,sum:9:2,nalog:8:2,- itog:7:2);

end

end.

 

 

1. ?

2. ?

3. ?

4. ?

5. ?

6. ?

7. d, . .

8. , , , .

9. b , d - . , .

10. , b, .

11. , : (20+25^2 = = 2025.

12. 1,2,...,n .

13. Y.

14. 1,2,...,n , : k ; (K+1)- k , (k+1) .

15. n.

16. sin cos sqrt abs.

17. 0, 1,2,..., 9.

18. . , .. .

19. [2..201].

20. :

) (, , , );

) (,.);

) (,,,).

21. N . , . .

 

 

. .

, , :

procedure;

( ). , , ( ). , , .

. - ,

 

procedure <> (< >)

< >: <> var < >: <>

 

-, - -. .

 

< > (< >);

 

. . - .

- .

: , , 1, 2,..., 10 1, 2,..., 5.

. , ( ) -.

, .

 

18

program section;

var x:integer;

procedure line(a:integer;c:char);

var j:integer;

begin

for j:=l to a do write (c);

writeln

end;

begin

line(35,'-'); writeln(' ');

line(35,'-');

for x:=l to 10 do writeln(x:8,sqrt(x):8,4);

line (35,'-'); writein(' ');

line(35,'-');

for x:=l to 5 do writein(x:8,In(x):8:4);

line(35,'*')

end.

- , , . - :

function :

 

function <> ( ): <>;

 

;

- ,

 

< > (< >).

 

( ) , .. .

: , , b, , d .

nod(x,y)

 

| x, = 0

nod(x,y) = | nod(y.x). <

| nod(x mod ,), >

21 15, nod(21,15) = nod(6,15) = nod(15,6) = nod(3,6) = nod(6,3) = nod(0,3) = nod(3,0) = 3.

 

19

program four;

var a,b,c,d,m,n:integer;

function nod(x,:integer):integer;

var h:integer;

begin

if y=0 then h:=x

else if x<y then h:=nod(y,x)

else h:=nod(x mod , );

nod: =h end;

begin

writeln(' 4 ');

read(,,,d); writeln;

m:=nod(a,b); n:=nod(c,d);

writeln('(',,',',b, ')=',m);

writeln('(',c,',',d,')=',n);

if m>n then writeln(' > ')

else if m<n then writeln (' < ')

else writeln(' ') end.

. , ( ) , . . .

, . , . , , , . , . - - . : , , .., , - . ( 3). . .corn ( ), , 8 -10 , .

. $I . , . , , .

. . 20 , , <> . b. - .

 

20

procedure PRIVET;

var a: char;

begin

cirscr; gotoxy(20,10);

write(', !');

repeat ( )

gotoxy(35,50);write(''); ( }

read(kbd,); ( )

until =' '; (* '')

cirscr;

end;

procedure STEPEN(a,b:real;var y:real);

begin

y:=exp(b*ln(a));

end;

function MEXP(x:real):real;

begin

mexp:=l+x+x*x/2+x*x*x/6+x*x*x*x/24;

end;

lab.pas. , .

 

21

program primeri;

($i lab) ( } var a,b: real;

begin

PRIVET;

STEPEN(2,4,a); writeln('2 4 =',a); b:=MEXP(l);

write(' exp(1)=',EXP(1):6:4,' exp(1)=',b:6:4);

end.

 

- (1) (1).

. : , , , . . , , . , . , . - , , , . ; - .tpu (Turbo Pascal Unit). , Uses .

- 5.0 CRT, GRAPH . , , .. , :

 

uses < >

 

. .

. , .

: (, b). ,

 

(a,b) + (c.d) = (a+c,b+d),

(a,b)-(c,d)=(a-^,b-d),

(a,b) * (c,d) = (a*c-b*d, a*d+b*c),

(a,b) / (c,d) = ((a*c+b*d)/(c*c+d*d), (b*c-a*d)/(c*c+d*d)).

 

: Sum - ,Raz -, Proiz - , Chastn - .

. , , ( - ) Uses CompChisla.

, , .

 

22

unit CompChisla;

interface

procedure Sum(a,b,c,d: real; var x,y: real);

procedure Raz(a,b,c,d: real; var x,y: real);

procedure Proiz (a,b,c,d: real; var x,y: real);

procedure Chstn(a,b,c,d: real; var x,y: real);

implementation

procedure Sum;

begin x:=a+c; y:=b+d end;

procedure Raz;

begin x:=a-c; y:=b-d end;

procedure Proiz;

begin x:=a*c-b*d; y:=a*d+b*c

end;

procedure Razn;

var z:real;

begin z:= c*c+d*d; x:=(a*c+b*d)/z; y:=(b*c-a*d)/z end;

end.

 

 

1. ? ?

2. - ?

3. ?

4. ?

 

 

() - . , .

:

1) (, , , , , );

2) -: , , ..

.

:

 

type < > = file of < >

 

, . :

 

type

intfile = file of integer;

refile = file of real;

chfile = file of char;

ran = 1.. 10;

st = set of ran;

vector = array[ran] of real;

comp = record

re,im: integer;

end;

setfile=file of st;

vecfile = file of vector;

compfile= file ofcompt;

 

. :

 

var f: intfile; var f: file of integer;

 

- . :

 

assign (< >,'< >')

 

, () . , , primer, dat :, , , , a f

 

assign (f, 'primer.dat')

 

, assign(f, '1st:'). 1st - . -:

con - ; trm - ; kbd - ; 1st - ; aux - ;

usr- .

f .

, reset(f), - rewrite(f).

read/write, :

 

read (f, < >); readln (f, < >);

write(f, < >); writeln(f, < >).

 

close(f).

, , . , :

 

.. - , () ; .. ( ) - , .

. , , ; , - (, seek, . ).

rewrite(f) - - ; . f , .

reset(f) , .

 

close (Q , , apep, eof(f), ).

- :

 

filesize(f) - ;

filepos(f) - ;

nam (f,) - , f;

erase(f) - ;

execute(f) - -;

chain(f) - CHN-;

seek(f,N) - N;

eof(f) - TRUE, ;

ealn(f) - TRUE, .

 

, () . TEXT ( file of char, , - file of string[n]). , . (eoln - end of line). #. (text) , , , seek. , (read) (write). , writein readln. , , .

, . 1. - (1st:).

 

23

program print;

var

fal:text; x:real; name: string[25];

begin

assign (fal, ' 1st:'); rewrite (fal); x:2.5; name:"'';

writeln(fal,x:8:2);

writeln(fal,', '.name); close(fal):

end. ( fal 1st:, fal )

2. xxx.dat 10 20.

 

24

program zapis;

var

f: file of integer; i: integer;

begin

assign(f,'xxx.dat'); rewrite(f);

for i:=10 to 20 do write(f,i); close (f);

end. ( xxx.dat)

3. xxx.dat .

 

25

program read;

var ff: file of integer; j,i: integer;

begin

assign(ff,'xxx.dat'); reset(ff);

for j:=l to 5 do begin read(ff.i); writeln(i*i);

end;

close(ff);

end.

4. (text) slov.txt . .

 

26

program text;

var

ft: text; n: integer; ch: char; st: set of chart begin

assign (ft,'slov.txt'); reset(ft);

st := ['A'.'E','','',','','','',''];

st:= st+['a','e','','','','','','',''];

n: =0;

while not eof(ft) do begin

read(ft, ch); if ch in st then n:=n+l;

end;

close(ft);

writeln; write('- =',n);

end.

 

() , eof(f), TRUE, .

5. .

(sekret) : , n . '', .

n 'n.key', key. .ee, .

(retsek) .tt .

 

27 ()

program key;

var

n: integer; f: file of integer;

begin,.

assign (f,'n.key'); rewrite(f); write\('Be (): ');

readln(n);

write(f,n); close(f);

end.

27 ()

program sekret;

var

| slovo,anslovo: string[100];

alfavit: string[33];

n, i, k, p: integer;

fkl: file of integer;

fs: text;

begin

alfavit:=' ';

assign(fkl,'n.key'); reset(fkl); read(fkl,n); close(fkl);

writeln; write(' : ');

readln(slovo); anslovo:='';

for k:=l to length(slovo) do begin for i:=l to 33 do

if slovo[k]=alfavit[i] then begin p:=i+n;

if p >33 then p:=p mod 33;

anslovo:=anslovo+alfavit[p];

end;

end;

assign(fs,'.txt'); rewrite(fs); write(fs,anslovo);close(fs);

writeln; write(ansiovo);

end.

27 ()

program retsek;

var slovo, anslovo: string[100];

alfavit: string[33];

n, i, k, p: integer;

fi: file of integer;

f: text;

begin alfavit:=' ';

assign(fi,'n.key'); reset(fi); read(fi.n); close(fi);

assign(f,'.txt'); reset(f); read(f,anslovo); close(f)

slovo:='';

for k:=l to length(anslovo) do

begin for i:=l to 33 do

if anslovo[k]=alfavit[i] then

begin p:=i-n; if p < 1 then p:=33-p mod 33;

slovo:=slovo+alfavit[p];

end;

end;

writeln; write('TeKCT : ',slovo);

end.

 

1. ?

2. ?

3. , , z, t

d.

4. . ,

5. lab.zap, .' . .

, :

) class ;

) god ;

) .

program lab;

type shcoo 1= record

fi: string[20], class: 1.. 11; god: integer; pol: char;

end;

var x:array[1..100] ofshcool; n,i:integer; f:file of school;

begin

write (' - :'); readln(n); assign(f,'lab.zap'); rewnte(f);

for i:=l to n do with x[i] do

begin \write(' ...',1,'- :'); readln(fio);

write('acc:'); readln(class);

write('o :-'); readln(god); write('(M/):-');

readln(pol); write(f,x[i]);

end; close(f);

end.

6. , . , . .

) 100 | ;

) 1 200 |

 





:


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


:

:

, .
==> ...

1472 - | 1409 -


© 2015-2024 lektsii.org - -

: 0.805 .