Курстық жұмыс н тарму 11/1 53-2018



бет3/11
Дата06.01.2022
өлшемі0,67 Mb.
#14295
1   2   3   4   5   6   7   8   9   10   11
Курстық жұмыстың мақсаты: С++ бағдарламалау ортасында динамикалық массивтермен жұмыс жасау

Курстық жұмыстың міндеті:

  • С++ ортасының мүмкіндіктерімен танысу

  • Класслар, жады және көрсеткіштер туралы мәліметтер қарастыру

  • Динамикалық массивтермен жұмыс жасау

  • Бағдарламаның алгоритмін құру

  • Құрылған алгоритмді бағдарламалау тілінде орындау керек

  • Алынған нәтижені талдау керек

Адамның қызметінің әр түрлі салаларында программаларды қолдану – барлық программалық қамтамассыз етудің сенімділігін арттыру қажеттілігіне алып келді.

Программалау технологиясы – бұл программалауды дайындаудың әдістері мен тәсілдерінің жиынтығы және осы әдістер мен тәсілдерді қолданудың тәртібі.

Курстық жұмыс негізі екі бөлімнен тұрады, теориялық және тәжірибелік. Теориялық бөлімде негізгі үш тақырыпша қарастырлыған. Ал тәжірибелік бөлімде негізі екі тақырыпша қарастырылды.

1 ТЕОРИЯЛЫҚ БӨЛІМ




    1. С++ тілінде классатар мен жадыға шолу

C++ тіліндегі басты ұғым – класс. Класстар ақпаратты сақтау, мәліметтердің кепілдендірілген инциализациясын, пайдаланушылар анықтайтын типтертің айқын емес түрлендірілуі, типтің динамикалық анықталуы, пайдаланушының жадыны басқаруды бақылау және операторлардың қайта жүктеу механизмін қамтамасыз етеді.

С++ тілінде бағдарламалаушы берілгендердің бос типтердің енгізу мен класстар арқылы орындалатын операцияларды анықтау мүмкіндіктеріне ие.

Класс – бұл бар типтер негізіндегі туындықұрылымы бар (структурированный) тип. Класс ең оңай әдіспен келесі конструкция арқылы анықтауға болады:

Класс_кілті класс_аты{компоненттер тізімі};

Мұнда класс_кілті – class, struct,union қызметші сөздерінің бірі;

класс_аты еркімен таңдалатын идентификатор;

компоненттер тізімі клссқа қатысты функциялармен типтелген берілгендерді сипаттаушылар мен анықтамалары.
Компоненттер объект күйін және класс объектісінің тәртібін шартқа негіздейді. Класс компонеттері деректер, функциялар, класстар, санап шығулар, биттік өрістер, достасқан функциялар мен типтер атаулары бола алады.
Жай класстық әдістерін анықтау класс анықтамасының ішінде болуы мүмкін және мұндай жағдайда олар автоматты түрде орын ауыстырғандар болып табылады. Орын ауыстыратын функцияларды егер функция қарапайым және қысқа болса, қолданған жөн, мысалы Get x () фукциясы.

Класс объектісінің өлшемі класстың статистикалық емес мүше берілгендерінің өлшемдер қосындысымен жадыда анықталады.
Класс обьектісін құрған кезде ол үшін сәйкес келетін конструктор автоматты түрде шақырылады.

Конструктор параметрі өз класы бола алмайды,бірақ көшіру конструкторы сияқты оған жасалған сілтеме болуы мүмкін.

Кластын компанент берілгеннің жалғыз данасы болуы үшін және кластың әрбір обьектісінің құрылуы кезінде басып шығарылмауы үшін ол класты статикалық сияқты анықтау керек,яғни Static атрибуты болуы керек.

Кластың статикалық компаненттік функциялары нақты обьект атауы жоқ кластың Static берілгендеріне қатынасуды қамтамасыз етеді.Кластың Static функциялары жай (статикалық емес) компаненттік барлық негізгі ерекшеліктерін сақтайды.

Класқа қатысты функция нақты обьекттің берілгендерін өңдеу үшін шақырған кезде бұл функцияға автоматты және айқын емес функция шақырылған обьект көрсеткіші беріледі.Бұл көрсеткіштің бекітілген this аты бар бағдарламалаушы үшін байқаусыз кластың әрбір функциясы келесі түрде анықталған:

Класс- аты *const this = өңделетін-обьекттің –адресі;

This көрсеткішін қолдану тиімділігі көрінетін жағдайлар:


  • берілген класс компанентінің аты класс функциясының формальды параметрінің атымен сәйкес келгенде;

  • класс функциясының денесінде айқын түрде бұл функция шақырылған обьект адресін көрсету қажет болғанда;

  • функция параметрі ретінде кластың атын жазған кезінде обьекттің нақты атына жол берілмегенде (керек обьектіге мұндай функция сілтемесін немесе көрсеткішін берудің орнына).

Динамикалық жады.

Динамикалық жады дегеніміз - жалпы жады көлемінен мәліметтер сегментін (64Кб), стекті (16Кб) және ехе-кодты алып тастағандағы қалған бөлігі.

Жадыны басқарудың негізгісі – ұяшықтың немесе байттың адресі. С++ жадыны басқару үшін арнайы мәліметтер типі енгізілген. Бұл мәліметтер типі – көрсеткіштер деп аталады. Көрсеткіштің мәні – байттың адресі. Кез-келген динамикалық айнымалы үшін жады new процедурасы көмегімен бөлінеді. Оның параметрі болып типтелген көрсеткіш табылады. Процедураны шақыру кезінде көрсеткіш мәліметтерді орналастыруға болатын динамикалық адреске сәйкес мәнді қабылдайды. Көрсеткіштермен және динамикалық жадымен жұмыс жасау кезінде new, dispose процедураларының дұрыс қолданылуын және адрестермен, динамикалық жадымен жұмыс жасауды қадағалап отыру керек, себебі транслятор мұндай қателіктерді бақыламайды. Осы тектес қателер әсерінен компьютер уақытша істен шығуы мүмкін.

Көрсеткіштерді қолданған кезде пайдаланылатын кейбір функцияларды қарастырайық.

Addr(var x) функциясы х параметрінің адресін береді (нәтиже типі - pointer). Бұл фунцияға сәйкес болатын операция - @, оның операндасы ретінде адресін табу керек болатын объект болып табылады.


  • seg(x) функциясы х параметрінің сегментін табады (типі word).

  • ofs(x) функциясы х параметрінің ығысуын береді (типі word).

  • ptr(sg, ofs: word) функциясы sg және ofs мәндерін, sg нөмірі бар сегментте, оның басынан ofs байтқа ығысқан байт адресінен тұратын көрсеткішке түрлендіреді.

1.2 Көрсеткіштер мен массивтер




Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   11




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет