Реттік мәліметтер типтері
Мазмұны
Кіріспе 3
1. Турбо Паскальдағы бағдарлама 5
1.1. Бағдарлама тақырыбы 5
1.2. Бағдарлама денесі 6
2. Айнымалылар 7
2.1. Айнымалыларды жариялау бөлімі 7
3. Турбо Паскальдағы типтер 9
3.1. Қарапайым мәліметтер типтері 9
3.1.1. Реттік мәліметтер типтері 9
3.1.2. Заттық мәліметтер типтері 12
3.2. Құрылымды мәліметтер типтері 14
3.2.1. Массивтер 14
3.2.2. Жазбалар 16
3.3.3. Көптіктер 20
4. Жолдық типтер 23
5. Типтердің сәйкестілігі және түрдендірілуі 25
Қорытынды 26
Қолданылған әдебиет 27
Бағдарламалар листингтері 28
Кіріспе.
Турбо Паскаль бағдарламалау жүйесі, өткен ғасырдың 80-ші жылдардың
аяғында – 90-шы жылдардың басында американдық Borland® корпорациясымен
әзірленген және Microsoft® корпорациясының MS-DOS операциялық жүйесімен
басқарылып жұмыс істейтін бағдарламаларды жасауға арналған. 1993 жылы
наурызда Borland® корпорациясы бұл жүйенің жетінші нұсқасын нарыққа
шығарған болатын. Турбо Паскаль – бұл, жеке бағдарламалау тілі емес, ол
интеграцияланған бағдарламалу ортасын қамтыған кәдімгі стандартты Паскаль
тілінің кеңейтілген нұсқасы. Турбо сөзі ағылшын тілінен аударғанда
жылдамдату мағынасын білдіреді. Турбо Паскаль тілінің құрамына кіретін
транслятор, басқа бағдарламалау жүйелерінің трансляторларына қарағанда,
бағдарламаны бағдарламалау тілінен машиналық кодтарға өте шапшаң аударады.
Турбо Паскаль бағдарламалау жүйесінде бағдарлама мәтіні, біріктірілген
құрал-саймандар қоршамының мәтіндік редакторында сіз құрастыратын кәдімгі
мәтіндік файлдан тұрады.
Бағдарлама бөлек бөлімдер мен блоктардан тұрады, олар келесі ретпен
орналасуға тиіс:
[ - бағдарлама тақырыбы; ]
[ - таңбаларды жариялау бөлімі; ]
[ - тұрақтыларды жариялау бөлімі; ]
[ - типтерді жариялау бөлімі; ]
[ - айнымалыларды жариялау бөлімі; ]
[ - процедуралар мен функцияларды жариялау бөлімі; ]
- бағдарлама денесі.
Төртбұрыш жақшаларға алынған бөлімдердің атаулары бағдарламада
болмауыда мүмкін.
Турбо Паскальда кез келген мәліметтер, константалар, айнымалылар,
функциялар мәндері немесе өрнектер өз типтерімен сипатталады. Тип, қандай
да бір объекті қабылдай алатын мүмкін мәндердің көптігін, және де оған
қолданылатын мүмкін операциялардың көптігін анықтайды. Одан басқа, тип
компьютер жадысындағы мәліметтердің ішкі берілу форматын анықтайды. Турбо
Паскаль мәліметтер типтерінің тармақталған құрылымымен сипатталады. Турбо
Паскальдағы типтер қарапайым (реттік, заттық) және құрылымды (массивтер,
жазбалар, көптіктер) типтерге бөлінеді. Және де жаңа мәліметтер типтерін
жасау механизмі қарастырылған, бұның арқасында бағдарламада қолданылатын
типтердің жалпы саны қажетіне қарай көп болуы мүмкін.
Бұл курстық жұмыста бағдарламаның тек кейбір бөлімдерінің тағайындалуы
мен сипаттау ережелері ғана қарастырылған. Бұл жұмыста Турбо Паскальдағы
сызықтық бағдарламалау қарастырылған. Соның ішінде, алгоритм және
бағдарлама түсінігі, тұрақтылар, айнымалылар, стандартты функциялар,
өрнектер, операциялар және бағдарламаның құрылымы қарастырылған. Сонымен
қатар, бұл курстық жұмыста Турбо Паскальда қолданылатын мәліметтер типтері
сипатталады. Және де оларды қолдану тәсілдері берілген.
1. Турбо Паскальдағы бағдарлама.
1. Бағдарлама тақырыбы.
Бағдарлама басы program арнайы сөзінен және идентификатор деп
аталатын, бағдарлама атынан. Бағдарлама басы, бағдарламаның кез келген жолы
сияқты нүктелі үтірмен ақяталады. Бағдарлама басы міндетті емес, сондықтан
компиялтор оны ескермейді.
Кез келген бағдарламаның (бағдарлама, модуль, процедура немесе
функция) құрылымы келесі түрде болу керек:
Бағдарламаны жариялау
{Сипаттау бөлімі}
begin
{Орындалатын операторлар бөлімі}
end. Бағдарламаның аяғын білдіретін символ
Мұнда Бағдарламаны жариялау – бағдарлама, модуль, процедура немесе
функция тақырыбы (бағдарлама тақырыбын, бағдарлама үшін еш зиянсыз
көрсетпесе де болады, ал модуль, процедура және функция үшін тақырып
міндетті түрде көрсетілу керек); Бағдарламаның аяғын білдіретін символ –
бағдарлама мен модуль үшін . нүкте символы және процедура мен функция
үшін ; нүктелі үтір символы.
Бағдарламаның кез келген екі бөлімі (сипаттау бөлімі және орындалатын
операторлар бөлімі) немесе екеуі бірдей бос болуы мүмкін, басқаша айтқанда
ешқандай сипаттауларды немесе орындалатын операторлады қамтымауы мүмкін.
Сипаттау бөлімінде, орындалатын операторлар бөлімінде қолданылатын
барлық идентификаторлардың сипаттамасы болу керек. Бағдарламалық
модульдердің (кітапханалардың) интерфейстік бөлімінде анықталған
идентификаторлар және процедуралар мен функцияларға глобальды болатын
идентификаторлар ерекше болады. Егер бағдарламалық бірлікте қандайдабір
модульдың интерфейстік бөліміндегі идентификатор қолданылса, онда
бағдарлама басында uses сөйлемінде бұл модульдың атын белгілеу керек. Бұл
жағдай System стандартты модулінде анықталған идентификаторларға қатысты
емес, басқаша айтқанда бұл модульдың атын uses сөйлемінде көрсетудің қажеті
жоқ. Сонымен бірге, System модулі алдынала жарияланған деп есептеледі,
сондықтан келесі жариялауды компилятор System модулін екі рет жариялау
әрекеті деп бағалайды және сәйкес қате туралы хабар береді:
uses System;
Сипаттау бөлімінде типтердің, объектілердің, тұрақтылардың,
айнымалылардың идентификаторлары және де таңбалар, процедуралар және
функциялар жарияланады.
2 Бағдарлама денесі.
Паскаль тілінің ережелері барлық бағдарламалар үшін бірдей негізгі
құрылмыды қарастырған:
program Бағдарлама аты;
Сипаттау бөлімі
begin
Бағдарлама денесі
end.
Мұндағы program, begin және end сөздері қызметші сөздер болып табылады. Бұл
сөздерді дұрыс жане орынымен қолдану міндетті болып табылады.
Форматтағы үшбұрыш жақшалар, нақты бағдарламалу кезінде олардың
орынына қажетті мәндер қойылуға тиісті екендігін білдіреді. Бағдарлама
жазбасының өзі жалпы алғанда бір жолға жазылуы мүмкін. Сонымен бірге, оның
бөліктері бір бірінен бір бос орынмен ажыратылуға тиіс. Бірақ мұндай
жазба оқу үшін ыңғайлы емес, сондықтан берілген құрылымды ұстанып, ал
бағдарламаның әрбір жолына мүмкіндігінше бір операторды жазған дұрыс.
Бағдарлама атын бағдарламаушы, идентификаторларды құру ережелеріне сәйкес
өз еркімен.
Паскальдың қызметші сөздеріне жатпайтын және бағдарламалаушы
инициативасымен ескеріліп енгізілген барлық объектілер бағдарламада бірінші
рет қолданардың алдында сипатталуға тиісті. Бұны жасау, компьютер
бағдарламаны орындау алдында сәйкес объектілер үшін жадты сақтап, бұл жады
орындарына сәйкес идентификаторларды қоюға қажет.
Сипаттау бөлімі бес бөлімшеден тұруы мүмкін:
1. Таңбаларды сипаттау (label).
2. Типтерді сипаттау (type).
3. Тұрақтыларды сипаттау (const).
4. Айнымалыларды сипаттау (var).
5. Процедураларды және функцияларды сипаттау (procedure, function).
Қандайда бір объектінің қажеті болмаса, сәйкес бөлімше көрсетілмеуі
мүмкін. Сипаттау бөлімінде типтер, объектілер, тұрақтылар, таңбалар,
процедурала және функциялар идентификаторлары жарияланады.
2. Айнымалылар.
Бағдарламаның орындалу барысында мәні өзгере алатын шама – айнымалы
деп аталады. Бағдарламадағы айнымалы ұғымы түсінкті болуы үшін оны
компьютердің аты аталған ұяшығы деп қарастырайық. Мысалы: с := 2 яғни, с
атаулы ұяшыққа 2 саны орналастырылды дейік. с := с + 4 амалы орындалғаннан
кейін с ұяшығындағы 2 санына 4 қосылып, с := 6 болады. Ұяшыққа жазылған
соңғы мәлімет бастапқы мәліметтерді өшіріп отырады. Мысалдан көрініп
тұрғандай, әртүрлі өңделуден кейін ұяшық ішіндегі мәлімет өзгереді. Ал
ұяшық, яғни айнымалы атауы сол қалпында қалады. Айнымалының соңғы мәні
ағымдағы мән деп аталса, айнымалы әр уақытта бір ағымдағы мәнге ие болады.
Айнымалылар латын әріптерінің және сандарының кез келген топтамасымен
белгілене береді, бірақ бірінші белгі міндетті түрде әріп болуы тиіс.
Паскальда айнымалының міндетті түрде типі болады. Негізгі типтері төртеу:
бүтін, нақты, белгілік және логикалық. Айнымалының типі міндетті түрде
бағдарлама мәтінінің басында сипатталады.
1. Айнымалыларды жариялау бөлімі.
Бағдарламада қолданылатын барлық айнымалылар, айнымалыларды сипаттау
бөлімінде типтері белгіленіп, анықталған болуға тиіс. Бұл бөлім бөлім var
қызметші сөзінен басталады:
var
айнымалылар тізімі 1: тип 1;
айнымалылар тізімі 2: тип 2;
Нақты айнымалылар Real қызметші сөзінің көмегімен жарияланады, бүтін
айнымалылар – Integer қызметші сөзінің көмегімен жарияланады. Мысалы::
var
a: Integer;
bf14: Real;
Бұл мысалда екі айнымалы жарияланған. а айнымалысы бүтін типті, ал
bf14 заттық типті. Бүтін айнымалыны жариялау дегеніміз, компьютер
жадысында кез келген бүтін санды сақтау үшін ұяшықты бөліп алу. Бұл ұяшыққа
сіз айнымалыларды жариялау бөлімінде таңдаған атау (идентификатор) арқылы
жүгінуге болады.
Паскальда айнымалының міндетті түрде типі болады. Айнымалының типі
міндетті түрде бағдарлама мәтінінің басында сипатталады.
Базалық типтерге келесі типтер жатады:
▪ Бүтін санды тип – Integer.
▪ Ұзын бүтін санды тип – Longint.
▪ Нақты (заттық) санды типтер – Real.
▪ 0 ден 255-ке дейінгі оң санды тип – Byte.
▪ 0 ден 65535-ке дейінгі оң санды тип – Word.
▪ Символдық тип – Char.
▪ Жолдық тип – String.
▪ Логикалық тип – Boolean.
3. Турбо Паскальдағы типтер.
1. Қарапайым мәліметтер типтері.
Қарапайым мәліметтер типтеріне реттік және заттық типтер жатады.
Реттік типтердің ерекшелігі болып, олардың әр қайсысы мүмкін
мәндердің шектеулі санын қабылдай алады. Бұл мәндерді нақты түрде реттеуге
болады, сондықтан олардың әр қайсысымен қандай да бір бүтін санды – реттік
нөмірді салыстыруға болады.
Заттық типтер, нақты айтқанда, заттық санның ішкі берілу форматымен
анықталатын мәндердің шектеулі санын қабылдай алады. Бірақ бұл сан өте
үлкен болуы мүмкін, сондықтан олардың әр қайсысын бүтін санмен (оның
нөмірімен) салыстыруға мүмкін емес.
1. Реттік мәліметтер типтері.
Реттік типтерге бүтін типтер, логикалық және символдық типтер, аралық
және санап шығу типтері жатады. Бұл типтердің реттік тип деп аталуының
себебі, олардың мүмкін мәндері, белгілі ретпен орналасқан элементтердің
шектеулі санынан тұратын тізбекті береді. Реттік тип элементінің
әрқайсысының, оның алдында және одан кейін орналасатын элементтері болады.
Мысалы, 2000 бүтін мәннің алдынғы элементі (1999 мәні) және кейінгі
элементі (2001 мәні) бар. Реттік тип элементтерін белгілі ретпен
орналастырып, мысалы өсуі бойынша, нөмірлеуге болады. Реттік типтің кез
келгеніне X өрнегі мәнінің реттік нөмірін қайтаратын ord(X) функциясын
қолдануға болады. Бүтін типтер үшін ord(X) функциясы X-тың өз мәнін
қайтарады, басқаша атйқанда кез келген бүтін типке жататын X үшін ord(X) =
X мәнін. Ord(X) функциясын логикалық және символдық типтерге, және де
тізбелеу типтеріне қолданғанда, логикалық типтер үшін 0 ден 1-ге дейнгі
аралықтағы, символдық типтер үшін 0 ден 255-ке дейінгі аралықтағы және
тізбелеу типі үшін 0 ден 65535-ке дейнгі аралықтағы оң бүтін санды береді.
Аралық типі негізгі реттік типтің барлық қасиеттерін сақтайды, сондықтан
оған ord(X) функциясын қолданғандағы нәтижесі осы типтің қасиеттеріне
байланысты болады.
Реттік типтерге келесі функцияларды қолдануға болады:
▪ pred(X) – ord(X)–1 реттік нөмірге сәйкес реттік типтің алдынығы
мәнін қайтарады, басқаша айтқанда
ord(pred(X)) = ord(X)–1.
▪ succ(X) – ord(X)+1 реттік нөмірге сәйкес реттік типтің келесі мәнін
қайтарады, басқаша айтқанда
ord(pred(X)) = ord(X)–1.
Мысалы, егер бағдарламада келесі мысалда көрсетілгендей айнымалы
анықталса, онда pred(C) функциясы ‘4’ мәнін қайтарады, ал succ(C) функциясы
‘6’ мәнін қайтарады:
var
c: Char;
begin
c := ‘5’;
end.
Егер, кез келген реттік типті сандық осте қандайда бір кесіндіні
алатын және солдан оңға қарай өсетін реттелген мәндердің көптігі ретінде
қарастырса, онда бұл кесіндінің, pred(X) сол жақтағы, ал succ(X) оң
жақтағы ұшы үшін анықталмаған болады.
Бүтін типтер мәнінің мүмкін аралығы, бір, екі немесе төрт байтты
қабылдайтын олардың ішкі берілуіне тәуелді болады. Төменде бүтін типтердің
атаулары, олардың байтпен берілген ішкі көрсетілуінің ұзындығы және мүмкін
мәндердің аралығы беріледі.
Атауы Ұзындығы, Мәндердің аралығы Типтің құаты
байтпен
Byte 1 0 ден 255 ке дейін 256
ShortInt 1 –128 ден +127-ге дейін 256
Word 2 0 ден 65535-ке дейін 65536
Integer 2 –32768 ден +32767-ге дейін 65536
LongInt 4 –2147483648 ден +2147483647 4294497296
дейін
Бүтін санды типтерге қолданылатын стандартты процедуралар мен
функциялар келесі кестеде берілген. Кестеде b, s, w, i, l әріптерімен
сәйкес Byte, ShortInt, Word, Integer және LongInt типтері берілген, x – бұл
типтердің кез келгенінің өрнегі; vb, vs, vw, vi, vl, vx әріптерімен сәйкес
типті фйнымалылар белгіленген. Тік бұрыш жақшалардың ішінде қажетті емес
параметр көрсетіледі.
Үндеу Нәтиже типі Әрекеті
abs(x) x х модулін қайтарады
chr(b) Char Оның коды боынша символды қайтарады
dec(vx[,i]) – vx мәнін i-ға, ал i болмаса 1-ге
inc(vx[,i]) – кемітеді
vx мәнін i-ға, ал i болмаса 1-ге
Hi(i) Byte үлкейтеді
Hi(w) Byte Аргументтің үлкен байтын қайтарады
Lo(i) Byte Аргументтің үлкен байтын қайтарады
Lo(w) Byte Аргументтің кіші байтын қайтарады
odd(l) Boolean Аргументтің кіші байтын қайтарады
Егер аргумент тақ сан болса, True
Random(w) Параметрдегідей қайтарады
0 ден (w–1)-ге дейінгі аралықтағы
біргелкі орналастырылған кездейсоқ санды
sqr(x) x қайтарады
swap(i) Integer Арументтің квадратын қайтарады
swap(w) Word Сөздегі байттардың орынын ауыстырады
Сөздегі байттардың орынын ауыстырады
Логикалық типтің мәндері ретінде адын ала жарияланған False (жалған)
немесе True (ақиқат) константалардың бірі бола алады. Оларға келесі
ережелер тура болады:
ord(False) = 0;
ord(True) = 1;
False True;
succ(False) = True;
pred(True) = False.
Логикалық тип реттік типтерге жататындықтан, оны есептік типті
операторда қолдануға болады, мысалы:
var
l: Boolean;
begin
for l := False to True do ...
Символдық типтің мәні ретінде компьютердегі барлық символдардың
көптігі болады. Әрбір символға 0 ден 254-ке дейінгі аралықтағы бүтін сан
жазылып қойылады. Бұл сан символдың берілуінің ішкі коды қызметін атқарады,
оны ORD функциясы қайтарады. Кодтау үшін ASCII коды қолданылады.
Char типіне қатынас операциялары және кіріктірілген функциялар
қолданылады:
▪ chr(B) – Char типті функция; Byte типті B өрнегін символға өзгертеді
және оны өзінің мәнімен қайтарады.
▪ UpCase(CH) – Char типті функция; егер CH жолдық латын әрпі болса,
жазбаша әріпті қайтарады, кері жағдайда CH символының өзін қайтарады,
мысалы:
var
c1,c2: Char;
begin
c1 := UpCase(‘s’);
c2 := UpCase(‘ф’);
WriteLn(c1, ‘’,c2)
end.
Санап шығу, немесе санап шығу типі, ол алатын мәндерді санап шығумен
беріледі. Әрбір мән қандайда бір идентификатормен аталады және дөңгелек
жақшаға алынған тізімде орналасады, мысалы:
type
colors = (red, white, blue);
Аралық типі, аралық типтен басқа кез келген реттік типі бола алатын
өзінің негізгі типінің көптігі деп айтуға болады. Аралық типі, негізгі
типтің ішіндегі өзінің мәндерінің шекараларымен беріледі:
мин.мән..макс.мән
Мұнда мин.мән – аралық типтің минималды мәні; макс.мән – оның
максималды мәні.
Аралық типті анықтаған уақытта келесі ережелерді ұстану керек:
▪ (..)екі нүкте символы бір символ ретінде қарастырылады, сондықтан
олардың арасында бос орын болмау керек.
▪ Аралықтың сол жақ шекарасы оның оң жақ шекарасынан асуға тиісті
емес.
2. Заттық мәліметтер типтері.
Заттық типтер, заттық сандарды (бүтін және бөлшек бөлігі бар сандар)
көрсетеді. Паскальда заттық типтердің бес түрі бар. Заттық типтер, олармен
байланыстағы мәндердің аралығымен және дәлдігімен ажыратылады.
Заттық типтер келесі кестеде келтірілген:
Ұзындығы, Атауы Мәнді сандар саны Ондық ретті аралық
байт
4 Single 7...8 –45...+38
6 Real 11...12 –39...+38
8 Double 14...16 –324...+308
10 Extended 19...20 –4951...+4932
8 Comp 19...20 –2x1063+1...+2x1063–1
Айтылғандай, Паскаль заттық типтердің мол гаммасымен сипатталады,
бірақ Singl, Double және Extended типтеріне кіру тек компиляцияның ерекше
режимдерінде ғана мүмкін болады. Өйткені, бұл типтер жылжымалы нүктелі
арифмктиканың аппараттық қолдауына негізделген және оларды тиімді қолдану
үшін компьютер құрамына арифметикалық сопроцессоры кіру керек. Турбо
Паскаль компиляторы кез келген компьютерлерде (сопроцессоры болса да,
болмаса да) жұмыс істейтін және кез келген заттық типті қолданатын
бағдарламаларды құрастыруға мүмкіндік береді.
Арифметикалық сопроцессор сандарды әрқашан Extended форматында
өңдейді. Real типі сопроцессорсыз жұмыс істеуге оңтайландырылған. Comp
типі, Турбо Паскальда экспоненциалды және бөлшек бөлігі жоқ заттық сан
түрінде беріледі.
Заттық мәліметтермен жұмыс істеу үшін төмендегі кестеде берілген
кіріктірілген математикалық функциялар қолданылуы мүмкін. Кестедегі Real
заттық типті білдіреді, ал Integer кез келген бүтін типті білдіреді.
Үндеу Параметр Нәтиже Ескертпе
типі типі
abs(x) Real, Аргумент Аргумент модулі
Integer типі
ArcTan(x) Real Real Арктангенс (радандар мәні)
cox(x) Real Real Косинус, радианмен берілген бұрыш
exp(x) Real Real Экспонента
frac(x) Real Real Санның бөлшек бөлігі
int(x) Real Real Санның бүтін бөлігі
ln(x) Real Real Натуралды логарифм
pi – Real π = 3,141592653
Random – Real 0...[1] аралығында біргелкі
орналастырылған кездейсоқ сан
Random(x) Integer Integer 0...(х–1) аралығында біргелкі
орналастырылған бүтін кездейсоқ сан
Randomize – – Кездейсоқ сандардың генераторының
инициациясы
sin(x) Real Real Синус, радианмен берілген бұрыш
sqr(x) Real Real Аргументтің квадраты
sqrt(x) Real Real Квадратты түбір
2. Құрылымды мәліметтер типтері.
Құрылымды типтердің кез келгені (Турбо Паскальда олар төртеу:
массивтер, жазбалар, көптіктер және файлдар) осы типті құрайтын
элементтердің көптігімен сипатталады, басқаша айтқанда құрылымды типтің
айнымалысы немесе константасы әрдайым бірнеше компонентті қамтиды. Әрбір
компонент, өз кезегінде құрылымды типке жатуы мүмкін, бұл типтердің кірігуі
жайлы айтуға мүмкіндік береді. Турбо Паскаль типтердің кірігу тереңдігінің
еркін болуын рұқсат етеді, бірақ олардың кез келгенінің ішкі көрсетілімдегі
қосылған ұзындығы 65520 байттан аспау керек.
Стандартты Паскальмен сәйкестіріліп Турбо Паскальда құрылымды типті
жазу алдында, компиляторға құрылымды типті объектілерге арналған жадыны
мүмкіндігінше үнемдеуге бұйрық беретін packed резервтелген сөзін қоюға
рұқсат етілген; бірақ компилятор нақты алғанда бұл нұсқауды елемейді: Турбо
Паскальда мәліметтердібуып-тию мүмкіндігінше автоматты түрде орындалады.
1. Массивтер.
Массив – бұл, әрбір элементтің нөмірі болатын, ал барлық
элементтердің жалпы аты болатын бір типті элементтердің шектеулі санының
жиынтығы. Массив элементінің нөмірі индекс деп аталады, және де индекстер
бірнеше болуы мүмкін. Бір индексі бар массивті бірөлшемді массив деп
атайды, ал екі индексі бар массивты – екі өлшемді дейді және т.с.с. егер
бағдарламада массив қолданылатын болса, оны бағдарламаны сипаттау бөлігінде
көрсету керек.
Турбо Паскальдағы массивтер басқа бағдарламалау тілдеріндегі сәйкес
мәліметтер типтерімен ұқсас келеді. Массивтердің ерекшелігі болып, барлық
компоненттердің бір мәліметтер типі (мүмкін құрылымды) болуында жатыр. Бұл
компоненттерді оңай ретке келтіруге болады және олардың кез келгеніне оның
реттік нөмірін көрсету арқылы кіруге болады, мысалы:
type
digit = array[0..9] of Char;
matrix = array[Byte] of Single;
var
m: matrix;
d: digit;
i: Integer;
begin
...
m[17] := ord(d[i–1])10;
...
end.
Массив типін сипаттау келесі түрде беріледі:
тип аты = array[инд.тип.тізім] of тип
Мұнда: тип аты – дұрыс идентификатор; array, of – резервтелген сөздер;
инд.тип.тізім – үтірмен бөлінген бір немесе бірнеше индекстік типтердің
тізімі; тип – Турбо Паскальдың кез келген типі.
Айнымалыны массив ретінде, массив типін алдын ала сипаттамай тұрып,
бұл айнымалыны сипаттау кезінде анықтауға болады, мысалы:
var
a,b: array[1..10] of Real;
Әдетте индекстік тип ретінде аралық типі қолданылады, онда
индекстердің өзгеру шекаралары беріледі. Of сөзінен кейін жүретін тип
типі Турбо Паскальдың кез келген типі болғандықтан, ол жеке түрде басқа
массив болуы да мүмкін, мысалы:
type
mat = array[0..5] of array[–2..2] of array[Char] of Byte;
Мұндай жазбаны ықшамдау жазбамен алмастыруға болады:
type
mat = array[0..5,–2..2,Char] ... жалғасы
Кіріспе 3
1. Турбо Паскальдағы бағдарлама 5
1.1. Бағдарлама тақырыбы 5
1.2. Бағдарлама денесі 6
2. Айнымалылар 7
2.1. Айнымалыларды жариялау бөлімі 7
3. Турбо Паскальдағы типтер 9
3.1. Қарапайым мәліметтер типтері 9
3.1.1. Реттік мәліметтер типтері 9
3.1.2. Заттық мәліметтер типтері 12
3.2. Құрылымды мәліметтер типтері 14
3.2.1. Массивтер 14
3.2.2. Жазбалар 16
3.3.3. Көптіктер 20
4. Жолдық типтер 23
5. Типтердің сәйкестілігі және түрдендірілуі 25
Қорытынды 26
Қолданылған әдебиет 27
Бағдарламалар листингтері 28
Кіріспе.
Турбо Паскаль бағдарламалау жүйесі, өткен ғасырдың 80-ші жылдардың
аяғында – 90-шы жылдардың басында американдық Borland® корпорациясымен
әзірленген және Microsoft® корпорациясының MS-DOS операциялық жүйесімен
басқарылып жұмыс істейтін бағдарламаларды жасауға арналған. 1993 жылы
наурызда Borland® корпорациясы бұл жүйенің жетінші нұсқасын нарыққа
шығарған болатын. Турбо Паскаль – бұл, жеке бағдарламалау тілі емес, ол
интеграцияланған бағдарламалу ортасын қамтыған кәдімгі стандартты Паскаль
тілінің кеңейтілген нұсқасы. Турбо сөзі ағылшын тілінен аударғанда
жылдамдату мағынасын білдіреді. Турбо Паскаль тілінің құрамына кіретін
транслятор, басқа бағдарламалау жүйелерінің трансляторларына қарағанда,
бағдарламаны бағдарламалау тілінен машиналық кодтарға өте шапшаң аударады.
Турбо Паскаль бағдарламалау жүйесінде бағдарлама мәтіні, біріктірілген
құрал-саймандар қоршамының мәтіндік редакторында сіз құрастыратын кәдімгі
мәтіндік файлдан тұрады.
Бағдарлама бөлек бөлімдер мен блоктардан тұрады, олар келесі ретпен
орналасуға тиіс:
[ - бағдарлама тақырыбы; ]
[ - таңбаларды жариялау бөлімі; ]
[ - тұрақтыларды жариялау бөлімі; ]
[ - типтерді жариялау бөлімі; ]
[ - айнымалыларды жариялау бөлімі; ]
[ - процедуралар мен функцияларды жариялау бөлімі; ]
- бағдарлама денесі.
Төртбұрыш жақшаларға алынған бөлімдердің атаулары бағдарламада
болмауыда мүмкін.
Турбо Паскальда кез келген мәліметтер, константалар, айнымалылар,
функциялар мәндері немесе өрнектер өз типтерімен сипатталады. Тип, қандай
да бір объекті қабылдай алатын мүмкін мәндердің көптігін, және де оған
қолданылатын мүмкін операциялардың көптігін анықтайды. Одан басқа, тип
компьютер жадысындағы мәліметтердің ішкі берілу форматын анықтайды. Турбо
Паскаль мәліметтер типтерінің тармақталған құрылымымен сипатталады. Турбо
Паскальдағы типтер қарапайым (реттік, заттық) және құрылымды (массивтер,
жазбалар, көптіктер) типтерге бөлінеді. Және де жаңа мәліметтер типтерін
жасау механизмі қарастырылған, бұның арқасында бағдарламада қолданылатын
типтердің жалпы саны қажетіне қарай көп болуы мүмкін.
Бұл курстық жұмыста бағдарламаның тек кейбір бөлімдерінің тағайындалуы
мен сипаттау ережелері ғана қарастырылған. Бұл жұмыста Турбо Паскальдағы
сызықтық бағдарламалау қарастырылған. Соның ішінде, алгоритм және
бағдарлама түсінігі, тұрақтылар, айнымалылар, стандартты функциялар,
өрнектер, операциялар және бағдарламаның құрылымы қарастырылған. Сонымен
қатар, бұл курстық жұмыста Турбо Паскальда қолданылатын мәліметтер типтері
сипатталады. Және де оларды қолдану тәсілдері берілген.
1. Турбо Паскальдағы бағдарлама.
1. Бағдарлама тақырыбы.
Бағдарлама басы program арнайы сөзінен және идентификатор деп
аталатын, бағдарлама атынан. Бағдарлама басы, бағдарламаның кез келген жолы
сияқты нүктелі үтірмен ақяталады. Бағдарлама басы міндетті емес, сондықтан
компиялтор оны ескермейді.
Кез келген бағдарламаның (бағдарлама, модуль, процедура немесе
функция) құрылымы келесі түрде болу керек:
Бағдарламаны жариялау
{Сипаттау бөлімі}
begin
{Орындалатын операторлар бөлімі}
end. Бағдарламаның аяғын білдіретін символ
Мұнда Бағдарламаны жариялау – бағдарлама, модуль, процедура немесе
функция тақырыбы (бағдарлама тақырыбын, бағдарлама үшін еш зиянсыз
көрсетпесе де болады, ал модуль, процедура және функция үшін тақырып
міндетті түрде көрсетілу керек); Бағдарламаның аяғын білдіретін символ –
бағдарлама мен модуль үшін . нүкте символы және процедура мен функция
үшін ; нүктелі үтір символы.
Бағдарламаның кез келген екі бөлімі (сипаттау бөлімі және орындалатын
операторлар бөлімі) немесе екеуі бірдей бос болуы мүмкін, басқаша айтқанда
ешқандай сипаттауларды немесе орындалатын операторлады қамтымауы мүмкін.
Сипаттау бөлімінде, орындалатын операторлар бөлімінде қолданылатын
барлық идентификаторлардың сипаттамасы болу керек. Бағдарламалық
модульдердің (кітапханалардың) интерфейстік бөлімінде анықталған
идентификаторлар және процедуралар мен функцияларға глобальды болатын
идентификаторлар ерекше болады. Егер бағдарламалық бірлікте қандайдабір
модульдың интерфейстік бөліміндегі идентификатор қолданылса, онда
бағдарлама басында uses сөйлемінде бұл модульдың атын белгілеу керек. Бұл
жағдай System стандартты модулінде анықталған идентификаторларға қатысты
емес, басқаша айтқанда бұл модульдың атын uses сөйлемінде көрсетудің қажеті
жоқ. Сонымен бірге, System модулі алдынала жарияланған деп есептеледі,
сондықтан келесі жариялауды компилятор System модулін екі рет жариялау
әрекеті деп бағалайды және сәйкес қате туралы хабар береді:
uses System;
Сипаттау бөлімінде типтердің, объектілердің, тұрақтылардың,
айнымалылардың идентификаторлары және де таңбалар, процедуралар және
функциялар жарияланады.
2 Бағдарлама денесі.
Паскаль тілінің ережелері барлық бағдарламалар үшін бірдей негізгі
құрылмыды қарастырған:
program Бағдарлама аты;
Сипаттау бөлімі
begin
Бағдарлама денесі
end.
Мұндағы program, begin және end сөздері қызметші сөздер болып табылады. Бұл
сөздерді дұрыс жане орынымен қолдану міндетті болып табылады.
Форматтағы үшбұрыш жақшалар, нақты бағдарламалу кезінде олардың
орынына қажетті мәндер қойылуға тиісті екендігін білдіреді. Бағдарлама
жазбасының өзі жалпы алғанда бір жолға жазылуы мүмкін. Сонымен бірге, оның
бөліктері бір бірінен бір бос орынмен ажыратылуға тиіс. Бірақ мұндай
жазба оқу үшін ыңғайлы емес, сондықтан берілген құрылымды ұстанып, ал
бағдарламаның әрбір жолына мүмкіндігінше бір операторды жазған дұрыс.
Бағдарлама атын бағдарламаушы, идентификаторларды құру ережелеріне сәйкес
өз еркімен.
Паскальдың қызметші сөздеріне жатпайтын және бағдарламалаушы
инициативасымен ескеріліп енгізілген барлық объектілер бағдарламада бірінші
рет қолданардың алдында сипатталуға тиісті. Бұны жасау, компьютер
бағдарламаны орындау алдында сәйкес объектілер үшін жадты сақтап, бұл жады
орындарына сәйкес идентификаторларды қоюға қажет.
Сипаттау бөлімі бес бөлімшеден тұруы мүмкін:
1. Таңбаларды сипаттау (label).
2. Типтерді сипаттау (type).
3. Тұрақтыларды сипаттау (const).
4. Айнымалыларды сипаттау (var).
5. Процедураларды және функцияларды сипаттау (procedure, function).
Қандайда бір объектінің қажеті болмаса, сәйкес бөлімше көрсетілмеуі
мүмкін. Сипаттау бөлімінде типтер, объектілер, тұрақтылар, таңбалар,
процедурала және функциялар идентификаторлары жарияланады.
2. Айнымалылар.
Бағдарламаның орындалу барысында мәні өзгере алатын шама – айнымалы
деп аталады. Бағдарламадағы айнымалы ұғымы түсінкті болуы үшін оны
компьютердің аты аталған ұяшығы деп қарастырайық. Мысалы: с := 2 яғни, с
атаулы ұяшыққа 2 саны орналастырылды дейік. с := с + 4 амалы орындалғаннан
кейін с ұяшығындағы 2 санына 4 қосылып, с := 6 болады. Ұяшыққа жазылған
соңғы мәлімет бастапқы мәліметтерді өшіріп отырады. Мысалдан көрініп
тұрғандай, әртүрлі өңделуден кейін ұяшық ішіндегі мәлімет өзгереді. Ал
ұяшық, яғни айнымалы атауы сол қалпында қалады. Айнымалының соңғы мәні
ағымдағы мән деп аталса, айнымалы әр уақытта бір ағымдағы мәнге ие болады.
Айнымалылар латын әріптерінің және сандарының кез келген топтамасымен
белгілене береді, бірақ бірінші белгі міндетті түрде әріп болуы тиіс.
Паскальда айнымалының міндетті түрде типі болады. Негізгі типтері төртеу:
бүтін, нақты, белгілік және логикалық. Айнымалының типі міндетті түрде
бағдарлама мәтінінің басында сипатталады.
1. Айнымалыларды жариялау бөлімі.
Бағдарламада қолданылатын барлық айнымалылар, айнымалыларды сипаттау
бөлімінде типтері белгіленіп, анықталған болуға тиіс. Бұл бөлім бөлім var
қызметші сөзінен басталады:
var
айнымалылар тізімі 1: тип 1;
айнымалылар тізімі 2: тип 2;
Нақты айнымалылар Real қызметші сөзінің көмегімен жарияланады, бүтін
айнымалылар – Integer қызметші сөзінің көмегімен жарияланады. Мысалы::
var
a: Integer;
bf14: Real;
Бұл мысалда екі айнымалы жарияланған. а айнымалысы бүтін типті, ал
bf14 заттық типті. Бүтін айнымалыны жариялау дегеніміз, компьютер
жадысында кез келген бүтін санды сақтау үшін ұяшықты бөліп алу. Бұл ұяшыққа
сіз айнымалыларды жариялау бөлімінде таңдаған атау (идентификатор) арқылы
жүгінуге болады.
Паскальда айнымалының міндетті түрде типі болады. Айнымалының типі
міндетті түрде бағдарлама мәтінінің басында сипатталады.
Базалық типтерге келесі типтер жатады:
▪ Бүтін санды тип – Integer.
▪ Ұзын бүтін санды тип – Longint.
▪ Нақты (заттық) санды типтер – Real.
▪ 0 ден 255-ке дейінгі оң санды тип – Byte.
▪ 0 ден 65535-ке дейінгі оң санды тип – Word.
▪ Символдық тип – Char.
▪ Жолдық тип – String.
▪ Логикалық тип – Boolean.
3. Турбо Паскальдағы типтер.
1. Қарапайым мәліметтер типтері.
Қарапайым мәліметтер типтеріне реттік және заттық типтер жатады.
Реттік типтердің ерекшелігі болып, олардың әр қайсысы мүмкін
мәндердің шектеулі санын қабылдай алады. Бұл мәндерді нақты түрде реттеуге
болады, сондықтан олардың әр қайсысымен қандай да бір бүтін санды – реттік
нөмірді салыстыруға болады.
Заттық типтер, нақты айтқанда, заттық санның ішкі берілу форматымен
анықталатын мәндердің шектеулі санын қабылдай алады. Бірақ бұл сан өте
үлкен болуы мүмкін, сондықтан олардың әр қайсысын бүтін санмен (оның
нөмірімен) салыстыруға мүмкін емес.
1. Реттік мәліметтер типтері.
Реттік типтерге бүтін типтер, логикалық және символдық типтер, аралық
және санап шығу типтері жатады. Бұл типтердің реттік тип деп аталуының
себебі, олардың мүмкін мәндері, белгілі ретпен орналасқан элементтердің
шектеулі санынан тұратын тізбекті береді. Реттік тип элементінің
әрқайсысының, оның алдында және одан кейін орналасатын элементтері болады.
Мысалы, 2000 бүтін мәннің алдынғы элементі (1999 мәні) және кейінгі
элементі (2001 мәні) бар. Реттік тип элементтерін белгілі ретпен
орналастырып, мысалы өсуі бойынша, нөмірлеуге болады. Реттік типтің кез
келгеніне X өрнегі мәнінің реттік нөмірін қайтаратын ord(X) функциясын
қолдануға болады. Бүтін типтер үшін ord(X) функциясы X-тың өз мәнін
қайтарады, басқаша атйқанда кез келген бүтін типке жататын X үшін ord(X) =
X мәнін. Ord(X) функциясын логикалық және символдық типтерге, және де
тізбелеу типтеріне қолданғанда, логикалық типтер үшін 0 ден 1-ге дейнгі
аралықтағы, символдық типтер үшін 0 ден 255-ке дейінгі аралықтағы және
тізбелеу типі үшін 0 ден 65535-ке дейнгі аралықтағы оң бүтін санды береді.
Аралық типі негізгі реттік типтің барлық қасиеттерін сақтайды, сондықтан
оған ord(X) функциясын қолданғандағы нәтижесі осы типтің қасиеттеріне
байланысты болады.
Реттік типтерге келесі функцияларды қолдануға болады:
▪ pred(X) – ord(X)–1 реттік нөмірге сәйкес реттік типтің алдынығы
мәнін қайтарады, басқаша айтқанда
ord(pred(X)) = ord(X)–1.
▪ succ(X) – ord(X)+1 реттік нөмірге сәйкес реттік типтің келесі мәнін
қайтарады, басқаша айтқанда
ord(pred(X)) = ord(X)–1.
Мысалы, егер бағдарламада келесі мысалда көрсетілгендей айнымалы
анықталса, онда pred(C) функциясы ‘4’ мәнін қайтарады, ал succ(C) функциясы
‘6’ мәнін қайтарады:
var
c: Char;
begin
c := ‘5’;
end.
Егер, кез келген реттік типті сандық осте қандайда бір кесіндіні
алатын және солдан оңға қарай өсетін реттелген мәндердің көптігі ретінде
қарастырса, онда бұл кесіндінің, pred(X) сол жақтағы, ал succ(X) оң
жақтағы ұшы үшін анықталмаған болады.
Бүтін типтер мәнінің мүмкін аралығы, бір, екі немесе төрт байтты
қабылдайтын олардың ішкі берілуіне тәуелді болады. Төменде бүтін типтердің
атаулары, олардың байтпен берілген ішкі көрсетілуінің ұзындығы және мүмкін
мәндердің аралығы беріледі.
Атауы Ұзындығы, Мәндердің аралығы Типтің құаты
байтпен
Byte 1 0 ден 255 ке дейін 256
ShortInt 1 –128 ден +127-ге дейін 256
Word 2 0 ден 65535-ке дейін 65536
Integer 2 –32768 ден +32767-ге дейін 65536
LongInt 4 –2147483648 ден +2147483647 4294497296
дейін
Бүтін санды типтерге қолданылатын стандартты процедуралар мен
функциялар келесі кестеде берілген. Кестеде b, s, w, i, l әріптерімен
сәйкес Byte, ShortInt, Word, Integer және LongInt типтері берілген, x – бұл
типтердің кез келгенінің өрнегі; vb, vs, vw, vi, vl, vx әріптерімен сәйкес
типті фйнымалылар белгіленген. Тік бұрыш жақшалардың ішінде қажетті емес
параметр көрсетіледі.
Үндеу Нәтиже типі Әрекеті
abs(x) x х модулін қайтарады
chr(b) Char Оның коды боынша символды қайтарады
dec(vx[,i]) – vx мәнін i-ға, ал i болмаса 1-ге
inc(vx[,i]) – кемітеді
vx мәнін i-ға, ал i болмаса 1-ге
Hi(i) Byte үлкейтеді
Hi(w) Byte Аргументтің үлкен байтын қайтарады
Lo(i) Byte Аргументтің үлкен байтын қайтарады
Lo(w) Byte Аргументтің кіші байтын қайтарады
odd(l) Boolean Аргументтің кіші байтын қайтарады
Егер аргумент тақ сан болса, True
Random(w) Параметрдегідей қайтарады
0 ден (w–1)-ге дейінгі аралықтағы
біргелкі орналастырылған кездейсоқ санды
sqr(x) x қайтарады
swap(i) Integer Арументтің квадратын қайтарады
swap(w) Word Сөздегі байттардың орынын ауыстырады
Сөздегі байттардың орынын ауыстырады
Логикалық типтің мәндері ретінде адын ала жарияланған False (жалған)
немесе True (ақиқат) константалардың бірі бола алады. Оларға келесі
ережелер тура болады:
ord(False) = 0;
ord(True) = 1;
False True;
succ(False) = True;
pred(True) = False.
Логикалық тип реттік типтерге жататындықтан, оны есептік типті
операторда қолдануға болады, мысалы:
var
l: Boolean;
begin
for l := False to True do ...
Символдық типтің мәні ретінде компьютердегі барлық символдардың
көптігі болады. Әрбір символға 0 ден 254-ке дейінгі аралықтағы бүтін сан
жазылып қойылады. Бұл сан символдың берілуінің ішкі коды қызметін атқарады,
оны ORD функциясы қайтарады. Кодтау үшін ASCII коды қолданылады.
Char типіне қатынас операциялары және кіріктірілген функциялар
қолданылады:
▪ chr(B) – Char типті функция; Byte типті B өрнегін символға өзгертеді
және оны өзінің мәнімен қайтарады.
▪ UpCase(CH) – Char типті функция; егер CH жолдық латын әрпі болса,
жазбаша әріпті қайтарады, кері жағдайда CH символының өзін қайтарады,
мысалы:
var
c1,c2: Char;
begin
c1 := UpCase(‘s’);
c2 := UpCase(‘ф’);
WriteLn(c1, ‘’,c2)
end.
Санап шығу, немесе санап шығу типі, ол алатын мәндерді санап шығумен
беріледі. Әрбір мән қандайда бір идентификатормен аталады және дөңгелек
жақшаға алынған тізімде орналасады, мысалы:
type
colors = (red, white, blue);
Аралық типі, аралық типтен басқа кез келген реттік типі бола алатын
өзінің негізгі типінің көптігі деп айтуға болады. Аралық типі, негізгі
типтің ішіндегі өзінің мәндерінің шекараларымен беріледі:
мин.мән..макс.мән
Мұнда мин.мән – аралық типтің минималды мәні; макс.мән – оның
максималды мәні.
Аралық типті анықтаған уақытта келесі ережелерді ұстану керек:
▪ (..)екі нүкте символы бір символ ретінде қарастырылады, сондықтан
олардың арасында бос орын болмау керек.
▪ Аралықтың сол жақ шекарасы оның оң жақ шекарасынан асуға тиісті
емес.
2. Заттық мәліметтер типтері.
Заттық типтер, заттық сандарды (бүтін және бөлшек бөлігі бар сандар)
көрсетеді. Паскальда заттық типтердің бес түрі бар. Заттық типтер, олармен
байланыстағы мәндердің аралығымен және дәлдігімен ажыратылады.
Заттық типтер келесі кестеде келтірілген:
Ұзындығы, Атауы Мәнді сандар саны Ондық ретті аралық
байт
4 Single 7...8 –45...+38
6 Real 11...12 –39...+38
8 Double 14...16 –324...+308
10 Extended 19...20 –4951...+4932
8 Comp 19...20 –2x1063+1...+2x1063–1
Айтылғандай, Паскаль заттық типтердің мол гаммасымен сипатталады,
бірақ Singl, Double және Extended типтеріне кіру тек компиляцияның ерекше
режимдерінде ғана мүмкін болады. Өйткені, бұл типтер жылжымалы нүктелі
арифмктиканың аппараттық қолдауына негізделген және оларды тиімді қолдану
үшін компьютер құрамына арифметикалық сопроцессоры кіру керек. Турбо
Паскаль компиляторы кез келген компьютерлерде (сопроцессоры болса да,
болмаса да) жұмыс істейтін және кез келген заттық типті қолданатын
бағдарламаларды құрастыруға мүмкіндік береді.
Арифметикалық сопроцессор сандарды әрқашан Extended форматында
өңдейді. Real типі сопроцессорсыз жұмыс істеуге оңтайландырылған. Comp
типі, Турбо Паскальда экспоненциалды және бөлшек бөлігі жоқ заттық сан
түрінде беріледі.
Заттық мәліметтермен жұмыс істеу үшін төмендегі кестеде берілген
кіріктірілген математикалық функциялар қолданылуы мүмкін. Кестедегі Real
заттық типті білдіреді, ал Integer кез келген бүтін типті білдіреді.
Үндеу Параметр Нәтиже Ескертпе
типі типі
abs(x) Real, Аргумент Аргумент модулі
Integer типі
ArcTan(x) Real Real Арктангенс (радандар мәні)
cox(x) Real Real Косинус, радианмен берілген бұрыш
exp(x) Real Real Экспонента
frac(x) Real Real Санның бөлшек бөлігі
int(x) Real Real Санның бүтін бөлігі
ln(x) Real Real Натуралды логарифм
pi – Real π = 3,141592653
Random – Real 0...[1] аралығында біргелкі
орналастырылған кездейсоқ сан
Random(x) Integer Integer 0...(х–1) аралығында біргелкі
орналастырылған бүтін кездейсоқ сан
Randomize – – Кездейсоқ сандардың генераторының
инициациясы
sin(x) Real Real Синус, радианмен берілген бұрыш
sqr(x) Real Real Аргументтің квадраты
sqrt(x) Real Real Квадратты түбір
2. Құрылымды мәліметтер типтері.
Құрылымды типтердің кез келгені (Турбо Паскальда олар төртеу:
массивтер, жазбалар, көптіктер және файлдар) осы типті құрайтын
элементтердің көптігімен сипатталады, басқаша айтқанда құрылымды типтің
айнымалысы немесе константасы әрдайым бірнеше компонентті қамтиды. Әрбір
компонент, өз кезегінде құрылымды типке жатуы мүмкін, бұл типтердің кірігуі
жайлы айтуға мүмкіндік береді. Турбо Паскаль типтердің кірігу тереңдігінің
еркін болуын рұқсат етеді, бірақ олардың кез келгенінің ішкі көрсетілімдегі
қосылған ұзындығы 65520 байттан аспау керек.
Стандартты Паскальмен сәйкестіріліп Турбо Паскальда құрылымды типті
жазу алдында, компиляторға құрылымды типті объектілерге арналған жадыны
мүмкіндігінше үнемдеуге бұйрық беретін packed резервтелген сөзін қоюға
рұқсат етілген; бірақ компилятор нақты алғанда бұл нұсқауды елемейді: Турбо
Паскальда мәліметтердібуып-тию мүмкіндігінше автоматты түрде орындалады.
1. Массивтер.
Массив – бұл, әрбір элементтің нөмірі болатын, ал барлық
элементтердің жалпы аты болатын бір типті элементтердің шектеулі санының
жиынтығы. Массив элементінің нөмірі индекс деп аталады, және де индекстер
бірнеше болуы мүмкін. Бір индексі бар массивті бірөлшемді массив деп
атайды, ал екі индексі бар массивты – екі өлшемді дейді және т.с.с. егер
бағдарламада массив қолданылатын болса, оны бағдарламаны сипаттау бөлігінде
көрсету керек.
Турбо Паскальдағы массивтер басқа бағдарламалау тілдеріндегі сәйкес
мәліметтер типтерімен ұқсас келеді. Массивтердің ерекшелігі болып, барлық
компоненттердің бір мәліметтер типі (мүмкін құрылымды) болуында жатыр. Бұл
компоненттерді оңай ретке келтіруге болады және олардың кез келгеніне оның
реттік нөмірін көрсету арқылы кіруге болады, мысалы:
type
digit = array[0..9] of Char;
matrix = array[Byte] of Single;
var
m: matrix;
d: digit;
i: Integer;
begin
...
m[17] := ord(d[i–1])10;
...
end.
Массив типін сипаттау келесі түрде беріледі:
тип аты = array[инд.тип.тізім] of тип
Мұнда: тип аты – дұрыс идентификатор; array, of – резервтелген сөздер;
инд.тип.тізім – үтірмен бөлінген бір немесе бірнеше индекстік типтердің
тізімі; тип – Турбо Паскальдың кез келген типі.
Айнымалыны массив ретінде, массив типін алдын ала сипаттамай тұрып,
бұл айнымалыны сипаттау кезінде анықтауға болады, мысалы:
var
a,b: array[1..10] of Real;
Әдетте индекстік тип ретінде аралық типі қолданылады, онда
индекстердің өзгеру шекаралары беріледі. Of сөзінен кейін жүретін тип
типі Турбо Паскальдың кез келген типі болғандықтан, ол жеке түрде басқа
массив болуы да мүмкін, мысалы:
type
mat = array[0..5] of array[–2..2] of array[Char] of Byte;
Мұндай жазбаны ықшамдау жазбамен алмастыруға болады:
type
mat = array[0..5,–2..2,Char] ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz