Здавалка
Главная | Обратная связь

Стандартты функциялар.



5. Программаны құру технологиясы.

6. Енгізу, шығару операторлары

 

Кілттік сөздер:қызметші сөздер, тұрақтылар, түсініктемелер.

Иллюстрациялық материал:слайд, электрондық оқулық – Алдабергенова А.О. С++ тілінде программалу негіздері

 

Амалдар белгісі-операндаларға қолданылатын әрекеттерді анықтайтын бір немесе бірнеше символдар. Амалдар белгілері арасында бос орын қойылмайды. Амалдар ондағы операндалар санына қарай унарлы (бір операнда), бинарлы (екі операнда) және тернарлы (үш операнда) болып бөлінеді.

С++ тілінің негізгі амалдары

Амалдар Қысқаша сипаттама
Унарлы амалдар
++ -- sizeof ~ (тильда) ! - + & * new delete (type) 1-ге арттыру 1-ге кеміту өлшем разряд бойынша терістеу логикалық терістеу арифметикалық терістеу(унарлы минус) унарлы плюс адресті алу адресті алып тастау жадыны белгілеу(жадыны бөлу) жадыны тазарту немесе босату типті түрлендіру
Бинарлы және тернарлы амалдар
* / % + - << >> < <= > >= = = != & ^   | && || ?: = *= /= %= += -= <<= >>=   &= |= ^= , көбейту бөлу бөлуден қалған қалдық қосу алу солға жылжыту оңға жылжыту кіші кіші не тең үлкен үлкен не тең тең тең емес разряд бойынша канионсы (және) разряд бойынша теріске шығару (немесе) разряд бойынша дизнюкция логикалық ЖӘНЕ логикалық НЕМЕСЕ шартты амал(тернарлы) меншіктеу көбейтіп алып меншіктеу бөліп алып меншіктеу бөлуден қалған қалдықты меншіктеу қосып алып меншіктеу шегеріп алып меншіктеу солға қарай жылжытып меншіктеу оңға қарай жылжытып алып меншіктеу разряд бойынша ЖӘНЕ меншіктеу разряд бойынша НЕМЕСЕменшіктеу разряд бойынша терістеу меншіктеумен тізбек бойынша есептеу  

 

Тұрақтылардеп өзгермейтін шамаларды айтады.Тұрақтылар бүтін, нақты, символдық және жолдық болады.

С++ тілінің тұрақтылары

Тұрақты Формат Мысал
Бүтін Ондық: ондық цифрлар тізбегі. Бұл тізбек 0 цифрынан тек қана санымыз нолге тең болған кезде ғана басталады.(0..9) Сегіздік:нолден кейін сегіздік цифрлар орналасады(0..7) Оналтылық: Ох немесе ОХ кейін оналтылық цифрлар(0..9,A,B,C,D,E.F) 5,4,3,0,1985     012,05,071,т.б.   OxA, Ox1B8, OXOOFF
Нақты ондық: [цифр].[цифр] экспоненциалды:[цифр][.][цифрлар]{Е:е}[+:][цифрлар] 1,3000000000Е-02 1,3000000000* 102= 0,013
Символдық Апострфқа (‘) алынған бір немесе екі символдар ‘A’,’LO’,’*’, ’Lb’, ’\0’,’\n’,’1012’ т.б
Жолдық Тырнақшаға алынған символдар тізбегі “Бұл 35-ші группа”, “Мен студентпін” т. Б

 

Бір символдан тұратын символдық тұрақты жадыдан бір байт орын алады және оның типі char болады.Ал, екі символдық тұрақты жадыдан екі байт орын алады типі int болады.

Қисық сызық (\) символы графикалық бейнесі жоқ кодтарды бейнелеу үшін пайдаланылады.Мысалы,

\n- кусорды келесі жолдың басына орналастырады;

\а- дыбыстық сигнал;

Апострф (‘) , кері сызық(\), сұрақ белгісі(?) тырнақшаларды белгілеу үшін қажет. Кері қисық сызықтан басталатын символдар тізбегін басқарушы тізбектер деп аталады.

С++ тілінің басқарушы тізбектері

Бейнеленуі Оналтылық коды Аты
\а \b \f \n \r \t \v \\ \’ \’’ \? \oddd \OXddd C a D B 5C 3F - ddd   Дыбыстық сигнал Бір қадам қайту Бетті ауыстыру Жолды ауыстыру Каретканы қайтару Көлденең табуляция Тік табуляция Кері қисық сызық Апострф Тырнақша Сұрақ белгісі Символдың сегіздік коды Символдық оналтылы коды

Түсініктеме (комментарий)

Коментарий //- символынан басталып жазылады немесе /* және */ символдарының арасына жазылады. Түсініктеме үшін //- символын, ал

/* ...*/ символын программаны жөндеу барысында блоктарды уақытша ала тұруда пайдалануды ұсынады.

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

double sqrt(double x);

Функцияға қажетті мағлұматтардың негізгілері:

1. егер функция мәнді қайтармау керек болса, онда voidтипі көрсетіледі.

2. функция денесі блок болып табылады және фигуралы жақшаға алынып жазылады.

3. әрбір оператор нүктелі үтірмен (;)аяқталады (құрама оператордан басқасы).

Программаның жалпы жазылу құрылымы:

Препроцессордың дерективалары

int main( ) {

айнымалыларды сипаттау;

[Операторлар тізбегі];

return 0;

}

Программа бірнеше модульден тұруы мүмкін. Си тіліндегі енгізу- шығарудың негізгі функциялары:

-scanf(const char*fmt[,par1,par2,…,parn])- параметрлер жолын белгілі бір форматта енгізу.

-printf(const char*fmt…)-параметрлер жолын белгілі бір форматта шығару.

Си тілінде енгізу- шығару функциялардың пайдалану мысалы:

#include<stdio.h>

int main ( ) {

int i;

printf(“Бүтін сан енгіз\n”);

scanf (“%d”,&i);

printf(“сіз” %d санын енгіздіңіз”);

return 0;

}

 

Бұл программаның бірінші жолы препроцессордың директивасы. Оның көмегімен программаның текстіне еңгізу- шығару функциясының сипаттамасынан тұратын <stdio.h> тақырыптық файлы қойылады.Үшінші жолда бүтін типті і айнымалысы сипатталған. printf функциясы экранға «бүтін сан енгіз» сөздерін шығарады. Ал \n курсорды келесі жолға түсіреді. scanf функциясы клавиатурадан енгізілген бүтін санды і айнымалысына меншіктейді, & белгісі адресті алу операциясын білдіреді.

Стандартты математикалық функциялар

Math.h тақырып файлында стандартты математикалық функциялардың анықтаулары берілген, оларды программа құру кезінде дұрыс жаза білу керек (Қ1.1-кестені қ.).

Қ1.1-кесте

Функция прототипі Қайтаратын мәні
double acos (double x) arccos x
double asin (double x) arcsin x
double atan (double x) arctg x
double atan2 (double x, double y) arctg (y/x)
double ceil (double x) «жоғары» қарай дөңгелектеу
double cos (double x) cos x
double cosh (double x) ch x
double exp (double x) ex
double fabs (double x) |x|
double floor (double x) «төмен» қарай дөңгелектеу
double log (double x) ln x
double log10 (double x) lg x
max (a,b) максимум (a,b) типі үлкен аргумент типімен бірдей болады
min (a,b) минимум (a,b) типі кіші аргумент типімен бірдей болады
double pow (double x, double y) xy
double pow10 (int p) 10p
double sin (double x) sin x
double sinh (double x) sh x
double sqrt (double x) x-тің квадрат түбірі
double tan (double x) tg x
double tanh (double x) th x
double hypot (double x, double y) x22 квадрат түбірі
double poly (double x, int n, double *a) полином мәні
double l dexp (double x, int n) x*2n

 

Бұл кестедегі max және min функцияларының прототиптері, негізінде, функция емес, өздеріне сәйкес макроанықтаулар түрінде stdlib.h тақырып файлында берілген.

Аргуменнтері типі де, өз типі де double болып келген функциялардың long double типіндегі аналогтары бар. Олардың аттары жоғарғы кестеде көрсетілген функция аттарынан l әрпін қосу арқылы алынады, мысалы, (fabs, fabsl), (acos, acosl), т.с.с.

Ceil (x) және floor (x) функцияларының айырмашылығы – алғашқы берілген нақты санды жоғарғы жақтағы бүтін санға, ал екіншісі – төменгі жақтағы бүтін санға қарай дөңгелектейді. Екі функция да double форматындағы бүтін санды қайтаратынын есте сақтаған жөн. Мысалы:

ceil (0.1) =1.0 floor (0.1) =0.0

ceil (0.5) =1.0 floor (0.5) =0.0

ceil (0.9) =1.0 floor (0.9) =0.0

ceil (-0.9) =0.0 floor (-0.9) =-1.0

ceil (-0.5) =0.0 floor (-0.5) =-1.0

ceil (-0.1) =0.0 floor (-0.1) =-1.0

көбінесе программалаушылар дөңгелектеу үшін floor (х+0.5) функциясын пайдаланады. Бірақ ол кезде математикадағы ұғымнан алшақ кетіп жатады, мысалы,

floor (-0.5+0.5) =0.

Әрине, С/С++ тілдерінде Паскаль тіліндегідей round функциясының баламасы жоқ, дегенмен ондай функцияны қолдан жасап алуға да болады:

int round (double x)

{ int res;

res=(x<0)? X-0.5:x+0.5;

return res;

}

Егер нақты санның бірнеше бөлшек таңбаларын (k) алып дөңгелектеу керек болса, онда ол санды 10k-ға көбейтіп алып, бүтін санға дейін дөңгелектеп, қайтадан 10k-ға бөлу керек.

Math.h тақырып файлында стандартты константалардың да анықтаулары берілген, оларды да программа құру кезінде дұрыс жазып пайдалана білу керек (Қ1.2-кестені қ.).

Қ1.2-кесте

Константа Мәні Константа Мәні
M_PI M_E E=2.71828…
M_PI_2 /2 M_LOG2E Log2e
M_PI_4 /4 M_LOG10E Loge
M_2_ PI 2/ M_LN2 Ln 2
M_1_SQRTPI 1/ M_LN10 Ln 10
M_2_SQRTPI 2/ M_SQRT2 =1.414…
    M_SQRT_2 /2

 

3-дәріс

Тақырып. С++ мәліметтердің типтері. Қолданушымен анықталатын типтер.

Жоспар:

1. Негізгі мәліметтер типтері

2. Қолданушымен анықталатын типтер.

Кілттік сөздер:жалпы және дербес айнымалылар, тип модификаторлары

Иллюстрациялық материал:электрондық оқулық – Алдабергенова А.О. С++ тілінде программалу негіздері

 

С++ тілінің барлық типтері негізгіжәнеқұрамаболып екіге бөлінеді.С++ тілінің мәліметтердің негізгі алты типі анықталған. Олар: бүтін; нақты; символдық және логикалық шамаларды бейнелейді. Осы типтердің негізінде программалаушы құрама типтердің сипаттамасын енгізуіне болады. Оларға массивтер, функциялар, құрылымдар, сілтемелер, көрсеткіштер, біріктірулер және кластар жатады.

Негізгі мәліметтер типтерін арифметикалық деп атайды. Себебі оларда арифметикалық операцияларды пайдалануға болады. Бұл типтерді сипаттау үшін келесі қызметші сөздер пайдаланылады:

- int (бүтін);

- char (символдық);

- wchar (кеңейтілген символдық);

- bool (логикалық);

- float (нақты);

- double (екілік дәлдіктегі нақты тип).

Мұнда алғашқы төртеуін бүтін сандық типтер,соңғы екеуін жылжымалы нүктелі типтер деп атайды.

Стандартты типтердің мәндерінің диапазонын анықтайтын типтердің төрт спецификаторы бар. Олар:

-short- қысқа;

-long – ұзын;

-signed - белгімен (немесе таңбамен);

-unsigned - белгісіз (немесе таңбасыз).

-int типінің өлшемі стандартпен анықталмайды, бірақ компьютерден және компилятордан тәуелді болады. 16 разрядты процессор үшін бұл типтің өлшеміне екі байт, ал 32 разрядты процессор үшін төрт байт қалдырылады.

-short спецификаторы тип атының алдында компиляторға санға процессорге тәуелсіз екі байт қалдыру керектігін нұсқайды.

-long спецификаторы бүтін шама төрт байт орын алатындығын білдіреді. Сондықтан оналтылық разрядтағы компьютерге int және short int типтері, ал 32 разрядты компьютерде int және long int типтері пайдаланылады.

-char (символдық тип) бұл бір байт орын алады. Char типі басқа бүтін типтер сияқты таңбалы және таңбасыз болуы мүмкін. Таңбалы шамаларда мәндерді -128-ден +127-ге дейінгі диапозонда сақтауға болады.

-unsigned спецификаторын пайдаланғанда мәндер 255-ке дейінгі аралықта болуы мүмкін.

-wchar_t кеңейтілген тип. Кодтау үшін бір байт орын жеткіліксіз болғандықтан символдар жиынымен жұмыс жасауға арналған. wchar_t жолдық тұрақты L префиксімен жазылады. Мысалы, L “Games”

-bool (логикалық тип) бұл 0 және 1 мәндерін қабылдайды. Ол true (ақиқат), false (жалған) болады.

-float (жылжымалы нүктелі типтер) -3,4е-38...3,4е+38 4 байт орын алады, double -1,7е-308...1,7е+308 сегіз байт орын алады, longdouble -3,4е-4932...3,4е+4932 он байт орын алады.

С++ тілі программистке өзінің мәліметер типін және олармен жұмыс жасауға ережелерін анықтауға мүмкіндік береді. Оларды қолданушылармен анықталатын типтер деп аталады. Қолданушымен анықталатын типтерді си қызметші сөзінің көмегімен анықтаймыз.

тypedef жаңа ат [өлшем];

 

4-дәріс

Тақырып. Айнымалылар және өрнектер.

Жоспар:

1. Жергілікті және ауқымды айнымалылар.

2. Өрнектердегі типтерді түрлендіру. Типтерді келтіру.

Кілттік сөздер:Жергілікті және ауқымды айнымалылар,жады класы, өрнектер.

Иллюстрациялық материал:слайд, электрондық оқулық – Алдабергенова А.О. С++ тілінде программалу негіздері

Айнымалылар дегеніміз белгілі бір типтегі мәліметтер сақталатын жадының аты бар аймағы.

Айнымалының аты және мәні болады.Айнымалының аты мәндер сақталатын жадының аймағына бару үшін қызмет етеді. Программаның орындалуы барысында айнымалының мәндерін өзгертуге болады. Пайдаланбас бұрын кез келген айнымалыны алдын- ала сипаттап алу қажет. Мысалы, float z,y; int x;

Айнымалыларды сипаттау операторының жалпы түрі:

[жады класы][ const]тип аты [инициализатор]

Осы оператордың құрама бөліктерінің берілу ережелері қарастырайық.

-Міндетті емес жады класы мына мәндердің бірін қабылдауы мүмкін: auto, extern, staticжәнеregister.

-сonstмодификаторы айнымалының мәнін өзгертуге болмайтындығын көрсетеді.Бұндай айнымалыларды аталған тұрақтылар немесе жай ғана тұрақтылардеп атаймыз.

-Сипаттау барысында айнымалыларға бастапқы мәнін меншіктеп қоюға болады, оны инициализация деп атайды.

Инициализаторды екі формада жазуға болады:

1. =мән //теңдік белгісімен

2. (мән) //жақшаның ішіне

Тұрақтыларды сипаттау барысында инициализациялау керек. Бір операторда бір типті айнымалылардың бірнешеуін үтір арқылы ажыратып отырып сипаттауға болады. Егер инициализацияланған мәннің типі айнымалы типіне сәйкес келмесе, онда анықталынған ереже бойынша типтердің түрлендіруі жүргізіледі. Айнымалыларды сипаттау оның әрекет ету облысын береді. Жады класы және әрекет ету облысы сонымен қатар оның программа текстінің орналасу орнынан тәуелді.

Идентификатордың әрекет ету облысы программа бөлігі болып табылады. Оны өзімен байланысты жады облысына өту үшін пайдаланады. Әрекет ету облысына байланысты айнымалы жалпы (ауқымды) және дербес (жергілікті) болуы мүмкін. Егер айнымалы блок ішінде (фигуралы жақшамен қоршалынған) анықталынса жергілікті деп аталады.Ал оның әрекет ету облысы сипаттау нүктесінен бастап блок соңына дейін (ішкі блоктарда кіреді). Егер айнымалы кез келген блок сыртында анықталынса, онда ол ауқымды деп аталады.Ал әрекет ету облысы ол анықталынған файл болып табылады (сипаттау нүктесінен бастап, файл соңына дейін).

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

Идентификатордың көріну облысы ол жерден жады облысының идентификаторымен байланысты жеріне өтуге болатын программа бөлігі. Көп жағдайда көріну облысы әрекет ету облысымен сәйкес келеді.

Жады класын беру үшін келесі спецификаторлар пайдыланылады:

1. auto – бұл автоматты айнымалы. Бұған жады стекта бөлінеді және қажет болса оны анықтаудан тұратын операторда орындағанда әрбір уақытта инициализацияланады. Ал, жадының босауы айнымалы сипатталынған блоктан шыққан уақытта жүргізіледі. Қызмет ету уақыты дегеніміз сипаттау кезінен бастап блок соңына дейін. Жалпы (ауқымды) айнымалылар үшін бұл спецификатор пайдаланылмайды, ал дербес (жергілікті) айнымалы үшін келісім бойынша пайдаланылады. Сондықтан оны нақты түрде берудің қажеті де жоқ.

2. extern –бұл айнымалы программаның басқа жерінде анықталғандығын білдіреді.

3. static –бұл статикалық айнымалы. Қызмет ету уақыты әр кезде (үнемі) операторды алғаш орындаған кезде бір рет инициализацияланады. Статикалық айнымалылар сипаттау операторының орналасуына байланысты жалпы және дербес болады.Жалпы статикалық айнымалылар өздері сипатталған модульде ғана көрінеді.

4. register – бұл auto- ға ұқсас бірақ жады мүмкіндігінше процессор регистрларында бөлінеді. Ал, егер мұндай мүмкіндік компиляторда болмаса, онда айнымалы auto спецификаторы сияқты өңделеді.

5-дәріс

Тақырып. Тармақталу операторлары.

Жоспар:

Іf операторы







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.