Массивтер


МАССИВТЕР

Қарапайым типтер қатарына жататын стандартты (integer, real) және қолданушылар (тізбектелген тип) типтерінде бір айнымалыны сақтау үшін, негізінен компьютер жадысының бір ғана ұяшығы қолданылады. Бірақ көптеген программалау есептернің шешімін табу барысында әрбір элементтерінің деректерін жеке айнымалыға сақтау орнына, оларды тізбектеп бір жерде сақтау анағұрлым тиімді болып табылады.

Массив дегеніміз - бірдей типті мәліметтердің жиыны, басқаша айтқанда массив бір атауға біріктілген айнымалылардың реттік тізбегі.

Массив құрылымдық типтер қатарына жатады. Массив элементтері нөмірленеді. Массивтің әрбір элементіне индексін көрсету арқылы жұмыс істеуге болады. Массивке мысал ретінде векторларды қарастыруға болады. Егер массивке кестелік берілгендер жазылса (матрица), онда элементтері екі индекс бойынша нөмірленеді.

Массив сипаттамалары:

  • Типі - массив элементтерінің жалпы типі;
  • Көлемі - массив индекстерінің саны;
  • Шектелімі - әрбір индекстердің шектеу бойынша сәйкестігі;
  • Пішімі - көлем және шектеулер жиындары.

Массивтер элементтерімен жұмыс жасау барысында, массив атауынан кейін міндетті түрде тік жақшаға алынған индекс көрсетіледі. Индекс ретінде сандар қолданылады.

Массивтерді қолдану үшін оларды типтер (type) немесе айнымалыларды сипаттау (var) бөлімінде хабарлаау қажет.

Жалпы жазылу түрі:

Type

Массив типінің атауы = array[индекс типі] of элемент типіж

Var

Массив атауы: массив типінің атауы;

Мұндағы:

массив типінің атауы - массив элементтерінің жиынын сипаттайды;

индекс типі - тізбектелген немесе шектелген типтерді көрсету;

элемент типі - массив элементтерінің типін көрсету.

Мысалы:

Type

GRUP=ARRAY[1. . 8] OF INTEGER;

VAR

A:GRUP;

Берілген мысалдағы массивтің әрбір элементімен жұмыс істеу үшін, массив атауы және индексі берілуі тиіс. Массив индексі тік жақшаға алынып жазылады, сол себепті массивтің кез-келген элементіне қатынас жасауға болады.

Яғни берілген массивтің бірінші элементіне қатынас алу үшін массив атауынан кейін бірінші индексті көрсету қажет: A[1] ; массивтің екінші элементіне қатынас жасау үшін: A[2] ; ал А массивінің сегізінші элементіне A[8] .

A[1]
A[2]
A[3]
A[4]
A[5]
A[6]
A[7]
A[8]
A[1]: 12
A[2]: 11
A[3]: 5
A[4]: -2
A[5]: 405
A[6]: -3
A[7]: 9
A[8]: 7

Берілген массивтің кезкелген элементтеріне арифметикалық операцияларды, салыстыру және меншіктеу операторларын қолдануға болады. сонымен қатар, массивтерге Turbo Pascal программалау тіліндегі айнымалы типіне сәйкес келетін барлық стандартты процедуралар және функциялар қолданылады.

Массивтің кез-келген бір элементіне нәтиже беру үшін, меншіктеу операторы қолданылады:

Массив атауы[индексі] :=нәтиже;

Массивтерді программада қолдану үшін Turbo Pascal программалау тілінде оларды бірден VAR бөлімінде сипаттау жолы қарастырылған.

Жалпы жазылу түрі:

VAR

МАССИВ АТАУЫ:ARRAY[ИНДЕКС ТИПІ] OF ЭЛЕМЕНТ ТИПІ

Мысалы:

VAR

GR:ARRAY[1. . 18] OF REAL;

Turbo Pascal программалау тілі бір өлшемді массивтермен қатар екі өлшемді және көп өлшемді масивтерді қолдануға мүмкіндік береді.

Екі өлшемді немсе көп өлшемді массивтермн жұмыс істеу үшін, олар сипаттау бөлімінде көрсетілуі тиіс.

Екі өлшемді массивті var бөлімінде сипаттаудың жалпы түрі:

Массив атауы: array [a1. . an, b1. . bn] of элемент типі;

Екі өлшемді массивті type бөлімінде сипаттаудың жалпы түрі:

type

Массив атауы= array [a1. . an, b1. . bn] of элемент типі;

Мұндағы, a1. . an, b1. . bn - екі өлшемді массивтің көлемі: a1. . an - массив қатарының алғашқы және соңғы мәні, ал b1. . bn - массив бағанының алғашқы және соңғы мәні.

А массиві: і

1 2 3 . . . n

:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:

Екі өлшемді массивті енгізу:

for i:=1 to n do

for j:=1 to n do

read(a[i, j] ) ;

Екі өлшемді массивті шығару:

for i:=1 to n do

begin

for j:=1 to n do

write(a[i, j], ‘ ’) ;

writeln;

end;

Мысалы, A[10, 10] екі өлшемді массиві берілген. Осы массивтің оң элементінің көбейтіндісін табу керек.

PROGRAM MASS;

CONST N=10;

TYPE MASS:ARRAY [1. . N, 1. . N] OF INTEGER;

VAR I, J, P:INTEGER;

A:MASS;

BEGIN

WRITELN(‘ВВОД МАССИВА’) ;

FOR I:=1 TO N DO

FOR J:=1 TO N DO

READ(A[I, J] ) ;

P:=1;

FOR I:=1 TO N DO

FOR J:=1 TO N DO

IF A[I, J] >0 THEN

P:=P*A[I, J] ;

WRITELN(‘P=’, P) ;

END.

Программаның блок-схемасы

Қосалқы программалар

Программада белгілі бір қайталанатын іс-әрекеттерді, атау бойынша бөлек жазып, атауы арқылы бір немесе бірнеше рет іске қосуға болатын программаның бөлігін қосалқы программа деп атайды.

Қосалқы программаларды қолдану арқылы программаларды ықшамдауға болады.

Turbo Pascal программалау тілінде қосалқы программаның екі түрі қолданылады:

  1. процедура
  2. функция

Turbo Pascal программалау тілінде айнымалыларды негізгі бөлімде сипаттау түрі - ауқымды айнымалылар деп аталады. Егер айнымалылар қосалқы программада сипатталса, онда олар жергілікті айнымалылар деп аталады. Сондай-ақ негізгі программада қосалқы программаны шақыруда қолданылатын айнымалыларды нақты айнымалылар деп атайды. Ал қосалқы программаның атауында берілген айнымалылар формальді айнымалылар деп аталады.

Әрбір қосалқы программаның атауы болады және олар айнымалыларды сипаттау бөлімінен құралып, операторлық жақшаларда орналасқан командалар жиынан тұруы мүмкін.

  1. Атау берілген операторлар тізбегін Pascal тілінде процедура деп атайды. Кез келген процедура программаға ұқсас түрде жазылады, яғни олардың тақырыбы және баяндау бөлімі оператор болуы мүмкін. Процедураның жалпы түрі:

PROCEDURE<процедура аты>(функция параметрінің типі) ;

<баяндау бөлімі>

BEGIN

<операторлар бөлімі>

END;

Программаның орындалуы негізгі программаның операторларының орындалуынан басталады. Процедура орындалып болған соң оның нәтижесі шығаратын параметрлер процедураға негізгі программадан қай жерден көшті сол жерге беріледі, одан соң негізгі программа орындала береді.

Негізгі программада сипатталған атау негізгі және қосалқы программада да пайдалана алады. Осындай атаулар глобальді атаулар деп аталады. Қосалқы программада сипатталған атаулар тек қосалқы программада ғана пайдаланады. Осындай атаулар локальді деп аталады.

Процедураларда айнымалыларды сипаттау бөлімінен кейін қажет болған жағдайда ішкі процедуралар және ішкі фукцияларды сипаттап, оларды мүмкіндігінше қолдануға болады.

PROCEDURE PROC_1(A1, B1, …:TYPE_1) ;

[PROC_1 процедурасында қолданылатын айнымалыларда сипаттау бөлімі]

PROCEDURE PROC_2(A2, B2, …:TYPE_2) ;

[PROC_2 процедурасында қолданылатын айнымалыларда сипаттау бөлімі]

begin

PROC_2 процедурасының негізгі бөлігі

End;

.

.

.

begin

PROC_1 процедурасының негізгі бөлігі

End;

  1. Басқа да тілдер тәрізді Pascal тілінде де фунукцияны арнайы программа ретінде жеке жазуға болады. Сондықтан оны көмекші программа ретінде жеке жазуға болады.

Функцияның процедурадан ерекшеліктері:

  1. Функция бір ғана белгілі мән қабылдайды, яғни функциядан алаынатын нәтиже біреу;
  2. Нәтиже функцияның аты арқылы алынады да негізгі программада пайдаланылады.

Функцияның жалпы түрі:

FUNCTION FUNC_NAME(A1, A2, …:TYPE_1) :TYPE2;

[процедурада қолданылатын айнымалыларды сипаттау бөлімі]

BEGIN

Процедураның негізгі бөлігі

END;

Мұндағы:

FUNC_NAME - функцияның атауы. Функция атауында бос орын белгісі қолданлмай символдар тізбегінен құалады. Функция атауы әріптен басталуы тиіс (мысалы, sum, prl, user 2) .

A1, A2, …- қосалқы программада қолданылатын айнымалылар тізбегі. Негізгі программамен байланыс ретінде қолданылатын айнымалылар сипатталады.

TYPE_1 - айнымалылар типтері (мысалы: x:integer; y:real; және т. б. ) ;

TYPE2 - функцияның типі;

BEGIN - функцияның басы.

END - функцияның соңы.

Фнкция нақтылы параметрлердің мәндерін бергеннен кейін өз аты арқылы шақырылады. Фукцияны тікелей өрнектің ішінде шақыруға болады. функцияның операторлар бөлімінде бір арнайы меншіктеу операторы болуы керек.

Оның сол жағында функцияның аты жазылады, оң жағында нәтиже келтіріледі. Функцияда есптелген нәтиже функцияның атына меншіктеледі. Ал нәтиженің типі функцияның мәнін тек функция атауы арқылы пайдаланылады.

Процедураға мысал, s, t нақты сандары берілген. Есептеу керек:

;

USES CRT;

VAR K1, K2, T, S:REAL;

PROCEDURE F(A:REAL; B:REAL; C:REAL; VAR K:REAL) ;

BEGIN

K:=(2*A-B-SIN(C) ) /(5+ABS(C) ) ;

END;

BEGIN

CLRSCR;

WRITE(‘T=’) ; READ(T) ;

WRITE(‘S=’) ; READ(S) ;

F(T, -2*S, 1. 17, K1) ;

F(2. 2, T, S-T, K2) ;

WRITELN(‘F=’, K1+K2:10:2) ;

READKEY;

END.

Функцияға мысал, S, T нақты сандары берілген. Есептеу керек.

;

USES CRT;

VAR N, T, S:REAL;

FUNCTION F(A:REAL; B:REAL; C:REAL) :REAL;

BEGIN

K:=(2*A-B-SIN(C) ) /(5+ABS(C) ) ;

END;

BEGIN

CLRSCR;

WRITE(‘T=’) ; READ(T) ;

WRITE(‘S=’) ; READ(S) ;

M:=F(T, -2*S, 1. 17) +F(2. 2, T, S-T) ;

WRITELN(‘НӘТИЖЕ🡪’, M:8:2) ;

READKEY;

END.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Бір өлшемді массивтер
С++ тіліндегі массивтер
Екі өлшемді массивтер
Массивтер. Деректердің стандартты типтері
Массивтер үшін типтерді түрлендіру. Массивтерді клондау
Массив элементтерінің түрлеріне шектеулер
Массивтер жайлы
Массивтерде компоненттер құру
C++ екі өлшемді массивтер
C тіліндегі массивтер
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz