جــالــبــانــه ها از نظر من

هر چیزی که جالب و مفید باشه رو میذارم اینجا

هر چیزی که جالب و مفید باشه رو میذارم اینجا

من تو این وبلاگ چیزایی که بنظرم جالب بودن رو، از نوشته ها و داستان های کوتاه تا نرم افزار و اهنگ میزاشتم. از این به بعد این وبلاگ کمتر آپدیت خواهد شد و مطالب جدید در وبلاگ RealFriend.blogfa.com منتشر خواهد. منتظر حضور گرمتون تو وبلاگ هستیم.ممنون

برنامه نویسی کلا چیه؟

شنبه, ۸ تیر ۱۳۹۲، ۰۳:۴۲ ق.ظ

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

برو که رفتیم

برنامه نویسی کامپیوتر شامل یه سری دستورالعمل برای کامپیوتره. تقریبا یه چیزی مثل شکل زیر میشه:

بله، یه چیزی مثل شکل بالا! این همون چیز ترسناکست.

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

خوب حالا این دستورالعملا خودشون به دو قسمت تقسیم میشن. یکی متغیر ها هستن (Variable) ها و یکی دیگه هم Statement ها هستن. توجه داشته باشین که این واژه هارو بدون ترجمه استفاده میکنیم چون اصلا آموزش برنامه نویسی به زبانی غیر از زبان انگلیسی کاری بس بیهودست!

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

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

بذارید یه مثال بزنم: من توت فرنگی رو میذارم توی فانشکن مخلوط کن، مخلوط کن شروع به کار میکنه و من یه شربت توت فرنگی تحویل میگیرم. پس من میتونم از این به بعد واژه Blend رو تایپ کنم و کامپوتر از این به بعد میدونه که باید چه کاری رو انجام بده. به شکل زیر توجه کنین:

میتونین بالا متغیر هامونو ببینین. SALT، WATER، BOWL، POT و TEMPERATURE متغیر های ما هستن. حالا ممکنه BOWL و POT  و چندتا چیز دیگه غذا نباشن اما متغیر محسوب میشن.

حالا فانکشن های ما چی هستن؟ همونطور که میبینین MEASURE، POUR، BOIL، STIR و SET فانکشن های ما هستن. مثلا MEASURE رو مینویسیم تا چیزی مثل TEMPERATURE رو اندازه گیری کنیم، یا فانکشن های دیگه که هرکدوم کار معینی رو انجام میدن. به همین سادگی!

یه توضیحی هم این که فانکشن ها میتونن روی چندتا متغیر وظیفه ای رو انجام بدن. مثلا اگه فانکشن BOIL رو وارد کنین میتونین هم بخواین براتون BOIL WATER رو انجام بده BOIL MILK.

تو برنامه نویسی کدها میتونن جایگزین هم بشن و در ضمن میتونن مشابه تابع هایی که تو دبیرستان خوندین هم به کار برن، (f(x هارو به یاد دارین که؟ احتمالا الان کمی گیج شدین. بذارین کمی بیشتر توضیح بدم. فرض کنیم شما میخواین یه بازی بسازین. برای اینکه یه بازی بسازین، باید اول کاراکترها و اشیاء رو که همون متغیرها هستن بسازین و بعد بیاین برای این متغیرهاتون، فانکشن هارو بوجود بیارین.

ممکنه شما یه فانکشن به نام JUMP رو بنویسین و اینطور تعریف کنین که وقتی شما کلمه JUMP رو تایپ کنین، یه انیمیشن نمایش داده بشه که نشون میده کاراکتر میپره یا اینطور تعریف کنین که این انیمیشن به این صورت به نمایش بیاد که کاراکتر اول شروع به دویدن میکنه و بعد میپره.

یا اصلا این فانکشن رو طوری میسازین که وقتی کلمه RUN تایپ میشه کاراکتر شروع به دویدن میکنه.

یه مثال خوب از فانکشن ها رو میشه در iOS اپل پیدا کرد. برای مثال میشه به کلمه های Swipe، Tap و Pinch یه فانکشن گفت. حالا الگوریتم ها چین؟ بریم ببینیم:

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

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

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

نویسنده میگه که : “من یه بار برنامه ای رو دیدم که بسیار طولانی بود و کار اساسیش هم چیزی نبود جز یه شی که دنبال ماوس میرفت. من این برنامه رو توی یه خط پیاده کردم و بعد اون خیلی سریعتر اجرا میشد.”

بریم سراغ Debugging : 

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

خوب سورس کد چیه؟

در برنامه نویسی، دستورالعملهای اساسی رو سورس کد یا کد منبع میگن. خیلی از برنامه نویس ها سورس کد برنامشونو مخفی نگه میدارن. حالا این وسط به سورس کدهایی که مخفی نگه داشته نمیشن Open Source یا متن باز میگن. برای مثال هم میتونم به لینوکس اشاره کنم.

سینتاکس، عجب اسمی !

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

IDE

IDE رو احتمالا زیاد شنیدین اما تا حالا دقت کردین چیه؟ IDE که مخفف Integrated Development Environment هست، به شما محیطی رو میده که بتونید از کامپایبر، دیباگر و بقیه امکانات یکجا استفاده کنین. به عبارتی شما برنامتونو تو IDE میسازین. احتمالا اسم اکلیپس به گوشتون خورده، این همون IDE هست یا میتونم از Xcode اپل هم برای برنامه نویسی اپ های آیفون نام ببرم.

Flow Control

بذارید با مثال این قسمتو بریم. فرض کنین شما میخواین به کامپیوتر چندتا دستور بدین : کیک رو آماده کن، آماده کردن کیک رو رها کن، وقتی کیک آماده شد درش بیار، سردش کن و بخورش. حالا این پزیدن کیک چقدر کشید؟ شما چطوری بهش میگین وقتی آماده شد درش بیار وقتی که کامپیوتر نمیدونه کی آماده شده یا اصلا کامپیوتر چه بدونه تو چه دمایی باید کیک آماده بشه. همه و همه اینها این معنی رو میدن که نمیتونید اینطوری برنامه بنویسید که این کارو انجام بده، این کارو بکن و این کار انجام شد. برنامه نویسی یه جریان رو نیاز داره و این نیاز همون Flow هستش. به عبارتی باید یه Flow Control داشته باشه.

Conditional Statements

راهی رو که شما باهاش یه جریان یا همون Flow رو بوجود میارین بوسیله Conditional Statements صورت میگیرن. یه Conditional Statements هم یه دستوری مثل دستور زیر:

اگه درجه حرارت به ۱۰۰ درجه رسید، کیک رو از فر دربیار، اگه ۹۰ درجه بود بذار توی فر بمونه و اگه هیچ کدوم از اینها نبودن…

خلاصه بالا رو جمع کنم میرسیم به سه عبارت بزرگ و اساسی در برنامه نویسی : else ، if و else if . حالا اینارو سادشون کنم میشن اگه = if، اگه ۹۰ درجه بود = else if و اگه هیچکدوم نبودن = else .

تقریبا به نصف مطلب رسیدیم، بقیش هم واسه فردا تا فعلا اینارو مطالعه کنین ( کار آماده کردن یه همچین مطلبی واقعا سخته درک کنین D:
موافقین ۰ مخالفین ۰ ۹۲/۰۴/۰۸
بهمن

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی