- . , , , , . ( ) 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 |