Олий таълим ўқув режаларидаги фанларга


Математик функциялар- Math базавий синфи



Download 4,03 Mb.
bet19/102
Sana23.02.2022
Hajmi4,03 Mb.
#136190
1   ...   15   16   17   18   19   20   21   22   ...   102
Bog'liq
Dasturlash asoslari majmua

8.3. Математик функциялар- Math базавий синфи
Энг содда дастурлар чизиқли дастурлар ҳисобланиб, бирор маълумотни киритиш, киритилган маълумотни бирор формула орқали ҳисоблаш ва олинган натижани чоп қилишдан иборат бўлади.ҳисоблашда фойдаланиладиган формулалар аксарият холларда математик функциялардан иборат бўлади. C# да математик функциялар System номлар маконинг Math синфида жамланган. Math синфининг услуб ва майдонлари 5.3.1-жадвалда келтирилган.



8.3.1-жадвал. Math синфининг асосий майдон ва статик усуллари.

Номи

Тавсифи

Натижа типи

Изоҳ

Abs(х)

Модуль

Қайта юкланувчи

Математик | x |

Acos

Арккосинус

double

Acos(double x)

Asin

Арксинус

double

Asin(double x)

Atan

Арктангенс

double

Atan2(double x, double y) —
бурчак,y/x тангенси



BigMul

Кўпайтириш

long

BigMul(int x, int y)

Ceiling

Катта сонга қараб яхлитлаш

double

Ceiling(double х)

Cos

Косинус

double

Сos(double x)

Cosh

Гиперболик косинус

double

Cosh(double x)

DivRem

Бўлинма ва қолдиқ

Қайта юкланувчи

DivRem(x, y, rem)

E

е сони

double

Қиймати - 2,71828182845905

Exp

Экспонента
(ex )

double

Exp(x)

Floor

Кичик сонга қараб яхлитлаш

double

Floor(double х)

IEEERemainder

Бўлинманинг қолдиқ қисми

double

IEEERemainder(double x, double y)

Log

Натураль логарифм
loge x

double

Log(x)

Log10

10 асосли логарифм

double

log10 x записывается как Log10(x)

Max

Иккита соннинг максимуми

Қайта юкланувчи

Max(x, y)

Min

Иккита соннинг минимуми

Қайта юкланувчи

Min(x, y)

PI

-сони

double

3,14159265358979

Pow

Даражага кўтариш
xy



double

Pow(x, y)

Round

Яхлитлаш

Қайта юкланувчи

Round(3.1) =3;
Round (3.8)=4;

Sign

Соннинг ишораси

int

Sign(х)

Sin

Синус

double

Sin(double x)

Sinh

Гиперболик синус

double

Sinh(double x)

Sqrt

Квадрат илдиз

double

Sqrt(x)

Tan

Тангенс

double

Tan(double x)

Tanh

Гиперболик тангенс

double

Tanh(double x)

Мисол:
using System;


namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
Console.Write( "х ни киритинг: " );
double x = double.Parse( Console.ReadLine() );
Console.Write( "y ни киритинг: " );
double y = double.Parse( Console.ReadLine() );
Console.WriteLine( " х ва y нинг максимуми: " + Math.Max(x, y) );
double z = Math.Pow(Math.Sin(x), 2) + Math.Pow(Math.Sin(y), 2);
Console.WriteLine( " sinx* sinx+ siny* sinx= " + z );
}
}
}
Листинг 8.3.1. Math синфи услубларидан фойдаланиш


8.4. Дастурий коднинг блоклари
С# да нуқтали вергул(;) тугаган ҳар бир қатор қандайдир жараённи бажарувчи тугалланган оператор сифатида қаралади. Хусусий холда эса ; бўш оператор ҳисобланади. Масалан:
i++; // инкремент амали бажарилади
a *= b + c; // кўпайтириб, ўзлаштириш амали бажарилади
fun( i, k ); // функция чақирилади
while( true ); // бўш операторли цикл.
Блокфигурали қавслар {} орасига ёзилган операторлар кетма-кетлигидан ташкил топган дастур қисмидир. Компилятор томонидан блок битта оператор каби қабул қилинади. Блок нафақат бир нечта балки, битта оператордан ёки бўш оператордан ҳам ташкил топиши мумкин. Бундан ташқари блокнинг ичида ички блоклар ҳам жойлашиши мумкин.
Блокнинг вазифаси – операторларни гуруҳлашдан иборат.
9-10 маърузалар (4-соат)
Тармоқланувчи жараёнларни C# да дастурлаш.
Шарт текшириш операторлари.


Режа:

  1. if-else конструкцияси(if оператори).

  2. switch-case конструкцияси

  3. Қисқа шартли(тернар) оператор.



9.1. if-else конструкцияси(if оператори).
Тармоқланувчи жараёнлар ҳисоблаш жараёнини бирор шартга кўра икки томонга тармоқланишини таъминлайди. Тармоқланувчи жараённинг структурали схемаси бизларга блок-схемалардан таниш 6.1.1-расм.

9.1.1-расм. Тармоқланувчи жараённинг структурали схемаси
Тармоқланувчи жараёнларни ҳисоблаш операторларидан бири бу if-операторидир.
Синтаксиси:
If(шарт)
{1-блок. агар шарт бажарилса бажарилувчи оператор(лар);}
[else]
{2-блок. агар шарт бажарилмаса бажарилувчи оператор(лар);}

Бунда биринчи навбатда шарт ўрнида қўлланилувчи мантиқий ифода текширилади. Агар ушбу шарт бажарилса, 1 блокдаги оператор(лар) бажарилади, акс ҳолда 2 блокдаги операторлар бажарилади. If операторининг ўзи етарли бўлса, else – қисми ёзилмаслиги ҳам мумкин.


Агар шарт бажарилганда ёки бажарилмаганда бажарилувчи опертор битта бўлса, блок қавслари{}ни ишлатмаса ҳам бўлади.
Масалан:
...
int i=16;//
if (i>10) // Агар i 10 дан катта бўлса
--i; //i=i-1
else //Акс холда
i++ // i=i+1
...
Агар шарт текширилаётган ўзгарувчи(ёки ўзгармас) сонли тип бўлса, ва уни 0 дан фарқлилиги текширилса, у холда қуйидагича ёзиш мумкин.
...
if (i) // Агар i<>0 бўлса
i++; //i=i+1
else //Акс холда
i-- // i=i-1
...

Агар текширилувчи шартнинг инкори бажарилиш лозим бўлса, қуйидагича ёзилади:


...
if !(i>10) // Агар i 10 дан катта бўлмаса


i--; //i=i-1
else //Акс холда
i++ // i=i+1
...

Агар текширилувчи шартлар бир нечта бўлса, уларни мантиқий шартли амаллар билан бир-бирига боғлаш лозим. Масалан:


...
if(a && (a>d || a==0))
b++;
else{ b*=a; a=0; }
...

Нишонга отилган ўқлар бўйича тўпланган очколарни уларнинг кординатасига нисбатан ҳисоблаш дастурини кўриб чиқайлик(6.1.2-расм).


9.1.2-расм. Нишон


//X – Нишонга теккан ўқнинг х кординатаси


//Y - Нишонга теккан ўқнинг y кординатаси

using System;


namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
Console.WriteLine("X – Нишонга теккан ўқнинг х кординатаси");
Console.WriteLine("Y – Нишонга теккан ўқнинг y кординатаси");
Console.WriteLine( " x ни киритинг:" );
double x = Convert.ToDouble(Console.ReadLine() );

Console.WriteLine( " y ни киритинг:" );


double y = double.Parse( Console.ReadLine() );

int kol = 0;


if ( x * x + y * y < 1 ) kol = 2;
else if ( x * x + y * y < 4 ) kol = 1;
Console.WriteLine( "Результат = {0} очко", kol );
}
}
}
Листинг 9.1.1. Нишонга отилган ўқлар бўйича очкони ҳисоблаш дастури
If..else конструкцияси ичида яна бир нечта If..else конструкциясин қўллаш мумкин. Лекин бу дастурни мураккаблашиб кетишига олиб келиши мумкин.
Ичма-ич жойлашган If..else конструкциясига мисол тариқасида 9.1.2 листингда киритилган 3 та сондан энг катта ва энг кичигини топиш дастури келтирилган.

using System;
namespace uch_sondan_topish
{
class Program
{
static void Main(string[] args)
{
double a, b, c, max=0, min=0;
//string smax, smin;
Console.Write("A=");
a = double.Parse(Console.ReadLine());
Console.Write("B=");
b = double.Parse(Console.ReadLine());
Console.Write("C=");
c = double.Parse(Console.ReadLine());
if ((a == b) && (b == c))
Console.WriteLine("a, b, c sonlari o'zaro teng!");

else
{


if (a > b)
{ max = a; min = b;}
else if (a < b)
{max = b; min = a;} //****2

else
{max = b; min = b;}


//***********************
if (max < c)max = c;
else if (min > c)min = c;
else if (max == c)max = c;
else if (min == c)min = c;
}
Console.WriteLine("MAX=" + max + ", MIN=" + min + ",\n ");
Console.ReadKey();
}
}
}

Листинг 9.1.2. 3 та сондан энг катта ва энг кичигини топиш дастури


9.2.Қисқа шартли оператор
Ушбу оператор билан биз аввалги маърузаларимизда танишиб ўтган эдик. Ушбу операторни тернар оператор ҳам деб аталади. Одатда тернар операторидан шартга мос равишда бажарилувчи операторлар сони биттадан кўп бўлмаганда фойдаланиш қулайдир.


Синтаксиси: <шарт ? [рост бўлса, оператор]:[ёлғон бўлса, оператор]>

Масалан:


int i=10;
Console.WriteLine(i==10 ? “i = 10”:“i <> 10”);

Console.WriteLine(i<20 ? “i < 20”:“i >= 20”);




If..else конструкцияси ва тернар операторларидан дастурларда фойдаланишга мисоллар.
1-Мисол. Киритилган сонларни бошқа бир сонга қолдиқларсиз бўлинишини текшириш дастурини тузишда if..else ва тернар операторларидан фойдаланиш.



using System;

namespace qoldiqsiz_bolinish_consol


{
class Program
{
static void Main(string[] args)
{
Console.Write("Bol'inuvchi sonni kiriting:");
double b = int.Parse(Console.ReadLine());
//2 га бўлинишини текшириш
if (b > 2)
{
Console.WriteLine(b % 2 == 0 ?
b + " soni 2 ga qoldiqsiz bo'linadi!\n " + b + "/2=" + b / 2 :
b + " soni 2 ga qoldiqsiz bo'linmaydi!\n " + b + " ni 2 ga bolishda butun qismi " + (b - (b % 2)) / 2 + " qoldiq qismi = " + b % 2);
}
else
{ Console.WriteLine(b+" son 2 dan kichik, shu sababli u 2 ga qoldiqsiz bo'linmaydi!"); }

Console.WriteLine();


//3 га бўлинишини текшириш


if (b > 3)
{
Console.WriteLine(b % 3 == 0 ? b + " soni 3 ga qoldiqsiz bo'linadi!\n " +
b + "/3=" + b / 3 :
b + " soni 3 ga qoldiqsiz bo'linmaydi!\n " +
b + " ni 3 ga bolishda butun qismi " +
(b - (b % 3)) / 3 + " qoldiq qismi = " + b % 3);
}
else
{ Console.WriteLine(b + " son 3 dan kichik, shu sababli u 3 ga qoldiqsiz bo'linmaydi!"); }

Console.WriteLine();


//4 га бўлинишини текшириш


if (b > 4)
{
Console.WriteLine(b % 4 == 0 ? b + " soni 4 ga qoldiqsiz bo'linadi!\n " +
b + "/4=" + b / 4 :
b + " soni 4 ga qoldiqsiz bo'linmaydi!\n " +
b + " ni 4 ga bolishda butun qismi " +
(b - (b % 4)) / 4 + " qoldiq qismi = " + b % 4);
}
else
{ Console.WriteLine(b + " son 4 dan kichik, shu sababli u 4 ga qoldiqsiz bo'linmaydi!"); }

Console.WriteLine();


//5 га бўлинишини текшириш


if (b > 5)
{
Console.WriteLine(b % 5 == 0 ? b + " soni 5 ga qoldiqsiz bo'linadi!\n " +
b + "/5=" + b / 5 :
b + " soni 5 ga qoldiqsiz bo'linmaydi!\n " +
b + " ni 5 ga bolishda butun qismi " +
(b - (b % 5)) / 5 + " qoldiq qismi = " + b % 5);
}
else
{ Console.WriteLine(b + " son 5 dan kichik, shu sababli u 5 ga qoldiqsiz bo'linmaydi!"); }
Console.WriteLine();
Console.ReadKey();
}
}
}


Download 4,03 Mb.

Do'stlaringiz bilan baham:
1   ...   15   16   17   18   19   20   21   22   ...   102




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish