در حالت عادی، هنگام کار با اعداد، از نوع دادههای پایه مانند int، short، long، float، double و … استفاده میکنیم. هنگام صبحت از نوع دادههای ++C، نوع دادههای عددی، مقادیر احتمالی و محدوده آنها را توضیح دادهایم.
تعریف اعداد در ++C
در آموزشهای پیشین اعداد مختلف را تعریف کرده و به آنها پرداختیم، مثال خوب دیگری از اعداد مختلف در ++C را در زیر آورده ایم.
#include <iostream> using namespace std; int main () { // number definition: short s; int i; long l; float f; double d; // number assignments; s = 10; i = 1000; l = 1000000; f = 230.47; d = 30949.374; // number printing; cout << "short s :" << s << endl; cout << "int i :" << i << endl; cout << "long l :" << l << endl; cout << "float f :" << f << endl; cout << "double d :" << d << endl; return 0; }
با کامپایل و اجرای کد فوق، خروجی زیر تولید میشود.
short s :10 int i :1000 long l :1000000 float f :230.47 double d :30949.4
عملیات ریاضی در ++C
علاوه بر توابع مختلفی که میتوان ایجاد کرد، ++C توابع مفیدی دارد که میتوانید آنها را به کار گیرید. این توابع در کتابخانههای استاندارد C و ++C موجود بوده و توابع درونی (built-in) نام دارند. این توابع را میتوان به برنامه ضمیمه کرده و استفاده کنید.
++C حاوی منبعی غنی از عملیات ریاضی است که میتوان روی اعداد مختلف اعمال کرد. جدول زیر لیست توابع درونی مفید ++C را فراهم آورده است.
برای استفاده از این توابع باید هدر فایل ریاضی <cmath> را به برنامه ضمیمه کرد.
ردیف |
توابع و کاربرد آنها |
1 |
;(double cos(double این تابع یک زاویه (نوع double) دریافت کرده و کسینوس آن را برمیگرداند. |
2 |
;(double sin(double این تابع یک زاویه (نوع double) دریافت کرده و سینوس آن را برمیگرداند. |
3 |
;(double tan(double این تابع یک زاویه (نوع double) دریافت کرده و تانژانت آن را برمیگرداند. |
4 |
;(double log(double این تابع یک عدد دریافت کرده و لگاریتم طبیعی آن را برمیگرداند. |
5 |
;(double pow(double, double عدد اول ، عددی است که میخواهیم به توان برسانیم و عدد دوم، عدد توان است. |
6 |
;(double hypot(double, double اگر به این تابع طول دوضلع یک مثلث قائم را بدهیم، طول وتر آن بازگردانده میشود. |
7 |
;(double sqrt(double این تابع یک عدد گرفته و ریشه دوم آن را برمیگرداند. |
8 |
;(int abs(int این تابع قدرمطلق عدد صحیح ورودی را برمیگرداند. |
9 |
;(double fabs(double این تابع قدرمطلق هر مقدار اعشاری ورودی را برمیگرداند. |
10 |
;(double floor(double عدد صحیح کوچکتر یا مساوی عدد ورودی را یافته و برمیگرداند. |
مثال زیر برخی از این عملیات ریاضی را نشان میدهد.
#include <iostream> #include <cmath> using namespace std; int main () { // number definition: short s = 10; int i = -1000; long l = 100000; float f = 230.47; double d = 200.374; // mathematical operations; cout << "sin(d) :" << sin(d) << endl; cout << "abs(i) :" << abs(i) << endl; cout << "floor(d) :" << floor(d) << endl; cout << "sqrt(f) :" << sqrt(f) << endl; cout << "pow( d, 2) :" << pow(d, 2) << endl; return 0; }
با کامپایل و اجرای کد فوق، خروجی زیر تولید میشود.
sign(d) :-0.634939 abs(i) :1000 floor(d) :200 sqrt(f) :15.1812 pow( d, 2 ) :40149.7
اعداد تصادفی در ++C
موارد بسیاری پیش میآید که نیازمند تولید اعداد تصادفی باشیم. برای تولید اعداد تصادفی در واقع باید دو تابع را بشناسیم. تابع اول ()rand میباشد، این تابع تنها یک شبه عدد تصادفی برمیگرداند. برای برطرف کردن این مشکل باید تابع ()srand را فراخوانی کنیم.
مثال سادهای از تولید چند عدد تصادفی در زیر آمده است. این مثال از تابع ()time برای بدست آوردن تعداد ثانیههای روی سیستمتان استفاده میکند تا تابع ()rand را به صورت تصادفی تغذیه کند.
#include <iostream> #include <ctime> #include <cstdlib> using namespace std; int main () { int i,j; // set the seed srand( (unsigned)time( NULL ) ); /* generate 10 random numbers. */ for( i = 0; i < 10; i++ ) { // generate actual random number j = rand(); cout <<" Random Number : " << j << endl; } return 0; }
با اجرای این کد، خروجی زیر تولید میشود.
Random Number : 1748144778 Random Number : 630873888 Random Number : 2134540646 Random Number : 219404170 Random Number : 902129458 Random Number : 920445370 Random Number : 1319072661 Random Number : 257938873 Random Number : 1256201101 Random Number : 580322989
منبع: ترجمه از سایت tutorialspoint.com
در جلسه بعدی آموزش ++C با ما همراه باشید. اگر به الکترونیک علاقمند هستید توصیه میکنیم درس های مفاهیم پایه الکترونیک را مطالعه کنید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.