منو
 کاربر Online
710 کاربر online

عملیات انتساب

تازه کردن چاپ
جامعه و علوم اجتماعی > تاریخ
(cached)

عملیات انتساب

در دستوری ترین زبان های برنامه نویسی کامپیوتری ، ’’’ عملیات انتساب’’’ یکی از بنیادی ترین عملیات ها است. در مجموعه ها یا زیر مجموعه ها، یک مقدار به یک متغیر نسبت داده شده یا انتساب داده می شود. این بدین معنی است که در زمانهای متفاوت یک متغیر خاص احتمالاً جایگزین مقادیری متفاوت خواهد شد. اعمالی که روی متغیرها صورت می گیرد شبیه مجهولات جبری x و y و z و … نیست که همواره جایگزین یک مقدار می شوند.

این متغیرها مثلاً می توانند به این شکل باشند: عبارت =: متغیر

یا اغلب از یک علامت تساوی استفاده می گردد: عبارت = متغیر

معنای این عملیات این است که حالت فعلی اجرای برنامه اصلاح شده است:
  • عبارت در حالت فعلی برنامه مورد ارزیابی قرار می گیرد.

  • متغیر به مقدار محاسبه شده انتساب داده می شود و جایگزین مقدار قبلی آن متغیر می گردد.

مثال: فرض کنید که a یک متغیر عددی است، انتساب *a 2 a:= بدین معنی است که محتوای متغیر a پس از اجرای عبارت دو برابر می شود.


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

اشتباهی که معمولاً در مورد عمل انتساب رخ میدهد ، هنگامی است که برنامه نویسان آنرا با عبارت تساوی اشتباه می گیرند. در بسیاری از زبانها، عملگر انتساب یک علامت مساوی تنها (= ) است، در حالیکه عملگر تساوی یک جفت علامت مساوی ( ) می باشد. اغلب هنگامیکه برنامه نویس قصد دارد دو چیز را با هم مقایسه کند، از بکارگیری دو علامت مساوی صرف نظر می کند، مخصوصاً زمانی که او از زبانهایی ( مانند BASIC ) استفاده می کند که در آن این دو عملگر را با یک علامت یکسان نشان میدهند: یک علامت مساوی تنها.

حاصل این اشتباه این است که انتساب صورت می گیرد، و آنگاه عملیات مقداری را که به آن انتساب داده شده بود بر می گرداند ، که معمولاً مقداری صحیح است. اگر عبارت تساوی مورد نظر در یک عبارت if بصورت یک شرط بکار رود، چیزی که اغلب اجرا می شود عبارت then است، که یک اشکال منطقی در برنامه است. بسیاری از کامپایلرها و مفسرها قادر به مشخص کردن این نوع از اشکالات هستند.


تعداد بازدید ها: 8577


ارسال توضیح جدید
الزامی
big grin confused جالب cry eek evil فریاد اخم خبر lol عصبانی mr green خنثی سوال razz redface rolleyes غمگین smile surprised twisted چشمک arrow



از پیوند [http://www.foo.com] یا [http://www.foo.com|شرح] برای پیوندها.
برچسب های HTML در داخل توضیحات مجاز نیستند و تمام نوشته ها ی بین علامت های > و < حذف خواهند شد..