Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операциялар приоритеттері

Меншіктеу оперциялары.

Атынас операциялары.

< кіші

<= кіші немесе тең

> үлкен

>= үлкен немесе тең

== тең

!= тең емес

Қатынас операцияларының нәтижесі бүтін сан, егер қатынас ақиқат болса – 1, жалған болса – 0 болмақ.

Мысалы: a<0, 101>=105, ‘a’==’A’

‘a’!=’A’

а-ға байланысты

Меншіктеу операциясының таңбасы “=”. Меншіктеу ең төменгі приоритетті операция.

Си тілінде басқа операциялармен бірігіп қолданылатын қосымша меншіктеу операциялары бар:

+=, -=, /=, %=, *=.

Бұлардың приоритеттері қарапайым меншіктеу операцияларына ұқсас. Мысалы: эквивалентті

A+=2 → a=a+2

x-=a+b → x=x-(a+b)

p/=10 → p=p/10

m*=n → m=m*n

r%=5 → r=r%5

Типті анық түрлендіру операциясы («тип» операциясы)

Форматы: (тип_аты) операнда

Операнда – тұрақты, айнымалы, өрнек болуы мүмкін. Нәтижесінде операнда мәні көрсетілген типке түрленеді. Мысалы:

(long) &, (float)1, (int)x % 2 – алдымен х бүтін типке келтіріледі, сонан соң модуль бойынша бөлінеді.

«Тип» операциясының приоритеті қарапайым бөлуден жоғары.

Мысалы:

Float C;

Int a=1, b=2;

C= (float) a/b;

Типті түрлендіруге мысал нәтижесінде с айнымалысы 0,5-ке тең, түрлендірусіз оның мәні 0-ге тең болар еді.

Sizeof операциясы. Екі түрлі жазылу формасы бар:

Sizeof (тип) және Sizeof (өрнек).

Операция нәтижесі жадыдан орын алған байттың санына тең (немесе өрнекті есептеу нәтижесінде алынған шама)

Sizeof операциясының приоритеті бинарлық арифметикалық операциялар, логикалық операциялар, қатынастардан жоғары.

Операцияны қолдануға мысалдар:

Sizeof (int) нәтиже - 2

Sizeof (1) нәтиже - 2

Sizeof (0.1) нәтиже - 8

Sizeof (1L) нәтиже - 4

Sizeof (char) нәтиже - 1

Sizeof (‘a’) нәтиже - 2

«Үтір» операциясы. Бұл операция бірнеше өрнекті біреуіне байланыстыру үшін қолданылады. Үтір арқылы бөлінген бірнеше өрнектер солдан оңға қарай біртіндеп есептеледі. Мұндай өрнек нәтижесі оң жақтағы ең бірінші өрнек мәні болмақ.

Мысалы: егер х айнымалысы int типті болса, онда (x=3, 5*x) өрнегінің мәні 15-ке тең, ал х айнымалысы 3 мәніне ие.

«шарт?:» операциясы. Үш операндасы бар жалғыз операция болып табылады.

Форматы: Өрнек1? өрнек2: өрнек3

Бұл операция тармақталудың алгоритмдік құрылымын іске асырады.

Орындалу алгоритмі:

Алдымен Өрнек1 мәні есептеледі, шарт тексеріледі. Егер Өрнек ақиқат болса, өрнек2 есептеледі және алынған нәтиже операция нәтижесі болып табылады. Қарсы жағдайда өрнек3 мәні нәтиже ретінде алынады.

Мысал1. Х айнымалысының абсолюттік шамасын есептеуді бір операция көмегімен ұйымдастыруға болады:

X<0?-X: X;

Мысал2. а және b айнымалысынан үлкен мәнді таңдау:

max=(a<=b)?b:a;

Мысал3. а және b айнымалысынан үлкен мәнін 1-мен алмастыру

(a>b)?a:b=1;

Тіл ережесі бұл жағдайда шарт операциясын меншіктеу белгісінің сол жағына қоюға мүмкіндік береді.

ранг операциялар ассоциативтілігі
  () [ ] →.
  ! ~ + - + + - - & * (Тип) sizeof (унарлы)
  * / &(Мультипликативті бинарлы)
  + -(Аддитивті бинарлы)
  << >>> (Разрядтап жылжу)
  < <= >= > (қатынастар)
  = =!= (Қатынастар)
  & (Разрядты конъюнкция «ЖӘНЕ»)
  ^ (Разряд бойынша «НЕМЕСЕ»)
  | (Разрядты дизъюнкция «НЕМЕСЕ»)
  && (Конъюнкция) «НЕМЕСЕ»
  | | (дизъюнкция «НЕМЕСЕ»)
  ?: (Шартты)
  = *= /= S= += – = S= ^= | = <<= >>=
  , («Үтір»)

С++ тіліне тәні енгізу-шығару құралдары

С++ тілінде стандарт функциялар енгізу-шығаруға қолданылады. Сонымен қатар С++ тілінде <iostream> тақырыптық файлында анықталған енгізу-шығару құралдары бар. Ағындық енгізу-шығару осы тақырыптық файлдағы кластар арқылы орындалады.

Мына операторлар: >> - енгізу және <<- шығару операторы - кез-келген типті мәліметтермен жұмыс жасауда қолданылады.

С++ -те де үш ағындық класс қарастырылған:

istream - енгізу құралдары;

ostream - шығару құралдары;

iostream - енгізу-шығару құралдары.

Cin istream класының объектісі istream енгізу ағынымен, ал osream класының объектісі cout шығару ағынымен байланысты.

cout << “бүтін сан” <<ia <<“n, нақты = “ <<fb;

cin >>ia >> fb;

Бұл жолдарда С тілінде айнымалылар арнайы форматтар мен типтері анық көрсетілу арқылы орындалса, С++ тілінде << - операторы мәлімет типін және форматын таңдайды, ал >> - операторы қабылданатын мәннің адресін, форматын анықтайды.

● << операторында endl манипуляторы тіркелуі мүмкін.

Мысалы, cout << “бүтін сан = ” <<іа<<endl;

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

endl манипуляторы – жаңа жол символын қоюмен қатар ағын буферін тазартады.

cin.get() функциясы шектеуші – символ кездескенге дейін немесе ‘\n’ литеріне дейін оқиды.

Мысалы:

cin.get (span, n, ‘*’); мұндағы ‘*’- шектеуші символ болып табылады.

Сызықтық программалар.

С++ тіліндегі программаның жалпы құрылымы мынандай:

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

Анықтау_функция_1

Анықтау_функция_2

....

Анықтау_функция_N

Функциялардың ішінде міндетті түрде main атымен басты функция болады. Қарапайым программа тек басты функцияны қамтиды және мынадай құрылымға ие:

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

Void main ()

{ объектілерді анықтау;

орындалатын операторлар;

}

Сызықтық есептеу программаларын құруға арналған тілдің қажетті жабдықтарын қарастыралық.

Мысалы. Герон формуласы арқылы үшбұрыш ауданын есептеу.

a, b, c – үшбұрыш қабырғалары берілген. S -?

S=

P – үшбұрыштың жарты периметрі.

Алдымен математикалық функцияларға түсінік берелік.

Математикалық функциялар (math.h бас файлы)

Қатынас Аргумент типі Нәтиже типі функция
Abs (x) int int Бүтін санның абсолютті мәні
Acos (x) Double Double Арккосинус (радиандар)
Asin (x) Double Double Арксинус (радиандар)
Atan (x) Double Double Арктангенс (радиандар)
Ceil (x) Double Double Х-тан кем емес жақынырақ бүтін шама
Cos (x) Double Double Косинус (х радианмен өлшенеді)
Exp (x) Double Double ех – х экспонентасы
Fabs (x) Double Double Нақты х абсолютік мәні
Floor (x) Double Double Х-тан артық емес ең үлкен бүтін
Fmod (x,y) Double Double Х-ты y-ке бөлгендегі қалдық
Log (x) Double Double Натурал логарифм – ln(x)
Log10(x) Double Double Ондық логарифм - Lg x
Pow (x,y) Double Double Х-тың y-xy дәрежесі
Sin (x) Double Double Синус (х радианмен)
Sinh (x) Double Double Гипреболикалық синус
Sqrt (x) Double Double Квадратты түбір (оң мән)
Tan (x) Double Double Тангенс (х радианмен)
Tanh (x) Double Double Гиперболикалық тангенс

 

# include <iostream>

# include <сmath>

Void main()

{ float a, b, c, p, s;

Cout <<”n|na=”; cin>>a;

Cout <<”n\nb=”; cin>>b;

Cout <<”n\nc=”; cin>>c;

P= (a+b+c)/2;

S=sqrt(p*(p-a)*(p-b)+(p-c));

Cout <<“\n audan=”<< s;

}.

Математикалық функциялар <сmath> математикалық функциялар кітапханасына жатады. Басқару символдары экранға шығарылатын белгілердің орналасуына ықпал етеді.

 

 

<== предыдущая лекция | следующая лекция ==>
Осторожно, опасность! 11 страница | Прошла презентация электронных сервисов ПФР
Поделиться с друзьями:


Дата добавления: 2017-01-14; Просмотров: 688; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.024 сек.