Автор работы: Пользователь скрыл имя, 22 Октября 2011 в 11:52, реферат
Осыған дейінгі қарастырылып келген мәлімет типтері қарапайым болып есептеледі. Себебі олар тек бір ғана обЪектіге яғни бір ғана санға немесе символға қатысты ғана қолданылады. Turbo Pascal-да бір типке жататын бірнеше элементтерден тұратын обектілерді де пайдалануға болады. Массив осындай бір типке жататын элементтерден құралатын құрылымдық тип болып табылады.
І Кіріспе.
1.1. Массивтер ұғымы, олардың бағдарламада сипатталуы.
ІІ Негізгі бөлім.
2.1. Бір өлшемді массив элементтерін ендіру және шығару.
2.2. Екі өлшемді массив элементтерін ендіру және шығару.
2.3. Бір өлшемді массив элементтерін реттеу.
2.4. Екі өлшемді массив элементтерін реттеу.
2.5. Массивтердің типтер бөлімінде сипатталуы.
ІІІ Қорытынды
Қолданылған әдебиеттер тізімі
Мазмұны
І Кіріспе.
1.1. Массивтер ұғымы, олардың бағдарламада
сипатталуы.
ІІ Негізгі бөлім.
2.1. Бір өлшемді
массив элементтерін ендіру
2.2. Екі өлшемді массив элементтерін ендіру
және шығару.
2.3. Бір өлшемді массив элементтерін
реттеу.
2.4. Екі өлшемді
массив элементтерін реттеу.
2.5. Массивтердің типтер бөлімінде сипатталуы.
ІІІ Қорытынды
Қолданылған әдебиеттер тізімі
Кіріспе
Осыған дейінгі қарастырылып
келген мәлімет типтері қарапайым болып
Қарапайым типтер қатарына жататын стандартты
(Integer,real) және қолданушылар (тізбектелген
тип) типтерінде бір айнымалыны сақтау
үшін, негізінен компьютер жадысының бір
ғана ұяшығы қолданылады. Бірақ көптеген
программалау есептерінің шешімін табу
барысында әрбір элементтің деректерін
жеке айнымалыға сақтау орнына, оларды
тізбектеп бір жерде сақтау анағұрлым
тиімді болып табылады.
Элементтерінің саны алдын-ала белгілі бір типті индексті айнымалылардың жиынтығын массив деп атайды. Массивтің типі күрделі болып табылады. Массивтерді бағдарламада қолдану үшін, оларға белгілі бір ат беріледі. Содан соң бағдарламаның VAR немесе TYPE бөлімінде ARRAY қызметші сөзімен сипаттап, компьютердің жадынан массив элементтеріне орын бөледі. Жалпы жазылу түрі төмендегідей:
TYPE "массив aтауы"=ARRAY[X1] OFX2;
VAR "массив атауы":ARRAY[X1] OFX2;
мұндағы:
"массив атауы"
- массивті белгілеген
ARRAY - массив үғымын білдіретін қызметші сөз.
OF - қызметші
сөз(бұл жерде жалғауларын
Х1 - массив индексінің типі, нақтыдан басқа барлық типтер қолданылады.
Х2 - массив элементінің негіздік типі.
Бағдарламада массивтерді сипаттаудың бірнеше жолдары бар. Алдымен типтер бөлімінде массивті бір идентификатор арқылы сипаттап алып, кейін айнымалылар бөлімінде массив атауын сол идентификатор арқылы сипаттауға болады. Сондай-ақ бірден айнымалылар бөлімінде де массивті толық сипаттап кетуге де болады.
Егер бағдарламада бірнеше массивтің индекстері мен негіздік типтері бірдей болса, онда оларды бір тізімге біріктіріп жазып сипаттауға болады, төмендегі мысалдарда элементтері нақты сан болатын А,В,С массивтерінің бәріне де компьютердің жадынан элемент бөлінген, сондықтан олар бір тізімге біріктіріліп сипатталған.
Массивтердің типтер бөлімінде сипатталуы:
CONST N=100; {N-элементтер саны}
TYPE Mas=Array[1..N] Of Real;
Element=(Ge,C,O,N,Na,K,Li,Cu,
Gaz=Array[Ge.. N] Of Integer;
VAR A,B,C:Mas; X:Gaz;
Массивтердің айнымалылар бөлімінде
CONST N=100;
VAR A,B,C:Array[1..N]Of Real;
D, E: Array [1.. 5] Of Char;
Mezgil:Array[ 1.. 10] Of String;
Y,Z: Array[1..20] Of Byte;
R:Arrayl'A'.-'Z'lOfChar;
P:Array[1.. 101] Of String;
Жоғарыда сипатталған массивтердің барлығының да элементтерінің бір индексі бар. Бұндай массивтерді бір өлшемді массивтер дейді.
Есептеулерде бір өлшемді массивтермен қатар көп индексті массивтер де кездеседі. Оларды индексінің санына қарай n - өлшемді массивтер деп атайды. Солардың ішінде Паскаль бағдарламаларында екі индексті массивтер кеңінен қолданылады. Оларды көбінесе матрицалар деп атайды. Матрица элементтерінің бірінші - индексі қатардың, екіншісі -бағанның нөмірін білдіреді.
Екі өлшемді массивтердің типтер бөлімінде сипатталуы:
CONST N=100; М=100;
TYPE Mas=Array[1..N) 1..M]Of Real;
VAR A: Mas;
Екі өлшемді массивтердің айнымалылар бөлімінде сипатталуы:
CONST N=100; М=50;
VAR A:Array[1..N, 1..M]Of Real;
B: Array[1 ..3,1 ..7] Of Integer;
Массивтермен амалдар орындау
Массивтердің өзімен жұмыс істеу үшін массивтің өз атауы қолданылады. Массивтің өзі тек қана "тең", "тең емес" және меншіктеу амалдарына ғана қатыса алады. Бұл амалдарға қатысатын массивтердің типтері мен элементтер саны бірдей болуы керек.
Мысалы мынадай массивтер берілсе:
VAR X, Ү: Array[ 1..5]Of Byte;
Бұл массивтерге келесі амалдар қолданғанда:
Х=Ү - егер массивтердің индекстері сәйкес элементтері тең болса, онда нәтиже "ақиқат" болады
Х<>Ү- егер массивтердің индекстері сәйкес элементтерінің кемінде біреуі тең болмаса, онда нәтиже "ақиқат" болады
Х:=Ү - X массиві Ү
массивінің барлық элементтерін меншіктейді,
ал Ү массивінің элементтері өзгеріссіз
қалады.
Массив элементтерімен амалдар орындау
Массивті сипаттап болғаннан кейін, операторлар бөлімінде массив элементтеріне жай айнымалылармен орындалатын әртүрлі амалдар қолдануға болады. Оларды әр түрлі өрнектерде операндалар орнына, For, While, Repeat операторларының параметрлерінде, логикалық амалдарда салыстыру элементі ретінде пайдалануға болады. Бағдарламалық тексте массивтің әр элементі массивтің аты мен индексі арқылы жазылады. Элементтер индекстің мәндері арқылы реттеледі. Бір ескеретіні "индекс" және "индекстің типі" түсініктерін араластыруға болмайды. "Индекстің типі" түсінігі тек массивті сипаттайтын бөліктерде ғана қолданылады. Ал "индекс" түсінігі операторлар бөлігінде массив элементтерін белгілегенде қолданылады. Индекс ретінде әртүрлі өрнектер қолдануға болады. Көбінесе өрнектердің қарапайым бір түрі ретінде тұрақтылар мен айнымалылар қолданылады. Сондықтан да (массив элементтерін басқаша индексті айнымалылар деп атайды. Егер математикада индекс жай жақшаға алынып немесе төменгі регистрде жазылса, Паскаль бағдарламаларында массив индекстері тік жақшаларға алынып жазылады.
Массив элементтері бағдарламалардағы өрнектер мен меншіктеу операторларының сол жағында да, оң жағында да тұруы мүмкін. Массив элементтерінің негіздік типіне қолдануға болатын амалдарды массив элементтеріне де қолдануға болады, мысалы:
А (51, -15, 5.5, -8.1, 15, 0, 8) - А массиві 7 элементтен тұрады, элементтердің бағдарламада сипатталуы мен жазылуы:
VAR A:ARRAY{ 1.. 7] of Real;
А[ 1]=51; А[2]=-15; А[3]=5.5; А[4]=-8.1; А[5]= 15; А[6]=0; А[7]=8
Массив элементтерінің индекстері өрнектер мен операторларда тік жақшаларға алынып жазылады:
Ү: =5*А[ 1]+SQR(A[2]+A[3]); X:=COS(A[5])+Sin(A[5]);
Fork:=1 To 10 Do Begin
Read(A[k]); Writeln(A[k]); A[k]:=A[k+1];
lfA[k]<5 Then S:=S+A[k];
While A[k]> =80 Do Begin
S: =S+A[k]; k: =k+1 End; End;
5.1. Массив элементтерін ендіру және шығару
Массив элементтерін ендіру және шығару цикл арқылы жүзеге асырылады. Егер элементтерді ендіру үшін Read операторы қолданылса, онда элементтер бір қатарға жазылып ендіріледі. Ал Readln операторы қолданылса, онда әр элементті жаңа қатардан енгізу керек.
..............................
Readln(N);
For K:=1 To N do Read(A[K]);
..............................
Readln(N);K:=1;
Repeat Read(A[K]; K:=K+1
Until K>N;
..............................
Readln(N); K:=1;
While K=<N Do Begin
Readln(A[K]); K:=K+1 End;
..............................
Бағдарламаның орындалу нәтижесінде N элементтен тұратын массив элементтерін пернетақтадан ендіруді ұйымдастырады, бағдарламада циклді оқығанда Read операторын N рет оқып тоқтап, массив элементтері мәндерін қашан пернетақтадан енгізгенше күтіп тұрады, бұл жерде К айнымалысы цикл параметрі қызметімен қоса массив индексі ретінде де қолданылып тұр.
Кейде бағдарламаның әр орындалуында массив элементтерінің мәндерін қайта-қайта пернетақтадан енгізу керек болады, бұл әсіресе енгізілетін элементтер саны өте көп болған кездерде бағдарлама орындаушы кісіні жалықтырып жібереді, сондықтан бұндай жағдайларда оларды бірден тұрақтылар бөлімінде енгізіп қойса да болады:
CONST N=5;
A:ARRAY[1..N]OF REAL=(40.5, 48, 47.1, 52.3, 11.2);
B:ARRAY[1..9]OF REAL={31,25,40, 1.5,48,54.7, 12.3,54.5,21);
Массив элементтерін шығару процесі де ендіруге ұқсайды. Егер цикл денесінде элементтерді шығару үшін Write операторы қолданылса, онда массив элементтері экранға бір қатарға бір-біріне жабысып жазылып шығады. Бұл жағдайда нәтиженің көрнекілігін арттыру үшін Write операторында массивтен кейін бос орын жазылады. Ал Writeln операторы қолданылса, онда массивтің әрбір элементі жаңа қатарға жазылып шығады.
..............................
For K:=1 To N Do Write(‘A[‘,K,’]=’, A[K], ’ ‘);
……………………………………
К: =1;
Repeat Writeln(A[K]); K:=K+1
Until K>N;
..............................
K: =1;
While K=<N do
Begin Write(A[K], ' '); K:=K+1 End;
..............................
Массив элементтерін шығару
Кейбір есептеулерде белгілі бір шарттың орындалуына байланысты массив элементтерін іздеп табу керек болады. Ол үшін цикл арқылы массивтің барлық элементтерін берілген шамамен салыстыру процесін ұйымдастыру керек. Егер циклдің әр орындалуында массивтің жаңа элементі берілген шартты қанағаттандырса, онда бұл элемент ізделінген элемент болып табылады. Мысалы:
1. Массивтің 5-ке тең
…….If A[K]=5 Then Write(A[K], ' ');……
2. Массивтің жұп элементтерінің нөмірлерін (индекстерін) шығару:
…….If A[K] Mod 2=0 Then Write('K=', К, ' ')…….
3. Массивтің 7-ден үлкен және 15-тен кіші элементтерінің санын табу:
N:=0; .... If (A[K]>7) And (A[K]< 15) Then N:=N+1; …….
Writeln('N=', N);
4. Массивтің 10-нан үлкен элементтерінің қосындысын табу:
S:=0; ……. If A[K]>10 Then S:=S+A[K]; …….
Writeln('S=', S );
5. Массивтің 5-тен кіші элементтерінің көбейтіндісін табу: