برگزیده های پرشین تولز

آشنایی با مفاهیم اولیه زبان های برنامه نویسی و اسکریپت نویسی (قسمت 1)

amuzeshtak

کاربر تازه وارد
تاریخ عضویت
2 دسامبر 2017
نوشته‌ها
10
لایک‌ها
2
محل سکونت
ایران
سخنی با دوستان
با عرض سلام . دوستان عزیز در این مقاله قصد دارم تا شما را با مبحثی آشنا کنم که بیشتر دوستانی که با انواع نرم افزار ها کار میکنند از آن بی اطلاع هستند و معمولا آنها را جا به جا به کار میبرند ، این موضوع هم ارتباطی با حرفه ای یا غیر حرفه ای بودن دوستان نداره و حتی من بارها شنیدم که اشخاص ظاهرا حرفه ای ابزاری را با زبان های اسکریپت نویسی نرم افزار خود میسازند و میگویند ما یک پلاگین ساختیم !



به دلیل اینکه معمولا در فیلم های آموزشی برنامه نویسی از همون اول میرن سراغ آموزش یک زبان مثل Python ، دیگه افراد با مبانی اولیه آن آشنا نمیشوند و شاید حتی بعد از اینکه بتونند برنامه های زیادی را با MEL یا Python بنویسند هنوز تفاوت بین برنامه نویسی و اسکریپت نویسی را ندانند ، کتابها یا مقالات خارجی هم که در این راستا منتشر شده است معمولا برای دوستانی که آشنایی کمی به زبان انگلیسی یا حتی لغات تخصصی آن ندارند زیاد مناسب نیست ، متاسفانه خودتون بارها دیدید که حتی اگر ترجمه این کتابها را بخوانید ، به دلیل اینکه مترجم اطلاعات کمی راجب این مبحث داره ، بیشتر اصطلاحات را با همان معنی انگلیسی به کار میبره به طوری که فهمیدن این موضوع از روی کتاب انگلیسی بسیار ساده تر از متن ترجمه شدست !



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


پس مجددا عرض میکنم که هدف از این مقالات ، آموزش برنامه نویسی و اسکریپت نویسی نیست ، چون یادگیری آن از طریق فیلم های آموزشی و سایت های مختلف امکان پذیره ، هدف از این مقالات ، یادگیری مفاهیم اولیه میباشد که معمولا در فیلم های آموزش گفته نمیشوند


چه کسانی نیاز به خوندن این مقالات دارند !؟

اساسا هر کسی که علاقه مند به مباحث تکنیکی نرم افزار ها به خصوص نرم افزار Maya میباشد ، میتونه از مطالعه این مطالب بهره ببره ، همچنین دوستانی که میخواهند در حوزه VFX و داینامیک فعالیت کنند باید حتما این مقالات رو بخونند و از آنها اطلاع داشته باشند ، به جز این افراد ، بقیه دوستانی که در بخش های دیگر نرم افزار مثل Modeling ، Rendering و … میخواهند فعالیت کنند نیز میتوانند از این مقالات استفاده کنند ، چون برنامه نویسی و اسکریپت نویسی تنها مربوط به بخش داینامیک نیست و در همه بخش ها کاربرد داره ،فقط میتوان گفت که برای بحث داینامیک و VFX میتونه الزامی باشه ! پس جواب سوال مذکور شاید همه کس باشه !







بزن بریممممم!!!!

امروزه همه میدانند که کامپیوتر با زبانی به اسم زبان ماشین کار میکنه ، زبان ماشین در حقیقت همان زبان صفر و یک یا باینریه ، چون دستگاه های دیجیتال از جمله کامپیوتر تنها دو عدد صفر یا یک و یا دو حالت خاموش و روشن رو متوجه میشوند. حالا چون قصد آمورش دیجیتال رو ندارم زیاد راجبش توضیح نمیدم ولی فقط اینو بدونید که در زبان ماشین ما تقریبا هیچ فرمول ریاضی ، دستور و فرمانی نداریم که کار خاصی رو برای ما انجام بده ، جالبه بدونید که ما در زبان ماشین حتی عملیات ضرب را نداریم ! بله درست متوجه شدید ما ضرب به این سادگی رو نداریم ، برای انجام عملیات ضرب کامپیوتر از عملیات جمع استفاده می کنه ، مثلا برای 2 * 3 این اتفاق میوفته : 2 + 2 + 2
خوب حالا اگر ما بخواهیم یه فرمول بنویسیم که مثلا مساحت یه کره رو محاسبه کنه چی میشه ؟ باید چندین صفحه A4 کد 0 و 1 بنویسیم تا این فرمول با عملیات جمع نوشته بشه و برای فرمول های بزرگتر هم احتملا عمرمون کفاف نمیده !
اینجاست که پای زبان های برنامه نویسی وسط میاد ، در حقیقت در زبان ها برنامه نویسی ما فرمول خودمون رو به زبان آدمیزاد مینویسیم و این زبان های برنامه نویسی این زحمت سنگین رو بر دوش دارند که آنچه را که ما نوشتیم به زبان ماشین تبدیل کنه که کامپیوتر متوجه بشه ! فقط یه نکته رو همین جا بگم که عموما به جای استفاده از سیستم باینری یا دودویی یا همون صفر و یک ، از سیستم هگزادسیمال یا 16 تایی استفاده میکنند ، خوب شاید یکم گیج بشید که منظور از این سیستم اعداد دودویی و هگزا دسیمال چیه !؟ اجازه بدید یه توصیح بسیار کوتاه بدم :






انواع سیستم اعداد
ما چندین نوع سیستم اعداد داریم که هر یک در جایی کاربرد داره و البته من هم با همه کاربرد های آن آشنا نیستم ، مثل سیستم HexaDecimal , Decimal , Octave , Binary که به ترتیب به آنها سیستم های شانزده تایی ، ده تایی ، هشت تایی و دوتایی میگویند.



– سیستم ده تایی یا Decimal همان سیستم شمردن خودمونه که از 0 میشماریم تا 9 ، و بعد از 9 ، اعداد دورقمی میشه و از ترکیب همان ده رقم صفر تا نه ساخته میشه مثل 12 .به دلیل اینکه ما ده تا عدد مختلف بیشتر نداریم بهش میگن دهتایی



– بنابراین در سیستم 16 تایی ما باید 16 تا عدد مختلف داشته باشیم که با ترکیب آنها بتوان سایر اعداد چندین رقمی رو نوشت ، ولی مگر ما به جز عدد 0 تا 9 عدد دیگری هم داریم !؟ مسلما نه و اینجاست که از حروف انگلیسی A , B , C , D , E , F استفاده میکنند !



پس برای شمردن به روش این سیستم اینگونه عمل میکنیم که ابتدا از 0 شروع به شمارش میکنیم تا میرسیم به 9 ، حالا برای نوشتن عدد 10 (در سیستم دهتایی) ، مینویسیم A و برای 11 مینویسیم B و برای 12 مینویسیم C و برای 13 مینویسیم D و برای 14 مینویسیم E و نهایتا برای 15 مینویسیم F و چون 16 تا رقم مختلف داریم ( 0 تا 9 و A تا F) پس بهش میگیم سیستم شانزده تایی.
مثلا عدد 30 در سیستم دهتایی در سیستم شانزدهتایی میشه 1E یا عدد 386 در سیستم دهتایی برابره با عدد 182 در سیستم شانزده تایی ! ممکنه سوال کنید که چه طور میشه این تبدیل سیستم های عددی رو به هم انجام داد ؟ جوابتون باید بگم که هر کدوم یه فرمول خاص دارن که اگر دوست داشتید میتونید در گوگل سرچ بزنید و پیدا کنید ، ولی باور بفرمایید که حتی من هم این فرمول ها رو به خاطر ندارم ، اما یه راه ساده تر برای تبدیل این سیستم اعداد به هم وجود داره که میتونید باهاش این سیستم ها رو به هم تبدیل کنید و ببینید نتیجه چی میشه ، این راه استفاده از نرم افزار قدرتمند Calculator یا همان calc یا ماشین حساب خودمونه که توسط شرکت مایکروسافت تولید شده و در تمام ویندوزها قابل دسترسه ، برای باز کردن این برنامه قدرتمند کافیه وارد قسمت Run ویندوز خود بشید و کلمه calc رو تایپ کنید و Enter بزنید. بعد از اینکه این برنامه باز شد وارد منوی View بشید و نوع ماشین حساب رو روی حالت Programmer تنظیم کنید ، بقیه چیزاشو خودتون در فیلم های آموزشی پیدا کنید . smile emoticon



– از روی توضیحات داده شده متوجه میشید که برای سیستم 8 تایی ما فقط اعداد 0 تا 7 رو داریم و برای سیستم دودویی ما فقط اعداد 0 تا 1 رو داریم !



مثلا عدد 3 در سیستم دهتایی برابره با عدد 11 در سیستم دودویی یا عدد 386 در سیستم دهتایی برابره با عدد 110000010 در سیستم باینری یا دودویی. تا اینجا ممکنه از خوندن این مطالب کمی خسته شده باشید ولی حالا که معنی این اعداد 110000010 رو که خیلی از جاها مینویسند میدونید شاید کمی از خوندن این مطالب خشنود شده باشید ! به خصوص اینکه با علم داشتن این سیستم ها میتونید کارای جالب مثل رمز گزاری کردن عدد های خودتون بکنید ! برای اینکه من و شما از نوشتن و خواندن این مطالب کمی خسته شدیم ، اجازه بدید تا ادامه این بحث رو در پستهای دیگر برای شما دوستان عزیز بنویسیم



آموزش تک
 
بالا