Ќазаќстан Республикасыныњ бiлiм жєне ѓылым министрлiгi


San: array [1..100] of integer



бет4/11
Дата06.01.2022
өлшемі153 Kb.
#12697
түріПрограмма
1   2   3   4   5   6   7   8   9   10   11
Байланысты:
Массивтер

San: array [1..100] of integer;


i, SanMolcher: integer;
Мәліметтерді енгізу процедурасы келесі түрде болады:

procedure init; begin readln (SanMolcheri);

for i:=1 to SanMolcheri do

begin


write (“San[“,i,”]=’);

readln(San[i]);

end;

Мәліметтерді өңдеу процедурасы әзірге бізге қажет емес, сондықтан ол қызмет атқармай-ақ қойсын.



procedure work ;

begin


end;

Енді екіншісі кезеңді қарастырайық, яғни мәліметтерді «mayFile.in» атты мәтіндік типтегі файлға жазу керек. Алдымен өз файлмызды байланыстыратын, айналымның атауын беру керек.Айталық, ол айналымның атауы FileOut болсын, содан кейін біз оны мәтіндік файл ретінде сипаттаумыз керек. Бұл айнымалыны шығару процедурасында пайдаланатын болғандықтан, оны жергілікті айнымалы ретінде сипаттаймыз:

var

FileOut: text;



Одан кейін біз программаға, “мәтіндік” типтегі FileOut атты айнымалының, біздің “mayFile. in” атты нақты файлмызды белгілейтінін көрсетуіміз керек. Ол үшін assign(Name Var, Name File)процедурасы қолданылады. Name Var—бұл файлды белгілеу үшін берілген айнымалы аты, біздің жағдайда Name Var—дың орнына File Out сөзін жазасыз. NameFile—бұл біз жұмыс істейтін файлдың аты, біздің жағдайда”mayFile.in”.

Файл аты мен оның кеңейтілуінен басқа орналасқан орнына қарай сипатталатыны да белгілі. Мысалы,”c,\bp\bin\MyFile.in”. Ал егер толық аты берілмеген жағдайда, үнсіз келісім бойынша сіздің программаңыз орналасқан ағымдағы каталог қолданылады. Енді сіз берілген файлды ашып, оған мәліметтер жазылатындығын көрсетуіңіз керек. Ол үшін rewrite (Name Var)процедурасы қолданылады. Мұндағы, Name Var-бұл файлды белгілеу үшін берілген айнымалы аты, біздің жағдайда Name Var—дың орнына FileOut атауы жазылады. rewrite(

Name Var) процедурасы—файлды жазу үшін ашады және көрсеткішті файлдың басына орналастырады.

Енді мәліметтерді файлға жазуға бәрі дайын. Ол үшін бұрынан белгілі Write() және Write() процедураларын қолданамыз. Жазулар экранға емес файлға жазылуы үшін, мәліметтерді шығару бағытын көрсетеміз. Яғни, жақшаның ішіндегі мәліметтерді жазатын айнымалы атауының алдында, бізді файлмен байланыстыратын assign() процедурасындағы айнымалы атуын көрсетеміз. Айталық, берілгендерді шығыс файлына бір жолға жазу керек болсын, бұл жағдайда бірінші мән ол енгізілетін сандардың мөлшері болады. Жаңа жолға көшу болмайтындықтан,Write() процедурасын қолданып, бастапқыда файлға SanMolcheri айнымалысын мәнін жазамыз да, содан кейін параметрлі циклді пайдаланып енгізу процедурасында енгізілген сандарды жазамыз. Барлық мәліметтер файлға жазылып болған соң, файлды жазу керек. Ол Close() процедурасының көмегімен орындалады.

Close(Name Var) процедурасы—файлдың соңына, файл соңы белгісін жазып, оны жабады. Егер файл Close() процедурасымен жабылмаған болса, онда мәліметтер сақталынбайды.

Мәліметтерді файлға жазу процедурасы қандай болатынын қарастырып көрелік:

procedure exi;

var


FileOut:text;

begin


assing(FileOut,`mayFile.in`);

rewrite(FileOut);

write(FileOut, SanMolcheri);

for i=1 to SanMolcheri do

write(FileOut,San[i]);

close(FileOut);

end;

негізі программаның мәтіні өзгеріссіз қалады



begin

init;


work;

exi;


end.

Осы программаны ‘Misal_F1’ атымен дискіге жазып, оны орындауға жіберіңіз. Программа жұмысын аяқтағаннан кейін, BP редакторының көмегімен біздің программамыз құрған `mayFile.in` файлын ашып, оның мазмұнын көріңіз. Өкінішке орай сандар файлда бос орынсыз тіркесіп жазылған болып шығады. Мұндай жазбадан қандай сандар жазылғанын анықтау қиындық тудырады. Бұл жағдайды қалай түзетуге болады?

Ол үшін, сандары бір бірінен дәл ажыратудың екі мүмкіндігі бар:

а.әрбір мәнді бос орын (``)белгісі арқылы бөліп жазу

в.әрбір мәнді жаңа жолға жазу (баған бойынша).

Бірінші жағдайда енгізілетін айнымалы атауынан кейін бос орын (``) белгісін қоямыз.

write(FileOut, SanMolcheri,``);

for i:= to SanMolcheri do

write(FileOut,San[i],``);

екінші жағдай үшін, writeln() процедурасын қолданамыз:

writeln(FileOut,SanMolcheri);

for i=1 to SanMolcheri do

writeln(FileOut, San[i] );



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   11




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

    Басты бет