Зертханалық жұмыс №2 Арифметикалық амалдар және С++ тілінің математикалық функциялары Жұмыс мақсаты



бет1/3
Дата07.02.2023
өлшемі106 Kb.
#167841
  1   2   3
Байланысты:
КАЗ Лабораторная работа2
Lab 3

Зертханалық жұмыс №2
Арифметикалық амалдар және С++ тілінің математикалық функциялары
1. Жұмыс мақсаты
Зертханалық жұмыстың мақсаты алгебралық өрнектерді бағдарламалауда және C++-тің тіл кітапханасының математикалық функцияларын қолдануда практикалық дағдыларды алу.
2. Жұмыстың міндеттері
Келесі тақырыптарды меңгеру:

  • арифметикалық амалдар;

  • операцияларды орындау тәртібі;

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

3. Жұмыстың мазмұны
1. t1 және t2 мәнін жеке тапсырма нұсқасында берілген формулалар бойынша есептейтін және шығаратын бағдарлама жасаңыз. Формула параметрлерінің рұқсат етілген мәндерінің аймақтарын анықтаңыз және сол аймақтардан ерікті мәндерді орнатыңыз. Атаулары бар параметрлер: n және m бүтін, қалған параметрлер өзгермелі нүкте. X және y атаулары бар параметрлердің мәндері пернетақтадан енгізілуі керек, қалғандарының мәндері сәйкес айнымалылар жарияланған кезде бастапқы мәндер ретінде орнатылуы керек. Есептеу көлемін азайтуды қамтамасыз ету үшін формулаларды жеңілдетуге (тіпті жақсы) рұқсат етіледі
2. Бастапқы деректер мен нәтижені басып шығарыңыз.


4. Жұмыстың орындалу реті

1. Өрнектер


Өрнек бір немесе бірнеше операциялардан құрылады. Бұл операциялардың нысандары Операндтар деп аталады. Операциялар үшін белгілер қолданылады. Мәселен, мысалы, С++-те теңдікті тексеру операциясы үшін "= =" белгісі қолданылады. Операциялар бір операндқа әсер ететін унарлы - мысалы, унарлы минус (- x) және екілік-екі операндқа әсер ететін бинарлы (қосу және т.б. - x+y). Өрнекті есептеу нәтижеге әкелетін бір немесе бірнеше амалдарды орындаудан тұрады. Әдетте тағайындаумен байланысты бірнеше ерекше жағдайларды қоспағанда, өрнектің нәтижесі rvalue (мән) болып табылады. Өрнек деректерінің түрі әдетте оның операндтарының түрлерімен анықталады. Өрнекте бірнеше мәліметтер типі болған кезде, белгілі бір ережелерге сәйкес типті түрлендіру жүреді


Екі немесе одан да көп операциялар қатысатын өрнек құрама деп аталады (мысалы, x+y-z). Операцияларды қолдану тәртібі операцияның басымдылығымен (қай операция ертерек, қайсысы кейінірек жасалады) және оның ассоциативтілігімен (солдан оңға қарай немесе оңнан солға қарай)анықталады.
Қарапайым өрнек-бұл операциясыз операнд - яғни тұрақты немесе айнымалы. Мысалы, 3.14159 немесе index. Өрнек түрі берілген тұрақты немесе айнымалы түрге сәйкес келеді.

2. Арифметикалық амалдар


Екілік арифметикалық амалдар+, -,*, / және %қалдықты алу операциясы. *, / Және % операциялары + және - (Паскальдағыдай) қарағанда жоғары басымдыққа ие. Мысалы, X + y * z мынау нұсқа ретінде түсіндіріледі x + (y*z), бұл табиғи нәрсе. Егер сізге есептеу ретін өзгерту қажет болса, онда сіз паскальдағыдай жақшаларды қолдануыңыз керек.


Паскальдан айырмашылықтар:
1) % Операциясы Паскальдағы mod операциясына ұқсас қалдық алады (яғни 22% 6 4 болады ) және тек бүтінге қолданылады;
2) Егер / операция бүтін санға қолданылса, онда бөлудің нәтижесі де бүтін болады, ал қалдық жойылады (22 / 6 3 болады). Бұл Паскальдағы div-ке ұқсас.
Бірдей басымдықтағы арифметикалық амалдар солдан оңға қарай орындалады.
+ Және-унарлы операциялар да бар. Олардың басымдығы екілікке қарағанда жоғары - - X * y (-x) * Y a емес - (x * y).

Айта кету керек, арифметикалық амалдарды орындау нәтижесінде түр ауқымынан шығуға болады.


Мысалы:
unsigned char uc = 32, uc1 = 10;
uc = uc * uc1;
Нәтижесінде uc 320 мәнін алуы керек, ал unsigned char жоғарғы диапазоны 255 екені белгілі. Бұл жағдайда не болады-машинаға байланысты, Borland C++ uc кейбір қысқартулар нәтижесінде 64 мәнін алады. Мұндай қателіктерге жол бермеген жақсы. С++ та паскальдағыдай range check error қатесі жоқ және бағдарлама өз жұмысын жалғастырады – қалай екені белгісіз.

3. Математикалық функциялар


Математикалық функциялармен жұмыс істеу үшін math.h тақырып файлын қосу қажет. төменде математикалық есептеулерге арналған негізгі функциялар келтірілген:


ABS(X) - INT типті Х модулін табады;


ACOS(X) - ARCCOS X есептейді;
ASIN(X) - ARCSIN X есептейді;
ATAN(X) - ARCTG X есептейді;
CEIL(X) - находит целую часть X;
COS(X) - COS X есептейді;
EXP(X) - экспоненциалды функцияны есептейді;
FABS(X) - X абсолютті мәнін есептейді;
FLOOR(X) - кішірек немесе Х-ке тең ең үлкен бүтінді табады;
FMOD(X,Y) - X-ті Y-ге бөлудің нақты түрінің қалдығын табады;
LABS(X) - LONG типті модульді табады;
LOG(X) - Х табиғи логарифмін есептейді;
LOG10(X) - Х ондық логарифмін есептейді;
POW(X,Y) - Y дәрежесінде X есептейді;
POW10(X) - Х дәрежесінде 10 мәнін есептейді;
SIN(X) - SIN X есептейді;
SQRT(X) - Х квадрат түбірін табады;
TAN(X) - TG X есептейді.

Барлық математикалық функциялар бүтін Аргументтің абсолютті мәнін қайтаратын ABS (X) функциясын және LABS(X) функциясын қоспағанда, нақты типтегі мәндермен жұмыс істейді(және аргументтер де, DOUBLE түрінің қайтарылатын мәні де), LONG түріндегі бүтін Аргументтің абсолютті мәнін қайтарады


Мысалы:

#include <…>
main()
{
int X=-4,Y;
Y=Abs(X);
Printf("%d%d",X,Y);
}

Нәтиже:
-4 4



#include <файл атауы>
...
Printf("%0.7f",Atan(1.0));
...




#include < файл атауы >
...
Double Y;
...
Y=Ceil(1.05); /* Y=2.0 */
Y=Ceil(-1.05); /* Y=-1.0 */
...




#include < файл атауы >
...
Double X,Y;
...
Y=Cos(X);
...




#include < файл атауы >
...
Double Y;
...
Y=Floor(2.8); /* Y=2.0 */
Y=Floor(-2.8); /* Y=-3.0 */
...




#include <файл атауы>
...
Double X,Y,Z;
...
X=-10.0;
Y=3.0;
Z=Fmod(X,Y); /* Z=-1.0 */
...




4. Үлгі нұсқасын талдау


3-тармаққа сәйкес (жұмыс мазмұны) қажетті айнымалыларды анықтаймыз.




Достарыңызбен бөлісу:
  1   2   3




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет