Массивтер. Ашық типті жолдар



Мазмұны :
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...3

1.Массивтер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..4
1.1. Массивтер түрлері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..4
1.2. Массивтердің параметрлері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..5

2.Ашық типті жолдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 6
2.1.Жолдық қатарлар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .6
2.2.Жолдық өрнектермен амалдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 7
2.3.Жолдық процедуралар мен функциялар ... ... ... ... ... ... ... ... ... ... ...8
2.4.Жолдық қатарларға программа құру ... ... ... ... ... ... ... ... ... ... ... ... .13

3. Турбо Паскаль тілінің қазіргі кездегі қолданылуы ... ... ... ... ... ... ...18

Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 19
Әдебиеттер тізімі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 21
Қосымшалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...23

Мазмұны :

Кіріспе
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ...3

1.Массивтер
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ..4
1.1. Массивтер
түрлері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... .4
1.2. Массивтердің параметрлері
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...5

2.Ашық типті жолдар
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... 6
2.1.Жолдық
қатарлар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... .6
2.2.Жолдық өрнектермен
амалдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 7
2.3.Жолдық процедуралар мен
функциялар ... ... ... ... ... ... . ... ... ... ... ..8
2.4.Жолдық қатарларға программа
құру ... ... ... ... ... ... ... ... ... ... ... ... ..13

3. Турбо Паскаль тілінің қазіргі кездегі қолданылуы
... ... ... ... ... ... ...18

Қорытынды
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... 19
Әдебиеттер
тізімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ..21
Қосымшалар
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ...23
Кіріспе

Бейсик тілі сияқты, Паскаль оқып-үйренуге жеңіл, түрлі салалық
информациямен жұмыс істеуде нәтижелі болғандықтан, дүние жүзінде көп
тараған тілдердің бірі
Turbo Pascal программалау тілінің басқа тілдер сияқты өзіне тән алфавиті
бар.
Жоғарғы деңгейлі программалау тілдерінің бірі − Паскаль. Қазіргі
кезде Паскаль тілінің кеңейтілген ондаған диалектісі бар, оның ішінде IBM
PC-ге үйлесімді дербес компьютерлер жұмыс істей алатын Турбо Паскаль
диалектісінің варианттары да жеткілікті.
Turbo Pascal жүйесінде қарапайым есептерді шешудің программасынан бастап,
күрделі мәліметтер қорын құрудың сан қырлы жұмыстары жүргізіледі.
Паскаль тілі бұрын құрылған (Фортран, Алгол және т.б.) программалау
тілдерінен маңызды ерекшелігі ол құрылымдық программалау идеясын өмірге
біртіндеп енгізу.

1. Массивтер
1.1 Массивтер түрлері
Borland Pascal ережесі бойынша параметр ретінде беріліп отырған кез
келген массивтің көлемі анықталған болуы керек. Соған орай, параметр-
массивтерден тұратын процедуралар мен функциялардың арнайы құралдарды
қолданылу аумағы айтарлықтай шектеледі. Берілген шектеулікті алдырту үшін –
ашық массивтерді қолдану керек.
Ашық массивтер – индекс типі көрсетілмеген массив типінің жазылым
конструкциясы.
Берілген анықтама бағдарламаның формалды параметрлерін сипаттауда
ғана мүмкін. Ашық массивтерді қолдана отырып, ашық массив ретінде берілетін
индес параметрлеріндегі мәндері нөлден басталады. Массив параметрінің
шынайы элемент саның екі түрлі әдіспен анықтауға болады:
1. қосымша параметрлер арқылы беру;
2. арнайы функцияларды қолдану.
Массив элементтерін `МayFile5.in` файлына жазу процедурасының қандай
болатындығын қарастыралық:
procedure exi;
var
FileOut: text;
begin
{нақтылы файлмен айнымалы
арасындағы байланыс}
assing (FileOut,`mayFile.in`);
{файлды жазуға дайындау}
rewrite(FileOut);
{массив өлшемдерiн жазу және курсорды жаңа жолға көшiру}
writeln(FileOut, JolSany,``, BaganSany);
for i=1 to JolSany do
begin
{массив элементтерiн бос орын арқылы жолға жазу}
for j=1 to BaganSany do
write(FileOut,San[i,j],``);
{j-циклiн аяақтаған соң, курсорды жаңа жолға көшiру}
writeln(Fileout);
end;
{файлды жабу}
close(FileOut);
end;

1.2 Массивтердің параметрлері
High (массивтің идентификаторы) – қарапайым массив үшін массив
индексінің жоғарғы шегін қайтарады, ашық массив үшін – индекстің
максимальді мәнін.
Low (массивтің идентификаторы) – қарапайым массив үшін массив
индексінің жоғарғы шегін қайтарады, ашық массив үшін – нөль.
2 Ашық типті жолдар.
2.1 Жолдық қатарлар.

Программаларда кездесетін әр түрлі символдардан тұратын тізбектерді
жолдық қатарлар деп атайды. Өрнектерде жолдық қатарлар апострофқа алынып
жазылады.
Turbo Pascal-да жолдық қатарларға компьютердің жадынан 0 байттан 255
байтқа дейін орын беріледі (жолдық қатар ұзындығына – 255 символ,
ұзындықтың мәніне – 1 символ).
Жолдық қатарлардан тұратын идентификаторлар String типі арқылы
сипатталады. Идентификатордың типінен кейін тік жақшаның ішінде осы
идентификатордың ұзындығының мәні неше символдан тұруы мүмкін екені
көрсетіліп кетеді. Егер бұл мән көрсетілмесе, онда жолдық қатар ұзындығына
компьютердің жадынан 255 символға дейін орын беріледі.
Жолдық қатарлы идентификаторды типтер бөлімінде (TYPE) немесе бірден
айнымалылар бөлімінде (VAR) сипаттауға болады. Сонымен қатар программалауда
жолдық қатарлар тұрақты шамалар ретінде де қолданылады (таңдау
селекторытұрақтысынан басқа).

Жолдық қатарлардың сипатталу мысалдары:
PROGRAM Katarlar;
CONST S=’Қайсар’; {S тұрақтысы Қайсар тіркесіне тең }
TYPE Gumn=String [10];
VAR X: String [17]; {Х айнымалысының ұзындығы 17 символға дейін}
A: String [6]; {Aайнымалысының ұзындығы 6 символға дейін}
B: String; {В айнымалысының ұзындығы 255 символға дейін}
C: Gumn; {C айнымалысының ұзындығы 10 символға дейін}

2.2 Жолдық өрнектермен амалдар.
Операндалары жолдық қатар болып табылатын өрнектерді жолдық
өрнектер деп атайды. Идентификаторларға жолдық айнымалылардың мәнін беру
үшін меншіктеу операторы қолданылады. Егер меншіктеу операторы
орындалғанда, символдар саны сипаттамалар бөлімінде көрсетілген шамадан
асып кетсе, онда идентификатор қатардың сол жағынан бастап көрсетілген
шамаға тең болатын символдарды ғана меншіктейді, ал оң жақтағы артық
символдар алынып қалады.
...
VAR X: String [4]
Begin X:=’Gymnazy’ {Х-ке ‘Gymn’ тіркесі ғана меншіктеледі}
Writeln (X);
...
Жолдық қатарлармен біріктіру және салыстыру амалдарын орындауға
болады. Біріктіру амалы бірнеше жолдық қатарды біріктіріп шығару үшін
қолданылады. Біріктірілетін жолдық қатардың ұзындығы 255-тен аспауы
тиіс.Мысалы:
... .
A:=’Менің’; B:=’Қазақстанымның’;
Writeln (A+’ ‘+B) {Менің Қазақстанымның – тіркесі шығады}
Х:=’Тәуелсіздігіне’;
Y:=’10 жыл’;
Z:=X+’ ‘+Y; {Z Тәуелсіздігіне 10 жыл- тіркесін меншіктейді}
Writeln (Z); {де, осы тіркесті экранға шығарады}

Жолдық қатарларды салыстыру амалы екі жолдық қатарды салыстыру үшін
қолданылады. Қатарларды салыстыру солдан оңға қарай ең бірінші кездесетін
бірдей емес символға дейін жүргізіледі. Егер қай жолдың қатардың бірдей
емес символының информация алмастыру стандартты таблицасындағы нөмірі үлкен
болса, сол жолдық қатар үлкен деп есептеледі. Егер жолдық қатарлардың
ұзындығы мен барлық символдары сәйкес келсе, олар тең деп есептеледі. АЛ
егер жолдық қатардың ұзындықтары әр түрлі болып, ал символдары сәйкес болып
келсе, онда үлкені болып ұзындығы үлкен жолдық қатар есептеледі. Жолдық
қатарлардың салыстыру амалдарының нәтижесі әрқашан бульдік тип болады.

‘intel’’INTEL’ {нәтижесі True}
‘Pentium’ ‘PENTIUM’ {нәтижесі False}
‘Duron’ = ‘Duron’ {нәтижесі True}
‘Celeron’‘Celeron’ {нәтижесі False}
‘Hewlett’= ‘Hewlett Packard’ {нәтижесі True}
‘Laser’ = ‘Laserjet’ {нәтижесі False}

2.3 Жолдық процедуралар мен функциялар.
Жолдық қатардың ұзындығын есептеу үшін LENGTH функциясы қолданылады,
нәтиженің типі 0-ден 255-ке дейінгі бүтін сан (Byte) болып табылады:
X:=LENGTH (А); Х иденфикаторы А жолдық қатарының
ұзындығын
меншіктейді.

Writeln (LENGTH (А)); экранға А жолдық қатарының
ұзындығы шығады.

Төмендегі программада Х жолдың қатарының ұзындығы есептеліп табылып,
ол бүтін сан болатын А идентификаторына меншіктелген:
PROGRAM Kat1;
VAR X:String; A:lnteger;
BEGIN X:= ‘Pentium-lll’
A:=Length (Х);
Writeln (‘A=’ ‘А); Readln END.
Жолдық қатардан фрагмент көшіріп алу үшін COPY функциясы
қолданылады:
COPY (A,N,M); А жолдық қатарының N позициясындағы
символдан бастап М символ көшіріп алады.

Х:=COPY (‘Облыстық гимназия’, 10,4); Х иденфикаторы “гимн”
фрагментін меншіктейді.
Writeln (COPY (‘Облыстық гимназия’, 10,8); экранға гимназия сөзі
шығады.
Төмендегі программада Х қатарынан Pentium сөзі көшіріліп, А
идентификаторымен белгіленген жолдық қатарға меншіктеледі:

PROGRAM Kat2;
VAR X,А:String;
BEGIN X:= ‘Pentium-lll’; A:=Copy (Х,1,7);
Writeln (‘A=’ ‘А); Readln END.
Жолдық қатарлар фрагменттерін біріктіру үшін CONCAT функциясы
қолданылады:
CONCAT(Х,А); функция Х және А қатарларын біріктіреді.

Writeln (Concat (‘Гимн ‘,’ Азия’, )); экранға Гимн Азия сөзі

шығады
Y:=Concat (‘Гимн’,’Азия’)) Y Гимн Азия сөзін
меншіктейді.

Төмендегі программада жолдық қатар болып табылатын Y
тұрақтысы X қатарымен біріктіріліп, нәтиже А идентификаторымен белгіленген
жолдық қатарға меншіктеледі:

PROGRAM Kat3;
CONST Y=’Input’ ; VAR X,A: String;
BEGIN X:=’Output’; A:=Concat (Y,X);
Writeln (‘A=’,A) ; Readln END.
Жолдық қатардың ішіндегі тұрған бір фрагменттің орнын анықтау
үшін РОS функциясы қолданылады.Бұл функция мәнінің типі бүтін және ол
жолдық қатарда берілген фрагменттің басталатын позиция нөміріне тең
болады. Ал егер жолда ондай фрагмент кездеспесе онда нәтиже 0-ге тең
болады, мысалдар:

POS (X,A); Х фрагментінің А қатарындағы басталатын нөмірі.
POS (‘наз’,’ Гимназия’); нәтиже 4-ке тең болады.
POS (‘зал’,’Гимназия’); нәтиже 0-ге тең болады.
Төмендегі программада Х фрагменті Y қатарындағы басталатын
орны бүтін сан болатын А идентификаторына меншіктелген.

PROGRAM Kat4;
CONST Y=’Input’ ;
VAR X: String;
BEGIN X:=’put’;
A:=POS (X,Y) ; Writeln (‘A=’,A) ; Readln END.
Жолдық қатардан бір фрагмент өшіріп тастау үшін DELETE
процедурасы қолданылады, жазылуы:
DELETE (A,N,M) А жолдық қатарының N позициясындағы символдан
бастап M символ өшіріп тастайды.

DELETE (‘Обылыстық гимназия’, 10,4); Облыстық азия тіркесі қалады
Төмендегі программада Х қатарының N – ші позициясынан
бастап М символ өшіріледі:

PROGRAM Kat5;
VAR X,A: String; N,M : Byte;
BEGIN Readln (N,M); X:=’Output’;
Delete (X,N,M) Writeln (‘x=’,X) ; Readln END.
Жолдық қатарға бір фрагмент қосу үшін INSERT
процедурасы қолданылады.

INSERT (A,X,N) Х жолдық қатарының N-ші позициясынан бастап А
фрагментін қою.
Төмендегі программада Х қатарының 3 позициясынан бастап А
қатары қойылып Х қатары Internet мәніне өзгереді.

PROGRAM Kat6;
VAR X,A: String; N: Byte;
BEGIN N:=3 X:=’Internet’; A:=’Ler’;
Internet (A,X,N); Writeln (‘A=’,A) ; Readln END.
Латын алфавитінің кіші әріптерін бас әріпке айналдыру үшін
UPCASE функциясы қолданылады.

UPCASE (X); Х жолдық қатарындағы кіші әріптерді бас әріптерге өзгертеді.
Келесі программаларда Х символы (‘a’) мен Х қатарындағы (‘ә’)
кіші әріптер бас әріптерге айналдырылған:

1-ші программада
PROGRAM Kat7;
VAR X: Char ; K: Byte;
BEGIN X:=’t’; X:=Upcase (X);
Writeln (‘X=’,X); Readln END.

2-ші программада
PROGRAM Kat8;
VAR X: String; K: Byte;
BEGIN X:=’Internet’; For K:=1 To Length (X)Do X[K]:=Upcase (X[K]);
Writeln (‘X=’,X) Readln END.

STR процедурасы кез-келген сандық шаманы бір жолдық
қатарға қою үшін қолданылады, жазылуы:

STR (150,X); 150 саны Х жолдық қатарының ішіне орналасады.
Төмендегі программада А нақты санын Х жолдық қатарына
айналдырып, әрі қарай Х қатары Y қатарын шығаруда қолданылған:

PROGRAM Kat9;
VAR X,Y,S: String ; A: Integer;
BEGIN A:=134; S:=’TU’; Str (A,X); Y:=S+X;
Writeln (‘Y=’,Y); Readln END.

Жолдық қатарды сандық шамаға айналдыру үшін VAL
процедурасы қолданылады, жазылуы:

VAL (X,A,C);
... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Құрылымдық типтер және жолдық процедуралармен функциялар
Delphi программалау тілінде массивтермен жұмыс
Массивтер. Символдық айнымалылар және жолдар
Turbo Pascal жүйесінде массивтерді ұйымдастыру технологиясы
PHP синтаксисінің негіздері
Pascal және Си тілінде бағдарламалау
Си тілінен дәрістер
ОҚУ ТӘЖІРБИЕСІНІҢ ЕСЕБІ (1304000 – Есептеу техникасы және бағдарламамен қамтамасыз ету мамандығы)
Delphi ортасында программалау негіздері
Массивтермен жұмыста көрсеткіштерді пайдалану
Пәндер