С тіліндегі массивтер түсінігі
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 8 бет
Таңдаулыға:
Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 8 бет
Таңдаулыға:
1 С++ тіліндегі массивтер
1.1 Массив түсінігі
Пакаль тілінде типтер қарапайым және күрделі болып бөлінеді. Қарапайым типке - стандартты, саналатын, шектейтін типтер жатады. Күрделі типке массивтер, жиындар, жазулар, жолдар және файлдар жатады. Күрделі типтің элементтері қарапайым немесе күрделі типтер болуы мүмкін. Күрделі типті еңгізу программаны күшейтеді және күрделі есептерді шешуге мүмкіндік береді.
Тұрмыста тізбектелген сандарды, кестелерді, фамилия тізімдерін көп пайдаланамыз, олар бір өлшемді (жатық немесе тік жол), екі өлшемді (матрица) массив болуы жиын болуы мүмкін.
Паскаль тілінде жеке айнымалыларды ғана өңдеп қоймай, анйымалылардың жиынын, тобын да өңдеуге болады.
Массив дегеніміз - бір типтегі берілгендер жиыны. Басқаша айтқанла, массив - бір атауға біріктірілген айнымалылардың реттелген тізбегі. Айнымалылардың массив элементтерінің типтері бірдей болады. Массив бір ғана атпен беріледі. Сөйтіп, Паскаль тіліндегі массив ұғымы алгоритмдік тілдегі кесте ұғымына сәйкес келеді.
Индекс типі стандартты, бүтін немесе нақты тип бола алмайды. Программада индекс және индектің типі ұғымдарын шатастыруға болмайды.
Индекс типі массивті бейнелегенде пайдаланылса, индекс массив элементтерін белгілеу үшін операторлық бөлікте пайдаланылады. Индексті бейнелегенде қандай тип берілсе, индекс сол типте ғана болуы тиіс.
Индекс өрнек, айнымалы немесе тұрақты болып берілуі мүмкін.
Сондықтан да көп жағдайларда массивтерді индекті айнымалылар деп те атайды. Ал индекссіз айнымалыларды массивтерден ажырату үшін қарапайым айнымалылар дейді. Базалық типтегі айнымалыларға қандай амалдар қолданылса, массив элементтеріне де сондай амалдар қолдануға болады.
Егер массив атауында бір ғана индекс болса, онда ол массивті бір өлшемді, ал екі индекс болса - екі өлшемді және т.с.с. n индексті болса, n өлшемді массив дейді. Бір өлшемді массив элементтері вектор, ал екі өлшемді массив элементтері матрица деп аталады.
Массив элементтерін кездейсоқ сандармен де еңгізуге болады. Массивтерде қолданылатын амалдар:
oo Массивті толтыру;
oo Массив элементтерін алмастыру;
oo Массив элементтерін өшіру;
oo Массивке элементтер қосу;
oo Массив элементтерін сұрыптау;
oo Массивтерді түрлендіру.
ЭЕМ-нің жадында сандардың бір-бірімен байланысқан көптеген мәндерін сақтау үшін индексті айнымалылар, яғни массивтер қолданылады. Массив дегеніміз - бірыңғай шамалар тізбегінің бір атаумен аталып реттелген жиыны.
Математикадағы вектор, матрица осы массивке мысал бола алады. Тізбектің айнымалылары бір индексті элементтерден тұрса, онда бір өлшемді массив болады. Олардың индекстері сандармен немесе белгілі бір әріптермен жақша ішінде жазылады. Мысалы: A(1), C(12), K(100). Массивпен жұмыс істеу үшін оның әр элементінің мәні белгілі болуы тиіс. Сондай-ақ массивтің идентификаторы аты да жай айнымалының идентфикторы сияқты белгіленеді.
Паскаль тілінде массивтің номері индексі тік жақшаға алынып, жазылады, мысалы: 1,6; 4,9; 5; 8,9; 0,47 - мәндерінен тұратын A массивін былай жазамыз: A[1]=1,6; A[2]=4,9; A[3]=5; A[4]=8,9; A[5]=0,47. Егер есептеу барысында A1, A2, A3, ... A25 массиві кездессе, онда оны программа барысында A[25] түрінде жазамыз. Мұндағы A-массив аты болады, 25-оның индексінің қабылдайтын ең үлкен мәні болып есептеледі.
Паскаль тілінде массивті программада қолдану үшін алдымен оларды міндетті түрде арнаулы ARRAY ағылшын тілінен аударғанда - массив - операторы арқылы сипаттап жазу керек. Ол айнымалы - VAR немесе TYPE - тип бөлігінде көрсетіледі. VAR арқылы жазылуы:
VAR массив аты: ARRAY [бастапқы номері..соңғы номері] OF типі;
Көп жағдайда массивтің номері индексі 1-ден басталады, бірақ бұл міндетті емес. Сондай-ақ массив символдық типтен де тұрады. Символдық жол - STRING үшін массив келесі түрде өрнектеледі:
TYPE
STRING: ARRAY [0...255] OF CHAR;
Массивтің номерінің санына қарай қанша элементті массив екенін байқауға болады. Егер бірнеше массивтер бірыңғай типті және элементтер саны тең бола, онда оларды программада бір жолда сипаттауға болады, мысалы:
VAR A, B, C: ARRAY [1..25] OF REAL;
Мұнда A, B, C - массивтерінің мәндері 25 элементтен тұратын нақты сандар.
A[1], A[2], A[3], ... , A[25],
B[1], B[2], B[3], ... , B[25],
C[1], C[2], C[3], ... , C[25].
Паскаль тілінде мссивтер араында тең, тең емес немесе меншіктеу операторы амалдарын қолдануға болады. Мысалы, егер А және В массиві былау берілсе:
VAR
A, B: ARRAY [1..10] OF REAL;
Бұған үш амалды қолданғанда төмендегідей нәтиже береді:
Өрнек Нәтиже
oo А=B Егер әрбір А массиві элементінің мәні сәйкесВ В массиві элементтерінің мәніне тең болса.
oo АB Егер А массиві элементінің ең болмағанда бір мәні сәйкес В массиві элементінің мәні тең болмаса.
oo A:=B В массиві элементінің барлық мәні сәйкес массиві элементінің мәні меншіктеледі В массиві элементінің мәндері өзгеріссіз қалады.
1.2 Массивтермен жұмыс
Массив (array) бір классқа жататын объектілер тобын құрайды, сонымен бірге кез-келген объектіге оның жолда орналасуы бойынша қолдана аласыз. Мысалы, егер гимнасттар бір қатарда тұрса, бірақ сіз олардың аы-жөндерін білмесеңіз, олардың қатардағы жағдайына сай сөйлеген ыңғайлы: бірінші, екінші, үшінші...
Массивтердің қасиеттерін түсінген маңызды. Ең қарапайым жағдайды қарастырайық, бес гимнастты жаттығуларды жастақызатын бағдарлама жасау керек делік. Бұл бестікті құрдыңыз делік және келесі нұсқаулықтың көмегімен оларға: Athlete Julia, Andrea, Ricardo, Andy, Michael аттарын бердіңіз.
Содан соң сіз олардың әрқайсысына бір жаттығуды орындауға бұйрық беруге мәжбүрсіз:
JumpJack(Julia);
JumpJack(Andrea);
JumpJack(Ricardo);
JumpJack(Andy);
JumpJack(Michael);
Бұл әрине, өте қиын емес, бірақ егер гимнасттар саны жүз болса, мың болса қиын болары сөссіз.
Бұл мәселені шешудің стандартты әдісі гимнасттардың бүкіл тобына тау беріп, содан кейін нақты бір гимнасттың әрқайсысын бірінші, екінші, үшінші... деп атауда жатыр.
Бұл шамамен былай болады:
oo Бес гимнасттан тұратын топты Guy атауымен белгілеу
oo Индекстің (index) мәнін 1-ден 5-ке дейін қайталау;
oo Guy элементіне индекс позициясында жаттығуды орындау.
Циклдерді оқу бойынша біз білеміз, компьютер топтың барлық мүшелері жаттығуды орындау керектігін түсінеді, бірақ енді Guy массивінің қанша элементін қолданғыңыз келетініне қарамастан сізге кодтың мыңдаған жолын жазудың қажеті жоқ.
Енді бөлек гимнасттарға арналған бағдарлама мен гимнасттар массивіне арналған бағдарламан салыстырайық:
void mainprog() {
athlete Julia, Andrea, Ricardo, Andy, Michael;
JumpJack(Julia);
JumpJack(Andrea);
JumpJack(Ricardo);
JumpJack(Andy);
JumpJack(Michael);
}
void mainprog() {
athlete Guy[5]; Бес гимнасттан тұратын массивті жариялау
for (int which=0; which=4; which++) {
JumpJack(Guy[which]); Жаттығуды әрбір гимнасттың орындауы
}
}
Біріншіге қарағанда соңғы бағдарламаға гимнастардың саны әсер етпейді (циклдің аяқталуы жағдайында айнымалының мәні ғана өзгереді).
Сіз массивтің бір класстың объектілерінен тұратынын ұмытқан жоқсыз ба? Осылайша, қалауыныңызша сол бағдарламаны жүргірушілерге де қолдануға болады:
void mainprog() {
runner Guy[5]; Бес жүргізушілерден тұратын массивті жариялау
for (int which=0; which=4; which++) {
Guy[int which].run(); Әрбір жүргізушінің орын ауыстыруы
}
}
1.3 Массивтерді қолдану
Кез-келген типтегі объектілер масситерін қолдануға болады: гимнасттардың, жүргізушілердің, роботтардың, шеңберлердің және тіпті қарапайым, мысалы массивтің элементтері болып int немесе float типтеріндегі айнымалылар бола алады. С++ тілінде массив элементтері индекстің бүтін мәндерімен (int) белгіленеді. Массивтің бірінші элементіне 0-ге тең индекс мәні, ал екіншісіне - 1 және т.б. мәндер қосылады.
Алдыңғы бағдарламада Guy массиві бес элементтен тұрды: Guy[0] - Guy[4]. Guy[5] элементі жоқ, себебі элементтер барлығы бесеу.
Массивті жариялау кез-келген басқа объектінің жариялауына ұқсас, бірақ массив атынан кейін тік жақшада оның элементтерінің саны көрсетіледі. Мысалы, келесі нұсқаулықты қарастырайық:
int points[10];
Бұл нұсқаулықта 10 бүтін элементтен тұратын (0-ден 9-ға дейін нөмірленген) points атауы бар массив жарияланады.
Келесі нұсқаулықта 12 элементтен тұратын (0-ден 11-ге дейін нөмірленген) measurements массиві жарияланады
float measurements[12]; массив атауы элементтердің бүкіл тобын білдіреді. Соңынан тік жақшада индекстің мәні көрсетілген массив аты нақты ... жалғасы
1.1 Массив түсінігі
Пакаль тілінде типтер қарапайым және күрделі болып бөлінеді. Қарапайым типке - стандартты, саналатын, шектейтін типтер жатады. Күрделі типке массивтер, жиындар, жазулар, жолдар және файлдар жатады. Күрделі типтің элементтері қарапайым немесе күрделі типтер болуы мүмкін. Күрделі типті еңгізу программаны күшейтеді және күрделі есептерді шешуге мүмкіндік береді.
Тұрмыста тізбектелген сандарды, кестелерді, фамилия тізімдерін көп пайдаланамыз, олар бір өлшемді (жатық немесе тік жол), екі өлшемді (матрица) массив болуы жиын болуы мүмкін.
Паскаль тілінде жеке айнымалыларды ғана өңдеп қоймай, анйымалылардың жиынын, тобын да өңдеуге болады.
Массив дегеніміз - бір типтегі берілгендер жиыны. Басқаша айтқанла, массив - бір атауға біріктірілген айнымалылардың реттелген тізбегі. Айнымалылардың массив элементтерінің типтері бірдей болады. Массив бір ғана атпен беріледі. Сөйтіп, Паскаль тіліндегі массив ұғымы алгоритмдік тілдегі кесте ұғымына сәйкес келеді.
Индекс типі стандартты, бүтін немесе нақты тип бола алмайды. Программада индекс және индектің типі ұғымдарын шатастыруға болмайды.
Индекс типі массивті бейнелегенде пайдаланылса, индекс массив элементтерін белгілеу үшін операторлық бөлікте пайдаланылады. Индексті бейнелегенде қандай тип берілсе, индекс сол типте ғана болуы тиіс.
Индекс өрнек, айнымалы немесе тұрақты болып берілуі мүмкін.
Сондықтан да көп жағдайларда массивтерді индекті айнымалылар деп те атайды. Ал индекссіз айнымалыларды массивтерден ажырату үшін қарапайым айнымалылар дейді. Базалық типтегі айнымалыларға қандай амалдар қолданылса, массив элементтеріне де сондай амалдар қолдануға болады.
Егер массив атауында бір ғана индекс болса, онда ол массивті бір өлшемді, ал екі индекс болса - екі өлшемді және т.с.с. n индексті болса, n өлшемді массив дейді. Бір өлшемді массив элементтері вектор, ал екі өлшемді массив элементтері матрица деп аталады.
Массив элементтерін кездейсоқ сандармен де еңгізуге болады. Массивтерде қолданылатын амалдар:
oo Массивті толтыру;
oo Массив элементтерін алмастыру;
oo Массив элементтерін өшіру;
oo Массивке элементтер қосу;
oo Массив элементтерін сұрыптау;
oo Массивтерді түрлендіру.
ЭЕМ-нің жадында сандардың бір-бірімен байланысқан көптеген мәндерін сақтау үшін индексті айнымалылар, яғни массивтер қолданылады. Массив дегеніміз - бірыңғай шамалар тізбегінің бір атаумен аталып реттелген жиыны.
Математикадағы вектор, матрица осы массивке мысал бола алады. Тізбектің айнымалылары бір индексті элементтерден тұрса, онда бір өлшемді массив болады. Олардың индекстері сандармен немесе белгілі бір әріптермен жақша ішінде жазылады. Мысалы: A(1), C(12), K(100). Массивпен жұмыс істеу үшін оның әр элементінің мәні белгілі болуы тиіс. Сондай-ақ массивтің идентификаторы аты да жай айнымалының идентфикторы сияқты белгіленеді.
Паскаль тілінде массивтің номері индексі тік жақшаға алынып, жазылады, мысалы: 1,6; 4,9; 5; 8,9; 0,47 - мәндерінен тұратын A массивін былай жазамыз: A[1]=1,6; A[2]=4,9; A[3]=5; A[4]=8,9; A[5]=0,47. Егер есептеу барысында A1, A2, A3, ... A25 массиві кездессе, онда оны программа барысында A[25] түрінде жазамыз. Мұндағы A-массив аты болады, 25-оның индексінің қабылдайтын ең үлкен мәні болып есептеледі.
Паскаль тілінде массивті программада қолдану үшін алдымен оларды міндетті түрде арнаулы ARRAY ағылшын тілінен аударғанда - массив - операторы арқылы сипаттап жазу керек. Ол айнымалы - VAR немесе TYPE - тип бөлігінде көрсетіледі. VAR арқылы жазылуы:
VAR массив аты: ARRAY [бастапқы номері..соңғы номері] OF типі;
Көп жағдайда массивтің номері индексі 1-ден басталады, бірақ бұл міндетті емес. Сондай-ақ массив символдық типтен де тұрады. Символдық жол - STRING үшін массив келесі түрде өрнектеледі:
TYPE
STRING: ARRAY [0...255] OF CHAR;
Массивтің номерінің санына қарай қанша элементті массив екенін байқауға болады. Егер бірнеше массивтер бірыңғай типті және элементтер саны тең бола, онда оларды программада бір жолда сипаттауға болады, мысалы:
VAR A, B, C: ARRAY [1..25] OF REAL;
Мұнда A, B, C - массивтерінің мәндері 25 элементтен тұратын нақты сандар.
A[1], A[2], A[3], ... , A[25],
B[1], B[2], B[3], ... , B[25],
C[1], C[2], C[3], ... , C[25].
Паскаль тілінде мссивтер араында тең, тең емес немесе меншіктеу операторы амалдарын қолдануға болады. Мысалы, егер А және В массиві былау берілсе:
VAR
A, B: ARRAY [1..10] OF REAL;
Бұған үш амалды қолданғанда төмендегідей нәтиже береді:
Өрнек Нәтиже
oo А=B Егер әрбір А массиві элементінің мәні сәйкесВ В массиві элементтерінің мәніне тең болса.
oo АB Егер А массиві элементінің ең болмағанда бір мәні сәйкес В массиві элементінің мәні тең болмаса.
oo A:=B В массиві элементінің барлық мәні сәйкес массиві элементінің мәні меншіктеледі В массиві элементінің мәндері өзгеріссіз қалады.
1.2 Массивтермен жұмыс
Массив (array) бір классқа жататын объектілер тобын құрайды, сонымен бірге кез-келген объектіге оның жолда орналасуы бойынша қолдана аласыз. Мысалы, егер гимнасттар бір қатарда тұрса, бірақ сіз олардың аы-жөндерін білмесеңіз, олардың қатардағы жағдайына сай сөйлеген ыңғайлы: бірінші, екінші, үшінші...
Массивтердің қасиеттерін түсінген маңызды. Ең қарапайым жағдайды қарастырайық, бес гимнастты жаттығуларды жастақызатын бағдарлама жасау керек делік. Бұл бестікті құрдыңыз делік және келесі нұсқаулықтың көмегімен оларға: Athlete Julia, Andrea, Ricardo, Andy, Michael аттарын бердіңіз.
Содан соң сіз олардың әрқайсысына бір жаттығуды орындауға бұйрық беруге мәжбүрсіз:
JumpJack(Julia);
JumpJack(Andrea);
JumpJack(Ricardo);
JumpJack(Andy);
JumpJack(Michael);
Бұл әрине, өте қиын емес, бірақ егер гимнасттар саны жүз болса, мың болса қиын болары сөссіз.
Бұл мәселені шешудің стандартты әдісі гимнасттардың бүкіл тобына тау беріп, содан кейін нақты бір гимнасттың әрқайсысын бірінші, екінші, үшінші... деп атауда жатыр.
Бұл шамамен былай болады:
oo Бес гимнасттан тұратын топты Guy атауымен белгілеу
oo Индекстің (index) мәнін 1-ден 5-ке дейін қайталау;
oo Guy элементіне индекс позициясында жаттығуды орындау.
Циклдерді оқу бойынша біз білеміз, компьютер топтың барлық мүшелері жаттығуды орындау керектігін түсінеді, бірақ енді Guy массивінің қанша элементін қолданғыңыз келетініне қарамастан сізге кодтың мыңдаған жолын жазудың қажеті жоқ.
Енді бөлек гимнасттарға арналған бағдарлама мен гимнасттар массивіне арналған бағдарламан салыстырайық:
void mainprog() {
athlete Julia, Andrea, Ricardo, Andy, Michael;
JumpJack(Julia);
JumpJack(Andrea);
JumpJack(Ricardo);
JumpJack(Andy);
JumpJack(Michael);
}
void mainprog() {
athlete Guy[5]; Бес гимнасттан тұратын массивті жариялау
for (int which=0; which=4; which++) {
JumpJack(Guy[which]); Жаттығуды әрбір гимнасттың орындауы
}
}
Біріншіге қарағанда соңғы бағдарламаға гимнастардың саны әсер етпейді (циклдің аяқталуы жағдайында айнымалының мәні ғана өзгереді).
Сіз массивтің бір класстың объектілерінен тұратынын ұмытқан жоқсыз ба? Осылайша, қалауыныңызша сол бағдарламаны жүргірушілерге де қолдануға болады:
void mainprog() {
runner Guy[5]; Бес жүргізушілерден тұратын массивті жариялау
for (int which=0; which=4; which++) {
Guy[int which].run(); Әрбір жүргізушінің орын ауыстыруы
}
}
1.3 Массивтерді қолдану
Кез-келген типтегі объектілер масситерін қолдануға болады: гимнасттардың, жүргізушілердің, роботтардың, шеңберлердің және тіпті қарапайым, мысалы массивтің элементтері болып int немесе float типтеріндегі айнымалылар бола алады. С++ тілінде массив элементтері индекстің бүтін мәндерімен (int) белгіленеді. Массивтің бірінші элементіне 0-ге тең индекс мәні, ал екіншісіне - 1 және т.б. мәндер қосылады.
Алдыңғы бағдарламада Guy массиві бес элементтен тұрды: Guy[0] - Guy[4]. Guy[5] элементі жоқ, себебі элементтер барлығы бесеу.
Массивті жариялау кез-келген басқа объектінің жариялауына ұқсас, бірақ массив атынан кейін тік жақшада оның элементтерінің саны көрсетіледі. Мысалы, келесі нұсқаулықты қарастырайық:
int points[10];
Бұл нұсқаулықта 10 бүтін элементтен тұратын (0-ден 9-ға дейін нөмірленген) points атауы бар массив жарияланады.
Келесі нұсқаулықта 12 элементтен тұратын (0-ден 11-ге дейін нөмірленген) measurements массиві жарияланады
float measurements[12]; массив атауы элементтердің бүкіл тобын білдіреді. Соңынан тік жақшада индекстің мәні көрсетілген массив аты нақты ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz