Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Билет №33
1. Программалау теориясында кез келген кү рделі программаны 3 тү рлі қ ұ рылымнан қ ұ растыруғ а болатыны дә лелденген, олар: сызық тық, тармақ ты жә не циклдік қ ұ рылымдар. Осы 3-еуі қ ұ рылымдық программалаудың негізгі конструкциялары, яғ ни қ ұ раушылары болып саналады. Сызық тық қ ұ рылым бірінен кейін бірі орындалып тізбектеле орналасқ ан бірнеше операторлардан тұ рады. Берілген текст (source code)-программалау тіліндегі программа тесті. Объектілік код (object code)- машиналық тілдегі программа тесті, бір тексті компьютер орындай алмайды. Компановшик (Linker)-объектілік модульдерден тұ ратын орындалатын модуль жасайтын программа. Бұ л программа компиляцияланғ ан программа тексті мен стандартты кітапхана функцияларынан тұ ратын программа жасайды. Кітапхана (Lidrari)-компиляцияланғ ан тү рде сақ талатын, алдын-ала анық талынғ ан айнымалыларды мен тұ рақ тылары бар функциялар жиынтығ ы. Компиляция уақ ыты(compiler time)-программаны компиляциялауғ а кеткен уақ ыт. Компиляция кезінде синтактін қ ателер анық талады 2. Кө рсеткіш - бұ л айнымалы адресінен тұ ратын айнымалы. Кө рсеткіштер Си-де кең інен пайдаланылады, бір жағ ынан кейбір жағ дайларда да оларсыз мү мкін емес, ал бір жағ ынан программалар олармен қ ысқ а жә не тиімді қ ұ рылады. Белгілі тә ртіпті кө рсеткіштердің кө мегімен сақ тау кезінде тү сініктілікке пен қ арапайымдылық қ а жетуге болады. Келесі бірнеше жолдар * жә не & операторлары қ алай қ олданылатынын кө рсетеді. ip=& x; // кө рсеткішке х айнымалысының адресі меншіктелген ip - х-ті кө рсетеді y=*ip; // y енді 2-ге емес, 1-ге тең *ip=0; // х енді 0-ге тең ip=z; // ip - z (бастапқ ы) массивінің 0 –ші элементін кө рсетеді. ip = & z [5]; // ip - енді z массивтің 5 элементін кө рсетеді. Бұ дан кө рсеткіш айнымалысы декларацияның синтаксисі, бұ л айнымалы кездесуі мү мкін болатын " синтаксис” ө рнегіне бейімделеді. Кө рсетілген принципті функцияны сипаттау қ атынасында да қ олданамыз. Мысалы, double *dp, atof(char*) жазбасы *dp жә не atof (s) ө рнегі double типінен екендігін, ал atof функциясының аргументі char-дың кө рсеткіші (нақ ты тү рде, стрингті кө рсету) екенін білдіреді. Кө рсеткішке берілген типтің объектісіне ғ ана жіберілуіне рұ қ сат етілген. void-тың кө рсеткіші кез-келген типті объектіге сілтенуі мү мкін, бірақ мұ ндай кө рсеткішке сілтемені ашу операторын қ олдануғ а болмайды. Кө рсеткіштердің ө зі айнымалылар болғ андық тан, мә тінде олар сілтемені ашу операторынсыз да кездесуі мү мкін. Си-де функциялар ө зінің аргументтері ретінде параметрлер мә нін қ абылдайтын болғ андық тан, тікелей мү мкіншілік шақ ырылатын функцияда айнымалыны ө згертуге болмайды. Қ ажетті нә тижені алу ү шін, шақ ырылатын программада ө згертілуі тиісті мә нге кө рсеткіштерді беру қ ажет. Бұ л жағ дайда шақ ырылатын функция формальды параметрлердің кө рсеткіштер ретінде сипатталуы қ ажет, бұ дан параметрлердің мә ніне қ атынасу олар арқ ылы жанама тү рде жү ргізіледі. Формальды параметрлер – шақ ырылатын функцияда оның программасын шақ ыратын объектіге қ атынасуды жү зеге асыратын кө рсеткіштер жә не осы объектілерді ө згертуге мү мкіндік береді. Программада сұ рыптауды екі реттелмеген элементтердің орнын ауыстыратын swap функциясы арқ ылы орындалатынын қ арастырайық. Егер swap функциясы келесі тү рде анық талса: void swap (int x, int y) { int temp; temp=x; x=y; y=temp; } онда swap(a, b)-ны шақ ыру a мен b айнымалыларына ешқ андай ә сер етпейді, swap олардың мә ндерінің кө шірмесін ғ ана алады.Нә тижеге жету ү шін алмастырулар, swap функциясының формальды параметрлері кө рсеткіш ретінде сипатталуы керек, алфункцияны шақ ырудағ ы аргументтер, swap (& a, & b)-ның сә йкес параметрлерінің адрестерімен кө рсетілуі тиіс.. void swap (int *px, int *py) {int temp; temp=*px; *px=*py; *py=temp; } 3. Қ аланың телефонкодын енгіз. Қ аланың атын шығ ар.
include< stdio.h>
|