WEBVTT

00:00.020 --> 00:00.710
خوش برگشتین.

00:00.710 --> 00:07.760
توی این ویدیو می‌خوایم کلاس Math رو بررسی کنیم، نه ریاضی به‌عنوان درس مدرسه، بلکه کلاسی که مسئول انجام عملیات ریاضی توی C# هست.

00:07.760 --> 00:10.070
برای کارای ریاضی استفاده میشه.

00:10.070 --> 00:10.640
خب.

00:10.640 --> 00:11.570
بریم شروع کنیم.

00:11.570 --> 00:14.690
من برای همین یه پروژه‌ی جدید درست کردم.

00:14.690 --> 00:22.910
و اینجا یه Console.ReadLine گذاشتم تا برنامه باز بمونه.

00:22.910 --> 00:30.010
البته به‌جاش می‌تونی با Ctrl + F5 هم اجرا کنی تا بدون این خط Console.ReadLine، کنسول باز بمونه.

00:30.010 --> 00:32.170
ولی در هر صورت، بریم سراغ استفاده از Math.

00:32.170 --> 00:34.870
برای استفاده از Math باید این کارو انجام بدیم.

00:34.870 --> 00:38.530
کافیه بنویسی Math و بعد می‌بینی System.Math هست.

00:38.530 --> 00:45.850
یه کلاسیه که ثابت‌ها و متدهای استاتیک برای توابع مثلثاتی، لگاریتمی و بقیه توابع ریاضی رایج داره.

00:45.850 --> 00:53.170
پس لازم نیست کلی از این چیزا رو خودت بنویسی.

00:53.190 --> 00:56.730
خیلی از متدها از قبل آماده هستن.

00:56.730 --> 01:00.840
مثلاً هر وقت بخوای یه عدد رو گرد به بالا کنی.

01:00.840 --> 01:04.650
می‌تونی از Ceiling استفاده کنی.

01:04.650 --> 01:07.800
پس اگه بخوام گرد به بالا کنم، این‌طوری می‌نویسم.

01:07.800 --> 01:10.080
می‌گم Ceiling.

01:10.260 --> 01:14.310
و از Math.Ceiling استفاده می‌کنم.

01:14.310 --> 01:17.430
و فقط لازمه یه عدد اعشاری وارد کنی.

01:17.430 --> 01:20.630
مثلاً بگیم می‌خوام 15.3 رو گرد کنم.

01:20.750 --> 01:22.850
به این شکل انجامش می‌دم.

01:22.850 --> 01:27.140
ببینیم نتیجه چی میشه.

01:27.170 --> 01:28.550
Ceiling میشه 16.

01:28.550 --> 01:35.780
حتی با اینکه 15.3 کمتر از 0.5 هست، بازم گرد به بالا شده.

01:35.780 --> 01:38.030
پس اینطوری می‌تونی مقدار رو گرد به بالا کنی.

01:38.150 --> 01:38.450
خب.

01:38.450 --> 01:42.460
با متد Ceiling عدد بعدی رو می‌گیری.

01:42.460 --> 01:45.160
پس کلاس Math یه متد به نام Ceiling داره.

01:45.160 --> 01:50.320
در کل اگه Math رو بنویسی می‌بینی کلی متد و ثابت داره.

01:50.320 --> 01:51.970
ثابت‌ها و متدها.

01:51.970 --> 01:54.940
مثل سینوس، کسینوس و غیره.

01:55.360 --> 02:00.310
یا می‌تونی توان، بیشترین و کمترین مقدارها و چیزای دیگه رو بگیری.

02:00.310 --> 02:03.550
و اینجا می‌بینی که ثابت‌ها e و pi هستن.

02:03.550 --> 02:05.770
این دوتا ثابت آماده‌ان.

02:05.770 --> 02:09.010
و اینم بقیه‌ی متدهایی که داریم.

02:09.010 --> 02:11.830
بریم چندتای دیگه رو ببینیم.

02:12.310 --> 02:14.620
مثلاً Floor رو ببینیم.

02:14.620 --> 02:18.100
برای گرد به پایین یا همون Floor کردن.

02:18.100 --> 02:21.100
با Math.Floor انجام میشه.

02:21.310 --> 02:26.260
و اگه 15.3 رو Floor کنیم، این بار نتیجه 15 میشه.

02:26.260 --> 02:31.170
یعنی عدد صحیح پایین‌تر رو برمی‌گردونه.

02:31.170 --> 02:33.360
اینجا 15 عدد صحیحه.

02:33.360 --> 02:36.150
بریم چند مورد دیگه ببینیم.

02:36.150 --> 02:38.640
فرض کن می‌خوام مقدار کمتر بین دوتا عدد رو بگیرم.

02:38.640 --> 02:40.500
مثلاً دوتا عدد داریم.

02:40.500 --> 02:45.900
یکی number1 که 13 هست و number2 که 9.

02:45.900 --> 02:49.080
می‌خوام کمترشون رو پیدا کنم.

02:49.080 --> 02:50.610
اینجا واضحه.

02:50.610 --> 02:52.860
می‌بینیم که 9 کمتر از 13ه.

02:52.860 --> 02:54.600
نیازی به متد خاصی نیست.

02:54.620 --> 02:57.260
ولی اگه ورودی از کاربر یا دیتابیس بیاد.

02:57.260 --> 03:03.890
اون وقت این متد به درد می‌خوره چون همیشه کمترِ دوتا عدد رو برمی‌گردونه.

03:08.480 --> 03:21.670
می‌نویسم lower of num1 که اینه، و num2 که اون یکیه، و اینطوری میشه.

03:21.670 --> 03:23.950
خب مقدارش چی میشه؟

03:23.950 --> 03:24.970
عدد اول.

03:24.970 --> 03:28.960
عدد دوم.

03:28.960 --> 03:34.660
در نهایت از Math.Min استفاده می‌کنیم.

03:34.660 --> 03:37.150
این متد عدد کوچکتر بین دوتا رو برمی‌گردونه.

03:37.150 --> 03:43.680
و من اینجا num1 و num2 رو وارد می‌کنم چون همین دوتا رو دارم بررسی می‌کنم.

03:43.710 --> 03:45.450
خب نتیجه چی میشه؟

03:45.480 --> 03:48.480
درسته، مقدار 9 برمی‌گرده.

03:48.480 --> 03:53.970
پس پایین‌ترِ num1 که 13 هست و num2 که 9 هست، میشه 9.

03:54.000 --> 03:57.000
حالا برعکسش هم داریم برای مقدار بیشتر.

03:57.090 --> 04:11.150
می‌نویسیم higher of num1 and num2 و اینجا Math.Max رو استفاده می‌کنیم.

04:11.150 --> 04:15.200
num1 و num2 رو وارد می‌کنیم.

04:15.200 --> 04:16.160
و تمام.

04:16.160 --> 04:17.720
ببینیم چی میشه.

04:17.720 --> 04:19.520
این بار باید 13 بده.

04:19.520 --> 04:25.220
پس بزرگ‌تر بین 13 و 9 میشه 13.

04:25.220 --> 04:26.480
خوبه.

04:26.720 --> 04:30.170
یه چیز دیگه هم هست مثل به توان رسوندن عدد.

04:30.170 --> 04:37.870
مثلاً 3 به توان 5 میشه چی؟

04:37.870 --> 04:39.820
می‌نویسیم Math.Pow.

04:41.290 --> 04:47.230
متد Pow یه عدد رو به توان عدد دیگه می‌رسونه.

04:47.230 --> 04:51.790
پس 3 به توان 5 یعنی 3 و 5 رو وارد می‌کنیم.

04:51.790 --> 04:53.350
ببینیم نتیجه چی میشه.

04:53.440 --> 04:54.280
اینجاست.

04:54.280 --> 04:56.610
جواب میشه 243.

04:57.630 --> 05:06.780
اگه بخوای از عدد pi استفاده کنی که خیلی رایجه، فقط بنویس Pi و بعد Math.Pi.

05:06.780 --> 05:08.100
این همون مقدار Pi هست.

05:08.130 --> 05:10.590
و دقت عدد رو هم می‌تونی ببینی.

05:10.590 --> 05:13.680
البته دقتش محدود به نوع double هست.

05:13.680 --> 05:16.860
یعنی حدود 12 رقم اعشار.

05:16.860 --> 05:24.320
مثلاً یک، دو، سه، شش، نه، دوازده رقم.

05:24.320 --> 05:27.170
در کل دوازده رقم نشون میده.

05:27.170 --> 05:35.120
اگه بخوای ریشه‌ی دوم بگیری، مثلاً ریشه‌ی دوم 25.

05:35.120 --> 05:40.760
می‌نویسی Math.Sqrt.

05:40.760 --> 05:44.750
متد Sqrt ریشه‌ی دوم یه عدد رو برمی‌گردونه.

05:44.770 --> 05:47.470
و لزومی نداره عدد صحیح باشه.

05:47.470 --> 05:48.850
می‌تونه double هم باشه.

05:48.850 --> 05:52.060
اینجا من 25 رو گذاشتم.

05:52.060 --> 05:54.910
نتیجه میشه 5.

05:55.570 --> 06:00.700
اگه بخوای همیشه مقدار مثبت بگیری، بدون توجه به اینکه عدد منفی باشه یا نه.

06:00.700 --> 06:03.340
از متد Abs استفاده کن.

06:03.340 --> 06:12.100
می‌نویسی همیشه مثبت هست و بعد Math.Abs.

06:12.610 --> 06:19.960
این متد مقدار مطلق عدد رو برمی‌گردونه، یعنی همیشه مثبت.

06:19.960 --> 06:24.190
می‌تونه از کوچک‌ترین تا بزرگ‌ترین مقدار decimal رو بگیره.

06:24.190 --> 06:28.060
پس محدوده‌ی وسیعی رو پوشش میده.

06:28.060 --> 06:35.250
مثلاً اگه بنویسی -25، نتیجه میشه 25 چون همیشه مثبت برمی‌گردونه.

06:35.250 --> 06:37.230
یعنی همیشه مثبت: 25.

06:37.260 --> 06:41.940
یه مورد دیگه هم هست، استفاده از Cos.

06:41.940 --> 06:54.570
می‌نویسی Cos of 1 is و بعد Math.Cos، و یه عدد double وارد می‌کنی.

06:54.570 --> 06:56.190
من فقط عدد 1 رو وارد می‌کنم.

06:56.430 --> 06:57.660
ببینیم چی میشه.

06:57.680 --> 06:58.100
خب.

06:58.100 --> 07:03.980
Cos عدد 1 میشه 0.54 و همین‌طور ادامه داره.

07:04.790 --> 07:08.480
البته متدهای زیادی هستن که من دیگه همه‌شونو توضیح نمی‌دم.

07:08.480 --> 07:10.790
ولی می‌تونی خودت راحت بررسیشون کنی.

07:10.790 --> 07:18.650
می‌بینی که متدهایی مثل Logarithm، Exponential و غیره وجود داره.

07:18.650 --> 07:26.440
حتی Cosine Hyperbolic یا Sine Hyperbolic و چیزای جالب دیگه.

07:26.440 --> 07:28.930
کلی متد خفن داره.

07:28.930 --> 07:34.930
پس هر وقت با محاسبات ریاضی سر و کار داری، از کلاس Math استفاده کن چون خیلی به کارت میاد.

07:34.930 --> 07:35.560
خب.

07:35.560 --> 07:36.160
تا ویدیوی بعدی می‌بینمت.

07:36.160 --> 07:38.050
باشه؟

07:38.050 --> 07:38.710
خوبه.

07:38.710 --> 07:40.720
امیدوارم برات قابل فهم بوده باشه.

07:40.720 --> 07:44.170
این توضیحات برای شروع کار با کلاس Math کافیه.

07:44.170 --> 07:46.600
بریم سراغ ویدیوی بعدی.

07:46.600 --> 07:47.410
اونجا می‌بینمت.
