Деректердің құрылымды типтерін ӛңдеуді ҧйымдастыру әдісі бойынша және компоненттерінің типіне қарай жіктелу тҥрлері:
жолдық типтер (жолдар);
реттелген типтер (массивтер);
жиындық типтер (жиындар);
жазбалы типтер (жазбалар)
файлдық типтер (файлдар).
§ 9. Деректердің кҥрделі типтері –жолдар
Программалау тілдерінде кӛптеген жағдайларда символдар тізбектерін қолдану қажеттілігі туындап отырады. Мҧндай жағдайда, Char типін пайдалану ыңғайсыз. Сол себепті символдар тізбегін тҧтасымен қарастыру мҥмкіндіктерін ойластырған жӛн.
Сондықтан, Паскаль тілінде, символдық деректердің қҧрылымданған – жолдық типі қолданылады.
- Паскаль тілінде жолдарды сипаттау
Жол – дербес компьютердің кодтық кестесіндегі символдар тізбегі. Ӛрнектерде жол екі жағынан апострофқа алынып, жолдық тҧрақты ретінде қарастырылады.
Жол, кӛбінесе символдық – Array[0..N] Of Char массивке ұқсайды, бірақ одан айырмасы, жолдағы символдар саны (жолдың ҧзындығы) – айнымалыға жазылады. Ол айнымалының мәні 0– ден N
– ге дейін ӛзгеруі мҥмкін, мҧндағы, N – жолдағы символдардың максималды саны, N=255.
Жолдық типті айнымалыны сипаттау ҥшін Strіng қызметші сӛзінен кейін, тік жақшаға алынған, қарастырылатын жолдың ең ҥлкен ҧзындығы нҧсқалады. Турбо Паскаль тік жақшаны жазбауға рҧқсат етеді, бҧл жағдайда (әғни, ҥндемеу бойынша) жолдың ҧзындығы максималды 255 байтқа тең болады.
Strіng типті айнымалыны, типтерді сипаттау бӛлімінде жариялау арқылы немесе бірден айнымалылар бӛлімінде сипаттауға болады.
Жазылу пішімі:
Type типтің аты = Strіng [жолдың максималды ұзындығы];
Var айнымалы : типтің аты;
Немесе, strіng типті айнымалыны типін сипаттамай да
тапсырыс жасауға болады:
Var : Strіng [жолдың максималды ҧзындығы];
1-ші мысал:
Const
Type Var
Address = ‗ул. Абая, 25‘; {жолдық тұрақты} Flot = string[125];
Fstr : Flot; {типін тапсыру арқылы сипаттау}
Str1 : string; {үндемегенде жол ұзындығы 255-ке тең} Str2, Str3 : string[50];
Nazv : string[256]; {қате, Nazv ұзындығы 255-тен асып тұр}
Турбо Паскаль жолды – символдар тізбегі деп тҥсінеді.
N символы ҥшін – жадыда N+1 байт бӛлінеді; N байт – жолдың сиволдары ҥшін, ал N+1 байт – жолдың ұзындығының ағымды мәні үшін.
← жолдың ағымды ұзындығының мәні үшін
Жолдағы символдардың кез келгеніне, оның нӛмірін нҧсқау арқылы тілдесуге болады. Жолдың ең басында (нӛмірі ноль) жолдың ҧзындығының ағымды мәні жазылған байт орналасады.
Сондықтан, жадыға жолды орналастыруға қажет, байт санын анықтау ҥшін, оның максималды ҧзындығына 1 қосылады. Мысалы, Str2, Str3, Fstr, Str1 Str2 айнымалылары ҥшін, сәйкес 126, 35, 51 байт қажет. Яғни, жолдың бірінші символы 1-байтқа жазылады.
2-ші мысал: Type
Var
St=strіng[30];
x,y : St;
str1 : strіng[25]; str2,str3 : strіng[20];
str4 : strіng[300]; {қате, 300255}
Бҧл мысалда компьютер жадында x, y жолдарына 31 байт, str1 жолына 26 байт, str2, str3 жолдарына 21 байттан орын қажет. Оны ORD функциясының кӛмегімен анықтап шығаруға да болады.
3-ші мысал:
M1 := ‗ ‗; {бос жол} Wrіteln(Ord(M1[0])); {0 саны шығады} M1:= ‗ABCD‘;
Wrіteln(Ord(M1[0])); {4-саны шығады} M1[0] := 2;
Wrіteln(M1); {АВ жолы шығады}
Бірақ, жолдың ҧзындығын анықтау ҥшін арнайы LENGTH(STR) функциясы қолданылады.
4-ші мысал:
Str1:=‘ABCDEFGH‘;
Str2:=‘Мен информатиканы окимын‘; K1:=Length(Str1);
K2:=Length(Str2);
Нәтижесінде бҥтін айнымалылардың мәні K1=8, K2=24 тең болады. Жолдық типті айнымалылар экранға тҧтас жол тҥрінде шығады. Мысалы: Wrіteln(Str1); операторы экранға ABCDEFGH жолын шығарады.
- Жолдық өрнектер
Жолдық ӛрнектер – деп, операндалары жолдық деректерден тҧратын ӛрнектерді айтады. Бҧндай ӛрнектің қҧрамы – жолдық айнымалылар, тҧрақтылар, функциялар, біріктіру және қатынас амалдарымен тізбектеледі.
Біріктіру амалы (+) бірнеше жолдарды біріктіріп, нәтижесінде тҧтас бір жол алуға пайдаланылады. Мысалы:
Өрнек Нәтижесі
‗A‘+‘B‘+‘C‘+‘D‘ → ABCD
‗1‘+‗-‘+‗топ‘+‘ студенті‘ → 1-топ студенті
‗Турбо‘ + ‗ Паскаль ‘ + ‗ 7.0‘ → Турбо Паскаль7.0
Нәтиже жол болғандықтан, ҧзындығы 255 символдан аспауын ойдан шығармаған жӛн.
Қатынас амалдары (=, =, , ) екі жолды салыстырады және біріктіру амалына қарағанда орындалу ҥстемдігі тӛмен, яғни алдымен барлық біріктіру амалдары, сонан соң салыстыру амалы орындалады.
Салыстыру солдан оңға қарай жҥреді. Нәтиже жолдағы символдардың бейне кестесіне орналасуына байланысты анықталады. Символдық типті айнымалылар ӛз кодтары бойынша салыстырылады. Олар мына тҥрде реттелген:
‗A‘B‘Z‘
‗a‘b‘z‘
‗0‘
‗А‘
‗а‘