n=6 ' ( 6 )
' - , ,
DIM fam$(n), ot(n), zar(n)
DATA "",123,800, "",564,780, "",123,950
DATA "",123,700, "",564,600, "",123,900
READ fam$(1), ot(1), zar(1), fam$(2), ot(2), zar(2), fam$(3), ot(3), zar(3)
READ fam$(4), ot(4), zar(4), fam$(5), ot(5), zar(5), fam$(6), ot(6), zar(6)
' KADR.DAT
OPEN "kadr.dat" FOR OUTPUT AS 1
PRINT " "
PRINT " "
FOR i=1 TO n '
WRITE #1, fam$(i), ot(i), zar(i)
PRINT fam$(i), ot(i), zar(i)
NEXT
CLOSE #1 '
OPEN "kadr.dat" FOR INPUT AS 1 '
sum = 0: k = 0 '
DO WHILE NOT EOF(1)
INPUT #1, f$, o, z '
IF o=123 THEN ' 123
sum=sum+z '
k=k+1 '
PRINT f$,o,z '
END IF
LOOP
CLOSE #1
'
PRINT " ="; sum
PRINT " ="; sum/k
:
123 800
564 780
123 950
123 700
564 600
123 900
123 800
123 950
123 700
123 900
= 3350
= 837.5
. KADR.DAT OTDEL.DAT.
KADR.DAT
DIM no(20) '
' KADR.DAT c 1
OPEN "kadr.dat" FOR INPUT AS 1
nn=0 '
DO WHILE NOT EOF(1) ' 1
INPUT #1, f$, o, z '
FOR i = 1 TO nn '
' ,
IF no(i) = o THEN GOTO m:
NEXT
' , no(nn)
nn=nn+1: no(nn)=o
m: LOOP
'
FOR i=1 TO nn-1: FOR j=i+1 TO nn
IF no(j)<no(i) THEN SWAP no(i),no(j)
NEXT j, i
KILL "otdel.dat"
' OTDEL.DAT
OPEN "otdel.dat" FOR APPEND AS 2
FOR i = 1 TO nn ' NN
SEEK #1, 1 ' KADR
DO WHILE NOT EOF(1) ' KADR
INPUT #1,f$,o,z '
' KADR ,
|
|
' KADR OTDEL
IF no(i)=o THEN WRITE #2, f$,o,z
LOOP
NEXT
CLOSE #2 ' OTDEL.DAT
OPEN "otdel.dat" FOR INPUT AS 2 '
ot '
DO WHILE NOT EOF(2) '
INPUT #2, f$,o,z '
' , ( OT)
IF ot<>o THEN PRINT " "; o: ot=o
PRINT f$,o,z '
LOOP
CLOSE '
:
123
123 800
123 950
123 700
123 900
564
564 780
564 600
. / / .
üPUT _ [,[_][,]]
üGET _ [,[_][,]]
, PUT/GET , SEEK.
. , :
üTYPE _
AS
[ AS ]
...
END TYPE
:
(INTEGER, LONG, SINGLE, DOUBL, STRING). STRING STRING* ___.
. , : 12 (STRING*12) (INTEGER). SOTR ORG(50) .
, . , ORG(1).FAM ORG FAM. .
TYPE sotr
fam AS STRING*12
Zar AS INTEGER
END TYPE