شنبه ۲۹ دي ۱۴۰۳
Tut24 آموزش برنامه نویسی و مجله تخصصی فناوری ورود/عضویت

آموزش مبانی برنامه نویسی - اعداد

هر زبان برنامه نویسی پشتیبانی از مدیریت انواع مختلفی از اعداد مانند اعداد صحیح ساده و اعداد اعشاری فراهم می کند. زبان های C ، Java و Python این اعداد را بر اساس طبیعت آنها در چندین دسته بندی مختلف قرار می دهند.

بیایید به درس انواع داده های اصلی که با اعداد مرتبط هستند برگردیم -

نوع کلید واژه محدوده مقادیری که می توان توسط این نوع داده نشان داد
عدد int -32,768 تا 32,767 یا -2,147,483,648 تا 2,147,483,647
عدد کوچک short -32,768 تا 32,767
عدد بزرگ long -2,147,483,648 تا 2,147,483,647
عدد اعشاری float 1.2E-38 تا 3.4E+38 تا 6 رقم اعشار

این انواع داده ها به داده های ابتدایی گفته می شوند و می توانید از این داده ها برای ساخت داده های بیشتری استفاده کنید که به داده های تعریف شده توسط کاربر معروف هستند.

ما در حین بحث درباره عملگر ها، عملیات های ریاضی و منطقی مختلفی روی اعداد دیده ایم. بنابراین ما می دانیم چگونه اعداد را جمع کنیم، اعداد را تفریق کنیم، اعداد را تقسیم کنیم و غیره.

ابتدا بیایید ببینیم چگونه می توان انواع مختلفی از اعداد موجود در زبان برنامه نویسی C را چاپ کرد -

#include <stdio.h>

int main() {
   short  s;
   int    i;
   long   l;
   float  f;
   double d;

   s = 10;
   i = 1000;
   l = 1000000;
   f = 230.47;
   d = 30949.374;

   printf( "s: %d\n", s);
   printf( "i: %d\n", i);
   printf( "l: %ld\n", l);
   printf( "f: %.3f\n", f);
   printf( "d: %.3f\n", d);
}

بقیه کدنویسی بسیار واضح است، اما ما از %.3f برای چاپ اعداد اعشاری (float و double) استفاده کردیم که تعداد ارقام پس از علامت اعشاری را برای چاپ مشخص می کند. هنگام اجرای برنامه فوق، نتیجه زیر را تولید می کند -

s: 10
i: 1000
l: 1000000
f: 230.470
d: 30949.374

عملیات های ریاضی بر روی اعداد

جدول زیر فهرستی از توابع ریاضی مفید داخلی (functions) موجود در زبان برنامه نویسی C را که برای محاسبات ریاضی مهم مختلف قابل استفاده هستند، نشان می دهد.

به عنوان مثال، اگر می خواهید ریشه مربعی یک عدد را محاسبه کنید، برای مثال ۲۳۰۴، یک تابع داخلی برای محاسبه ریشه مربعی در دسترس است.

ردیف تابع و هدف
۱

double cos(double);

این تابع یک زاویه (به عنوان یک عدد اعشاری) را دریافت کرده و کسینوس آن را بازمی‌گرداند.

۲

double sin(double);

این تابع یک زاویه (به عنوان یک عدد اعشاری) را دریافت کرده و سینوس آن را بازمی‌گرداند.

۳

double tan(double);

این تابع یک زاویه (به عنوان یک عدد اعشاری) را دریافت کرده و تانژانت آن را بازمی‌گرداند.

۴

double log(double);

این تابع یک عدد را دریافت کرده و لگاریتم طبیعی آن را بازمی‌گرداند.

۵

double pow(double, double);

اولین آرگومان یک عدد است که می‌خواهید به توانی برسانید و دومین آرگومان توانی است که می‌خواهید آن عدد را به آن توان برسانید.

۶

double hypot(double, double);

اگر شما طول دو ضلع یک مثلث قائم‌الزاویه را به این تابع ارسال کنید، طول فرضی مثلث (و هیپوتنوز آن) را بازخواهد گرداند.

۷

double sqrt(double);

شما یک عدد را به این تابع می‌فرستید و این تابع ریشه مربع آن را بازمی‌گرداند.

۸

int abs(int);

این تابع مقدار مطلق یک عدد صحیح را که به عنوان ورودی به آن داده شده است برمیگرداند.

۹

double fabs(double);

این تابع مقدار مطلق هر عدد اعشاری را که به عنوان ورودی به آن داده شده است برمیگرداند.

۱۰

double floor(double);

عددی که کوچکتر یا مساوی آرگومان به آن ارسال شده است را پیدا می‌کند.

برای نمایش چند عملیات ریاضی ساده، مثال زیر را می‌توان استفاده کرد. برای استفاده از این توابع، باید فایل هدر <math.h> را به برنامه خود اضافه کنید، به همان شکلی که فایل stdio.h را اضافه کردید −

#include <stdio.h>
#include <math.h>

int main() {
   short  s;
   int    i;
   long   l;
   float  f;
   double d;

   printf( "sin(s): %f\n", sin(10));
   printf( "abs(i): %f\n", abs(1000));
   printf( "floor(f): %f\n", floor(230.47));
   printf( "sqrt(l): %f\n", sqrt(1000000));
   printf( "pow(d, 2): %f\n", pow(2.374, 2));
}

زمانی که برنامه فوق اجرا می شود ، نتیجه زیر را تولید می کند −

sin(s): -0.544021
abs(i): -0.544021
floor(f): 230.000000
sqrt(l): 1000.000000
pow(d, 2): 5.635876

علاوه بر استفاده از اعداد در مثال‌های بالا، در برنامه‌نویسی سی، شمارش حلقه‌ای، نمایش پرچم، مقادیر درست یا نادرست به عنوان Boolean وجود دارد.

اعداد در جاوا

در زیر برنامه معادل برای جاوا آمده است. جاوا تقریباً همه انواع داده‌های عددی موجود در برنامه‌نویسی سی را ارائه می‌دهد.

شما می‌توانید سعی کنید برنامه زیر را اجرا کنید تا خروجی آن را مشاهده کنید که با خروجی نمونه بالا برنامه سی تقریباً یکسان است.

public class DemoJava {
   public static void main(String []args) {
      short  s;
      int    i;
      long   l;
      float  f;
      double d;

      s = 10;
      i = 1000;
      l = 1000000L;
      f = 230.47f;
      d = 30949.374;

      System.out.format( "s: %d\n", s);
      System.out.format( "i: %d\n", i);
      System.out.format( "l: %d\n", l);
      System.out.format( "f: %f\n", f);
      System.out.format( "d: %f\n", d);
   }
}

هنگامی که برنامه فوق اجرا می شود ، نتیجه زیر تولید می شود −

s: 10
i: 1000
l: 1000000
f: 230.470001
d: 30949.374000

جاوا نیز برای محاسبات ریاضی دارای تمام توابع داخلی مورد نیاز است و شما می توانید از آن ها به همان روشی که در برنامه نویسی C استفاده کردید، استفاده کنید.

اعداد در پایتون

پایتون کمی با C و جاوا متفاوت است؛ این زبان اعداد را در int، long، float و complex دسته بندی می کند. در زیر چند مثال از اعداد در پایتون آمده است −

int long float complex
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3+e18 .876j
-0490 535633629843L -90. -.6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69 -4721885298529L 70.2-E12 4.53e-7j

در زیر برنامه معادلی که با زبان پایتون نوشته شده است آمده است −

s = 10
i = 1000
l = 1000000
f = 230.47
d = 30949.374

print "s: ", s
print "i: ", i
print "l: ", l
print "f: ", f
print "d: ", d

وقتی کد بالا اجرا شود، خروجی زیر را تولید می‌کند:

s:  10
i:  1000
l:  1000000
f:  230.47
d:  30949.374

پایتون همچنین مجموعه کاملی از توابع داخلی برای محاسبات ریاضی فراهم می کند و شما می توانید از آنها به همان شیوه ای که در برنامه نویسی C استفاده کرده اید، استفاده کنید.