(C++) عبارات حسابی


اپراتور تخصیص

ما قبلاً می دانیم که می توانید مقدار یک متغیر را با استفاده از عبارت input تنظیم کنید. عبارت ورودی در مواردی استفاده می شود که مقدار یک متغیر توسط کاربر در حین اجرای برنامه تنظیم می شود.

اما اغلب ما نیاز داریم که یک مقدار جدید برای یک متغیر با استفاده از یک فرمول خاص محاسبه کنیم. در این مورد، - اپراتور انتساب به ما کمک خواهد کرد. 

شکل کلی عملگر انتساب به این صورت است:
  <نام متغیر> = <بیان>; عملگر انتساب به این صورت عمل می کند:
1. ابتدا عبارت سمت راست علامت تخصیص ارزیابی می شود؛
2. مقدار حاصل از عبارت در متغیر سمت چپ علامت تخصیص ذخیره می شود (مثلا " اختصاص داده شده"). در این حالت مقدار قدیمی متغیر پاک می شود.

به عنوان مثال، اگر بخواهیم متغیر c را دو برابر مقدار متغیر b قرار دهیم، آن را به این صورت می نویسیم: c = 2 * b;
فراموش نکنید که در برنامه نویسی نمی توانید علائم ضرب را در یک عبارت حذف کنید. در غیر این صورت، کامپیوتر نمی‌فهمد چه چیزی را می‌خواهید ضرب کنید.
به عنوان مثال، شما نمی توانید فقط بنویسید c = 2b، که اشتباه خواهد بود!

عبارات حسابی

عبارت سمت راست عملگر انتساب به شما امکان می دهد مقادیر را با استفاده از فرمول های مختلف محاسبه کنید.
آنچه عبارت می تواند شامل شود:
ایکس اعداد صحیح و اعداد حقیقی (در اعداد حقیقی، طبق معمول در ریاضیات، اجزای صحیح و کسری با یک نقطه از هم جدا می شوند، نه کاما)؛
ایکس نشانه های حسابی:  
+ افزودن،
- تفریق،
ضرب *،
بخش /،
% باقیمانده تقسیم.

ایکس فراخوانی توابع استاندارد (شما باید کتابخانه math.h - #include<math.h>) را وارد کنید؛
 abs(i) مدول عدد صحیح i  (در Silvertests استفاده نمی شود، از تابع زیر استفاده کنید):
 fabs(x) ماژول عدد واقعی x;
 sqrt(x) جذر عدد واقعی x;
 pow(x,y) x را به توان y؛
ارزیابی می‌کند

ایکس پرانتز برای تغییر ترتیب اقدامات.

توابع درون خطی


هر زبان برنامه نویسی شامل بسیاری از توابع داخلی است که می توان از آنها در عبارات حسابی استفاده کرد.
به عنوان مثال، متداول‌ترین توابع ریاضی استاندارد و نمادگذاری آنها در C و C++:
 abs(i) ماژول عدد صحیح i;
 fabs(x) ماژول یک عدد واقعی x;
 sqrt(x) ریشه مربع یک عدد واقعی x;
 pow(x,y) x را به توان y محاسبه می‌کند.

باید به خاطر داشت که آرگومان تابع همیشه در براکت نوشته می شود.
برای اینکه این توابع کار کنند، باید یک کتابخانه ریاضی اضافی را متصل کنید.
می توانید این کار را با افزودن خط:
انجام دهید   #شامل<math.h>

ضبط عملیات حسابی
فرض کنید باید یک عبارت نوشته شده به شکل ریاضی را به این روش محاسبه کنیم:
\({ 2\ \cdot\ 17.56^2 \over {7\ \cdot\ 2.47\ \cdot \ 0.43}} \)
 
قوانین نوشتن عبارات حسابی
1. عبارت می تواند حاوی اعداد، نام متغیرهای دیگر، علائم عملیات، پرانتز، نام توابع، عملیات حسابی و علائم آنها باشد (+, -, * /، %).
2. جداکننده بین اجزای صحیح و کسری یک نقطه است.
3. عبارت در یک خط نوشته می شود (نشان خطی عبارات).
بنابراین، با پیروی از قوانین نوشتن عبارات حسابی، باید کسر داده شده (نشان ریاضی) را به یک نماد خطی تبدیل کنیم، یعنی کسر را در یک خط بنویسیم. از آنجایی که صورت و مخرج پیچیده هستند (یعنی شامل دو یا چند عامل هستند)، هنگام نوشتن یک عبارت به صورت خطی، لازم است که صورت و مخرج داخل پرانتز گرفته شود.
بنابراین، نماد خطی چنین عبارتی به این صورت خواهد بود:
  <پیش> (2*17.56*17.56)/(7*2.47*0.43)
بیایید یک برنامه برای محاسبه مقدار این عبارت بنویسیم. برای این کار اجازه دهید داده های ورودی و خروجی را تعریف کنیم.

ورودی
زیرا ما همه مقادیر را می دانیم، پس نیازی به وارد کردن چیزی از صفحه کلید نیست، بنابراین هیچ مقدار ورودی وجود نخواهد داشت.

حصر
برنامه باید نتیجه عبارت حسابی داده شده را نمایش دهد (نتیجه را می توان در یک متغیر ذخیره کرد، یا بلافاصله روی صفحه نمایش داده شد).

در برنامه بلافاصله نتیجه را روی صفحه نمایش می دهیم. از آنجایی که ما یک کسری داریم، نتیجه یک عدد واقعی خواهد بود. 
  #include<iostream> با استفاده از namespace std. main() { cout << (2*17.56*17.56) / (7*2.47*0.43); } برنامه را روی رایانه خود اجرا کنید و مطمئن شوید که 82.949843 را برمی گرداند.
 

ویژگی های تقسیم در C و C++

در زبان برنامه نویسی C دو عملگر تقسیم وجود دارد:
/ تقسیم  و محاسبه % باقیمانده تقسیم.
 
باید به خاطر بسپارید!
1) عملیات محاسبه باقی مانده تقسیم (%) فقط روی اعداد صحیح انجام می شود؛
2) نتیجه عملیات تقسیم (/) به نوع عملوندها بستگی دارد.   
 
قانون
هنگام تقسیم یک عدد صحیح بر یک عدد صحیح، بخش کسری همیشه کنار گذاشته می شود، مهم نیست که در چه نوع متغیری مقدار را ذخیره می کنیم. . 
هنگام ذخیره یک نتیجه واقعی در یک متغیر عدد صحیح، قسمت کسری نیز کنار گذاشته می‌شود.


بیایید به نمونه هایی از انجام عملیات تقسیم نگاه کنیم: int i, n; شناور x; i = 7; x = i / 4; // x=1، عدد صحیح تقسیم بر عدد صحیح x = i / 4.; // x=1.75، عدد صحیح تقسیم بر کسری   // (4 - بدون نقطه به عنوان یک عدد صحیح در نظر گرفته می شود،   // 4. (با یک نقطه) - این قبلا یک عدد واقعی است!) x =(شناور) i / 4; // x=1.75، اعشار تقسیم بر عدد صحیح -   // در اینجا متغیر i به یک عدد واقعی تبدیل می شود // یک تبدیل نوع EXPLICIT است n = 7. / 4.; // n=1، نتیجه روی یک متغیر عدد صحیح نوشته می شود