Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Сурактар

.doc
Скачиваний:
9
Добавлен:
06.03.2016
Размер:
70.66 Кб
Скачать
  1. Objeсt Pascal тіліндегі процедуралар мен функциялардың қызметі қандай және олар қалай сипатталады?

  2. Жергілікті және глобальды атаулар деп қандай атауларды атаймыз?

  3. Процедуралар мен фунциялардың орналасуының қандай ерекшелігі бар?

  4. Қосалқы программаларға қолданылатын қандай стандартты директивалар бар?

  5. Формалды параметрлер дегеніміз не?

  6. Рекурсия дегеніміз не және ол қалай ұйымдастырылады?

  7. Ескерілмейтін параметрлер деп қандай параметрлерді айтамыз және олар қалай сипатталалады?

  8. Массив параметрлер деп қандай параметрлерді айтамыз және олар қалай сипатталады?

  9. Ашық массив дегеніміз не және олар қалай сипатталады?

  10. Ашық массивтің жоғарғы шекарасы қандай стандартты функциямен анықталады?

  11. Массив конструкторы дегеніміз не және олар қалай сипатталады?

  12. Вариантты массивтер қандай жағдайда қолданылады?

  13. GetArrayAverage функциясының қызметі қандай?

  14. Процедуралық типтің негізгі қызметі қандай және олар қалай хабарланады?

  15. Objeсt Pascal тілінде қанша процедуралық тип бар?

  16. Қосалқы программаның сипаттамасы.

  17. Қосалқы программаны бейнелеу.

  18. Параметрлер.

  19. Ескерілмейтін параметрлер.

  20. Массив параметрлер және жолдық параметрлер.

  21. Ашық массивтер.

  22. Массив конструкторы.

  23. Вариантты массив параметрлері.

  24. Процедуралық типтердің негізгі қызметі

  25. Рекурсия және оның сипатталуы

  26. 8. Динамикалық жады дегеніміз не?

  27. 9. Көрсеткіш дегенімізне және не үшін пайдаланылады?

  28. Типтелмеген көрсеткіштердің қызметі қандай?

  29. Жиын дегеніміз не?

  30. Жиынға кіретін элементтер санының өзгеру аралығы қандай?

  31. Жиындарға қандай операциялар қолданылады және қандай қатынас белгілері қолданылады?

  32. 4. Object Pascal тілінде мәтіндерді өңдеу үшін қандай типтер пайдаланылады?

  33. Жолдың ағымдағы ұзындығы қандай функцияның көмегімен беріледі?

  34. Ең үлкен ұзындықтағы жолдың типі қалай хабарланады?

  35. Жолдық айнымалылар хабарланғаннан кейінгі жадының жұмыс механизімі қандай?

РЕКУРСИВТІ ФУНКЦИЯЛАР

Клинидің формалдау жолы. Жай функциялар. Суперпозиция және примитивті рекурсия функциялар класы. Қосу, шекті минимальдау, мажорлы қайталау операторлары.

Алгоритм ұғымын тұрпаттандыру мәселесіне барар тағы бір жол, ол-рекурсивті функциялар. Тарихи бұл жол ең бірінші пайда болды, сондықтан да алгоритмдерге арналған математикалық зертеулерде ол кең таралған.

Рекурсия дегеніміз, аргументердің белгілі бір мәнінде функцияның мәні функцияның бұған дейін аргументердің өзге мәндерінде берілген мәндері арқылы өрнектелетін функцияның берілу тәсілі. Алгоритмдер теориясында рекурсивті функцияларды қолдану кез келген әріппедегі сөздерді натурал сандар тізбегі арқылы нөмірлеу идеясына негізделген. Осылайша, кез келген алгоритмді аргументтерінің бүтінсандық мәндеріндегі кейбір бүтінсандық функцияның мәндерін есептеуге келтіруге болады.

Динамикалық жады. Программада хабарланған барлық айнымалылар жедел жа-дының үздіксіз бір аймағында, яғни берілгендер сегментінде орналасады. Берілгендер сегментінің ұзындығы микропроцессор архитектурасымен анықталады және 65536 байттан тұрады, бұл үлкен массивтермен жұмыс жасау барысында біраз қиындықтар туғызады. Осыдан біз өлшемі 64 Кб асатын массивпен жұмыс жасауды шектететін шартымызды байқауымызға болады.

Басқа жағынан қарасақ жадысының көлемі 640 Кб болатын компьютер үлкен өлшемді есептерді шығаруға жеткілікті. Мұн-дай жағдайдан шығуға динамикалық жады қызмет етеді, яғни жұмыс кезінде берілгендер сегментінің (64 Кб), стектің (кәдімгі жағдайда 16 Кб) және программа денесінің өзінің есебінен программаға бөлінетін дербес компьютердің жедел жадысы. Ди-намикалық жады көлемін үлкен шектеулерге дейін көбейтуге болады. Қалыпты жұмыс барысында бұл өлшем ДК жадысымен анықталады және 200-300 Кб кем емес.

Берілгендердің динамикалық орналасуы программаның жұ-мыс жасауы барысында міндетті түрде динамикалық жадыны пайдаланғандығын көрсетеді. Статистикалық орналасудың ал-дыңғыдан айырмашылығы программаның жұмыс істеуі бары-сында ол компилятор болып табылады. Динамикалық орналасу-да алдына ала орналасатын берілгендер саны белгісіз болады. Сонымен қатар, статистикалық айнымалылар сияқты оларды атауы бойынша шақыруға болмайды

Динамикалық оперативті есте сақтау құрылғысы (ОЕСҚ) (DRAM (Dynamic Random Access Memory)) — өте аз уақыттық қолжетушілігі бар энергияға тәуелді оперативті жадының түрі. Өзінің жады атауын конденсатор түрінде көрсетілетін есте сақтау ұяшықтарының жұмыс істеу принципінен алады. Уақыт өтуімен ұяшықтың токқа ағып кетуі конденсаторды разрядтайды. Соның әсерінен онда сақталған ақпарат жоғалады, мұндай жады тек қана периодтық регенерациясы бар динамикалык режімде жұмыс істейді.

Жиындар. Алгебрада жиынның мағынасы қандай болса, Паскаль тіліндегі жиынның да мағынасы солай беріледі. Бұл реттелмеген бір –бірінен ерекшелігі бар бір типті элементтер жиынтығы. Жиын элементтерінің саны 255-тен артпау қажет. Жиындағы әрбір объект жиын элементі деп аталады. Жиын элементтері нақтыдан басқа, скалярлық типтердің бірінде жатуы тиіс. Бұл тип жиынның базалық типі деп аталады. Базалық тип аралықпен беріледі. Жиын типтерінің мәндерінің облысы базалық тип элементтерінен құрылған барлық ішкі жиындар жиынтығы болып табылады. Паскаль тілінде жиын элементтерінің мәндері квадрат жақшамен көрсетіледі: [1,2,3,4] , [‘a’, ’b’, ’c’], [‘a’,..’z’]. Егер жиынның элементтері болмаса, ол бос жиын деп аталады да, квадрат жақшамен “[]ң белгіленеді. Жиындық типтерді бейнелеу үшін Set және Of қызметші сөздері пайдаланылады.

Жиындарға қолданылатын амалдар

Жиындық типтердің берілгендері үшін қиылыстыру, біріктіру, айырымдық және іп амалдары анықталған. Сондай-ақ, “<’, “>ң, “<=ң, “>=ң, “=ң және “<>ң қатынас белгілері пайдаланылады.

=ң қатынас белгісі. Егер А және В жиындары бірдей элементтерден тұратын болса, онда бұл жиындар тең болып есептеледі. Салыстырылатын жиындардағы элементтердің орналасу ретінің теңдік шартына әсері болмайды.

Тең емес қатынас белгісі (<>). А және В жиындарының кем дегенде бір элементі өзгеше болатын болса, онда олар тең емес болып есептеледі.

А жиынының мәні В жиынының мәні Өрнек Нәтиже

[1, 2, 3] [3, 1, 2, 4] A <> B True

[‘a’..’z’] [‘b’..’z’] A <> B True

[‘c’..’t’] [‘t’..’c’] A <> B False

Үлкен немесе тең қатынас белгісі (>=). Егер В жиынының барлық элементтері А жиынының құрамына кіретін болса, А>=В қатынасының нәтижесі ақиқат болады, ал кері жағдайда жалған болады.

А жиынының мәні В жиынының мәні Өрнек Нәтиже

[1, 2, 3, 4] [3, 2, 4] A >= B True

[‘a’..’z’] [‘b’..’t’] A >= B True

[‘c’, ‘x’, ’t’] [‘t’,’c’] A >= B True

барлық элементтері В жиынының құрамына кіретін болса, онда А <= В өрнегінің нәтижесі ақиқат болады, кері жағдайда жалған болады.

А жиынының мәні В жиынының мәні Өрнек Нәтиже

[1, 2, 3] [2, 3, 4] A <= B True

[‘d’..’h’] [‘b’..’t’] A <= B True

[‘c’, ‘x’, ’t’] [‘t’,’c’] A <= B True

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

А жиынының мәні Өрнек Нәтиже

2 іf A іn [2, 3, 4] then … True

‘v’ іf A іn [‘a’..’n’] then False

x1 іf A іn [x0, x1, x2, x3] True

Іn операциясы бірқатар басқа да амалдарды алмастыра отырып, күрделі шартты тексерулерді тиімді, көрнекі сипаттауға мүмкіндік береді. Мысалы,

іf (a=1) or (a=2) or (a=3) or (a=4) or (a=5) then … өрнегін өте қысқа, әрі көрнекі түрде былай сипаттауға болады:

Іf A іn [1..6] then …

Жиындардың бірігуі (+). Екі жиынның бірігуі осы екі жиынның элементтерінен тұратын үшінші жиын болып табылады.

А жиынының мәні В жиынының мәні Өрнек Нәтиже

[1, 2, 3] [1, 4, 5] A + B [1,2,3, 4, 5]

[‘a’..’d’] [‘e’..’z’] A + B [‘a’..’z’]

[] [] A + B []

Жиындардың қиылысуы. Екі жиынның қиылысуы бір мезгілде екі жиынға да кіретін ортақ элементтерден тұратын үшінші жиын болып табылады.

А жиынының мәні В жиынының мәні Өрнек Нәтиже

[1, 2, 3] [1, 4,2, 5] A * B [1,2]

[‘a’..’z’] [‘b’..’r’] A * B [‘b’..’r’]

[] [] A + B []

Жиындардың айырымы. Екі жиынның айырымы екінші жиын элементтері кірмейтін, бірінші жиын элементтерінен тұратын үшінші жиын болып табылады.

А жиынының мәні В жиынының мәні Өрнек Нәтиже

[1, 2, 3,4] [3, 4,1] A - B [2]

[‘a’..’z’] [‘d’..’z’] A - B [‘a’..’c’]

[x1,x2,x3,x4] [x4,x1] A - B [x3,x4]

Формальды және нақты параметрлер. Формальды параметрлер нүктелі үтір арқылы ажыратылады (біртипті параметрлердің тізбегі үтір арқылы ажыратып жазуы-мызға болады). Тақырыптан кейін сипаттау бөлімі (тұрақты сан, айнымалы, процедурада қолданылатын процедура мен функция) және процедура алгоритмінде пайдаланатын Паскаль тіліндегі операторлар жазылады.

Формальды параметрлердің негізгі екі классын бөліп айтуымызға болады:

параметрлімән;

параметрліайнымалы.

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

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

Формальды параметрлерді, процедураларды сипаттайтын бөлімде сипаттауға болмайды. Процедураны шақыру үшін про-цедураның шақыру операторын қолдану қажет. Ол келесі түрде болады:

<процедура аты>(<нақты_параметрлердің_тізбегі>)

Мысалы:

f (n,fn);

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