Массивтер


Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 13 бет
Таңдаулыға:
МАССИВТЕР
Қарапайым типтер қатарына жататын стандартты (integer, real) және қолданушылар (тізбектелген тип) типтерінде бір айнымалыны сақтау үшін, негізінен компьютер жадысының бір ғана ұяшығы қолданылады. Бірақ көптеген программалау есептернің шешімін табу барысында әрбір элементтерінің деректерін жеке айнымалыға сақтау орнына, оларды тізбектеп бір жерде сақтау анағұрлым тиімді болып табылады.
Массив дегеніміз - бірдей типті мәліметтердің жиыны, басқаша айтқанда массив бір атауға біріктілген айнымалылардың реттік тізбегі.
Массив құрылымдық типтер қатарына жатады. Массив элементтері нөмірленеді. Массивтің әрбір элементіне индексін көрсету арқылы жұмыс істеуге болады. Массивке мысал ретінде векторларды қарастыруға болады. Егер массивке кестелік берілгендер жазылса (матрица), онда элементтері екі индекс бойынша нөмірленеді.
Массив сипаттамалары:
- Типі - массив элементтерінің жалпы типі;
- Көлемі - массив индекстерінің саны;
- Шектелімі - әрбір индекстердің шектеу бойынша сәйкестігі;
- Пішімі - көлем және шектеулер жиындары.
Массивтер элементтерімен жұмыс жасау барысында, массив атауынан кейін міндетті түрде тік жақшаға алынған индекс көрсетіледі. Индекс ретінде сандар қолданылады.
Массивтерді қолдану үшін оларды типтер (type) немесе айнымалыларды сипаттау (var) бөлімінде хабарлаау қажет.
Жалпы жазылу түрі:
Type
Массив типінің атауы = array[индекс типі] of элемент типіж
Var
Массив атауы: массив типінің атауы;
Мұндағы:
массив типінің атауы - массив элементтерінің жиынын сипаттайды;
индекс типі - тізбектелген немесе шектелген типтерді көрсету;
элемент типі - массив элементтерінің типін көрсету.
Мысалы:
Type
GRUP=ARRAY[1. . 8] OF INTEGER;
VAR
A:GRUP;
Берілген мысалдағы массивтің әрбір элементімен жұмыс істеу үшін, массив атауы және индексі берілуі тиіс. Массив индексі тік жақшаға алынып жазылады, сол себепті массивтің кез-келген элементіне қатынас жасауға болады.
Яғни берілген массивтің бірінші элементіне қатынас алу үшін массив атауынан кейін бірінші индексті көрсету қажет: A[1] ; массивтің екінші элементіне қатынас жасау үшін: A[2] ; ал А массивінің сегізінші элементіне A[8] .
Берілген массивтің кезкелген элементтеріне арифметикалық операцияларды, салыстыру және меншіктеу операторларын қолдануға болады. сонымен қатар, массивтерге 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 программалау тілінде қосалқы программаның екі түрі қолданылады:
- процедура
- функция
Turbo Pascal программалау тілінде айнымалыларды негізгі бөлімде сипаттау түрі - ауқымды айнымалылар деп аталады. Егер айнымалылар қосалқы программада сипатталса, онда олар жергілікті айнымалылар деп аталады. Сондай-ақ негізгі программада қосалқы программаны шақыруда қолданылатын айнымалыларды нақты айнымалылар деп атайды. Ал қосалқы программаның атауында берілген айнымалылар формальді айнымалылар деп аталады.
Әрбір қосалқы программаның атауы болады және олар айнымалыларды сипаттау бөлімінен құралып, операторлық жақшаларда орналасқан командалар жиынан тұруы мүмкін.
- Атау берілген операторлар тізбегін 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;
- Басқа да тілдер тәрізді Pascal тілінде де фунукцияны арнайы программа ретінде жеке жазуға болады. Сондықтан оны көмекші программа ретінде жеке жазуға болады.
Функцияның процедурадан ерекшеліктері:
- Функция бір ғана белгілі мән қабылдайды, яғни функциядан алаынатын нәтиже біреу;
- Нәтиже функцияның аты арқылы алынады да негізгі программада пайдаланылады.
Функцияның жалпы түрі:
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.
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

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