Стандартты енгізу/шығару библиотекасының функциялары. Стандартты енгізу/шығару библиотекасы символдық жəне қатарлық мəліметтермен жұмыс істеуге арналған бірнеше функциялардан тұрады. Кестеде стандартты енгізу/шығару библиотекасынан символдар мен қатарларды енгізу/шығару функцияларының тізімі келтірілген.
Жолдарға қолданылатын опреациялардың функциялары. Қатарларды өңдеу библиотекасындағы қатарларға қолданылатын функциялар. Қатарларды өңдеу библиотекасы қатарларды анықтау жəне қатарларды лексемаларға бөлу үшін, символдарды жəне басқа қатарларды іздеу үшін, қатарларды салыстыру үшін, қатарлық мəліметтерге қолданылатын операцияларды орындау үшін көптеген пайдалы функцияларды ұсынады. қатарларды өңдеу библиотекасымен жұмыс істеу үшін тақырыптық файлын қосу қажет.
Қазіргі уақытта бағдарламалуда 3 концепция белгіленген:
объектілі бағытталған бағдарламалау; (ОБП)
унификацияланған модельдеу тілі (UML)
бағдарламалық қамтамаларды құру арнайы жабдықтары.
Объектілі бағытталған бағдарламалау (ОБП) негізінде бағдарлама тізбектей орындалатын нұсқау ретінде емес, ұқсас қасиеттері және ұқсас орындайтын қызметтері бар объектілердің жиынтығы ретінде қарастырылады.
Барлық объектілі бағытталған бағдарламалау тілдерінің ішінде ең кең таралған С++ тілі. Осы бағытта соңғы пайда болған Java тілінің С++ тілімен салыстырылғанда келесі кемшіліктері бар: көрсеткіштер, шаблондар, бірнеше қайтара мұрагерлік Java тілінде қарастырылмаған. Барлық синтаксис жағынан бұл тілдер ұқсас.
Қазіргі таңда Microsoft және Borland компаниялары құрған С++ тілінің Microsoft Windows жүйесінде бағдарламалау ортасы көп тараған.
Объектілі бағытталған бағдарламалау үш тұжырымға негізделген: кластар, мұрагерлік және полиморфизм.
Процедуралық тілдерде жазылған бағдарламалар негізінен инструкциялар жиынтығы болып табылады. Бұл тілдердегі бағдарламалар функциялардан тұрады, олар тізбектелген іс-әрекеттер тізімін орындайды.
Бірнеше функцияларды модульдерге біріктіруге болады, бірақ сонда да процедуралық принцип сақталады.
Процедуралық тілдерде екі түрлі берілгендер типтері бар: жергілікті (локальді) және кең ауқымды (глобальді). Жергілікті берілгендер тек функциялардың ішінде және тек сол функцияларда ғана қолданылады, ал барлық функцияларда қолдану керек болса кең ауқымды етіп жариялайды. Функциялар мен берілгендер арасындағы күрделі байланыстар бағдарламаның құрылымын да күрделендіреді. Кең ауқымды берілгендерді функциялар шектеусіз қолдана алады. Бұл процедуралық тілдердің ең бір үлкен кемшілігі. Екінші кемшілігі, ол берілгендер мен функциялардың жеке-жеке қолданылуы. Бұл жағдайда нақты өмірдегі объектілерді дәл сипаттай алмаймыз. Мысалы егер объект машина болса, онда оның қасиеттері (мінездемесі) – двигательдің күші, есіктер саны болады, ал іс-әрекеті ретінде мысалы, тормозды басуды жатқызуға болады. Яғни қасиеттерге бағдарламада берілгендерді, ал іс-әрекеттерге бағдарламада функцияларды сәйкестендіруге болады. Іс-әрекет дегеніміз, объектінің сырттан берілген әсерге жауабы.
ОБП-дың негізгі идеясы – ол берілгендермен осы берілгендерге қолданылатын іс-әрекеттердің объект деп аталатын бір бүтінге бірігуі.
Объектілердегі функциялар С++ тілінде әдістер деп аталады. Егер объектінің кейбір берілгендерін оқу керек болса, онда осы әрекетті орындау үшін қолданылатын әдісті шақыру керек. Бұл әдіс берілгенді оқиды да оның мәнін қайтарады. Оның мәнін тіке, әдісті қолданбай ала алмаймыз. Яғни берілгендер кездейсоқ сыртқы әсерден қорғалған. Берілгендер мен функциялар инкапсуляцияланған (біріктірілген) делінеді.
Жасыру және инкапсуляция ОБП-дың негізгі терминдері болып табылады. Егер берілгенді өзгерту қажет болса, онда оны да объектінің әдісінің көмегімен орындау керек. С++ тіліндегі бағдарлама объектілер жиынтығынан тұрады. Олар бірінің бірі әдістерін шақыру арқылы бір-бірімен әрекеттерді орындайды.
объект
объект объект
Өмірде объект ретінде компанияның бөлімдерін – бухгалтерия, сату бөлімі, кадр бөлімі т.б. алуға болады. Компанияның бөлімдерге бөлінуі оны құрылымдық ұйымдстырудың маңызды бөлігі болып табылады.
Бөлімдердің арасында олардың орындайтын қызметтері үйлестіріледі және әр бөлім өзіне тиісті ғана ақпараттармен жұмыс атқарады: бухгалтерияда – еңбек жалақысымен, сату бөлімінде — әрбір маманға байланысты ақпараттармен т.б.
Бөлімдегі қызметкерлер тек сол бөлімге қатысты ақпараттармен ғана жұмыс істей алады. Бөлімдерге бөлу және олардың қызметтерінің белгіленуі компанияның жұмысын қатаң қадағалауға мүмкіндік береді.
Сату бөлімі
Кадр бөлімі Финанс бөлімі
Корпоративтік қатынас
ОБП бағдарламаның орындалу процесімен байланысты емес. Ол тек бағдарламаның ұйымдастыруына ғана қатысты.
ОБП тілінің негізгі эементтері:
Объект
Объект прогаммада қандай турде болуы мүмкін?
• Физикалық объектілер:
- көше қозғалысын модельдеудегі автомобильдер
- электр тогын модельдеудегі схема элементтері
- экономика моделін құрудағы елдер
- диспечерлік қызметін модельдеудегі ұщақтар
• Интерфейс элементтері:
- терезелер
- меню
- графиктік объектілер (сызықтар, тік төртбұрыш)
- маус, клавиатура, дискілік құрылғылар, принтерлер
• Берілгендер құрылымы:
- массивтер
- стектер
- байланысқан тізімдер
- екілік ағаштар
• Адамдар тобы:
- қызметкерлер
- студенттер
- сатып алушылар
- сатушылар
• Ақпараттар сақталуы
- құрал-саймандар тізімі
- қызметкерлер тізімі
- сөздіктер
- әлемдегі қалалардың географиялық координаттары
• Берілгендердің қолданушылар типтері:
- уақыт
- бұрыштардың шамасы
- комплексті сандар
- жазықтықтағы нүктелер
• Компьютер ойындарына қатысушылар:
- жарыстағы автомобильдер
- шахмат, дойбыдағы позициялар
- тірі табиғатпен байланысты ойындағы жануарлар
- ойындағы достар мен дұшпандар.
Кластар.
Барлық тілдерде стандартты типтер бар, мысалы int.
Кластар объектілер қандай берілгендер мен функциялардан тұратындығын анықтайтын форма болып табылады. Класты жариялау барысында ешқандай объект құрылмайды, мысалы int типі int айнымалының бар екендігін білдермейтін сияқты. Яғни класс өзара ұқсас объектілер жиынтығын сипаттау үшін қажет ұғым.
Класқа тиісті объекті кластың экземпляры деп аталады.
Мұрагерлік.
Класс ұғымы мұрагерлік ұғымына алып келеді.
С++ тілінде басқа кластарды анықтайтын класты негізгі класс деп атайды. Қалған кластар, оның қасиеттерін мұрагерлікке алады да, өздерінің қосымша басқа қасиеттерін қабылдайды. Оарды туынды класстар деп атайды. Құрылған класс басқа бағдарламаларда да қолданылуы үмкін. Бұл қасиет класс кодын қайталап қолдануға мүмкіндік береді.
Полиморфизм және асыра жүктеу.
Операциялар мен функциялардың олардың қолданып тұрған шамалардың типтеріне байланысты әр түрлі қызметтерді атқаруы полиморфизм деп аталады. Егер, мысалы, +, = операцияларын басқа жаңа типті операндалармен жұмыс істеу мүмкіндіктерімен қматамасыз етсек, онда бұл операцияларды асыра жүктелген операциялар деп атайды.