Символдық және көпөлшемді массивтертер
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 24 бет
Таңдаулыға:
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 24 бет
Таңдаулыға:
МАЗМҰНЫ
КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...3
I тарау. Массивтің қасиеттері мен құрылымдық типтері
1.1. Массив, массив қызметтері және сипатталуы ... ... ... ... ... ... ... ... ... 5
1.2. Символдық және көпөлшемді массивтертер ... ... ... ... ... ... ... ... ... .8
ІІ тарау. Екі өлшемді массивтер ұғымы, олардың бағдарламада сипатталуы
2.1. Екі өлшемді массив элементтерін ендіру және шығару ... ... ... ... ... ... 12
2.2. Екі өлшемді массив элементтерімен амалдар орындау ... ... ... ... ... ... 14
2.3. Массивтің жеке элементтерімен орындалатын операциялар ... ... ... ... ..21
Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ... .28
Пайдаланылған әдебиеттер тізімі ... ... ... ... ... ... ... ... ... ... ... ... ... ... 30
КІРІСПЕ
Осыған дейінгі қарастырылып келген мәлімет типтері қарапайым болып
есептеледі. Себебі олар тек бір ғана обЪектіге яғни бір ғана санға немесе
символға қатысты ғана қолданылады. Turbo Pascal-да бір типке жататын
бірнеше элементтерден тұратын обектілерді де пайдалануға болады. Массив
осындай бір типке жататын элементтерден құралатын құрылымдық тип болып
табылады.
Қарапайым типтер қатарына жататын стандартты (Integer,real) және
қолданушылар (тізбектелген тип) типтерінде бір айнымалыны сақтау үшін,
негізінен компьютер жадысының бір ғана ұяшығы қолданылады. Бірақ көптеген
программалау есептерінің шешімін табу барысында әрбір элементтің деректерін
жеке айнымалыға сақтау орнына, оларды тізбектеп бір жерде сақтау анағұрлым
тиімді болып табылады.
Бір типтес берілгендерден құралып, барлық элементтеріне бір ортақ атау
берілген жиынды массив деп атаймыз. Массив құрылымдық типтер қатарына
жатады. Массив элементтері нөмірленеді. Массивтің әрбір элементіне индексін
көрсету арқылы жұмыс істеуге болады. Массивке мысал ретінде векторларды
қарастыруға болаты. Егер массивке кестелік берілгендер жазылса (матрица),
онда элементтері екі индекс бойынша нөмірленеді.
Массив сипаттамалары:
• Типі – массив элементтерінің жалпы типі;
• Көлемі – массив индекстерінің саны;
• Шектелімі - әрбір индекстердің шектеу бойынша сәйкестігі;
• Пішімі – көлем және шектеулер жиындары.
Массивтер элементтерімен жұмыс жасау барысында, массив атауынан кейін
міндетті түрде тік жақшаға алынған индекс көрсетіледі. Индекс ретінде
сандар қолданылады.
Массивтің кез келген элементтерімен жұмыс істегенде программалау
барысында олардың индексінің мәні типтер немесе айнымалылар бөлімінде
сипатталған шектеуден аспауы тиіс. Егер массив индексвінің мәні сипатталған
шектеуден асып кетсе онда, смнтаксистік қате тіркеліп экранда Index type
is not compatibie with declaration деген сөз тіркесі шығарылады.
Массивтер қолданылатын программаларда {R+} директивасын жазу арқылы
массивтің шектеулерін тексеруге болады. Егер программада {R+} директивасы
беріліп, массив индексі шектеуден асып кетсе, онда экранға "Range check
error” сөз тіркесі шығарылады. Массивтерді программада қолдану үшін Turbo
Pascal программалау тілінде оларды бірден var бөлімінде сипаттау жолы
қарастырылған.
Turbo Pascal программалау тілі бір өлшемді массивтермен қатар екі
өлшемді және көп өлшемді массивтерді қолдануға мүмкіндіктер береді.
Курстық жұмыстың мақсат-міндеттері: Екі өлшемді массивтің қасиеттері
туралы мағлұмат алу. Осы мақсатты жүзеге асыру барысында келесі міндеттері
орындалады:
✓ Екі өлшемді массив элементтері туралы түсінік;
✓ Екі өлшемді массив элементтерімен амалдар орындау;
✓ Массивтің жеке элементтерімен орындалатын операциялар туралы
түсінік беру.
I тарау. Массивтің қасиеттері мен құрылымдық типтері
1.1. Массив, массив қызметтері және сипатталуы
Массив дегеніміз - бір атпен аталған, әртүрлі индекстелген бір типті
элементтер жиынтығы.
Қасиеттері: Массивтің қасиеттерін анықтайтын 4 негізгі принципі бар:
- массивте элементтер деп аталатын мәндер сақталады;
- массивтің барлық элементтері бір типті болуы керек;
- жадыда массивтің барлық элементі тізбектеліп орналасады және бірінші
элемент адрестің нөлдік индексін білдіреді;
- массив атауы тұрақты болып табылады және массивтің бірінші
элементінің адресінен тұрады.
Mассивтің сипатталуы:
элементтің типі массив аты [элементтер саны];
Мысалы, int a[12]; {12 элементтен тұратын массив}
char s[20]; {20 элементтен тұратын массив}
#define KOL 10 {}
int [KOL];
Массивті инициялизациялау 3 тәсілмен анықталады:
- массивті құру барысында;
- массивті құру барысында бастапқы тұрақтыларды көрсету;
- программаның орындалу барысында;
- құру барысында массивтің бастапқы мәндері берілмесе, онда автоматты
түрде массив 0-мен толтырылады(NULL).
Массив элементінің саны мәндер санына сәйкес келмесе (3-ші мысал)
көпшілік компиляторда қате хабарланады, ал кейбірі автоматты түрде өлшемін
үлкейтеді немесе жетпесе (мән) 0-мен толықтырылады. 2-ші мысалда массивтің
элементтер саны мәндері санына қарай анықталады.
Массив элементтерімен жұмыс жасау. Массив элементтерін қолдану үшін
квадрат жақшада бүтін мәнді индекс көрсетіледі. Мұндағы индекс массивтің
базалық адресіне қарағанда элементтің орнынының ығысу адресін анықтайды.
СС++ машиналық-бағытталған тіл болғандықтан массивтің бірінші
элементті 0-ші индекстен басталып нөмірленеді, себебі массивтің бірінші
элементті оның базалық адресінің басынада орналасады да бірінші элементтің
адресін алу үшін ешқандай ығысу жасалудың қажеті жоқ.
Мысалы, 5-ші элементтің адресін алу үшін базалық адрестен бастап, 4
элементке ығысу орындалуы тиіс.
Массивпен жұмыс жасауда алдымен массив сипатталады. Мұнда квадрат
жақшада оның элементтерінің саны көрсетіледі, ол өз кезегінде жадыдан
бөлінетін ұяшықтар санын анықтайды.
Массив элементін қолданғанда индекс ретінде үш түрлі мән беруге
болады:
1. Сандық тұрақты.
2. Айнымалы.
3. Өрнек.
Мұндағы мәндердің нәтижесі массивтің сипаттамасындағы мәліметтерге
сәйкес логикалық корректі сан болуы тиіс.
Индекс массивтің жадыдан қанша байт орын алатынынан тәуелсіз тікелей
реттік нөмініне сілтейді.
Массивтер және оларды өңдеу. BASIC тілінде бірыңғай шамаларды массивке
біріктіруге болады. Жалпы аты бар бірыңғай элементтердің реттелген жиыны
массив болып табылады. Ол математикада вектор ұғымына, ал мектептік
алгоритмдік тілде сызықтық кестеге сәйкес келеді. Массивтің аты жай
айнымалының атын құрғандағы ережелерге сүйеніп құрылады.
Массивтің әрбір элементіне соңынан индексі келетін массивтің аты
меншіктеледі. Сондыќтан да массив элементтерін индексті айырмалар деп те
атайды.
Ұйымдастыру тәсілдері бойынша BASIC тілінде бір өлшемді екі өлшемді
және көп өлшемді массивтер пайдаланылады. Бір өлшемді массивтің элементі
массивтегі элементтің реттік нөмірін анықтайтын бір индекспен көрсетіледі.
Мысалы:
• А2) –А массивінің екінші элементі;
• В1(3) –массивінің үшінші элементі;
• С(N)-C массивінің N-ші элементі дегенді білдіреді.
Осылайша, индекстер массивінің атынан соң жақша ішіне орналасады.
Енді екі өлшемді массивке алып келетін мынадай есепті қарастырайық.
Айталық, 11-мөлтек ауданда тұратын тұрғындар саны және бір тұрғынға
бөлінетін шаршы метр жер жөнінде деректерді өңдеу керек болсын. Өңдеу және
кейбір сұрақтарға жауап алу мақсатында компьютерге деректерді енгізуді
былай ұйымдастыруға болады. Мысалы, бір үйде қанша адам тұрады және 22 үй 3-
пәтерде тұратын тұрғындарды кезекке қоюға бола ма? т.с.с. сұрақтарға жауап
беру керек болсын.
Бұл есепті шешуде екі өлшемді массивті пайдалану ыңғайлы. Біз бірінші
айнымалы ретінде үйдің нөмірін, екінші айнымалы ретінде пәтер нөмірін
пайдаланамыз. Егер ол құрылып қойылған болса, онда біздің сұрақтарымыздың
жауабы ретінде А[22,3] мәні баспаға шығарылады. Мұнда алғашқы индекс үй
нөмірін, екіншісі пәтер нөмірін білдіреді. Ал егер А[22,3]=4 мәнін
меншіктесе, онда бұл үйде 4 адам тұратын болғаны.
Массивтермен жұмыс істеу процедуралары әр түрлі және көптеген
жағдайларда компьютерде шығарылатын есептердің арнайы ерекшеліктерімен
анықталады. Бірақ әр түрлі көп есептердің және оларды шешу үшін
пайдаланылатын алгоритмдердің ішінен массивтерді өңдеудің типтік
тәсілдерінің және алгоритмдерінің белгілі жиынын бөліп алуға болады.
1.2. Символдық және көпөлшемді массивтертер
Егер программада жолдық мәліметтерді өңдеу қажет болса, онда оны
символдар массив ретінде қарастыру қажет. Мұндай массивте жолдың әр
элементі үшін жеке ұяшықтар бөлінеді және ең соңғы элементі ретінде жолдың
соңы таңбасы (\о) қойылуы тиіс.
Символдық массивті енгізу және инициализациялау мысалдарына программа
келтірейік:
#include stdio.h
main ()
{
char pan[12], razm[5];
static char opr[11]=”информация”;
razm[0]=’б’;
razm[1]=’а’;
razm[2]=’й’;
razm[3]=’т’;
razm[4]=\o’;
printf(“\n информатика сөзін енгізіңіз:“);
scanf(“%s”, pan);
printf(“\n %s \n”, pan);
printf(“\n %s \n”, razm);
printf(“\n %s \n”, opr);
}
Көріп отырғанымыздай символық массивке енгізілетін жолдық мәннің
ұзындықтары бірге арттырылып алынып отыр. Ол орын жолдың соңы таңбасына
арналады. Инициализациялау барысында ол таңб арнайы қойылады.
Бір типті элементтер жиынтығын өңдеуде олардың жадыда санына қарай
және элементтерін қолдану моделіне қарай анықтап сипаттау мүмкіндігі бар.
Соған байланысты массивтің өлшемі анықталады деп есептеледі. Демек,
индекстерінің көрсетілуіне қарай бір өлшемді, екі өлшемді т.с.с.
массивтерді анықтауға болады.
Екі немесе одан да көп өлшемді массивтеркөп өлшемді массивтер деп
аталады.
Сәйкес өдшемде сипаттау үшін квадрат жақшаларда олардың өлшемдері
көрсетіледі. Мысалы, екі өлшемді массив екі квадрат жақшамен анықталып
төмендегідей сипатталады:
float massiv[3][4];
Мұндағы massiv массив атауы, ал массивтің 12 элементі бар, массив 0-
ден 2-ге дейін индекстелетін 3 жолдан және 0-ден 3-ке дейін индекстелетін 4
бағаннан тұрады.
Пратикада массив өлшемі көбінесе үш өлшемдіден аспайды.
Масиивті екі өлшемді түрде сипаттағанмен ол ЭЕМ жадысында тізбектелген
бірдей типті мәндер тізбегі ретінде орналатырылады да, массивтің алғашқы
элементінің орынының адресі-базалық адресі массив атуына беріледі. Жалпы
массив атауы - өз бетінше көрсеткіш болып табылады.
СС++ тілдерінде праткиада математикалық моделі матрица түрінде
анықталатын есептерді қарастырғанда көп өлшемді массив құру міндетті емес.
Оны бір өлшемді массив түрінде ұйымдастыруға болады. Ал, элементтерін
ретімен қолдану үшін оның реттік нөмірін сәйкес анықтау формуласын дәл
анықтаса жеткілікті. Себебі компьютерде көп өлшемді массив түрінде
сипатталғанымен бірдей элементтер тізбегі басқарылады.
Мысалы, a[3,4] массивінің a[і,j] –ші элементін қолдану ретін
қарастырайық. Ол үшін 12 элементтен тұратын бір өлшемді массивті
төмендегідей сипаттайық:
Float a[12];
Ал, a[і,j] –ші элементін мына түрде өрнектеледі - a[i*4+j].
Мысалы, 2 жолы мен 3 бағанының қиылысуындағы элементті қолдану үшін
оның a[1][2] индекстерімен анықталатыны белгілі. Ал жоғарыдағы a[i*3+j]
өрнегіне қоятын болсақ a[1*4+2]=a[6] болады.
Бұдан екінші жолдың 3-ші элементті тізбекте 7-ші екендігін, ал оны
қолдану үшін массивтің базалық адресіне қарағанда 6 элементке жылжу
қажеттігін аңғару қиын емес.
Көрсеткіштер мен массивтер. Массивте а[i] - массивтің і-інші элементі
болсын.
Егер р көрсеткіші былайша анықталса:
Int *p;
онда P= &a[0] немесе а массивінің нөлінші элементіне сілтейді немесе р-
а[0]-дің адресін алады.
Ал, мынадай амалдар:
х=*p; - x-қа а[0]- дің мәнінің көшірмесін береді.
Сол секілді:
р+1 - а[1]-ге,
р+і - а[і]-ге сілтейді, ал
*(р+1) мәні a[1] -дің;
*(p+i ) мәні a[i] дің мәнін алады.
Көрсеткіштерге қолданылатын арифметика мен индекстеу арасында тығыз
байланыс бар. Анықтама бойынша массив типті айнымалының немесе өрнектің
мәні массивтің нөлінші элементінің адресі болып табылады.
Р=&а[0] меншіктеуінен кейін р мен а бірдей мәнге сілтейді.
Сонымен, массивтің аты бастапқы элементінің адресі болғандықтан
жоғарыдағы меншіктеуді былай р=a; жазуға да болады және а[i]-ді *(а+і)
түрінде жазуға болады. Себебі а[i]-ді кездестіргенде компилятор оны бірден
осы түрге түрлендіреді.
Сондықтан, &a[i] баламасы a+i – ге эквивалентті, яғни екі жағдайда да
бұл іші элементтің адресін береді.
Р- көрсеткішін өрнектеуде индекстер қолдануға болады, яғни
p[i]~ *(p+i).
Сонымен массив элементін ығысумен берілген Көрсеткіш немесе
индекстелген массив атымен көрсетуге болады.
Массив аты мен көрсеткіш арасында (массив ретінде қарастырылатын) бір
айырмашылық бар.
Көрсеткіш – бұл айнымалы, сондықтан оны р=a немесе р++ деп жазуға
болады. Ал, массив аты тұрақты ретінде қатысады, яғни айнымалы емес,
сондықтан оны а=p немесе а++ деп жазуға болмайды.
Көрсеткіштерді инициализациялау. Көрсеткіштерді сипаттау барысында
инициализациялауға болады.
Мысалы:
int ix;
Int *pix = &ix;
Char *pstr = ”информатика”;
Мұндағы іx - бүтін мәнді айнымалы, ал pix - бүтін мәнді айнымалыға
көрсеткіш және оған бірден ix айнымалысының адресі меншіктеледі.
Структуралар массивін сипаттау структура типті айнымалыны сипаттауға
ұқсас. Мұндай массивтер өлшемі компиляциялау барысында анықталады. Оның
стурктура элементтерінің өлшемі мен массив элементтерінің санының
көбейтіндісіне тең.
ІІ тарау. Екі өлшемді массивтер ұғымы, олардың
бағдарламада сипатталуы
2.1. Екі өлшемді массив элементтерін ендіру және шығару
Элементтерінің саны алдын-ала белгілі бір типті индексті
айнымалылардың жиынтығын массив деп атайды. Массивтің типі күрделі болып
табылады. Массивтерді бағдарламада қолдану үшін, оларға белгілі бір ат
беріледі. Содан соң бағдарламаның VAR немесе TYPE бөлімінде ARRAY қызметші
сөзімен сипаттап, компьютердің жадынан массив элементтеріне орын бөледі.
Жалпы жазылу түрі төмендегідей:
TYPE "массив aтауы"=ARRAY[X1] OFX2;
VAR "массив атауы":ARRAY[X1] OFX2;
мұндағы:
"массив атауы" - массивті белгілеген идентификатор, X, A, MAS т..б.
ARRAY - массив үғымын білдіретін қызметші сөз.
OF - қызметші сөз(бұл жерде жалғауларын білдіреді, мысалы бүтін
шамалардан)
Х1 - массив индексінің типі, нақтыдан басқа барлық типтер қолданылады.
Х2 - массив элементінің негіздік типі.
Бағдарламада массивтерді сипаттаудың бірнеше жолдары бар. Алдымен
типтер бөлімінде массивті бір идентификатор арқылы сипаттап алып, кейін
айнымалылар бөлімінде массив атауын сол идентификатор арқылы сипаттауға
болады. Сондай-ақ бірден айнымалылар бөлімінде де массивті толық сипаттап
кетуге де болады.
Егер бағдарламада бірнеше массивтің индекстері мен негіздік типтері
бірдей болса, онда оларды бір тізімге біріктіріп жазып сипаттауға болады,
төмендегі мысалдарда элементтері нақты сан болатын А,В,С массивтерінің
бәріне де компьютердің жадынан элемент бөлінген, сондықтан олар бір тізімге
біріктіріліп сипатталған.
Массивтердің типтер бөлімінде сипатталуы:
CONST N=100; {N-элементтер саны}
TYPE Mas=Array[1..N] Of Real;
Element=(Ge,C,O,N,Na,K,Li,Cu,Zn);
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 массиві Ү массивінің барлық элементтерін меншіктейді, ал
Ү массивінің элементтері өзгеріссіз қалады.
2.2. Екі өлшемді массив элементтерімен амалдар орындау
Массивті сипаттап болғаннан кейін, операторлар бөлімінде массив
элементтеріне жай айнымалылармен орындалатын әртүрлі амалдар қолдануға
болады. Оларды әр түрлі өрнектерде операндалар орнына, 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;
Массив элементтерін ендіру және шығару. Массив элементтерін ендіру
және шығару цикл арқылы жүзеге асырылады. Егер элементтерді ендіру үшін
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 KN;
... ... ... ... ... ... ... ... ... ... ... ... ...
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 ... жалғасы
КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...3
I тарау. Массивтің қасиеттері мен құрылымдық типтері
1.1. Массив, массив қызметтері және сипатталуы ... ... ... ... ... ... ... ... ... 5
1.2. Символдық және көпөлшемді массивтертер ... ... ... ... ... ... ... ... ... .8
ІІ тарау. Екі өлшемді массивтер ұғымы, олардың бағдарламада сипатталуы
2.1. Екі өлшемді массив элементтерін ендіру және шығару ... ... ... ... ... ... 12
2.2. Екі өлшемді массив элементтерімен амалдар орындау ... ... ... ... ... ... 14
2.3. Массивтің жеке элементтерімен орындалатын операциялар ... ... ... ... ..21
Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ... .28
Пайдаланылған әдебиеттер тізімі ... ... ... ... ... ... ... ... ... ... ... ... ... ... 30
КІРІСПЕ
Осыған дейінгі қарастырылып келген мәлімет типтері қарапайым болып
есептеледі. Себебі олар тек бір ғана обЪектіге яғни бір ғана санға немесе
символға қатысты ғана қолданылады. Turbo Pascal-да бір типке жататын
бірнеше элементтерден тұратын обектілерді де пайдалануға болады. Массив
осындай бір типке жататын элементтерден құралатын құрылымдық тип болып
табылады.
Қарапайым типтер қатарына жататын стандартты (Integer,real) және
қолданушылар (тізбектелген тип) типтерінде бір айнымалыны сақтау үшін,
негізінен компьютер жадысының бір ғана ұяшығы қолданылады. Бірақ көптеген
программалау есептерінің шешімін табу барысында әрбір элементтің деректерін
жеке айнымалыға сақтау орнына, оларды тізбектеп бір жерде сақтау анағұрлым
тиімді болып табылады.
Бір типтес берілгендерден құралып, барлық элементтеріне бір ортақ атау
берілген жиынды массив деп атаймыз. Массив құрылымдық типтер қатарына
жатады. Массив элементтері нөмірленеді. Массивтің әрбір элементіне индексін
көрсету арқылы жұмыс істеуге болады. Массивке мысал ретінде векторларды
қарастыруға болаты. Егер массивке кестелік берілгендер жазылса (матрица),
онда элементтері екі индекс бойынша нөмірленеді.
Массив сипаттамалары:
• Типі – массив элементтерінің жалпы типі;
• Көлемі – массив индекстерінің саны;
• Шектелімі - әрбір индекстердің шектеу бойынша сәйкестігі;
• Пішімі – көлем және шектеулер жиындары.
Массивтер элементтерімен жұмыс жасау барысында, массив атауынан кейін
міндетті түрде тік жақшаға алынған индекс көрсетіледі. Индекс ретінде
сандар қолданылады.
Массивтің кез келген элементтерімен жұмыс істегенде программалау
барысында олардың индексінің мәні типтер немесе айнымалылар бөлімінде
сипатталған шектеуден аспауы тиіс. Егер массив индексвінің мәні сипатталған
шектеуден асып кетсе онда, смнтаксистік қате тіркеліп экранда Index type
is not compatibie with declaration деген сөз тіркесі шығарылады.
Массивтер қолданылатын программаларда {R+} директивасын жазу арқылы
массивтің шектеулерін тексеруге болады. Егер программада {R+} директивасы
беріліп, массив индексі шектеуден асып кетсе, онда экранға "Range check
error” сөз тіркесі шығарылады. Массивтерді программада қолдану үшін Turbo
Pascal программалау тілінде оларды бірден var бөлімінде сипаттау жолы
қарастырылған.
Turbo Pascal программалау тілі бір өлшемді массивтермен қатар екі
өлшемді және көп өлшемді массивтерді қолдануға мүмкіндіктер береді.
Курстық жұмыстың мақсат-міндеттері: Екі өлшемді массивтің қасиеттері
туралы мағлұмат алу. Осы мақсатты жүзеге асыру барысында келесі міндеттері
орындалады:
✓ Екі өлшемді массив элементтері туралы түсінік;
✓ Екі өлшемді массив элементтерімен амалдар орындау;
✓ Массивтің жеке элементтерімен орындалатын операциялар туралы
түсінік беру.
I тарау. Массивтің қасиеттері мен құрылымдық типтері
1.1. Массив, массив қызметтері және сипатталуы
Массив дегеніміз - бір атпен аталған, әртүрлі индекстелген бір типті
элементтер жиынтығы.
Қасиеттері: Массивтің қасиеттерін анықтайтын 4 негізгі принципі бар:
- массивте элементтер деп аталатын мәндер сақталады;
- массивтің барлық элементтері бір типті болуы керек;
- жадыда массивтің барлық элементі тізбектеліп орналасады және бірінші
элемент адрестің нөлдік индексін білдіреді;
- массив атауы тұрақты болып табылады және массивтің бірінші
элементінің адресінен тұрады.
Mассивтің сипатталуы:
элементтің типі массив аты [элементтер саны];
Мысалы, int a[12]; {12 элементтен тұратын массив}
char s[20]; {20 элементтен тұратын массив}
#define KOL 10 {}
int [KOL];
Массивті инициялизациялау 3 тәсілмен анықталады:
- массивті құру барысында;
- массивті құру барысында бастапқы тұрақтыларды көрсету;
- программаның орындалу барысында;
- құру барысында массивтің бастапқы мәндері берілмесе, онда автоматты
түрде массив 0-мен толтырылады(NULL).
Массив элементінің саны мәндер санына сәйкес келмесе (3-ші мысал)
көпшілік компиляторда қате хабарланады, ал кейбірі автоматты түрде өлшемін
үлкейтеді немесе жетпесе (мән) 0-мен толықтырылады. 2-ші мысалда массивтің
элементтер саны мәндері санына қарай анықталады.
Массив элементтерімен жұмыс жасау. Массив элементтерін қолдану үшін
квадрат жақшада бүтін мәнді индекс көрсетіледі. Мұндағы индекс массивтің
базалық адресіне қарағанда элементтің орнынының ығысу адресін анықтайды.
СС++ машиналық-бағытталған тіл болғандықтан массивтің бірінші
элементті 0-ші индекстен басталып нөмірленеді, себебі массивтің бірінші
элементті оның базалық адресінің басынада орналасады да бірінші элементтің
адресін алу үшін ешқандай ығысу жасалудың қажеті жоқ.
Мысалы, 5-ші элементтің адресін алу үшін базалық адрестен бастап, 4
элементке ығысу орындалуы тиіс.
Массивпен жұмыс жасауда алдымен массив сипатталады. Мұнда квадрат
жақшада оның элементтерінің саны көрсетіледі, ол өз кезегінде жадыдан
бөлінетін ұяшықтар санын анықтайды.
Массив элементін қолданғанда индекс ретінде үш түрлі мән беруге
болады:
1. Сандық тұрақты.
2. Айнымалы.
3. Өрнек.
Мұндағы мәндердің нәтижесі массивтің сипаттамасындағы мәліметтерге
сәйкес логикалық корректі сан болуы тиіс.
Индекс массивтің жадыдан қанша байт орын алатынынан тәуелсіз тікелей
реттік нөмініне сілтейді.
Массивтер және оларды өңдеу. BASIC тілінде бірыңғай шамаларды массивке
біріктіруге болады. Жалпы аты бар бірыңғай элементтердің реттелген жиыны
массив болып табылады. Ол математикада вектор ұғымына, ал мектептік
алгоритмдік тілде сызықтық кестеге сәйкес келеді. Массивтің аты жай
айнымалының атын құрғандағы ережелерге сүйеніп құрылады.
Массивтің әрбір элементіне соңынан индексі келетін массивтің аты
меншіктеледі. Сондыќтан да массив элементтерін индексті айырмалар деп те
атайды.
Ұйымдастыру тәсілдері бойынша BASIC тілінде бір өлшемді екі өлшемді
және көп өлшемді массивтер пайдаланылады. Бір өлшемді массивтің элементі
массивтегі элементтің реттік нөмірін анықтайтын бір индекспен көрсетіледі.
Мысалы:
• А2) –А массивінің екінші элементі;
• В1(3) –массивінің үшінші элементі;
• С(N)-C массивінің N-ші элементі дегенді білдіреді.
Осылайша, индекстер массивінің атынан соң жақша ішіне орналасады.
Енді екі өлшемді массивке алып келетін мынадай есепті қарастырайық.
Айталық, 11-мөлтек ауданда тұратын тұрғындар саны және бір тұрғынға
бөлінетін шаршы метр жер жөнінде деректерді өңдеу керек болсын. Өңдеу және
кейбір сұрақтарға жауап алу мақсатында компьютерге деректерді енгізуді
былай ұйымдастыруға болады. Мысалы, бір үйде қанша адам тұрады және 22 үй 3-
пәтерде тұратын тұрғындарды кезекке қоюға бола ма? т.с.с. сұрақтарға жауап
беру керек болсын.
Бұл есепті шешуде екі өлшемді массивті пайдалану ыңғайлы. Біз бірінші
айнымалы ретінде үйдің нөмірін, екінші айнымалы ретінде пәтер нөмірін
пайдаланамыз. Егер ол құрылып қойылған болса, онда біздің сұрақтарымыздың
жауабы ретінде А[22,3] мәні баспаға шығарылады. Мұнда алғашқы индекс үй
нөмірін, екіншісі пәтер нөмірін білдіреді. Ал егер А[22,3]=4 мәнін
меншіктесе, онда бұл үйде 4 адам тұратын болғаны.
Массивтермен жұмыс істеу процедуралары әр түрлі және көптеген
жағдайларда компьютерде шығарылатын есептердің арнайы ерекшеліктерімен
анықталады. Бірақ әр түрлі көп есептердің және оларды шешу үшін
пайдаланылатын алгоритмдердің ішінен массивтерді өңдеудің типтік
тәсілдерінің және алгоритмдерінің белгілі жиынын бөліп алуға болады.
1.2. Символдық және көпөлшемді массивтертер
Егер программада жолдық мәліметтерді өңдеу қажет болса, онда оны
символдар массив ретінде қарастыру қажет. Мұндай массивте жолдың әр
элементі үшін жеке ұяшықтар бөлінеді және ең соңғы элементі ретінде жолдың
соңы таңбасы (\о) қойылуы тиіс.
Символдық массивті енгізу және инициализациялау мысалдарына программа
келтірейік:
#include stdio.h
main ()
{
char pan[12], razm[5];
static char opr[11]=”информация”;
razm[0]=’б’;
razm[1]=’а’;
razm[2]=’й’;
razm[3]=’т’;
razm[4]=\o’;
printf(“\n информатика сөзін енгізіңіз:“);
scanf(“%s”, pan);
printf(“\n %s \n”, pan);
printf(“\n %s \n”, razm);
printf(“\n %s \n”, opr);
}
Көріп отырғанымыздай символық массивке енгізілетін жолдық мәннің
ұзындықтары бірге арттырылып алынып отыр. Ол орын жолдың соңы таңбасына
арналады. Инициализациялау барысында ол таңб арнайы қойылады.
Бір типті элементтер жиынтығын өңдеуде олардың жадыда санына қарай
және элементтерін қолдану моделіне қарай анықтап сипаттау мүмкіндігі бар.
Соған байланысты массивтің өлшемі анықталады деп есептеледі. Демек,
индекстерінің көрсетілуіне қарай бір өлшемді, екі өлшемді т.с.с.
массивтерді анықтауға болады.
Екі немесе одан да көп өлшемді массивтеркөп өлшемді массивтер деп
аталады.
Сәйкес өдшемде сипаттау үшін квадрат жақшаларда олардың өлшемдері
көрсетіледі. Мысалы, екі өлшемді массив екі квадрат жақшамен анықталып
төмендегідей сипатталады:
float massiv[3][4];
Мұндағы massiv массив атауы, ал массивтің 12 элементі бар, массив 0-
ден 2-ге дейін индекстелетін 3 жолдан және 0-ден 3-ке дейін индекстелетін 4
бағаннан тұрады.
Пратикада массив өлшемі көбінесе үш өлшемдіден аспайды.
Масиивті екі өлшемді түрде сипаттағанмен ол ЭЕМ жадысында тізбектелген
бірдей типті мәндер тізбегі ретінде орналатырылады да, массивтің алғашқы
элементінің орынының адресі-базалық адресі массив атуына беріледі. Жалпы
массив атауы - өз бетінше көрсеткіш болып табылады.
СС++ тілдерінде праткиада математикалық моделі матрица түрінде
анықталатын есептерді қарастырғанда көп өлшемді массив құру міндетті емес.
Оны бір өлшемді массив түрінде ұйымдастыруға болады. Ал, элементтерін
ретімен қолдану үшін оның реттік нөмірін сәйкес анықтау формуласын дәл
анықтаса жеткілікті. Себебі компьютерде көп өлшемді массив түрінде
сипатталғанымен бірдей элементтер тізбегі басқарылады.
Мысалы, a[3,4] массивінің a[і,j] –ші элементін қолдану ретін
қарастырайық. Ол үшін 12 элементтен тұратын бір өлшемді массивті
төмендегідей сипаттайық:
Float a[12];
Ал, a[і,j] –ші элементін мына түрде өрнектеледі - a[i*4+j].
Мысалы, 2 жолы мен 3 бағанының қиылысуындағы элементті қолдану үшін
оның a[1][2] индекстерімен анықталатыны белгілі. Ал жоғарыдағы a[i*3+j]
өрнегіне қоятын болсақ a[1*4+2]=a[6] болады.
Бұдан екінші жолдың 3-ші элементті тізбекте 7-ші екендігін, ал оны
қолдану үшін массивтің базалық адресіне қарағанда 6 элементке жылжу
қажеттігін аңғару қиын емес.
Көрсеткіштер мен массивтер. Массивте а[i] - массивтің і-інші элементі
болсын.
Егер р көрсеткіші былайша анықталса:
Int *p;
онда P= &a[0] немесе а массивінің нөлінші элементіне сілтейді немесе р-
а[0]-дің адресін алады.
Ал, мынадай амалдар:
х=*p; - x-қа а[0]- дің мәнінің көшірмесін береді.
Сол секілді:
р+1 - а[1]-ге,
р+і - а[і]-ге сілтейді, ал
*(р+1) мәні a[1] -дің;
*(p+i ) мәні a[i] дің мәнін алады.
Көрсеткіштерге қолданылатын арифметика мен индекстеу арасында тығыз
байланыс бар. Анықтама бойынша массив типті айнымалының немесе өрнектің
мәні массивтің нөлінші элементінің адресі болып табылады.
Р=&а[0] меншіктеуінен кейін р мен а бірдей мәнге сілтейді.
Сонымен, массивтің аты бастапқы элементінің адресі болғандықтан
жоғарыдағы меншіктеуді былай р=a; жазуға да болады және а[i]-ді *(а+і)
түрінде жазуға болады. Себебі а[i]-ді кездестіргенде компилятор оны бірден
осы түрге түрлендіреді.
Сондықтан, &a[i] баламасы a+i – ге эквивалентті, яғни екі жағдайда да
бұл іші элементтің адресін береді.
Р- көрсеткішін өрнектеуде индекстер қолдануға болады, яғни
p[i]~ *(p+i).
Сонымен массив элементін ығысумен берілген Көрсеткіш немесе
индекстелген массив атымен көрсетуге болады.
Массив аты мен көрсеткіш арасында (массив ретінде қарастырылатын) бір
айырмашылық бар.
Көрсеткіш – бұл айнымалы, сондықтан оны р=a немесе р++ деп жазуға
болады. Ал, массив аты тұрақты ретінде қатысады, яғни айнымалы емес,
сондықтан оны а=p немесе а++ деп жазуға болмайды.
Көрсеткіштерді инициализациялау. Көрсеткіштерді сипаттау барысында
инициализациялауға болады.
Мысалы:
int ix;
Int *pix = &ix;
Char *pstr = ”информатика”;
Мұндағы іx - бүтін мәнді айнымалы, ал pix - бүтін мәнді айнымалыға
көрсеткіш және оған бірден ix айнымалысының адресі меншіктеледі.
Структуралар массивін сипаттау структура типті айнымалыны сипаттауға
ұқсас. Мұндай массивтер өлшемі компиляциялау барысында анықталады. Оның
стурктура элементтерінің өлшемі мен массив элементтерінің санының
көбейтіндісіне тең.
ІІ тарау. Екі өлшемді массивтер ұғымы, олардың
бағдарламада сипатталуы
2.1. Екі өлшемді массив элементтерін ендіру және шығару
Элементтерінің саны алдын-ала белгілі бір типті индексті
айнымалылардың жиынтығын массив деп атайды. Массивтің типі күрделі болып
табылады. Массивтерді бағдарламада қолдану үшін, оларға белгілі бір ат
беріледі. Содан соң бағдарламаның VAR немесе TYPE бөлімінде ARRAY қызметші
сөзімен сипаттап, компьютердің жадынан массив элементтеріне орын бөледі.
Жалпы жазылу түрі төмендегідей:
TYPE "массив aтауы"=ARRAY[X1] OFX2;
VAR "массив атауы":ARRAY[X1] OFX2;
мұндағы:
"массив атауы" - массивті белгілеген идентификатор, X, A, MAS т..б.
ARRAY - массив үғымын білдіретін қызметші сөз.
OF - қызметші сөз(бұл жерде жалғауларын білдіреді, мысалы бүтін
шамалардан)
Х1 - массив индексінің типі, нақтыдан басқа барлық типтер қолданылады.
Х2 - массив элементінің негіздік типі.
Бағдарламада массивтерді сипаттаудың бірнеше жолдары бар. Алдымен
типтер бөлімінде массивті бір идентификатор арқылы сипаттап алып, кейін
айнымалылар бөлімінде массив атауын сол идентификатор арқылы сипаттауға
болады. Сондай-ақ бірден айнымалылар бөлімінде де массивті толық сипаттап
кетуге де болады.
Егер бағдарламада бірнеше массивтің индекстері мен негіздік типтері
бірдей болса, онда оларды бір тізімге біріктіріп жазып сипаттауға болады,
төмендегі мысалдарда элементтері нақты сан болатын А,В,С массивтерінің
бәріне де компьютердің жадынан элемент бөлінген, сондықтан олар бір тізімге
біріктіріліп сипатталған.
Массивтердің типтер бөлімінде сипатталуы:
CONST N=100; {N-элементтер саны}
TYPE Mas=Array[1..N] Of Real;
Element=(Ge,C,O,N,Na,K,Li,Cu,Zn);
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 массиві Ү массивінің барлық элементтерін меншіктейді, ал
Ү массивінің элементтері өзгеріссіз қалады.
2.2. Екі өлшемді массив элементтерімен амалдар орындау
Массивті сипаттап болғаннан кейін, операторлар бөлімінде массив
элементтеріне жай айнымалылармен орындалатын әртүрлі амалдар қолдануға
болады. Оларды әр түрлі өрнектерде операндалар орнына, 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;
Массив элементтерін ендіру және шығару. Массив элементтерін ендіру
және шығару цикл арқылы жүзеге асырылады. Егер элементтерді ендіру үшін
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 KN;
... ... ... ... ... ... ... ... ... ... ... ... ...
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 ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz