INGBM

گپ و گفتی پیرامون مهندسی نرم افزار و هوش مصنوعی

INGBM

گپ و گفتی پیرامون مهندسی نرم افزار و هوش مصنوعی

حوزه فعالیت : برنامه نویسی پیشرفته ، ساختمان داده ها ، طراحی الگوریتم ، مهندسی نرم افزار ، مهندسی اینترنت ، ساختمان گسسته ، ریاضی مهندسی و ... / یادگیری ماشین

کلمات کلیدی
بایگانی

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

شنبه, ۱ شهریور ۱۳۹۹، ۱۲:۱۵ ق.ظ

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

برنامه و برنامه نویسی

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

ماشین ها یا در بحث ما کامپیوترها هم از این قاعده مستثنی نیستند. قابلیت کامپوترها در محاسبه (calculation) و تصمیم گیریهای منطقی (Logical decision making) بسیار بالاتر از انسان هست [1]. برای اینه بتونیم از اونها برای انجام کارهامون کمک بگیریم مجبوریم به زبان خودشان حرف بزنیم.

زبان ما انسانها از حرف، کلمه و جمله و ... تشکیل میشه. زبان یک کامپبوتر هم به طور مشابه از اجزای زیر تشکیل میشه:سلسله مراتب داده ها

  • بیت (Bit): کوچکترین جزء زبان کامپیوتر است و تنها از دو عدد 0 و 1 تشکیل شده.
  • بایت (Byte): به صورت تاریخی تعداد بیتهایی لازم برای ذخیره کردن یک کارکتر (مثل ح، A، @ و ...)‌ بایت گفته می شود [2]. بسته به سخت افزار یک ماشین می تواند دارای انواع متفاوتی باشد ولی امروزه معمولا هر هشت بیت یک بایت رو تشکیل میده [2].
  • فیلد (Field): به گروهی (group) از بایتها که یک معنی خاصی رو منتقل می کنند (conveys meaning) یک فیلد می گویند، مثل: جواد، 1372 و ... [1].
  • رکورد (Record): یک رکورد از چند فیلد مرتبط با هم (related fields) تشکیل می شود مثلا یک رکورد ممکنه از نام، نام خانوادگی، شماره شناسنامه و معدل تشکیل شده باشد[1].
  • فایل (File): گروهی از رکوردهای مرتبط (group of related records) یک فایل را تشکیل می دهند[1].

مترجمخب تا اینجا بحث کردیم که یک فایل تشکیل میشه از یکسری بیتها. اما واژه فایل برامون خیلی آشنا هست و فایلهای مختلفی می شناسیم مثل: تصاویر، متن ها و ... . سوالی که هست اینه که وقتی مثلا یک تصویر یا متن رو باز میکنیم 0 و 1 نمی بینیم!؟ واقعیت این هست که همانطور که در دنیای ما انسانها استفاده از مترجم کار ارتباط برقرار کردن بین آدمها رو ساده کرده، در دنیای کامپیوتر هم این امکان وجود داره که زبان سطح بالا (قابل فهم برای انسان) تبدیل بشه به زبان ماشین (0 و 1). بنابراین وقتی یک تصویر یا متن برای ما نشان داده میشه به زبان قابل فهم برای ما تبدیل شده است اما در حقیقت به صورت 0 و 1 روی حافظه کامپیوتر ذخیره شده.

خب پس خیالمان راحت شد از این پس به راحتی و به زبان خودمان با کامپیوتر حرف میزنیم و برای انجام محاسبات از آن کمک میگیریم!! البته کار به این راحتی هم نیست باید توجه کنیم که از یک نگاه ما دو نوع فایل داریم: فایلهایی که صرفا حاوی داده هستند و فایلهایی که در آنها یکسری دستورات برای کامپیوتر نوشته شده که به فایلهای اجرایی (executable files) معروف هستند.

فایلهایی که صرفا داده هستند رو کامپیوتر نیاز نداره تفسیر کنه بلکه فقط لازمه بتونه به صورت 0 و 1 اونها رو ذخیره کنه (و وقتی که به ما نمایش میده به صورت قابل فهم برای ما نمایش بده، که به کمک مواردی مثل فرمت فایل به راحتی این کار انجام می پذیرد و مثلا ما میتوانیم هر متنی را به هر زبانی بنویسیم و در کامپیوتر ذخیره کنیم). اما در فایلهای اجرایی لازم هست که طبق یکسری قواعد خاص یمحتوای فایل نوشته بشه تا کامپیوتر توانایی فهم و اجرای اون رو داشته باشه. برای روشن شدن بحث در نظر بگیرید که 100 کلمه فرار فارسی را مجبورید تا پیدا کردن کاغذ و قلم در خاطر بسپارید برای این کار از یک دوست انگلیسی زبانتان که حافظه خیلی خوبی داره کمک می گیرید. ایشان این کلمات رو به روش مخصوص به خودش به خاطر میسپاره و هر وقت که بخواهید به شما میگه اما خودش هیچ درکی از این کلمات نداره. اما اگر به جای این کلمات چند درخ.است از ایشان داشته باشید باید کلمات معنی دار زبان انگلیسی را با استفاده از قواعد زبان انگلیسی کنار هم بچینید تا ایشان درک درستی از درخواست شما پیدا کند.

خب برگردیم سراغ کلمه برنامه (computer program)؛ به دنباله ای از دستورات (sequences of instructions) برنامه می گن. در بالا مرور کردیم که دستورات باید برای کامپیوتر قابل فهم باشند. اینجاست که زبانهای برنامه نویسی به کمک ما میان که برای هر کار (task) بتونیم یک دنباله از دستورات قابل فهم برای ماشین (برنامه) بنویسیم.

 


منابع:

1. کتاب c++ how to program - نویسنده‌گان:  Paul J. Deitel and Harvey Deitel - ویرایش دهم (سال 2016)

2. ویکی پدیا - کلمه byte

  • غلامرضا کوهنورد مقدم

برنامه نویسی

نظرات  (۰)

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

ارسال نظر

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