Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_Programmalau.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
330.92 Кб
Скачать

18.Класс және оның құрылымы (Pascal).

Класикалық Pascal тілі программистке өзінің күрделі типті мәліметтерін – жазбаларды (records) анықтауға мүмкіндік береді. Delphi тілі объектілі-бағытталған программалау концепциясын қолдай отырып, класстарды анықтауға мүмкіншілік жасайды. Класс – құрамына мәліметтер сипаттамсымен қоса, класс өкілі – объектімен жұмыс жасайтын процедуралар мен функцияларды сипаттамасы кіретін күрделі құрлым. Класстың жалпы түрі:

Tperson = class

private

fname: = string [15];

faddress: = string [35];

public

procedure Show;

end;

Класс мәліметтері өрістер деп, ал процедуралар мен функциялар - әдістер деп аталады. Келтіріген мысалдағы Tperson – класс аты, fname және faddress - өріс аттары, ал Show - әдіс (метод) атауы.

Өріс объектідегі мәліметтерді сақтау үшін қажет. Өрістің сипатталуы жай айнымалының сипатталуынан айырмашылығы жоқ және кез келген типті бола алады. Өрісті сипаттаудың мысалын келтірейік:

type Tnumber = class

Fint: Integer;

end;

Келтірілген мысалдағы Tnumber классында бүтін типті жаңа өріс Fint құрылады. Құрастырушылардың өз ара келісуімен өріс аттары F әріпінен басталуы керек (ағылшынша Field – өріс деген сөзден шыққан).

Қасиеттер өрістер сияқты объектілер атрибуттарын анықтайды. Бірақ өрістерден айырмашылығы қасиеттер объект өрісіндегі мәліметтерді оқуды немесе өзгертуді қамту (доступ) механизімін жүзеге асырады.

Қасиеттер объект атрибуттарын, сонымен қатар есептелінетін мәндердіде өзгертуге мүмкіндік береді. Объект қасиетін сипаттауда оның аты, типі сонымен қатар сол қасиетті жар салудың кем дегенде бір қамту тәсілін көрсету керек. Объект қасиетін сипаттау синтаксисы келесі түрде болады:

property қасиет атауы: сипаттау типі;

Мысалдағы қасиет атауы ерекше болуы керек. Ал тип берілген қасиетке қандай типті мәліметтер жазылуы керектігін анықтайды. Сипаттау – сол қасиетті қамту амалын сипаттауды білдіреді.

Объектінің кез келген қасиетінде қасиетті қамтудың кем дегенде бір міндетті тәсілі болу керек. Объект қасиетін қамтудың екі міндетті сипаттауы бар: қасиет мәнін оқу (read) және қасиет мәнін жазу (write). Міндетті сипаттау синтаксисы - read және write келесі түрде көрсетіледі:

read өріс немесе әдіс

write өріс немесе әдіс

Мұндағы өріс немесе әдіс – құраушы (компанент) қасиетінің мәні алатын немесе оған енгізетін өріс немесе әдіс. Read сипаттамасы құраушы қасиетінің мәнін оқуға, ал write сипаттамасы жазуға арналған өрісті немесе әдісті жар салады.

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

Келесі суретте Си программасының жалпы құрылымы көрсеті

Сонымен, Си программасы бірнеше функциялардан (main, f1, f2…) құралады және олардың біреуі міндетті түрде main() болуы қажет.

Қарапайым программаның мысалын қарастырайық. Жалпы кез кел­ген функция оның тақырыбы мен денесінен тұрады.

Алдымен программа препроцессор арқылы өңделіп, оның директивала­рын (командаларын) орындайды. Мұнда программаға тақырыптық файлдар – программаға қосымша элементтер енгізетін мәтіндік файлдар жазылады. Олар мәліметтерді енгізу/шығару операцияларын немесе экран сипаттамала­рын өзгерту үшін қажет.

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

Функция тұлғасы операторлардан тұрады, олар жүйелі жақша­лар­мен шек­теледі. Әрбір оператордан кейін ; таңбасы қойылады.

Енді бір программа мысалын келтірейік:

/* Герон формуласы арқылы үшбұрыш ауданын табу  */

#include <stdio.h>/* енгізу/шығару директивасы */

#include <math.h>/* математикалық функциялар директивасы */

main() /* басты функцияны қолдану */

{

int a,b,c; /* бүтін айнымалыларды сипаттау */

float p,s; /* нақты айнымалыларды сипаттау */

printf("\n‚ үшбұрыш қабырғаларын енгіз : \n");

scanf("%f%f%f",&a,&b,&c);

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("s=%f",s);

}

Программадатүсініктемелерберуүшін /* және */ таңбаларықолда­ны­лады, олардыңішінеқазақша, орысша, ағылшыншасөзтіркестерінжазуғаболады.

Препроцессор директивалары #include сөзінен кейін жазылады,

stdio.h тіркесі енгізу/шығару операциялары орындалатынын білдіреді. Ал math.h сөз тіркесі программада математикалық функциялар пайдаланыла­тынын көрсетеді (сурет).

Басты функция main() аргументсіз жазылған, сол себепті жақша ішін­де ешнәрсе көрсетілмеген. Ал функция тұлғасы операторлардан (немесе басқа функциялардан) тұруы тиіс. Int түйінді сөзі a,b,c айнымалыларының бүтін мән қабылдайтынын, float түйінді сөзі p,s айнымалыларының нақты мән қабылдайтынын сипаттап тұр.

Келесі жол үшбұрыш қабырғаларын енгізуді талап ететін сөз тіркестерін экранға шығарады, мұндағы \n таңбалары сөз тіркесі алдында және одан кейін курсор бір жол төмен түсетінін көрсетеді. Scanf сөзінен басталатын жол a,b,c мәндерін пернелерден қабылдайды, сонан кейін жарты периметр есептеліп, аудан мәні анықталады да, соңғы нәтиже экранға шығарылады

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]