Nbgb aeyrwbb
Оценка 4.8

Nbgb aeyrwbb

Оценка 4.8
Семинары
docx
информатика
Взрослым
29.04.2019
Nbgb aeyrwbb
Файл бу маьлумотларнинг фундаментал структураларидан бири. Компьютерларнинг дастур билан ишлаши, ташқи курилмалар билан алоқаси файл структурасига асослангандир. Файллар қуйидаги масалаларни ечишга асослангандир: 1. Қийматларни бошқа дастурлар фойдаланиши учун сақлаб қуйиш; 2. Дастурнинг киритиш-чиқариш ташқи курилмалари билан алоқасини ташкил қилиш. Файл тушунчасининг икки томони бор: 1- чи томондан файл – ташқи хотиранинг бирор ахборотни сакловчи номланган бир қисмидир. Бундай тушунчадаги файл физик файл деб аталади. 2- Томондан файл – бу дастурда ишлатиладиган маьлумотларнинг турли структураларидан биридир. Бундай тушунчадаги файл мантиқий файл деб аталади, яьни у бизнинг тасаввуримиз билан ҳосил қилинади. Физик файл структураси Физик файл структураси ахборот ташувчи – каттик ёки юмшок магнит дискларидаги байтларнинг оддий кетма-кетлигидан иборат. Мантиқий файл структураси Мантиқий файл структураси – бу, файлни дастурда қабул қилиш усулидир. Образли қилиб айтсак, у биз файлнинг физик структурасига карашимиз мумкин бўлган «шаблон»дир.
10-mavzu.docx
ФАЙЛЛАР БИЛАН ИШЛАШ. ТОИФАЛАШГАН ФАЙЛЛАР. Файл бу маьлумотларнинг фундаментал структураларидан бири. Компьютерларнинг  дастур билан ишлаши, ташқи курилмалар билан алоқаси файл структурасига асослангандир. Файллар қуйидаги масалаларни ечишга асослангандир: 1. Қийматларни бошқа дастурлар фойдаланиши учун сақлаб қуйиш; 2. Дастурнинг киритиш­чиқариш ташқи курилмалари билан алоқасини ташкил қилиш. Файл тушунчасининг икки томони бор: 1­ чи   томондан   файл   –   ташқи   хотиранинг   бирор   ахборотни   сакловчи   номланган   бир қисмидир. Бундай тушунчадаги файл физик файл деб аталади. 2­ Томондан   файл   –   бу   дастурда   ишлатиладиган   маьлумотларнинг   турли структураларидан биридир. Бундай тушунчадаги файл мантиқий файл деб аталади, яьни у бизнинг тасаввуримиз билан ҳосил қилинади. Физик файл структураси Физик   файл   структураси   ахборот   ташувчи   –   каттик   ёки   юмшок   магнит   дискларидаги байтларнинг оддий кетма­кетлигидан иборат. Мантиқий файл структураси Мантиқий   файл   структураси   –   бу,   файлни   дастурда   қабул   қилиш   усулидир.   Образли қилиб   айтсак,   у   биз   файлнинг   физик   структурасига   карашимиз   мумкин   бўлган «шаблон»дир.  Ана шундай шаблонларга мисол кўрайлик: … Белги Белги           Белги eof Бу ерда ҳар бир белги файлнинг бир ёзуви, eof эса файлнинг охирини билдиради. Йуналиш тугмаси   белгисини   маркер   деб   атайлик,   маркерни   дастур   кўрсатмаси   билан   файлнинг ихтиёрий ёзувига келтириб қуйиш ва ўша ёзувни ўқиш мумкин. Бунда ҳар бир ўқишда фақат битта белги уқилади. Юқорида файл ёзуви сифатида белгили типни олдик, энди файл ёзуви сифатида ёзув типини оламиз: T=RECORD FIO:STRING[15]; ADR:STRING[20]; GODR:INTEGER; END; F:FILE OF T; Бу   ерда   биз   Т   типидаги   файл   ҳосил   килдик,   агар   Т   типидаги   ёзувда   қуйидагича маьлумотлар бор десак Алиев Бозоров Акрамов Каримов Бухоро,15 П.Неруда,12 Накшбанд,45 Галаба,13 1974 1985 1980 1976 Ҳар бир ёзувда 3 та майдон бор ва ёзувлар сони эса туртта. Агар биз файлдан 1­чи ёзувни ўқишни буюрсак, унда бир ўқишда 3 та ўзгарувчида Алиев, Бухоро 15, 1974 маьлумотлари бирданига уқилади. Буни қандай амалга оширишни қуйида кўрамиз. Агар  файл  структурасини  массив  структурасига  солиштирсак,  қуйидаги  фарқларни кўрамиз: 1 1. Массивда элементлар сони хотирани таксимлаш вақтида ўрнатилади ва у тўлалигича тезкор хотирага жойлашади. Массив элементлари рақамланиши уни эьлон қилишда кўрсатилган қуйи ва юкори чегараларга мос ҳолда ўрнатилади. 2. Файлда эса элементлар(ёзувлар) сони дастур иши жараёнида ўзгариши мумкин ва у ташқи   ахборот   ташувчиларда   жойлашган.   Файл   элементларини   рақамлаш   0   дан бошланади ва элементлар сони доим ноаниқ. Биз юқоридаги мавзуларда ўзгарувчиларнинг турли тоифалари билан ишлаб келдик. Булар   скаляр,   оддий   ва   мураккаб   таркиблашган   тоифалардир.   Бу   тоифадаги маьлумотлар   ёрдамида   масалалрни   ечишда   бошланғич   маьлумотлар   клавиатурадан оператив   хотирага   киритилади   ва   натижа   экранга   чиқарилади.   Улардан   бошқа дастурларда фойдаланиб бўлмайди, чунки улар тизимдан чиқилгандан сўнг ҳеч каерда сакланмайди.   Бу   маьлумотларни   хотирада   сақлаш   учун   Паскал   тилида маьлумотларнинг файлли тоифаси белгиланган.  Файлларнинг турлари Файлда сакланаетган маьлумотлар турига кура Паскалда файллар қуйидаги турларга бўлинади: 1) тоифалашмаган; 2) тоифалашган; 3) матнли. Тоифалашган   файллар   бир   хил   тоифали   элементлардан   ташкил   топади.   Уларни маьлум курилмаларда узатиш ҳам мумкин. Файлнинг элементлари машина кодларида ёзилади ва сакланади. Тоифалашмаган файлларда турли тоифадаги маьлумотларни сақлаш мумкин. Улар ҳам машина кодларида ёзилган бўлиб байтлар тўпламини ташкил қилади. Матнли(текст) файллар  ASCII  кодлардан ташкил топган ва қаторларга ажратилган бўлади.   Матнли   файлларда   нафақат   файлнинг   якунида   файл   охири   белгиси,   балки   ҳар қаторнинг якунида махсус қатор охири белгиси қўйилади. Файл типидаги ўзгарувчи файл ўзгарувчиси дейилади, у файлнинг мантиқий номини белгилайди ва у мантиқий файл билан ташқи(физик) файл ўртасида «воситачи» вазифасини утайди. Файл типидаги ўзгарувчи учун арифметик амаллар аниқланмаган. Ҳатто файлларни солиштириш   ва   бир   файлнинг   қийматини   иккинчи   файлга   ўзлаштириш   амаллари   ҳам аниқланмаган. Юқоридаги   барча   турдаги   файллар   устида,   умуман   олганда   қуйидаги   амалларни бажариш мумкин ва бу амаллар учун қуйидаги махсус процедура ва функциялар ишлатилади: 1. Файл билан ишлашдан олдин файлнинг физикавий ва мантиқий номларини боглаш лозим. Бу қуйидаги процедура ёрдамида амалга оширилади: Assign(<файл ўзгарувчиси>,’<физик файл номи ва йули>’); Масалан Assign(F,’d:\TP\myfile.txt’); Ушбу процедура ёрдамида файл учун йул очиб дастурдан ташқи курилмага мурожаат қилиш ва ахборот алмашиш мумкин.  2.Файлга маьлумот ёзиш учун файлни очиш: Rewrite(<файл ўзгарувчиси>); Бу процедура бажарилганда хотирага Assign процедурасида кўрсатилган ном билан янги файл унга маьлумот ёзиш учун очилади ва ёзув кўрсаткичи файл бошига ўрнатилади. Бу процедурани   эхтиеткорлик   билан   ишлатиш   керак,   чунки   кўрсатилган   файл   олдиндан хотирада бўлса, ундаги маьлумотлар бутунлай учириб ташланади. 3. Файлни ундан маьлумотларни тезкор хотирага ўқиш учун очиш: 2 4. Reset(<файл ўзгарувчиси>); Бу   процедура   бажарилганда   Assign   процедурасида   кўрсатилган   файл   ундаги маьлумотларни ўқиш учун очилади, яьни ёзув кўрсаткичи файлнинг биринчи элементига келтириб қўйилади. 5. Файлга маьлумотларни ёзиш, киритиш: Write(<файл ўзгарувчиси>,<катталик>); Бу   ерда   катталик   ўрнида   ўзгарувчи   ёки   ифода   ишлатилиши   мумкин.   Процедура бажарилганда   катталикнинг   қиймати   файл   ўзгарувчиси   билан   богланган   файлда   файл кўрсаткичи ўрнатилган жойга ёзилади ва файл кўрсаткичи кейинги позицияга сурилади. Ушбу процедура файл ёзиш учун очилгандагина ишлайди. 6. Файлдан маьлумотларни ўқиш: Read(<файл ўзгарувчиси>,<ўзгарувчи>); Бу   процедура   бажарилганда   Reset   билан   очилган   файлда   ёзув   кўрсаткичи   ўрнатилган жойдаги элементнинг қиймати ўзгарувчига ўзлаштирилади. Сўнг ёзув кўрсаткичи битта позицияга сурилади. 7. Турли   юқоридаги   максадлар   учун   очилган   файллар   иш   охирида   ёпилиши   керак, бунинг учун Close(<файл ўзгарувчиси>); Процедураси   ишлатилади.   Бу   процедура   бажарилганда   ахборот   узатишнинг   барча каналлари ёпилади. 8. Файл охирини аниқлаш функцияси: Eof(<файл ўзгарувчиси>); Бу функциянинг қиймати BOOLEAN типида бўлиб, у файл кўрсаткичи файлнинг охирида ўрнатилганда TRUE қийматга эга бўлади, акс ҳолда унинг қиймати FALSE га тенг. Тоифалашган файллар ва улар билан ишлаш Тоифалашган файллар бир хил типдаги элементлардан ташкил топади. Улар дастурда қуйидагича эьлон қилинади: FILE OF <ЭЛЕМЕНТЛАР ТОИФАСИ>; Бу   ерда   элементлар   тоифаси   файлнинг   ташкил   этувчилари,   яьни   файлдаги маьлумотларнинг   тоифаси   бўлиб,   бу   тоифа   сифатида   оддий   ва   мураккаб тоифаларни(файлдан ташқари) ишлатиш мумкин. Тоифалашган файлларни қуйидагича тавсифлаш мумкин: TYPE бўлимида Type f=file of integer; Tal=file of char; Num=file of real; Var p,q: file of f; f1: file of char; Var f2:file of integer; Var бўлимида Тоифалашган файлларга мисоллар кўриб ўтамиз. 1 – мисол.  Ташқи файлга ихтиёрий кетма­кетликдаги белгиларни ёзиш ва ўқиш. PROGRAM F1; VAR F:FILE OF CHAR; CH:CHAR;    I:INTEGER; BEGIN ASSIGN(F,’MYFILE.TXT’); REWRITE(F); FOR I:=1 TO 10 DO BEGIN READLN(CH);   WRITE(F,CH);   END; 3 CLOSE(F);     RESET(F); WHILE NOT EOF(F) DO BEGIN READ(F,CH); WRITE(CH,’ ‘);    END; CLOSE(F);            END. Ушбу дастурда экрандан 10 та белги ўқиб олинади фа ташқи файлга ёзилади. Сўнг ўша файл ўқиш учун очилиб файл тугагунга кадар қайта­қайта уқилади ва ўкилган белгилар босмага чиқарилади. ТИПЛАШМАГАН, МАТНЛИ ФАЙЛЛАР БИЛАН ИШЛАШ Типлашмаган  файлларга   аниқ  файллар  ёзувлардан  иборат  бўлиб, қўлланади.Бундай файли ўзгарувчилар дастурда қуйидагича эълон қилинади:  типдаги  файллар  киради.  Кўпчилик  ҳолларда  бу  турли  берилганлар  базасини  ташкил  этишда   TYPE     FileRec = RECORD                ...               END;   VAR     F : file of FileRec; Агар матнли файлларда  беилганлар символлардан ташкил топган бўлса,  типлашмаган файллар ёзувлардан   ташкил топган деб қаралади.  Бундай берилганларнинг ўлчов бирлиги сифатида ёзувнинг ўзи қабул қилинади.   Ёзув узунлиги SizeOf(FileRec) билан аниқланади. Seek(VAR   F;   NumRec:   LongInt)   процедура   F   жорий   файлнинг   NumRec   тартибли ўзгарувчисини ўрнатади;  F ­  типлашган ва типлашмаган берилганларнинг файл ўзгарувчиси. Типлшмаган файлни очишда  жорий позиция  ёзув бошига ўрнатилади ва 0 чи тартиб номерга эга бўлади, физик ёзув мантиқий ёзув тартиб номеридан биттага кам бўлади. Мисол. Телефонлар хакидаги  маълумот мисолида типлашмаган файллар билан ишлаш.   PROGRAM BookPhone;   TYPE     StFio = string[10];     StPhone = string[10]; RecBook = RECORD { файл  учун ёзув }       Fio : StFio;       Phone: StPhone;     END;   VAR     BookFile : file of RecBook; {  RecBook файлли ёзувга ўзгарувчилар}     Work : RecBook;        { ёзувларга ўтиш учун ўзгарувчилар }     Ind : byte;   PROCEDURE OutputRec;          { жорий ёзувни экранга чиқариш }   BEGIN     Read(BookFile, Work);     With Work do     Writeln('ФИО: ',Fio,' телефон: ',Phone);   END; { OutputRec }   PROCEDURE OutputAllRec;   { файнинг ҳамма ёзувларини экранга чиқариш }   BEGIN     Seek(BookFile, 0);   { файлни биринчи мантиқий ёзувни ўрнатиш } 4 Writeln('***   Телефонлар   хакидаги   маълумотномани   экранга   чиқариш');   WHILE (NOT Eof(BookFile)) DO       OutputRec;   END; { OutputAllRec }   PROCEDURE AddRec;   { клвиатурадан санайди ва файлга ёзувни кўшади }   BEGIN     Writeln('*** Файл ёзувини чиқариш');     WITH Work DO BEGIN       Write('Фамилиясини киритинг: ');       Readln(Fio);                        {  фамилияларни киритинг }       Write('Телефон номерини киритинг: ');       Readln(Phone);                     { телефон номерини киритиш }       Write(BookFile,Work);     END; { with }   END; { AddRec }   PROCEDURE UpdateRec(NumRec : LongInt);     { тартиб номери бўйича файл ёзувини ўзгартиринг }   BEGIN        Seek(BookFile, NumRec);   { тартиб номери бўйича   файл позициясини ўрнатиш } Writeln ('­­   ёзувнинг эски қиймати  ­­');   OutputRec;   { ёзувни чиқариш ва файл позициясини  кейинги ёзувга ўтказиш }    Seek(BookFile, NumRec);   { олдинги позицияга қайтариш    Writeln('­­  янги қиймат  ­­');    AddRec;                   { ёзувни ўзгарган қийматини чиқариш }  END; { UpdateRec }  BEGIN   { BookPhone }    Assign(BookFile, 'PHONE.DAT'); { PHONE.DAT номли янги файл ташкил қилиш}    Rewrite(BookFile);    Write(' PHONE.DAT' ёзувининг 5 та ёзувини ташкил қилиш);    FOR Ind := 1 TO 5 DO           { клавиатурадан 5 та ёзувни ташкил қилиш}      AddRec;    Write('Ёзувларни ташкил қилиш тугатилди. ... тугмачасини босинг');    Readln;    OutputAllRec;                  {ҳамма ёзувларни экранга чиқариш }    Write('Файлнинг 2 та ёзувини ўзгариши. ... тугмачасини босинг ');    Readln;    UpdateRec(1); {1 ­чи тартиб рақам  файлнинг 2 чи мантиқий ёзувига тўғри келади}     Write('Давом эттириш учун хоҳлаган клвишани босинг...');     Readln;     OutputAllRec;              { ўзгарган файлни экранга чиқариш }     Close(BookFile);               { файлни ёпиш}   END.  { BookPhone } Матнли файллар Матнли файлни     0 дан 256 гача бўлган белгилар қатори кетма ­кетлиги деб караш мумкин. Матнли қаторни  ёзиш учун Text  стандарт типидан фойдаланилади.   VAR     F: text;         { F ­ файл  ўзгарувчиси } 5 Ҳар   бир   қатор     охири   маркери   билан   тамомланади.   Амалиётда   бундай   маркерни иккита белги кетма ­кетлиги  ташкил қилади: Сатрга ўтиш chr(13) ва   карреткани қайтариш chr(10).  Ушбу иккита белги  матнли файллар устидаги  стандарт ҳаракатларни  белгилайди. SYSTEM  модулидаги  стандарт очиладиган Input ва Output  файллари  Text типли бўлади. Матнли файлларни киритиш ва чиқариш. Матнли файллар уз спецификасига эга. Read   ўқиш ва Write ёзиш процедураларининг махсус кенгайтмаси  белгили бўлмаган типлар билан ишлаш имкониятини беради.  Агар Ww ­ word  типидаги узгарувчи булса, Read(F, Ww) операторининг чақирилиши сонлар кетма­кетлигини F файлидан ўқиб, Ww ўзгарувчисига ўзлаштиради. Бошқа ҳолларда дастурда хатоликка олиб келади. Матнли файлларни очишни стандарт усулларда олиб бориш мумкин:    Файл ўзгарувчисига мос файл номини   қуйиш   (  Assign   процедураси),   янги матн файлини очиш ( Rewrite  процедураси);   ёки файл ўзгарувчисига мос файл номини  қуйиш  ( Assign  процедураси ), хотирада бор файлни очиш (процедура Reset). Матнли файллар   ўзининг спецификациясига караб, ўқиш ёки ёзиш операцияларидан биттаси билан ишлаш имкониятини беради. Шунинг учун матнли файллар билан ишлашда  яна битта процедура ,файлни очиш процедураси пайдо бўлади:   Append(VAR F : text); Бу   процедура   файлни   очиб,   курсорни   файл   охирига     келтириб   куяди.  Append процедурасига қўйиладиган талаблар ҳам худди Reset ва Rewrite  процедураларига  қўйилган талабларга ўхшаш. Матнли файлларни қайта  ишлаш учун    Read  ва  Write  процедуралари  қўлланилади. Readln процедураси  қаторларни бўлувчи  махсус тил воситаси ҳисобланади. Унинг вазифаси худди Read нинг вазифасига ўхшаш  ва  ўқишни қатор охирининг маркеригача олиб боради ва бошқа   янги  қаторга  ўтишни  таъминлайлади.  Writeln,    процедураси  ҳамма  катталикларни ёзишни таъминлайди. Процедуралар ёзилишининг кўриниши қуйидагича:   Readln(VAR F : text; V1 [,V2,...Vn]);   Writeln(VAR F : text; V1 [,V2,...Vn]); бу ерда V1...Vn турли типдаги ўзгарувчилар. Read ва  Readln процедуралари орасидаги фарқ   нимада   деган   саволга   қуйидагича   жавоб   бериш   мумкин.   Read   процедураси берилганларни  ҳаммасини бир қаторга олиб кириш имконини беради Readln операцияси эса албатта     бир   қатор   тугагандан   кейин   автоматик   равишда     иккинчи   қаторга   ўтишни таъминлайди, яъни  берилганларни  турли қаторлардан олиб кириш мумкин. Write ва Writeln процедураларида ҳам худди шундай.  Киритиш  чиқариш операцияларини бажараётган пайтда махсус Eoln, Eof, SeekEoln, SeekEof   функцияларидан ташкил топган тил воситасини  қўллаш мумкин.  Агарда  файлнинг жорий позицияси файл охири маркерида турган бўлса Еoln(VAR F: text)   функцияси,       True   нинг   булев   қийматини   қайтаради.     Қолган   ҳамма   ҳолатларда функциянинг қиймати False бўлади. Агарда  курсор  охирги компонентадан кейин турган бўлса,  Eof(VAR F: text) True нинг булев қийматини қайтаради, акс ҳолда False бўлади. 1­мисол. Дискда файл яратиш ва унга фойдаланувчи томонидан киритлган 5 та сонни ёзиш. Var f:text; n,i:integer;  Begin writeln(‘5 та бутун сон киритинг’); Writeln(‘Ҳар бир сон киритилгач ENTER тугмасини босинг’); Assign(f,’numbers.txt’); Rewrite(f); 6 For I:=1 to 5 do begin write(‘’); readln(n); writeln(f,n); end; Close(f); 2 ­ Мисол. Юқорида ташкил қилинган матнли файлдаги сонларни   ўқиш.    VAR     F: text; n,I:integer; Begin Assign(f,’numbers.txt’); Reset(f); For I:=1 to 5 do begin write(‘’); readln(f,n); writeln(n); end;        Close(F);   END.    END. AMALIY MASHG’ULOT 1Куйидагича тавсифлаш берилган: Var f:file of integer; x,y:integer; Агар f файлда  3 ва 7 сонлари булса, куйидаги операторлардан сунг y узгарувчи кандай  киймат олишини аникланг: a)       if not eof(f) then read(f,y);       if not eof(f) then read(f,y); b) reset(f); read(f,y); reset(f); y:=0; while not eof(f) do begin read(f,x); y:=y+x end; reset(f); y:=1; repeat read(f,x); y:=y*x until eof(f); c) 2Куйидагича тавсифлаш берилган: Type son=file of real; Son типида файлда сонлар кетма­кетлиги мавжуд. Ундаги манфий элементлар сонини  аникловчи дастур тузинг. 3.Куйидагича тавсифлаш берилганг: Type narx=record sum:0..maxint; tiyin:0..99 end; Narx типидаги файлда маьлумотлар берилган. Ундаги энг кичик пул микдорини аниловчи  дастур тузинг. LABARATORIYA ISHLARI 13.1. Куйидагича тавсифлаш берилган: Type kator=file of 0..999; Kator  типидаги  файл  берилган.  Ундаги  элементлар  усиш  тартибида  жойлашганлигини текширувчи дастур тузинг. 13.2. Куйидагича тавсифлаш берилган: Type tekct=file of char; Tekct  типидаги  иккита  t1  ва  t2  файллар  берилган.  Улардаги   элементлар   сони   узаро тенглигини аникловчи дастур тузинг. 13.3. var f:file of integer; i: integer; 7 Ушбу операторлар бажарилгандан сунг f файл да хосил буладиган маьлумотни курсатинг: А) rewrite(f);      If eof(f) then write(f,1) else write(f,2);      If eof(f) then write(f,3) else write(f,4); b) rewrite(f); for i:=3 downto 1 do write(f,sqr(i)); 13.4. type satr=packed array[1..100] of char; tekst=file of char; Шундай  процедура  тузингки,  киритилган  сатрда  учраган  барча  сонлли  символларни tekst файлига езсин. 13.5. type kator=file of 1..maxint; Шундай  дастур  тузингки, сонларини(1,1,2,3,5…) файлга езсин.  у  берилган  n  дан  ошмаган  барча  Фибоначчи 13.6. Бир берилган файлдаги маьлумотларни бошка бир файлга езувчи дастур тузинг. 13.7.   Иккита  файлда  маьлумот  бор.  Учинчи  бир  файл  очиб,  аввал  биринчи  файлдаги маьлумотларни, сунг иккинчи файлдаги маьлумотларни йигинг. 13.8. Матн  файлида  маьлумотлар  берилган.  Файлда  нечта  сатр  борлигини  аникловчи дастур тузинг.  Файл сатри езувдан иборат ва унда ходимнинг исми ва еши каби майдонлар бор. Файлдаги еши энг кичик ва еши энг улуг ходимни аникловчи дастур тузинг. 13.9. var f:file of integer; x: integer; Юкорида тавсифланган файл хотирада бор ва унда факат 1, 2 сонлари жойлашган. Куйидаги операторлар бажарилгандан сунг х узгарувчи кандай киймат кабул килади? reset(f); read(f,x); if x=1 then write (‘1’) else write(‘2’); 13.10. var t:file of char; c:char; Куйидаги операторлар бажарилгандан сунг t файлда нима хосил булади? 13.11. rewrite(t); if eof(t) then c:=’a’ else c:=’b’; write(t,c); 13.12. Иккита файлда сонлар усиш тартибида езилган. Уларни учинчи файлга шундай йигингки, у файлдаги элементлар хам усиш тартибида жойлашсин.  Шундай функция тузингки, у: 13.13. А) матнли файлдаги буш сатрлар сонини аникласин. Б) матнли файлдаги сатрлар ичида энг узунини аникласин. 13.18.  Матнли файлдаги маьлумотларни босмага чикарувчи дастур тузинг. 13.19. Матнли файлда сатрлар сузлардан иборат. Аникланг: а) д харфидан бошланадиган сузлар сонини; б) з харфи билан тугайдиган сузлар сонини; в) бирор харф билан бошланиб, шу харф билан тугайдиган сузлар сонини; г) Факат бир харфдан иборат сузлар сонини. 13.20.  Бир матнли файлда буш сатрлар хам бор. Уни иккинчи бир файлга буш сатрларсиз утказинг. 13.21. Бир матнли файл хар бир сатрида 80тагача символлар бор. Шу файл езувларидаги 80тага тулмаган буш жойларни ‘*’ билан тулдириб иккинчи бир файлга езинг. 13.22. Сатр берилган. Унда сузлар орасида буш жой бор, сатр охири «.» билан тугайди. Сатрдаги хар бир сузни файлнинг бир сатрига езадиган дастур тузинг. 13.23. Бир файлда сонлар езилган. Улардан мусбатларини иккинчи файлга, манфийларини эса учинчи файлга езувчи дастур тузинг. 8

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb

Nbgb aeyrwbb
Скачать файл