دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۵
  • اردیبهشت

جلسه ۰۸ : عملگرها در پاسکال (Pascal)

  • دسته‌بندی‌ها :
جلسه ۰۸ : عملگرها در پاسکال (Pascal)
    • جزئیات
    • نوع محتواآموزشی

      علاقمندان به زبان های برنامه نویسی روزتون بخیر. با آموزش زبان برنامه نویسی پاسکال (Pascal) از وب سایت آموزشی پی وی لرن همراهتون خواهیم بود. عملگرها در پاسکال (Pascal) را در این بخش مورد بررسی قرار خواهیم داد. با ما همراه باشید.

      عملگرها در پاسکال (Pascal)

      عملگر سمبلی است که به کامپایلر می گوید تا عملیات خاص ریاضی یا منطقی را انجام دهد. پاسکال انواع مختلفی از عملگرها را در اختیار شما قرار می دهد. با عملگرها در پاسکال (Pascal) آشنا خواهیم شد.

      • عملگرهای محاسباتی (Arithmetic operators)
      • عملگرهای رابطه ای (Relational operators)
      • عملگرهای بولین (Boolean operators)
      • عملگرهای بیت (Bit operators)
      • عملگرهای Set یا Set operators
      • عملگرهای رشته ای (String operators)

      بگذارید در ابتدا به ترتیب در مورد اپراتورهای محاسباتی ، رابطه ای، بولین و بیت صحبت کنیم. و بعد درباره اپراتورهای Set و عملگرهای رشته صحبت خواهیم کرد.

      عملگرهای محاسباتی (Arithmetic operators)

      در جدول زیر تمام عملگرهای محاسباتی (Arithmetic operators) پشتیبانی شده توسط Pascal نشان داده شده است. فرض کنید متغیر A دارای مقدار ۱۰ باشد و متغیر B دارای مقدار ۲۰ ، سپس:

      عملگرشرحمثال
      +دو عملوند را به هم اضافه می کند.A + B will give 30
      دوم را از عملوند اول کم می کند.A – B will give -10
      *عمل ضرب دو عملوندA * B will give 200
      /صورت کسر را بر مخرج تقسیم می کند.B / A will give 2
      %باقیمانده تقسیم دو عدد را به ما بر می گرداند.B % A will give 0

      عملگرهای رابطه ای (Relational operators)

      در جدول زیر تمام اپراتورهای رابطه ای پشتیبانی شده توسط Pascal نشان داده شده است. فرض کنید متغیر A دارای مقدار ۱۰ باشد و متغیر B دارای مقدار ۲۰ است، سپس:

      عملگرشرحمثال
      =بررسی می کند که آیا مقادیر دو عملوند برابر است یا خیر ، اگر بله ، آن گاه شرط true می شود.A = B) is not true)
      <>بررسی می کند که آیا مقادیر دو عملوند مساوی است یا خیر ، اگر مقادیر مساوی نباشند ، شرط true می شود.A <> B) is true)
      >بررسی می کند که آیا مقدار عملوند سمت چپ بیش تر از مقدار عملوند سمت راست است، اگر بله ، این شرط true می شود.A > B) is not true)
      <بررسی می کند که آیا مقدار عملوند سمت چپ کم تر از مقدار عملوند سمت راست است، اگر بله ، این شرط true می شود.A < B) is true)
      =<بررسی می کند که آیا مقدار عملوند سمت چپ بیش تر از یا مساوی مقدار عملوند سمت راست است، اگر بله ، آن گاه شرط true می شود.A >= B) is not true)
      =>بررسی می کند که آیا مقدار عملوند سمت چپ کم تر از یا مساوی با مقدار عملوند سمت راست است، اگر بله ، این شرط true می شود.A <= B) is true)

      در ادامه ی عملگرها در پاسکال (Pascal) عملگرهای بولین را داریم.

      عملگرهای بولین (Boolean operators)

      در جدول زیر تمام اپراتورهای Boolean پشتیبانی شده توسط زبان Pascal نشان داده شده است. همه این اپراتورها روی عملوندهای بولین کار می کنند و نتایج بولین را تولید می کنند. فرض کنید متغیر A دارای true و متغیر B دارای false باشد ، سپس:

      عملگرشرحمثال
      and عملگر بولین AND نامیده می شود. اگر هر دو عملوند صحیح باشند ، پس شرط true می شود.A and B) is false)
      and thenاین شبیه به عملگر AND است ، با این حال ، ترتیبی که کامپایلر عبارات منطقی را ارزیابی می کند تضمین می کند. عملوندهای چپ به راست و راست فقط در صورت لزوم ارزیابی می شوند.A and then B) is false)
      orعملگر بولین OR می شود. اگر هر دو عملوند صحیح باشد ، آن گاه شرط true می یابد.A or B) is true)
      or elseاین شبیه به Boolean OR است ، با این حال ، ترتیبی را که کامپایلر عبارات منطقی را ارزیابی می کند تضمین می کند. عملوندهای چپ به راست و راست فقط در صورت لزوم ارزیابی می شوند.A or else B) is true)
      notعملگر بولین NOT نامیده می شود. برای معکوس کردن وضعیت منطقی عملوند استفاده می شود. اگر یک شرط true باشد ، عملگر NOT منطقی آن را false می کند.not (A and B) is true.

      عملگرهای بیت (Bit operators)

      اپراتورهای Bitwise روی بیت کار می کنند و عملیات bit-by-bit را انجام می دهند. همه این اپراتورها روی عملوندهای integer کار می کنند و نتایج integer را تولید می کنند.

      جدول درستی برای (~) bitwise and (&), bitwise or (|), bitwise not به شرح زیر است.

      pqp & qp | q~p~q
      ۰۰۰۰۱۱
      ۰۱۰۱۱۰
      ۱۱۱۱۰۰
      ۱۰۰۱۰۱

      فرض کنید که A = 60؛ و B = 13 است؛ اکنون در قالب باینری ان ها به شرح زیر خواهند بود .

      A = 0011 1100

      B = 0000 1101

      —————–

      A&B = 0000 1100

      A^B = 0011 0001

      ~A  = ۱۱۰۰ ۰۰۱۱

      اپراتورهای Bitwise که توسط Pascal پشتیبانی می شوند در جدول زیر آورده شده اند. فرض کنید متغیر A دارای ۶۰ باشد و متغیر B دارای ۱۳ است ، سپس:

      عملگرشرحمثال
      &عملگر باینری AND اگر در هر دو عملوند وجود داشته باشد ، یک بیت را به نتیجه کپی می کند.(A & B) will give 12, which is 0000 1100
      |عملگر باینری OR اگر در هر کدام از عملوندها وجود داشته باشد یک بیت را کپی می کند.(A | B) will give 61, which is 0011 1101
      !عملگر باینری OR اگر در هر کدام از عملوندها وجود داشته باشد یک بیت را کپی می کند. مثل عملگر | .(A ! B) will give 61, which is 0011 1101
      ~عملگر باینری Ones Complement یگانی است و تأثیر روی بیت های “flipping” دارد.(~A ) will give -61, which is 1100 0011 in 2’s complement form due to a signed binary number.
      >>اپراتور باینری شیفت چپ. مقدار عملوندهای چپ به وسیله تعداد بیت های مشخص شده توسط عملوند سمت راست منتقل می شود.A << 2 will give 240, which is 1111 0000
      <<اپراتور باینری شیفت سمت راست. مقدار عملوندهای چپ به وسیله تعداد بیت های مشخص شده توسط عملوند سمت راست منتقل می شود.A >> 2 will give 15, which is 0000 1111

      لطفا توجه داشته باشید که پیاده سازی های differ پاسکال در اپراتورهای bitwise تفاوت دارد. Free Pascal ، کامپایلری که ما در اینجا استفاده کردیم ، از اپراتورهای بیتی زیر پشتیبانی می کند.

      عملگرعملیات
      notBitwise NOT
      andBitwise AND
      orBitwise OR
      xorBitwise exclusive OR
      shlBitwise shift left
      shrBitwise shift right
      >>Bitwise shift left
      <<Bitwise shift right

      مبحث عملگرها در پاسکال (Pascal) را در ادامه خواهیم داشت.

      تقدم عملگرها در پاسکال

      تقدم عملگر ، گروه بندی شرایط را در یک عبارت تعیین می کند. این بر نحوه ارزیابی یک عبارت تأثیر می گذارد. برخی از اپراتورها نسبت به بقیه اولویت بالاتری دارند. به عنوان مثال ، اپراتور ضرب نسبت به اپراتور جمع از اولویت بالاتری برخوردار است.

      به عنوان مثال x = 7 + 3 * 2؛ در این جا نتیجه ی x برابر با ۱۳ داده می شود نه ۲۰ . زیرا عملگر * دارای اولویت بالاتری از عملگر + است ، بنابراین ابتدا باید نتیجه ی ۳ * ۲ انجام شود و سپس نتیجه ی آن دو به اضافه ی ۷ می شود.

      در این جا ، اپراتورهایی با بالاترین تقدم در بالای جدول ظاهر شده اند ، عملگرهایی که کم ترین تقدم را دارند در پایین جدول نشان داده شده است. در یک عبارت ، ابتدا عملگرهای دارای اولویت بالاتر ارزیابی می شوند.

      عملگرPrecedence
      , not,~Highest
       &,div, mod, and, /,*
      , or, -,+,!,|
      , in ,= <, <, =>,>, <>,=
      or else, and thenLowest

      کلام پایانی

      عملگرها در پاسکال (Pascal) را در این بخش از آموزش پاسکال (Pascal) دنبال نمودیم. در بخش بعدی به بررسی ساختارهای تصمیم می پردازیم. با وب سایت آموزشی پی وی لرن همراه باشید.

      QR:  جلسه ۰۸ : عملگرها در پاسکال (Pascal)
      به اشتراک بگذارید