Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Билет №23. нұсқаулары екі а және 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. Функция – нақ ты есептерді шешуге арналып қ ұ рылғ ан программаның ө зіндік бірлігі. Си тіліндегі функция басқ а тілдердегі ішкі программа мен процедуралардың атқ аратын қ ызметін атқ арады. Функцияны пайдаланғ ан ың ғ айлы, мысалы, егер программаның бір жә не сол кодын ө ң деу қ ажет болса. Айнымалылар сияқ ты функцияны да жариялау керек. Функцияны оны пайдаланғ анғ а дейін жариялау қ ажет. Си тіліндегі ә р функция ат пен аргументтер тізіміне ие. Функциялар эффектілі жә не қ олданғ анда жең іл болу керек. Ә детте бұ л программалар бұ л тілде аздағ ан функциялар ұ лкен сандардан тә рады. Программа бір немесе бірнеше файлдардан табылады. Файлдарды бұ лек хабарлауғ а жә не бірге жү ктеуге болады. Функциялар ішкі басқ а функцияларды анық тай алмайды. Си программистке программаның қ ә рылымын анық тауғ а ұ лкен мү мкіндіктер береді. Программаның сапасы оның барлық программаларды логикалық негізделген функциялардың жақ сы негізделген интерфейстермен жә не программаның тексті жақ сы қ ә жаттауы программистің білгірлігіне байланысты. Функциялар – бұ л Си-дің берік қ ә растырылуы, алғ а қ ойылғ ан есептерімен немесе олардың бұ ліктерінің шешімдерімен байланысты. Функция – программаның ө з бетімен істелген бірлігі. Есептердің анық талғ ан кластарын шешу ү шін функцияларды бұ лек файлғ а бұ луге болады. Бұ л файл пайдалану кітапханасын ә сынады. Функциялар кітапханасы: ә ртү рлі программистерге бір жә не сол функцияларды қ олдануғ а; программаның қ ә рылымы мен кө рнектілігін жоғ арылату; қ олданатын программаларды ү йренуге жә не тү зетуге, оқ уын жең ілдетуге рә қ сат етеді. Си тіліндегі кез-келген программа main операторымен бас функцияларды жә не басқ а функциялардың кез-келген санын ә стайды. Функция кейбір есептеулерді ың ғ айлы тә сілмен жеке безендіруге жә не оларды ә рі қ арай оның қ алай жұ мыс істейтінін қ амқ орлық қ а алмай-ақ, қ олдануды қ амтамасыз етеді. Си-де функцияны қ олдану механизмі ың ғ айлы, жең іл, тиімді жә не мақ саты – анық, тү сінікті тү рдегі программаны алу. Кез-келген функцияны анық тау келесі тү рде болады: функция_аты нә тижесінің _типі (формальды_параметрлер_тізімі) { декларация инструкция } Функцияны анық таудан басқ а, форматы келесі тү рде болатын функция прототипі тү сінігі бар. функция_аты нә тижесінің _типі (формальды_параметрлер_тізімі)
3. А массивэлементтерінің геометриялық ортасын табу #include < conio.h> #include < stdio.h> #include < stdlib.h> #include < math.h> #define n 15 main () { int a[n], i; printf(" \nЭлементымассива: "); for(i=0; i< n; i++) {a[i] = rand() % 50; printf(" %i", a[i]); } // определение произведения и кол-ва пол.эл-тов i=0; // начальный индекс = 0 float p=1.0; // произведение положит.эл-тов int k=0; // кол-во положит.эл-тов do { if (a[i]> 0) { k++; p*=a[i]; } i++; } while (i< n); printf(" \nкол-вополэл-тов: %d\n", k); p=pow(p, 1.0/k); printf(" cpгеом = %f", p); getch(); }
|