تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 30 +

تعداد کل مطالب : 337 +

تعداد نظرات : 23 +

حضرت علی (ع): هر چیزی زکات دارد ، و زکات علم نشر آن است!

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


به نام خالق هستی بخش

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

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

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


پس از دستور switch در زبان سی و سی پلاس پلاس عملگر static_cast را مورد بررسی قرار میدهیم.

عملگر static_cast

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

به مثال زیر پیرامون این عملگر دقت کنید.

در این قطعه کد یک متغیر از نوع int  و مقدار آن را ۲۵ و یک متغیر از نوع float  تعریف شده است.

در خط سوم مقدار درون متغیر اعشاری به درون اینتیجر واریز شده و مقدار صحیح به اعشاری تبدیل میشود.

نتیجه این قطعه کد عدد ۲۵.۰ است.

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

پایان فصل چهارم.


فصل پنجم : اعداد تصادفی (Random)

پس از پایان فصل چهارم به مبحث اعداد تصادفی رسیدیم.

تعریف اعداد تصادفی:

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

البته از این نوع اعداد بیشتر در بازی هایی که خواهید ساخت کاربرد دارند.

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

موتور بازی سازی unreal engine از این زبان برای تعریف دستورات خود استفاده میکند.

حاشیه ایجاد اعداد تصادفی بین ۰ تا عدد ۳۲۷۶۷ میباشد. در این زبان برای ایجاد آن از تابع ()Rand استفاده میشود.

حال بیایید برنامه ای بنویسیم که ۵ عدد تصادفی بین ۰ تا ۳۲۷۶۷ ایجاد کند.

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

در این کد ما ابتدا یک حلقه for برای ایجاد تکرار ساختیم و یک مقدار j را برابر ۱ قرار دادیم.

پس از آن بررسی میکند که آیا با ۵ برابر شد یا از آن کمتر است؟
تا زمانی که این شرط برقرار باشد حلقه ادامه داشته و یک واحد به j میفزاید.

سپس در درون حلقه با استفاده از Cout مقدار تابع Rand را فراخوانی میکنیم.

بسیار عالی حال شما ۵ عدد تصادفی ساختید. به همین راحتی!!

خوبی که زبان سی و سی پلاس پلاس دارد این است که syntax و پایه آن بسیار با زبان محاوره در ارتباط است.

حال اگر برنامه را چند بار اجرا کنید بازهم یک مقدار چاپ میشود.

زبان سی برای این مورد نیز چاره ای دارد آن هم معرفی تابع srand است.

تابع Srand

این تابع یک  آرگومان صحیح از نوع unsigned می پذیرد.نام این آرگومان seed است.

حال بیایید برنامه فوق را با srand هم بنویسیم.

برنامه بالا نیز موضوع همان برنامه قبلی است.

با بیان یک آرگومان unsigned که نام آن seed است آغاز میشود.

سپس با قرار دادن آرگومان seed و استفاده از تابع srand خاتمه میابد.

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

بلکه با هر بار اجرای برنامه یک مقدار خاص برمیگردد.

حال بیایید یک برنامه هوشمند تر بنویسیم.

این برنامه نتیجه پرتاب دو تاس را برمیگرداند.

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

نمونه آن را در برنامه بالا میبینید.

در برنامه بالا سه نوع unsigned با نام های seed , d1, d2 تعریف کرده ایم.

پس از آن با دریافت seed و قرار دادن آن به عنوان آرگومان srand برنامه را به جلو برده ایم.

پس از آن هم طبق یک الگوریتم خاصی که برای بازی است.

یک عملیات جایگزاری را با استفاده از قرار دادن مقدار تصادفی در d1 , d2 با احتساب اینکه باقیمانده تقسیم آن ها نتیجه باشد. دو مقدار d1,d2 را مقدار میدهیم.

همانطور که میدانید % در برنامه نویسی به معنی باقیمانده تقسیم است.

%۶ در اینجا یعنی باقیمانده عدد را زمانی که در ۶ تقسیم شد در نظر بگیر.

هر چند الگوریتم آن شاید برای شما کمی سخت باشد اما  کمی دقت در آن ذهن شما را باز تر میکند.

برنامه نویسی نیاز به یک ذهن خلاق و باز  دارد.

حال برای اینکه شما نیز کمی استراحت کنید
این قسمت را در اینجا به پایان میرسانیم.

بدرود.

در قسمت بعدی با نوع داده ای typedof آشنا میشود.

با قسمت یازدهم همراه باشید.

کانال سروش


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ