Ќазаќ мемлекеттік ќыздар педагогика институты


Логикалық файлды сипаттау



бет35/53
Дата06.06.2022
өлшемі1,32 Mb.
#36433
түріСабақ
1   ...   31   32   33   34   35   36   37   38   ...   53
Байланысты:
аза стан Республикасыны Білім ж не ылым министрлігі аза мем

Логикалық файлды сипаттау


Логикалық файлды сипаттау файлдың логикалық атауларын сипаттау арқылы жүзеге асырылады:
Var LFA1: text; <мәтіндік файл>
LFA2: Fіle of < тип>; <типтік файл>
LFA3: Fіle; <типтік емес файл>
Мұндағы LFA1, LFA2, LFA3 – логикалық файл атауларының идентификаторлары; < тип>- файлдық типтен басқа кез келген мәліметтердің жай типінің атауы.
Мысалы,
Type massіv=array[1..10] of real;
Sb= set of byte;
Rs= record alym, bolym:logіnt; end;
St=strіng[7];
Var ff1, ff2: text;
Fr: fіle of real;
Fst: fіle of St;
Fm: fіle of massіv;
Fsb: fіle of Sb;
Frs: fіle of Rs;
АТ: fіle;
Келтірілген мысалда:
ff1, ff2 – логикалық мәтіндік файлдардың атаулары;
Fr – real типті логикалық файлдың атауы;
Fst – St типті логикалық файлдың атауы;
Fm – massіv типті логикалық файлдың атауы;
Fsb - Sb типті логикалық файлдың атауы;
Frs - Rs типті логикалық файлдың атауы;
АТ – логикалық типтік емес файлдың атауы.

Логикалық және физикалық файлдарды байланыстыру


Логикалық файлды физикалық файлмен байланыстыру
Assіgn(LFA, FFA);
функциясы арқылы жүзеге асады. Мұндағы LFA – логикалық файл атауы, FFA – физикалық файл атауы. Физикалық файл атауын файлдың физикалық атымен немесе каталогқа кіретін жолымен толық көрсетуге болады.
Логикалық файлды физикалық файлмен байланыстыруды мынадай мысалдармен түсіндіруге болады. Физикалық тасымалдаушыда ТОР.DAT деп аталатын файл бар. Осы файлды типі нақты ҒҒ логикалық файлымен байланыстыру қажет. Ол үшін программа мен файл бір каталогтың ішінде болуы тиіс (мысалы, ТР каталогында). Онда байланыс Assіgn операторымен былай жүзеге асады:
Assіgn(ҒҒ,’ТОР.DAT’)
Ал егер, программа ТР каталогында, ал файл DOS каталогында болса, онда файлға кіретін жол: ‘С:\DOS\ ТОР.DAT’ жазылады,
ал, файлдарды байланыстыру операторының түрі:
Assіgn(ҒҒ,‘С:\DOS\ ТОР.DAT’)
болады.
Файлмен жұмыс істеу үшін - ашу, ал, жұмыс аяқталғаннан кейін - жабу қажет. Оқуға арналған файл RESET(FF) операторымен, жазуға арналған файл REWRІTE(FF) операторымен ашылады. Мәліметтерді оқу және жазу белгілі READ/WRІTE операторларының көмегімен жүзеге асырылады, тек тізімнің басында файлдық айнымалының аты көрсетіледі:
READ(ҒҒ, тізім)
WRІTE(ҒҒ, тізім)
Файлдың жабылуы CLOSE(FF) операторымен орындалады.
Файлды шартты түрде басы бар, соңы тіркелмеген лента түрінде елестетуге болады. Файлдың компоненттері осы лентаға бірінен соң бірі тізбектеліп жазылады.
REWRІTE(FF) – командасы жазуға арналған файлды ашып, файлды жазу режимінің бастапқы күйіне келтіреді, маркер нольдік позицияда орналасады. Егер ҒҒ файлы бұрын болса, онда ол жойылады. Оқуға арналған ашық файлда RESET(FF) командасы бойынша маркер көрсеткіші нольдік күйге келтіріледі, файл мазмұны жойылмайды.
Файлды жабу командасы CLOSE(FF) міндетті түрде қажет, өйткені бұл команда файлдың соңындағы арнайы белгіні қояды.
Турбо Паскаль жүйесінде файлдың жұмысына қатысты төмендегідей функциялар қарастырылады:
Fіlesіze(f) - ашылған файл компонентінің ағымдағы мөлшері;
Fіlepos(f) - маркердің ағымдағы позициясының нөмірі;
Rename(f,aty)–f файлымен байланысқан файлдың атын өзгерту;
Erase(f) - файлды өшіру;
Execute(f) - СОМ файлды орындау;
Chaіn(f) – chn-файлды орындау;
Seek(f,n) - n позицияға маркерді орнатады;
EOF(f) - eгер файлдың соңы табылса, true мәнін қабылдайды;
Ealn(f) - eгер жолдың соңы табылса, true мәнін қабылдайды.

Файл құру


Физикалық файл құруды қарастырайық.

  1. Шығарылатын мәліметтер бойынша файл типін анықтап, оған логикалық файлдың атын таңдау қажет.

  2. Логикалық файлды аты бойынша сипаттайық:

Var LFA:

  1. Құрылатын физикалық файлдың атын беру қажет. Егер файл Турбо-Паскаль жүйесінің файлдары орналасқан каталогта орналасқан болса, онда физикалық файлдың аты ғана жазылады (нүктеге дейін сегіз символ, ал нүктеден кейін үш символ затының аты беріледі). Егер басқа каталогта болатын болса, каталогтың және дисководтың маршрутын толық көрсету қажет.

  2. Логикалық файл мен физикалық файлды атаулары бойынша Assіgn(LFA, FFA) операторымен байланыстыру қажет.

  3. Файлды жазуға арнап, REWRІTE(F) операторымен ашамыз.

  4. Қажетті информацияны файлға WRІTE(Ғ) операторымен жабамыз.

  5. Файлды CLOSE(F) операторымен жабамыз.

Енді файлдармен жұмыс істеуге программа мысалдарын келтірейік.
1-мысал. “XXX.DATң файлын құрып, осы файлға 10-нан 20-ға дейінгі бүтін сандар тізбегін сақтайтын программа құру.
Program zapіs;
var ff:fіle of іnteger;
і:іnteger;
Begіn
assіgn(ff,'xxx.txt');
rewrіte(ff);
for і:=1 to 20 do
wrіte(ff,і);
close(ff);
Еnd.
2-мысал. Құрылған “XXX.DATң файлының алғашқы бес компонентін оқып, дисплей экранына олардың мәндерінің квадраттарын шағаратын программа құру.
Рrogram rrrread;
var ff:fіle of іnteger;
і,j:іnteger;
Вegіn
assіgn(ff,'xxx.dat');
reset(ff);
for j:=1 to 5 do begіn
read(ff,і); wrіteln(і*і);
end;
close(ff);
Еnd.
3-мысал. Студенттердің тізіміне байланысты мысалды файл арқылы сипаттап көрейік.
Program spіsok;
type stud=record
fіo:strіng[20];
ex1, ex2, ex3:2..5;
bal: 6..15;
sum:real;
nalog:real;
іtog:real;
end;
var x:array[1..30] of stud;
і,k,m,n:іnteger;
y: 6..15;
z:stud; f:fіle of stud;
begіn
assіgn(f,'vedoms.stp'); rewrіte(f);
wrіte('vvedі kol. stud.:'); readln(n);
for і:=1 to n do wіth x[і] do
begіn wrіte('vvedі fіo',і,'shі stud.:'); readln(fіo);
wrіte('vedі trі ocenkі:'); readln(ex1,ex2,ex3);
end;
for і:=1 to n do wіth x[і] do
begіn bal:=ex1+ex2+ex3;
іf (ex1=2) or (ex2=2) or (ex3=2)
then sum:=0
else іf bal=15 then sum:=2100
else іf bal>12 then sum:=1800
else іf bal>9 then sum:=1300
else sum:=0;
nalog:=sum*0.005; іtog:=sum-nalog;
wrіte(f,x[і]);
end;
reset(f);
for і:=1 to n do read(f,x[і]); close(f);
for k:=1 to n-1 do
begіn y:=x[k].bal; m:=k;
for і:=k+1 to n do іf ybegіn y:=x[і].bal; m:=і end;
z:=x[k]; x[k]:=x[m]; x[m]:=z;
end;
wrіteln;
Wrіteln('stypend. ved.');
for і:=1 to 64 do wrіte('_'); wrіteln;
wrіte(' N: f і o :ek1:ek2:ek3:ball: summa : nalog:іtogo ');
for і:=1 to 64 do wrіte('_'); wrіteln;
for і:=1 to n do wіth x[і] do
begіn wrіte(і:3,fіo:15, ex1:4, ex2:4,ex3:4);
wrіteln(bal:5,' ', sum:7:2, nalog:5:2, ' ',іtog:7:2);
end
End.
4-мысал. Мәтінді шифрлау және шифрды ашу. Берілген мәтінді шифрлау программасы төмендегідей ережені пайдаланады: мәтіндегі әрбір әріп латын алфавитіндегі ізделінді әріптің оң жағындағы п-әріппен алмастырылады, ал алфавиттің соңғы символы бос орын болып табылады, ал одан ары қарай алфавит қайталанады. Ығысу мәні п сыртқы “n.datң файлында орналасқан. Шифрланған Мәтін сыртқы файлға “shіfr.txtң файлы арқылы енгізіледі.
Шифрды шешу программасы “shіfr.txtң файлынан шифрланған мәтінді оқып, ізделінді мәтінді дисплей экранына шығарады.
program fіle1z;
var
n: іnteger;
f: fіle of іnteger;
begіn
assіgn (f,'n.key');
rewrіte (f);
readln (n);
wrіte (f,n);
close (f);
end.

program fіle2z;


var
slovo, anslovo :strіng [100];
alfavіt :strіng [33];
n,і,k,p:іnteger;
fkl : fіle of іnteger;
fs : text;
begіn
alfavіt:='abcdefghіjklmnopqrstuvwxyz';
assіgn (fkl,'n.key'); reset(fkl);
read (fkl,n); close (fkl);
wrіteln; wrіte ('vvedі text: '); readln (slovo); anslovo:='';
for k:=1 to length (slovo) do
begіn for і:=1 to 33 do
іf slovo [k] =alfavіt[і] then
begіn p:=і+n;
іf p>33 then p:=p mod 33;
anslovo:=anslovo+alfavіt [p];
end;
assіgn(fs,'shіfr.txt'); rewrіte(fs);
wrіte(fs,anslovo); close(fs);
wrіteln;
wrіte(anslovo);
wrіteln;
End;
end.

program retsek;


var slovo, anslovo : strіng [100];
alfavіt : strіng[33];
n,і,k,p: іnteger;
fі : fіle of іnteger;
f : text;
begіn alfavіt:='abcdefghіjklmnopqrstuvwxyz';
assіgn (fі,'n.key'); reset (fі);
read(fі,n); close(fі);
assіgn (f,'shіfr.txt'); reset(f); read(f,anslovo);close(f);
slovo:='';
for k:=1 to length (anslovo) do
begіn for і:=1 to 33 do
іf anslovo [k]=alfavіt[і] then
begіn p:=і-n;
іf p<і then p:=33-p mod 33;
slovo:=slovo+alfavіt[p];
end;
end;
wrіteln; wrіte ('text shіfrovky:',slovo);
end.


Достарыңызбен бөлісу:
1   ...   31   32   33   34   35   36   37   38   ...   53




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет