String типті айнымалыға қолданылатын стандартты функциялар мен процедуралар


Жұмыс түрі: Реферат
Тегін: Антиплагиат
Көлемі: 14 бет
Таңдаулыға:
МАЗМҰНЫ
КІРІСПЕ
- Есептің берілгені
- Теориялық бөліміString типіString типті айнымалыға қолданылатын стандартты функциялар мен процедураларФайл типі (File) Файлдармен жұмыс жасау.
2. 2. 2. Типтелген файлдар
2. 2. 3. Текстік файлдар.
2. 2. 4. Тителмеген файлдар
2. 3. Жазба (RECORD)
2. 3. 1. Тұрақты өрісті жазбалар
2. 3. 2. WITH нұсқауы
3. Есептің алгоритмі
4. Программаның баяндалуы.
4. 1. Жалпы мәліметтер.
4. 2. Функционалдық қолданылуы.
4. 3. Программаның логикалық құрылымы
4. 4. Қолданылған техникалық жабдықтар
4. 5. Шақыру
4. 6. Енгізу
4. 7. Шығару
ҚОРЫТЫНДЫ
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
КІРІСПЕ
Қазіргі кезде кеңінен қолданылатын программалау жүйесінің бірі - TurboPascal. Американың Borland корпарациясының қызметкері Андерсон Хейлсбергтің жетекшілігмен құрастырылған. TurboPascal-дың түпнұсқасы швейцария ғалымы Никлаус Вирт жасаған Паскаль тілі программалауды алғаш үйренушілер үшін өте тиімді құрал болып табылған. Қарапайым Паскальді өңдеудегі А. Хейлсбергтің үлкен еңбегінің нәтижесінде TurboPascal қазіріг заман талабына сай, қуатты программалау жүйесіне айналды. Оның логикалық құрылымы әр түрлі есептерді дәл шешуге көмегін тигізеді.
TurboPascal ортасында жұмыс істеудің ерекшеліктері толық қарастырылған.
Есептің берілгені
Тапсырма: Берілген структураға сәйкесті жазба массивін құру. Жазбалардың енгізуін және өңдеуін жүзеге асыру. Программада кіріс деректерді, дерек қордың файлдарын енгізу-шығаруын өңдейтін сәйкесті процедуралар мен функциялары алдын-ала қарастырылуы қажет. Қолданушының әрекеттері бақылану және нақты хабарлармен қамдаулану керек.
Келесі кілттер арқылы: тауарлардың атына байланысты, фирманың аты бойынша, таза табыс бойынша, қызметтің типі жазба массивтің элементтерінің өрісіне арналған мәндерін шығаруын ескеру.
Минималды шығынмен қызметтің типін анықтау.
String типі
Турбо Паскаль жүйесінде алдын ала ұзындығы анықталған жолдар үшін String типі қолданылады. String типіне жататын айнымалылар келесі түрде сипатталады:
VAR FIO:STRING[20] ;
ADR:STRING[30] ;
SPEC:STRING;
String типті айнымалыларға келесі операциялар анықталған :
- Біріктіру операциясы. Бұл операция бірнеше жолдарды біріктіріп бір жол құру үшін пайдаланылады. Мысалы, ‘блок’ + ‘схема’. Нәтиже: ‘блоксхема’.
- Салыстыру операциялары: <, <=, >, >=, = <> . Жол мен жолды салыстыру олардың символдарын салыстыру арқылы жүзеге асырылады. Мұнда символдар бір бірімен салыстырылғанда оларға сәйкес кодтар салыстырылады. Жолдарды салыстыру операциясының нәтижесі логикалық шама ақиқат немесе жалған болып табылады. Мысалы, abc<abd =TRUE (ақиқат болады) .
Меншіктеу операциясы := меншіктеу белгі арқылы орындалады. Мысалы, VAR ST:STRING[7] ;
ST:=’ALMATI KALACI’ ;
ST:ALMATI.
String типті қолданып айнымалылардың мәнін енгізгенде READLN(T) стандартты процедурасы қолданылады.
String типті айнымалыға қолданылатын стандартты функциялар мен процедуралар
- CONCAT(ST1, ST2, …, STN) - көрсетілген жолдарды біріктіру үшін пайдаланылады.
Мысалы, ST= CONCAT(‘Алматы’, ‘қаласы’) ;
- COPY(ST, i, k ) - ST жолы i-позициясынан басталатын ұзындығы k-ға тең символдар тіркесін анықтауға болады.
- LENGTH(ST) - ST жолдық айнымалының ұзындығын анықтайды. Мысалы, LENGTH(FIO) =5;
LENGTH(‘алматы’) =6;
- POS(ST1, ST2) - ST1 жолының ST2 жолындағы кездесетін позициясын анықтайды. Егер ST1 жолы ST2 жолының ішінде кездеспейтін болса, онда POS стандартты функциясы 0-ді қайтарады.
Мысалы, K:=POS(‘блок’, ‘блок-схема’) =6;
- DELETE(ST, i, k) - ST жолдағы і-орыннан бастап k-символды өшіру үшін қолданылады.
Мысалы, DELETE(‘алгоритм’, 1, 4) қалаған сөз: ритм.
- INSERT(ST, ST, k) - ST1 жолын ST2 жолының i-ші позициясынан бастап қоюға болады.
Мысалы, ST=INSERT(‘РАММ’, ‘ПРОГА’, 5), ПРОГРАММА.
- STR(X, ST) - Х санын ST жолына түрлендіреді.
Мысалы, STR(2005, ST) ; ST= ‘2005’;
- VAL(ST, X, CODE) - ST жолын X санына түрлендіреді. Егер CODE параметрінің мәні 0-ге тең болса, онда түрлендіру процесі дұрыс орныдалған болады, қарсы жағдайда қате шығады.
Mысалы, VAL(‘2005’, X, CODE) CODE=0.
Файл типі (File)
Кез келген типті деректер тобын файл деп атауға болады. Программаға қажетті деректерді де файл деп атайды. Нәтижелер және программаның өзі де файл болып табылады.
Практикалық есептерді шешкенде деректерді және өңделетін мәндерді компьютердің сыртқы құрылысына жазып қоюға тура келеді. Бұл жағдайда деректер сыртқы файл түрінде көрсетіледі.
Сыртқы ақпаратты тасушы міндетін магниттік дискілер атқарады. Паскаль тілінде бірдей типті (қарапайым немесе күрделі) тізбектерді де атайтын болғандықтан файл массивке ұқсас болады.
Файлдың массивтен айырмашылығы:
- Мұнда жазылатын ақпараттың саны көрсетілмейді.
- Әр элементінің өзінің индексі бойынша анықталмайды, сондықтан қажетті элементоның алдындағы элементтерді алып болғаннан кейін ғана алынады.
Файлдың баяндалуы:
Паскальдің Type бөлімінде файл типі келесі жалпы түрде баяндалады:
TYPE NTYPE = FILE
NTYPE - файл типінің идентификаторы.
Файлдың типін немесе файлдық типті айнымалыны келес үш әдістің біреуі арқылы анықтайды:
- NTYPE = FILE OF TC;
- NTYPE = TEXT;
- NTYPE = FILE;
TC - базалық тип, файлдың базалық типі ретінде кез-келген қарапайым немесе күрделі тип пайдаланылады (файл типінен басқа) .
TEXT - текстік файлдардың стандартты типі.
TEXT типі TYPE бөлімінде жазбаса да болады.
Баяндау әдісіне байланысты Паскальда файлдың үш түрі бар:
- Типтелген файлдар (File of TC) ;
- Текстік файлдар (Text типті) ;
- Типтелмеген файлдар (File)
Мысалы,
TYPE STUD = RECORD
FIO: STRING[20] ;
ADR:STRING[30] ;
GOD:INTEGER;
END;
VAR F1:FILE OF STUD; {типтелген}
F2:TEXT; {текстік}
F3:FILE; {типтелмеген}
Файлдармен жұмыс жасау.
Паскальда мәліметтер типінің бірі болып сыртқы жады құрылғысында орналасқан бірдей типті компоненттер тізбегін құрастырылған файлдық айнымалылар ақпаратты енгізу-шығару үшін қолданылады.
Енгізу - шығару іс-әрекетін орындамас бұрын файлдық айнымалыны ASSIGN стандартты прцедурасының көмегімен нақты қандай да бір сыртқы файл байланысу қажет.
Мұндай файл ретінде магниттік дискідегі файл, сондай-ақ есептеу кешеніндегі құрылғы (клавиатура, дисплей экраны, принтер және т. с. с. ) қолданылады.
Сосын ол файл оқуға немесе жазуға ашық болуы керек. Осыдан кейін енгізу-шығаруды ұйымдастыруға болады.
Файлмен жұмыс жасап біткеннен кейін оны CLOSE стандартты процедурасы арқылы жабу керек.
Файлдармен жұмыс жасау үшін келесі жалпы стандартты процедуралар мен функцияларды қолданамыз:
- ASSIGN(f, Name) - f файлдық айнымалыны Name сыртқы файлмен байланыстыру үшін пайдаланылады. Егер Name орнына ешқандай ат жазылмаса, онда енгізу немесе шығарудың стандартты файлдармен байланыс орнатылады (Input - енгізу стандартты файл, Output - шығару) . Мұндағы f - файлдық айнымалы, Name - файлдың тоық атын анықтайтын текстік өрнек.
- RESET(f) - файлдан ақпаратты оқу үшін бар файлды ашу. f - файлдық айнымалысы, бұрын ASSIGN процедурасы арқылы бар сақтаушы файлмен берілген.
- REWRITE(f) - файлға ақпартты жазу үшін жаңа бос файлды ашу. f - файлдық айнымалысы, бұрын стандартты ASSIGN процедурасы арқылы жаңа файлмен берілген. Егер REWRITE процедурасында бұрыннан бар файл аты көрсетілген болса, онда файл жойылады.
- APPEND(f) - текстік файлдың соңына ақпарат қосу үшін файлды ашу. f - файлдық айнымалысы, бұрын ASSIGN процедурасы арқылы бар текстік файлмен байланыстырылған.
- EOF(f) - файл соңын анықтайтын стандартты функция. f файлдың соңы кездессе EOF(f) функциясы True.
- CLOSE(f) - ашылған файлды жабу үшін қолданылады.
Типтелген файлдар
Типтелген файлдардың кез-келген компоненттерінің ұзындығы тұрақты болады. Сондықтан типтелген файлдың компоненттерін олардың реттік нөмірі бойынша өңдеуге болады (файлдың компоненттері 0-ден бастап нөмірленеді) .
Енгізу-шығару стандартты процедураға бірінші рет қатынас жасағанда файлдың көрсеткіші файлдың басында тұрады және ол файлдың бірінші компонентіне сілтейді. Әрбір енгізу-шығару стандартты процедураға қатынас жасаған кезде файлың көрсеткіші осы файлдың келесі компонентіне жылжиды. Енгізу-шығару тізімдеріндегі айнымалының типтері файл компоненттерінің типтерімен бірдей болуы керек.
Келесі стандартты процедуралар мен функциялар арқылы типтелген файлдармен жұмыс жасаймыз:
- READ процедурасы - көрсетілген типті компоненттерді оқу үшін пайдаланылады.
READ(f, <енгізу тізімі>) ;
Мұндағы f - файлдық айнымалы, <енгізу тізімі> - бір немесе бірнеше айнымалылар болуы мүмкін, олардың типтері файл компоненттерінің титперімен бірдей болуы керек.
- WRITE процедурасы - көрсетілген типті компоненттерді файлға жазу үшін қолданылады.
WRITE(f, <шығару тізімі>) ;
Мұндағы: f - файлдық айнымалы, <шығару тізімі> - бір немесе бірнеше өрнектер болуы мүмкін. Олардың типтері файлдың типтерімен бірдей болуы керек.
- SEEK процедурасы - көрсетілген нөмірі бар файлдың қажетті компонентіне байланыс орнатуға пайдаланылады (яғни файлдың көрсеткіші қажетті компонентке жылжиды) .
SEEK(f, NUM) ;
Мұндағы: <NUM> - файл компонентінің нөмірі.
- FILESIZE функциясы - файл компоненттерінің санын анықтайды. FILESIZE(f) ;
Файл көрсеткішін типтелген файлдың соңына орнату үшін SEEK процедурасын келесі түрде қолдануға болады:
SEEK(f, FILESIZE(f) ) ;
- FILEPOS функциясы - файлдың ағымдағы компоненттерінің нөмірін қайтарады.
FILEPOS(f) ;
Енді мысал қарастырайық:
Студенттер туралы мәліметтер берілген: студенттің фамиялиясы, туған жері және жинаған балы. Осы мәліметтерді пайдаланып типтелген фалдарды ұйымдастыру керек.
PROGRAM Fnew;
CONST N=10;
TYPE STUD=RECORD;
FIO:STRING;
GER:STRING;
BALL:INTEGER;
VAR A:ARRAY[1. . N] OF SRUD;
F:FILE OF STUD;
I:INTEGER;
BEGIN
ASSIGN(F, ’STUD. TXT’) ;
REWRITE(F) ;
FOR I:=1 TO N DO
WITH A[I] DO
Begin
READLN(FIO) ;
READLN(GER) ;
READLN(BALL) ;
WRITE(F, A[I] ) ;
End;
CLOSE(F) ;
END.
Текстік файлдар.
Текстік файлдар текстік ақпаратты сақтау үшін пайдаланылады және осындай файлдың компоненттерінің ұзындығы айнымалы болуы мүмкін (текстік файл ұзындығы айнымалы болатын жолдардың жиыны деп санауға болады) .
Текстік файлдар жолдарға бөлінген символдар жиынын құрастырады. Әр жолдың сонында жол соңының белгісі тұрады, тестік файлдармен жұмыс істеу үшін келесі стандартты процедура мен функцияларды қолдануға болады:
- READ процедурасы - файлдан символдарды, жолдарды және сандарды енгізу үшін пайдаланылады.
READ(f, <енгізу тізімі>) ;
Мұндағы f - текст титпі файлдық айнымалы, <енгізу тізімі> - SHAR, STRING типімен бірге кез келген бүтін немесе нақты типті айнымалылар тізімі.
- READLN процедурасы - файлдан жолды оқу үщін пайдаланылады.
READLN(f, <енгізу тізімі>) ;
<енгізу тізімі> - SHAR, STRING, бүтін, немесе нақты типті айнымалыдан тұратын жол.
- WRITE процедурасы - ақпаратты текстік файлға жазу үшін қолданылады.
WRITE(f, <шығару тізімі>) ;
<шығару тізімі> - SHAR, STRING типімен бірге BOOLEAN және кез келген бүтін немесе нақты типті өрнектердің тізімі.
4. WRITELN процедурасы - файлға жолды жазу үшін пайдаланылады.
WRITELN(f, <шығару тізімі>) ;
<шығару тізімі> - WRITE-қа ұқсас, ерекшелігі - WRITELN процедурасын қолданғанда текстік файл жолдар бойынша өңделеді.
- . EOLN логикалық функциясы TRUE қайтарады, егер енгізілген текстік файлдың жол соңының белгісі кездессе, ал қарсы жағдайда - FALSE.
EOLN(F) =TRUE;
EOLN(F) =FALSE;
- SEEKEOLN логикалық функциясы - TRUE қайтарады, егер файлдың жолының соңы кездессе және файл жолының соңы кездескенше бос орын «пробел», табуляция символдарын қарастырмайды.
SEEKEOLN(F) =TRUE;
- SEEKEOF логикалық функциясы - TRUE қайтарады, егер текстік файлдың соңының белгісі кездессе және файл соңының белгісі кездескенше бос орын «пробел», табуляция символдарымен «EOLN» жол соңының белгілерін қарастырмайды.
SEEKEOF(F) =TRUE;
Мысалы, Текстік файл берілген. 4 немесе одан да көп сөздерден тұратын жолдарды басқа файлға жазу керек.
PROGRAM Ftext;
VAR F1, F2:TEXT;
ST:STRING;
I, K, KOL:INTEGER;
BEGIN
ASSIGN(F1, ’FILE1. TXT’) ;
RESET(F1) ;
ASSIGN(F2, ’FILE2. TXT’) ;
REWRITE(F2) ;
WHILE NOT(EOF(F1) ) DO
Begin
READLN(F1, ST) ;
KOL:=0;
FOR I:=1 TO LENGTH(ST) DO
IF (ST[I-1] = ‘ ’) OR (I=1) THEN
Begin
K:=0;
REPEAT
INC(K) ;
UNTIL(ST[I+K] = ‘ ’) OR (I+K=LENGTH(ST) ) ;
IF K>3 THEN INC(KOL) ;
IF KOL>=4 THEN
WRITELN(F2, ST) ;
End;
End;
CLOSE(F1) ;
CLOSE(F2) ;
END.
Тителмеген файлдар
Типтелмеген фалдарды баяндағанда файл компоненттерінің типтері көрсетілмейді. Сондықтан типтелмеген файлдар кез-келген файлдармен үйлесімді болып саналады және дискімен жады арасындағы мәліметтер ауысуының жылдамдығын арттыруға мүмкіндік пайда болады.
Типтелмеген файлдарды RESET және REWRITE процедураларының көмегімен инициалдағанда типтелмеген файлдар жазбалардың ұзындығын байт арқылы көрсетуге болады.
RESET және REWRITE процедураларыда жазбаның ұзындығы ІІ- ші параметр ретінде көрсетіледі. Егер жазбаның ұзындығы көрсетілмесе, онда жазбаның ұзындығы 128 байтқа тең деп алынады. Мәліметтер ауысуының жылдаимдығы максималды болуы үшін жазбаның ұзындығын 512 байт деп алу қажет.
RESET(F, 512) ;
Типтелмеген файлдармен жұмыс жасау үшін типтелген файлдарға пайдаланылатын барлық стандартты процедура мен функциялар қолданылуы мүмкін. Типтелмеген файлдар үшін READ, WRITE процедураларының орнына жылдамдығы жоғары BLOCKREAD, BLOCKWRITE стандартты процедуралары пайдаланылады.
Осы процедуралардың жалпы түрі:
BLOCKREAD(F, BUF, N, [, RES] ) ;
BLOCKWRITE(F, BUF, N, [, RES] ) ;
Мұндағы: F - типтелмеген файлдық айнымалы.
BUF- дискілердегі мәліметтердің ауысуына қатысатын айнымалының аты.
N - дискіге бір рет қатынас жасағанда оқылатыфн немесе жазылатын жазбаның саны.
RES - BLOCK(READ, WRITE) процедуралар орындалғаннан кейін нақтылы өңделген жазбалардың саны (бұл параметрді жазбаса да болады) .
Жазба (RECORD)
Жазба - өріс деп аталатын компоненттерден құралған мәліметтердің структурасы (компоненттер саны шектеулі) . өрістің мәліметтері бірдей типке жатады, ал әртүрлі өрістерде олар әртүрлі болуы мүмкін. Жазба ең икемді типке жатады. Жазба - массив тәрізді мәліметтердің күрделі типін құруға аранлған, мысалы, бір заттың әртүрлі қамсиеттері туралы мәліметті біріктіріп қолдануға арналған. Жазбаның массивтен ерекшелігі:
- жазбаны құрастырушы элементтер (өрістер) әртүрлі болуы мүмкін.
- Жазба құрастырушы элементтерінің (өрістерінің) атауларымен ғана (өоріс идентификаторларымен) тікелей анықталады.
Жазбалардың екі түрі бар:
- Тұрақты өрісті жазбалар
- Таңдамалы өрісті жазбалар
Тұрақты өрісті жазбалар
Программа құрылымында жазба типі келесі түрде баяндалады:
TYPE NTYPE=RECORD
ID11, …, ID1N:TYPE_1;
IDK1, …, IDKN:TYPE_2;
END;
Мұндағы TYPE, RECORD, END Паскаль тілінің түйінді сөздері. NTYPE - жазба атауы немесе идентификаторы. ID11, …, ID1N және т. б. IDKN - өрістердің идентификаторлары (атауы) .
Мысалы, DAT жазбасы шектелген типпен анықталған үш өрістен құрылған болсын.
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz