مفاهیم الگوریتم و زبان برنامه نویسی (مبانی برنامه نویسی)
سلام خدمت همه ی دوستان و علاقمندان zero to hero
تو این مقاله و مقاله های بعدی (سری مبانی برنامه نویسی) سعی داریم تا شما رو با مفاهیم مبانی برنامه نویسی و الگوریتم ها آشنا کنیم. مفاهیمی که شما برای برنامه نویس شدن بهشون نیاز دارین. و همون طور که از اسممون پیداست، این مفاهیم رو از صفر شروع می کنیم و تا قهرمانی ادامه میدیم.
قبل از هر چیز تو این مقاله سعی داریم تا این دو مفهوم رو برای شما تعریف کنیم. ابتدا مفهوم “الگوریتم” و بعد از اون مفهوم “زبان برنامه نویسی”.
اگر بخوایم کلمه ی الگوریتم رو تو یه جمله تعریف کنیم، می تونیم بگیم: “مجموعه دستورات مرتب و با قاعده که کار خاصی را انجام می دهند.”
اما خب، خود این تعریف از چنتا کلمه ی مبهم تشکیل شده، مثل “با قاعده” ، “مرتب” ، “کار خاص” و …
برای همین به جای این تعریف می خوام مفهوم الگوریتم رو با یه مثال براتون روشن کنم.
فرض کنید سه شخص متفاوت، برای مثال، دوستتون، استاد دانشگاهتون و افسر ارشدتون از شما انجام کاری رو درخواست می کنن، و شما هم مشکلی با انجام اون کار ندارین. شاید هر سه کاری که از شما خواسته شده یکی باشه. اما مسلما جوابی که به این سه شخص میدین متفاوت خواهد بود. چون شما در حال صحبت کردن با سه شخص متفاوت هستید. برای مثال می تونید به دوستتون بگید: “اکی، انجامش میدم.” یا می تونید بگید: “حله داداچ!” اما مسلما این جمله هارو به استادتون نمی تونید بگید. به جاش باید بگید: “چشم استاد. حتما انجام میشه” و همین طور برای پاسخ به افسر ارشد باید بگید: “بله قربان.”
همون طور که با این اشخاص بسته به جایگاهشون متفاوت صحبت می کنید، برای صحبت کردن با کامپیوتر (برنامه نویسی) و وادار کردنش به انجام کاری که می خواین هم باید از لحن خاصی استفاده کنید تا کامپیوتر حرف شمارو بفهمه و کاری که می خواین رو انجام بده. همون طور که اگر به افسر ارشدتون بگین “حله داداچ!” اون متوجه حرفتون نمیشه! اگر با کامپیوتر هم با لحنی غیر از لحن خودش صحبت کنین، نمی فهمه! و این مفهوم دقیقا بیان مفهوم الگوریتمه. همون طور که شما می تونید با همه ی استاداتون تقریبا با یه لحن صحبت کنین، می تونین با تمام کامپیوتر ها هم با یه لحن صحبت کنین، البته اگر الگوریتم نویسی رو بلد باشین. حالا این که این لحن دقیقا چی هست و چطور باید با یک کامپیوتر صحبت کنین رو تو مقاله های بعدی آموزش میدیم.
اما مفهوم “زبان برنامه نویسی”
“یک زبان برنامهنویسی یک زبان مصنوعی است که برای بیان محاسباتی که توسط یک ماشین (مخصوصا رایانه) قابل انجام است، طراحی شدهاست.” (برگرفته از ویکی پدیا)
اما باز هم این تعریف مبهمات خاص خودش رو داره.
برگردیم به مثال قبلمون. فرض کنید شما دو استاد دارید و شیوه یا لحن صحبت کردن با اساتید رو بلدید. اما یکی از استاداتون فارسی زبان و دیگری انگلیسی زبانه. مسلما شما نمی تونید با استاد فارسی زبانتون (اگر انگلیسی رو بلد نباشه) انگلیسی صحبت کنید و بالعکس، چون، اون ها اگر به زبانشون صحبت نکنید متوجه حرفاتون نمیشن، هر چقدر هم که شما آداب حرف زدن با استاد رو بلد باشید.
کامپیوتر ها هم دقیقا به همین صورتن. یعنی شما علاوه بر یاد گرفتن شیوه صحبت با کامپیوتر(الگوریتم نویسی) باید یک زبان قابل فهم برای کامپیوتر رو هم یاد بگیرید تا بتونید با اون صحبت کنید.
برای صحبت کردن با کامپیوتر ها زبان های زیادی وجود داره اما ما تو این آموزش ها از زبان برنامه نویسی ++C استفاده می کنیم. تاکیید می کنم هدف ما یادگیری این زبان نیست. بلکه ما هدفمون یاد گیری الگوریتم نویسی و مبانی برنامه نویسیه. اما برای صحبت کردن با کامپیوترمون مجبوریم از یه زبان استفاده کنیم و ما هم این زبانو انتخاب کردیم.
نکته ی آخر این که اگر بخواید با انسانی که زبانش رو بلد نیستید ارتباط بر قرار کنید باید زبان اون شخص (مثلا انگلیسی) رو یاد بگیرید. که خب این کار خیلی سختیه. چون یه زبان انسانی شاید از هزاران کلمه استفاده می کنه و دارای قواعد زیادیه و یاد گیریش زمانبره. اما نگران نباشین، زبان های برنامه نویسی این طور نیستن. در واقع تمام زبان های برنامه نویسی دایره لغات بسیار محدودی دارن و قواعدشون هم تقریبا با هم یکسانه(تقریبا همشون همون قواعد الگوریتم نویسی که بهتون یاد میدیم رو رعایت می کنن). پس یادگیری زبان های برنامه نویسی کار سختی نیست. البته اگر الگوریتم نویسی رو یاد بگیرید.
منتظر مقاله های بعدی مبانی برنامه نویسی و الگوریتم ها باشید.
قهرمان دنیای خودت باش!
لینک پست بعدی مبانی برنامه نویسی
مطالب زیر را حتما مطالعه کنید
حسگرها و فناوریهای پوشیدنی و کاربردهای آنها در پزشکی
آشنایی با نمودار رابطهای (ER)
درخت دودویی
ساختمان داده درخت
مدار منطقی – گیت های منطقی
مدار منطقی-جبر بول
2 Comments
Join the discussion and tell us your opinion.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
سلام
بسیار مفید و واضح بیان شده.
تشکر
ممنون از همراهی شما