Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Билет №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>
voidmain()
{
inttramvai;
printf(" Введите номер трамвая: ");
scanf(" %i", & tramvai);
switch (tramvai %100)
{
case 34: printf(" Сейфуллина Шевченко"); break;
case 7: printf(" Абая Байтурсынова"); break;
case 119: printf(" Жарокова"); break;
case 126: printf(" Толе би"); break;
case 37: printf(" Вокзал -1"); break;
case 18: printf(" Атакент"); break;
case 63: printf(" Алмагуль-2"); break;
case 30: printf(" Сейфуллина Гоголя"); break;
case 73: printf(" Саяхат"); break;
default: printf(" Введите номер трамвая");
}
printf(" \nВведите ENTER");
getch();
}

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.