Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Билет №25. нұсқаулары екі а және b мәндерінің ең үлкенінің бірін z-ке жібереді.
1. Шартты ө рнектер if(a> b) z=a; elsez=b; нұ сқ аулары екі а жә не b мә ндерінің ең ү лкенінің бірін z-ке жібереді. Си-де тернарлық оператор “?: ” бар, ол осы жә не оғ ан ұ қ сас конструкцияларғ а жазбаның басқ а тә сілін кө рсетеді. z=(a> b)? a: b; // z=max(a, b) Шартты ө рнек шынымен де ө рнек болып табылады жә не оны ө рнек жіберілетін кез-келген жерде қ олдануғ а болады. Шартты ө рнек кө бінесе программаны қ ысқ артуғ а мү мкіндік береді. Мысал ретінде массивтің nэлементтері ә рбір жол бойынша 10-нан, бағ андар арасынан бір бос орыннан басып шығ аруды қ амтамасыз ететін циклді келтірейік: циклдің ә рбір жолы соң ғ ы жолды қ осқ анда жаң а жол литерімен аяқ талады. for (i=0; i< n; i+ +) printf (“%6d%c”, ar [i], (i%10= = 9¦¦i= = n-1)? ’\n’: ’ ‘); Жаң а жол литері ә рбір оныншыдан кейін жә не n–ші элементтен кейін жіберіледі. Қ алғ ан басқ а элементтерден кейін бос орын келеді. 2. Қ ұ рылым – бұ л айнымалылармен жұ мыс істеу ың ғ айлы болу ү шін бір атауғ а топтастырылғ ан бір немесе бірнеше айнымалылыр (ә р тү рлі болуы мү мкін). Қ ұ рылымдар кү рделі мә ліметтерді (ә сіресе ү лкен программаларда) ұ йымдастыруғ а кө мектеседі жә не ө зара байланысқ ан айнымалылар тобын жиынның жеке элементіндей емес, бір тұ тас ретінде тү сіндіреді. Қ ұ рлымның кең таралғ ан мысалы – тө лемдік ведомостардың жолдары. Ол ведомост қ ызметкерлердің толық аты, адресі, социалды сақ тандыру карточкаларының нө мері, ең бек ақ ысы жә не т.б. мә ліметтерден тұ рады. Осы мінездемелердің кейбіреуінің ө зі қ ұ рылым болуы мү мкін: мысалы, толық ат, сол сияқ ты адресі жә не ең бек ақ ының ө зі бірнеше компоненттерден тұ рады. Си ү шін басқ а ә деттегі, мысалы график аймағ ынан: нү кте координаттар жұ бы, тікбұ рыш нү ктелер жұ бы жә не т.б. болып табылады. Қ ұ рылымдар кө шірілуі мү мкін, олармен меншіктеу операциялары орындалуы мү мкін, оларды функцияғ а аргументтер ретінде беруге болады жә не ол функцияны олардың нә тижелері ретінде қ айтаруғ а болады. Автоматты қ ұ рылым мен массивтер ү шін сол сияқ ты инициализация рұ қ сат етіледі. «Нү кте» қ ұ рлымының декларациясы келесі тү рде болады: structpoint { intx; \\ декларация тізімі фигуралы жақ шада inty; }; point – бұ л қ ұ рылым тегі (аты) (tag – ярлык, этикетка). Тег берілген тү рдегі қ ұ рлымның атын береді жә не ә рі қ арай фигуралы жақ шамен аяқ талғ ан декларацияның қ ысқ аша белгіленуі ретінде қ ызмет атқ арады. Қ ұ рылымда тізілген айнымалылар мү шелер деп аталады. Тегтер мен мү шелердің аттары программаның кә дімгі айнымалыларының аттармен сә йкес келуі мү мкін. Мү шелердің аттары ә ртү рлі қ ұ рлымдарда кездесуі мү мкін.. Қ ұ рлым декларациясы – бұ л тип. struct {…}x, y, z; жазбасы қ ұ рлымдық типтің ү ш айнымалыларының сипаттамасын білдіреді. Айнымалылар тізімінен тұ рмайтын қ ұ рылым декларациясы жадыны резервке алмайды: ол тек шаблонды немесе қ ұ рылым ү лгісін сипаттайды. Егер қ ұ рылымның тегі болмаса, онда осы тегтерді объектілерді анық тауда қ олдануғ а болады. Мысалы, struct point pt; декларациясы struct point типті pt қ ұ рылымдық айнымалыны анық тайды.Автоматты қ ұ рылымдарды (auto жады класының қ ұ рлымы) сә йкес келетін типтегі қ ұ рылым тү рінде нә тижені қ айтаратын меншіктеумен немесе функцияғ а айналдырумен инициализациялауғ а болады. Қ ұ рылымдарғ а орындалатын операциялар – бұ л оларды кө шіру, меншіктеу, & операторының кө мегімен аталатын адрес жә не олардың мү шелеріне қ атысудың жү зеге асырылуы. Қ ұ рылымды функцияғ а аргумент ретінде беру жә не оларды нә тиже тү рінде функциялардан қ айтару. Сондай-ақ кө шіру жә не меншіктеу операцияларына жатады. Қ ұ рылымдарды салыстыруғ а болмайды. Қ ұ рылымдық объектілерді функцияғ а берудің ү ш тә сілі бар: компоненттерді (мү шелерді) жеке беру; барлық қ ұ рылымдарды тү гелдей беру; кө рсеткішті қ ұ рылымғ а беру. Егер функцияғ а, оны тү гелдей кө шіретін ү лкен қ ұ рылым берілсе, кө рсеткішті оғ ан беру тиімдірек.
3. Тікбұ рышты -ң катеті мен доғ ай бұ рышы белгілі болса, оның периметрі мен ауданын есепте.
#include < stdio.h> #include < math.h> main() { floata, b, c, p, s; clrscr(); 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\n", s); }
|