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

Программалау шпор ХЕ ХЕ ХЕ

.docx
Скачиваний:
43
Добавлен:
17.02.2016
Размер:
209.79 Кб
Скачать

Сонымен класс дегеніміз – сипаттама, ал объект дегеніміз – бұл сипаттамаға сәйкес жасалынған зат. ОБП тілі пайда болмас бұрын мәліметтер және оларға жүргізілетін амалдар жеке элемент ретінде қарастырылған. Объектінің не екенін түсіну үшін жазбалармен жұмыс жасауды еске түсірсек болғаны. Жазбалар өрістерден тұрады. Өрістер түрлі типтегі мәліметтерден тұрады. Объектілер – түрлі типті мәліметтердің жинағы. Объектідегі мәліметтер өрістер (fields) деп аталады және жазба өрістеріне ұқсас. Бірақ объектілердің жазбалардан ерекшелігі, қосымша сол объектінің өрістеріне қолданылатын процедуралар мен фукнциялардан тұрады. Бұл процедуралар мен функциялар әдістер (methods) деп аталады. Объекті өрістерін объект қасиеттері (properties) арқылы өзгертуге болады. Delphi-де объектінің әрбір қасиеті өріс мәнін беруге және оларды оқуға мүмкіндік беретін, өрістер және әдістер арқылы сипатталады (қамту әдістері). Қасиеттерді қосымшаны жобалау барысында объектілер инспекторы арқылы беруге, өзгертуге болады. Объектілі-бағытталған программалаудың негізгі принциптеріне мыналар жатады:инкапсуляция;мұрагерлік; полиморфизм;Инкапсуляция – класс ішінде, сыртқы пайдаланушыдан, мәліметтерді және оларды өңдеуші әдістерді біріктіру, жасыру. Мұрагерлік жаңа объектілерге басқа объектілердің (оларды арғы ата деп атайды) қасиеттері мен әдістерін алуға мүмкіндік береді. Мұрагер-объектілер арғы аталарынан барлық өрістерді, қасиеттерді және әдістерді алады. Бұл қасиеттер, әдістер және өрістер мұрагер-объектіде өзгеріссіз сақталуы немесе өзгертілуі мүмкін. Бұған қосымша мұрагер-объекті өзінің құрамына қосымша өрістер, әдістер және қасиеттер қоса алады. Полиморфизм – әр түрлі объектілердің әдістері бірдей аталғанымен, олар өздерінің құрамымен ерекшеленуі мүмкін деген түсінікті білдіреді. Бұл мұра қалдырушы объектінің мұрагер-объектіге берілетін әдісінің алдын ала анықталу қасиетіне байланысты. Осындай жағдайларда мұра қалдырушы объектідегі және мұрагер-объектідегі бірдей әдіске жүгіну әр түрлі нәтижелер береді. Класикалық Pascal тілі программистке өзінің күрделі типті мәліметтерін – жазбаларды (records) анықтауға мүмкіндік береді. Delphi тілі объектілі-бағытталған программалау концепциясын қолдай отырып, класстарды анықтауға мүмкіншілік жасайды. Класс – құрамына мәліметтер сипаттамсымен қоса, класс өкілі – объектімен жұмыс жасайтын процедуралар мен функцияларды сипаттамасы кіретін күрделі құрлым.Класстың жалпы түрі:Tperson = class private fname: = string [15]; faddress: = string [35];public procedure Showend; Класс мәліметтері өрістер деп, ал процедуралар мен функциялар - әдістер деп аталады. Келтіріген мысалдағы Tperson – класс аты, fname және faddress - өріс аттары, ал Show - әдіс (метод) атауы.

ттТТТТТТТТТТТТТТТТТТТТТТТ

Таңдау операторы(С/С++).Swіtch (ауыстырып-қосқыш) таңдау операторы.Егер программада бірнеше нұсқадан тек біреуін таңдау керек болған кезде таңдау операторы қолданылады. Swіtch операторының жалпы түрі:Swіtch () case белгі1: операторлар; case белгі2: операторлар;default: операторлар;Өрнек және белгілер бүтін типті (char типін қосқанда) болуы керек; белгілер тұрақтылар немесе тұрақты өрнектер болуы керек. Алдымен домалақ жақшадағы өрнектер есептелінеді, сосын есептелінген өрнектің мәнін белгінің әр мәндерімен салыстырылады. Егер олар бірдей болса, сол белгідегі swіtch операторының соңына дейін операторларды орындау басталады.Break операторы swіtch операторынан шығуда қолданылады және басқару содан кейін тұрған операторға беріледі. Егер өрнектің мәні еш белгілермен сәйкес келмесе, онда swіtch операторындағы default белгісі тұрған жердегі операторлар орындалады. Егер default белгісі болмаса, онда swіtch опараторынан кейін тұрған операторға беріледі.Swіtch операторында нақты типті мәліметтерді, қатарларды және басқа құрылымды мәліметтерді қолдануға болмайды, бірақ бүтін мәндермен сәйкес келетін құрылымды мәліметтердің элементін қолдануға болады.Maіn(){ char ch;whіle ((ch=getchar())!=’#’){ swіtch (ch) { case f:case ‘F’: do_fіle_menu; break;case V: case ‘R’: run_program(); break; case ‘c’:case ‘C’: do_compіle(); break;default: Ex(); break;prіntf(“Әріпнемесе # егізіңіз”);

Тармақталу операторы(С/С++).Тармақталу командасының қысқа және толық нұсқалары бар. Олардың жазылу түрлері.if p then s // қысқа нұсқа if p then else s2 // толық нұсқамұндағы Р- шарт, S, S1, S2

Тұрақтылар түрлері және оның сипатталуы(С/С++)Тұрақты немесе константа деп программаның орындалу барысында мәндері өзгеріссіз қалатын шамаларды айтады. Тіл ережесі бойынша бірнеше констант типтері болады, мысалы, символдық, бүтін, нақты константтар, т.б.Айнымалылар деп программаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамаларды айтады. Әрбір айнымалы мен констант программа алдында сипат­талуы тиіс. Олардың компьютер жадында алатын орны типтеріне байланысты болады. Константтар мен айнымалылар идентификатормен белгіленеді.

Тізбе құрылымды типі(С/С++).Жазбалар – мәліметтер құрлымы, элемент аты арқылы анықталады. Жазба элементтері кез келген типті болуы мүмкін. Сондықтан жазбаны сипаттағанда әрбір элемент атын, және оның типін көрсету керек.Жазба келесі түрде сипатталады:Type жазба-типінің-аты=recordэлемент-аты: элемент-типі …end;Бұлар түрлі тіркелген элементтерді санын жинақтайды. Жазбаның әрбір элементінің жазба шегінде ерекше (уникальное) аты болады және ол өріс деп аталады.Жазбалар:тіркелген (фиксированные);вариантты;болып бөлінеді. Тіркелген (фиксированная) жазба - өрістер саны тіркелген. Тіркелген жазбалады сипаттау үшін Delphi-де келесі құрлым қолданылады:

фффффффффффффффффффффф

Файлдардың сипатталуы(Pascal).Файл – сыртқы сақтау құралында орналасқан, бір типтес элементтердің атауландырылған, реттелген тізбегі. Файлдармен жұмыс жасау үшін программистер файлдық айнымалыларды пайдаланады немесе логикалық файлдар.Файлдық айнымалы – дисктегі нақты файлға сәйкес келетін айнымалы. Бұл айнымалымен жүргізілген барлық операциялар дисктегі орналасқан файлғада жүргізіледі.Файлдар құрамындағы элементтерге байланысты түрлі типті болып келеді. Олар мәтіндік, типтелген, типсіз файлдар болып бөлінеді. Мәтіндік файлдар ұзындығы өзгермелі жолдардан тұрады. Мұндай файлдар TextFile сөзі арқылы сипатталады.Типтелген файлдар типі анықталған (көрсетілген) мәліметтерден тұратын файл. Мұндай файлдар File of typeData құрлымы арқылы сипатталады.Типсіз файлдар типі көрсетілмеген элементтерден тұруы мүмкін. Мұндай файлдар жай File сөзі арқылы анықталады.

Файлдармен жұмыс істеу (С). Си тіліндегі файлдармен жұмыс жасау.Жоспары:fgets()функциясы fread()функциясы fputs()функциясы fwrіte()функциясы Fseek() функцияс Файлдан ақпаратты оқу және оған ақпаратты жазу үшін оны стандартты кітапханалық функция fopen көмегімен ашу қажет. Программада fopen-ге бағытталу мына түрде болады:Fp=fopen(name, mode);

Формат тіркесінде мыналар болады:мәтін ретінде шығарылатын символдар тіркесі;түрлендіру спецификациялары;басқару символдары Әрбір аргументке өз спецификациясы сәйкес келуі тиіс, олар:%d – бүтін ондық сан шығарылуы тиіс,%i – бүтін ондық сан шығарылуы тиіс,%f – жылжымалы нүктелі нақты ондық сан ([-]dddd.dddd ) жазылып шығады,%e – жылжымалы нүктелі экспоненциалды сан ([-]d.ddddedd) шығарылады,%E – жоғарыдағы сияқты, тек е орнына Е ([-]d.ddddEdd) шығарылады,%c – бір символ шығарылуы тиіс%s – символдар тіркесі (қатары) шығарылуы тиіс,%g – нақты сан, сан ұзындығынақарай%e немесе %f қолданыла алады,%u – таңбасыз ондық бүтін сан жазылып шығады,%o – таңбасыз бүтін сегіздік сан шығады,%x – таңбасыз бүтін он алтылық сан шығады.\n – келесі жаңа жолға көшуді атқаратын басқару символы.Мысалы: %9i – бүтін сан ені 9 цифрдан тұрады, сан ені аз болса, оның сол жағында бос орындар орналасады.

Функция анықтамасы және оның сипатталуы (С/С++).Функцияанықтамасы. Функцияны баяндау сияқты оны анықтау кезінде де екі стильді қолдануға болады - классикалық және қазіргі.Функцияны анықтаудың классикалық форматы келесідей:Тип функция_аты (параметрлер аты) параметрлер анықтамасы;{ локалдық баяндау; операторлар; }қазіргі стиль баяндалу форматы функция атынан кейін тұратын жақша ішіндегі функция параметрлерінің анықталуын қарастырады.Тип функция_аты(парамақпар, парам_ақпар, ...);Бұндағы, параметр анықтамасы парам_ақпар - берілетін параметр (тип жәнеидентификатор) туралы ақпаратты сақтайды.Функция ішінде (maіn() басты функциясынан басқа) тұрған баяндаулар тізбегі (константалар, мәліметтер типі, айнымалылар) тек осы функция ішінде анықталады. Сондықтан Си тілі ішкі циклдерді қамтымайды, яғни бір функция басқа функцияның ішінде баянала алмайды.Функциялар программа ішінде әр түрлі ретте тұра береді және программаның барлық жеріне глобальды деп есептеледі, сосын қолданылмай тұрып баяндалған енгізілген функцияларды қосқанда да.Функцияны шақыру функция аты және жақша ішінде аргументтері бойынша жүзеге асырылады.

Функцияны құру және қолдану (С/С++).. Си тіліндегі функциялар. Жоспары:Функцияны құру және қолдану Функцияанықтамасы. Функцияныбаяндау: классикалықтүрі. Адрестіоперациялар.Си тілінде барлық программалар функция ретінде қарастырылады. Әдетте, бұл тілдегі программалар көптеген кішкене функциялардан тұрады. қолданылатын әр функция үшін функцияның баяндалуы мен анықтамасы келтіріледі. (Функцияны баяндау оның типі және параметрлердің жазылу реті туралы ақпаратты береді. Функцияны анықтау кезінде орындалатын нақты операторлар көрсетіледі) Функциялар типі нәтиже ретінде қайтаратын мәндердің типімен бірдей болуы қажет. Егер типі берілмесе, онда функция типі үндеместен іnt болады. Егер функция басқа тип болса, онда ол шақырушы программада және функцияның өзінің анықтамасында көрсетілуі керек.Функцияның баяндалуын қарастырайық: функцияны баяндаудың екі түрлі стилін (классикалық және қазіргі стиль) қолдануға болады. Бірінші жағдайда, функцияны баяндау форматы келесідей:Тип функция_аты ();Бұл спецификация функцияның атын және қайтаратын мәннің типін баяндайды.қазіргі стиль ANSІ ұсынған Си тілінің кеңейтілген түрлерінің конструкцияларында қолданылады. Бұл Си тілінің түрінде функцияны баяндау кезінде “функция прототипі” деп аталатын тілдің арнайы құралдары қолданылады. Оның прототипін қолданып функцияны баяндау кезінде параметрлері туралы қосымша ақпарат болады:Тип функция_аты(парам_ақпар1, парам_ақпар2, ...);Бұндағы парам_ақпар1 параметрі - формальды параметрлердің аты және типі туралы мәлімет.Функцияанықтамасы. Функцияны баяндау сияқты оны анықтау кезінде де екі стильді қолдануға болады - классикалық және қазіргі. Функцияны анықтаудың классикалық форматы келесідей:Тип функция_аты (параметрлер аты) параметрлер анықтамасы;{ локалдық баяндау; операторлар; }

Функцияның орындалу нәтижесі return операторы көмегімен қайтарылады. Жалпы түрі:Return (өрнек);Оператор функция жұмысын аяқтайды және басқаруды шақырған программадағы келесі операторға береді. Бұл return операторы функция денесінің соңғы операторы болмаса да, орындалады.Return операторын мына түрде қолдануға болады: return; return 0;

printf(“%3d”, n[i]); return 0; }Программаның нәтижесі:2 27 64 18 95 14 90 70 6 3Егер массивтің элементтеріне қарағанда инициалданатын мәндердің саны аз болса, онда қалған элементтер автоматты түрде нөлмен инициалданады. Мысалы, n массивтің элементтерін баяндау арқылы нөлдермен инициалдауға болады.int n[10]={0};мұнда бірінші элемент нөлмен инициалданады және қалған тоғыз элемент автоматты түрде нөлмен инициалданады. Егер массивтің инициалданатын мәндердің тізімімен баяндауында массивтің өлшемі кқрсетілмесе, онда массивтің элементтерінің саны инициалдау тізіміндегі элементтердің санына тең болады.

Программаның нәтижесі:2 27 64 18 95 14 90 70 6 3Егер массивтің элементтеріне қарағанда инициалданатын мәндердің саны аз болса, онда қалған элементтер автоматты түрде нөлмен инициалданады. Мысалы, n массивтің элементтерін баяндау арқылы нөлдермен инициалдауға болады.int n[10]={0};мұнда бірінші элемент нөлмен инициалданады және қалған тоғыз элемент автоматты түрде нөлмен инициалданады.

return (sum);}main(){ int i,s,b[10]={5,6,14,12,30,5,9,7,15,5}; clrscr(); s=f1(b,10); printf("s=%d",s); getch();}Негізгі программада f1 функциясын шақыру үшін нақты параметр­лерді жазып, функция келесі түрде шақырылып отыр:f1(b,10);Нұсқауыштарға қолданылатын операцияларСи тілінде нұсқауыш типті айнымалыларға бес негізгі оператор қолдануға болады:меншіктеу операциясы. Нұсқауышқа адресті меншіктеуге болады. Жиымның атын қолданып немесе адресті анықтайтын & операторын пайдаланып, әдетте адресті меншіктеуге болады;мәнді анықтау. Берілген адрес бойынша кейбір ұяшықта сақталатын мәнді анықтау үшін * операциясы қоланылады;нұсқауыштың адресін анықтау. Кез келген айнымалылар сияқты нұсқауыш типті айнымалылар мәні немесе адресі болуы мүмкін. & операциясы арқылы нұсқауыштың адресін анықтауға болады; нұсқауыштарды арттыру. Бұл амал әдеттегі + операциясы көмегімен немесе арттыру операциясы арқылы орындалуы мүмкін. Нұсқауышты арттырып, жиымның келесі элементіне өтуге болады (қажет болса, нұсқауыш мәнін кемітуге де болады); нұсқауыштардың айырмасы. Бір жиымның элементіне сілтейтін нұсқауыштың айырмасын табуға болады. Жиым элементінің арасындағы ара қашықтығын анықтау үшін нұсқауыштың айырма­сын есептеуге болады.

%9.3f – нақты сан ені 9 цифрдан тұрады, оның 3 таңбасы бөлшекке беріледі, сан ені аз болса, оның сол жағында бос орындар орналасады. Әрбір спецификация % символынан басталып, түрлендіру символымен аяқталады. Ол екеуінің ортасында мыналар тұруы мүмкін:- минус таңбасы, аргумент мәні сол жақ шетке ығыстырылып жазылады.- цифрлар, бүтін санның жалпы орналасу енін анықтайды. Сан осы енге немесе одан артық болып шығарылады. Егер аргумент ені көрсетілген еннен аз болса, онда ол бос орындармен толтырылып жазылады. - нүктеге дейін санның жалпы ені, нүктеден соң бөлшек сандар ені көрсетіледі.- L модификаторы, сәйкес аргумент мәні INT емес LONG екенін білдіреді.scanf()енгізу функциясы жоғарыда қарастырылған түрлендіру спецификация­сының көбін пайдаланады. scanf (<форматтіркесі>,<аргументтер тізімі>)Аргументтер ретінде адрес нұсқауыштары пайдаланылады. Мысалы:scanf("%d%f", &x,&y)Кейбір айырмашылықтарын атап өтейік.