منوی دسته بندی

مبانی کامپیوتر- جلسه دوم

محتوای درس:

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

پردازش:

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

دانش:

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

در پردازش باید به نکات کلیدی زیر توجه شود:

  1. صحت داده ها: یعنی داده ها به درستی گردآوری شده و داده اشتباه بین آنها نباشد .
  2. درستی انجام محاسبات: محاسبات و یا عملیاتی که بر روی داده ها صورت می گیرد با دقت و بدون اشتباه انجام شوند.
  3. روش انجام پردازش: باید پردازش مناسب روی آنها انجام دهیم تا به اطلاعات مفید برسیم(استفاده از روش های بهینه و الگوریتم های مناسب)

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

سخت افزار و نرم افزار چیست:

سیر تکامل بشر

مغز كامپييوتر از سنگ ساخته شده است، بنابراين از جمودات است. حال آنكه امروزه كامپيوترها تا حدي پيشرفت كرده اند كه حتي گاهاً با يك موجود زنده و يا حتي با يك انسان كاملاً هوشمند ممكن است اشتباه گرفته شوند. تمامي قسمت هاي فيزيكي سخت يا جامد كامپيوترها را اصطلاحاً سخت افزار (Hardware) مي نامند.
اما آنچه كه به اين اجزاي بي جان، پويايي و روح مي بخشد، اجراي برنامه ها و سلسله دستوراتي است كه انسان ها براي آنها تعيين كرده اند و اصطلاحاً به آن نرم افزار(Software) گفته مي شود.
اين مخلوق دست بشر برخي ويژگي هاي فرا بشري دارد كه مهمترين آنها عبارتند از:

  1. از تكرار خسته نمي شود
  2. اشتباه نمي كند
  3. فراموش نمي كند
  4. تحت تاثير عواطف و يا
  5. عوامل بيروني (تا جايي كه دچار مشكل سخت افزاري نشود) قرار نمي گيرد
  6. از لحاظ دقت و سرعت اجرا در بسياری از امور بسيار فراتر از قدرت بشر است.

نرم افزارها چندین رده دارند:

(1) فريمور (Firmware) يا ميان افزار يا نرم افزار سطح پايين
BIOS (بايوس) كه مخفف Basic Input/Output System
UEFI كه مخفف Unified Extensible Firmware Interface
اين دو وظیفه راه اندازی اولیه و تست سلامت قطعات سخت افزاري ضروری سیستم را به عهده دارند و پس از آن که مطمئن شدند همه قطعات سالم هستند و مشکلی ندارند، سیستم عامل را اجرا کرده و کنترل سیستم را به او می سپارد. تنظیمات bios يا uefi در حافظه اي نگهداری می شود كه انرژی خود را از طریق باتری ای که بر روی مادربرد وجود دارد تامین می کند.

(2) سيستم عامل (operating system) يا نرم افزار سطح بالا

(3) نرم افزار كاربردي (Application) يا برنامه (Program). از آنجايي كه اغلب با اين رده از نرم افزارها سروكار دارند اصطلاحاً به اپليكيشن ها نرم افزار (Software) مي گويند.

برنامه ها یا اپلیکیشن ها چیستند؟

كامپيوتر آمده است تا نيازهاي انسان را رفع كند و در اين راستا از برنامه ها يا اپليكيشن ها استفاده مي شود.

نيازهاي انسانها دو دسته اند: (الف) نيازهاي عام    (ب) نيازهاي خاص

از آنجايي كه نيازهاي عام، شامل بسياري از افراد جامعه مي شود، بنابراين ارائة راه هاي بهتر براي رفع اين نيازها همواره توجيه اقتصادي دارد. بنابراين برنامه نويسان همواره سعي مي كنند تا اين نيازهاي عام را شناسايي كرده و نرم افزارهاي مرتبط با آنها را توسعه دهند. انبوه بسته هاي نرم افزاري موجود از قبيل Office، Media Player، Photoshop، Calculator و غيره تماماً براي اين منظور ارائه شده اند.

اما برخي نيازهاي خاص وجود دارند كه عموميت نداشته و از آنجايي كه متقاضي كمي دارد، بنابراين توسعة نرم افزار خاص براي رفع آن نياز، توجيه اقتصادي ندارد. پس انسانها براي رفع اين گونه نيازها يا بايد تمام هزينه هاي توسعة نرم افزار مورد نياز را تقبل كنند، يا اينكه روش هاي برنامه سازي را آموخته و براي خود آن برنامه اي كه مي خواهند طراحي كنند و بسازند.

برنامه:

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

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

پس از اینکه برنامه با زبان دیگری غیر از زبان ماشین نوشته شد، با استفاده از یک کامپایلر (هم گردان یا مترجم)، باید به زبان ماشین تبدیل شود تا کامپیوتر بتواند آن را بفهمد و اجرا نماید.

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

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

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

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

برنامه نویس

انواع زبان های برنامه نویسی:

عموماً زبان های برنامه‌نویسی را به پنج نسل تقسیم می‌کنند:

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

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

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

     نسل چهارم مثل زبان برنامه نویسی متلب بسیار نزدیک تر به زبان محاوره‌های انسانی است.

     نسل پنجم به گروهی از زبان های برنامه نویسی گفته می شود که از یکGUI  به معنی «رابط گرافیکی کاربری» برای کدنویسی استفاده می شود که در نهایت کد نوشته شده با این زبان ها، با کامپایلر یک زبان 3GL یا 4GL  کامپایل می شود.

همچنین زبان های برنامه نویسی در کل در سه سطح رده بندی می شوند:

  1. زبان های سطح پایین (Low Level): زبان هایی که به زبان پردازشگر کامپیوتر (CPU) نزدیک بوده و مسلماً از زبان محاوره ای ما دور هستند. همانند: زبان ماشین و زبان اسمبلی.
  2. زبان سطح میانی (Medium Level): در این زبان ها برخی دستورات وجود دارد که مستقیماً به سخت افزار ارتباط پیدا کرده و همچنین برخی دستورات نیز وجود دارد که به زبان محاوره انسان نزدیک است. همانند زبان C. مناسب برای برنامه ریزی کردن ریز پردازنده ها (Micro Processors).
  3. زبان سطح بالا (High Level): زبان هایی که به زبان محاوره ما نزدیک باشند. همانند ویژوال بیسیک و سی شارپ

 

زبان ماشین (Machine Code)

فهم دستورات زبان ماشین و همچنین خطایابی در آن بسیار دشوار بود. به همین دلیل زبان اسمبلی بوجود آمد.

Machine Code
مثال برنامه نویسی به زبان ماشین

زبان اسمبلی (assembly code)

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

Machine code vs assembly code
مثال برنامه نویسی به زبان ماشین

زبان سطح بالا (High Level Code)

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

High Level Code
مثال برنامه نویسی به زبان ماشین

دسته بندی معروف ترین زبان های برنامه نویسی:

زبان سطح میانی: هم مانند زبان های سطح پایین مانند اسمبلی مستقیماً به حافظه دستیابی داشته و با مفاهیم بیت و بایت و آدرس کار می کند و هم مانند زبان های سطح بالا دستورالعمل های آن به به زبان طبیعی نزدیک تر بوده و و قابلیت خوانایی و غلط یابی بالایی دارد.

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

معروف ترین زبان های برنامه نویسی

الگوریتم و فلوچارت:

الگوریتم و فلوچارت

الگوریتم:

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

کلمه الگوریتم (Algorithmus) از نام دانشمند بزرگ و پر آوازه یعنی محمد ابن موسی الخوارزمی (الخوریسم) برگرفته شده است.

پدر علم جبر و برنامه نویسی

هر الگوریتم دارای سه بخش اصلی است:

آغاز – دستورالعمل ها – پایان

انواع مختلف دستورالعمل ها:

1- دستورالعمل های محاسباتی و انتسابی: نسبت دادن مقادیر به متغیر ها یا اجرای محاسبات

2- عبارات توضیحی: برای اضافه کردن توضیحات به برنامه یا الگوریتم کاربرد دارد و بایستی از  دستورالعمل ها تفکیک شود.

3- دستورالعمل های شرطی: در این دستورالعمل یک شرط از پیش تعیین شده بررسی می شود.

4- دستورالعمل های خروجی: نتایج بدست آمده از محاسبات و تحلیل ها را چاپ می کند.

الگوریتم نویسی:

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

یک الگوریتم بایستی این ویژگی ها را داشته باشد:

  1. در نهایت به نتیجه مورد نظر برسد.
  2. در زمان محدود و بهینه پایان یابد.
  3. دستورالعمل ها بایستی به ترتیب منطقی قرار گیرند.
  4. جملات الگوریتم بایستی امری و یا سوالی باشند.
  5. هر الگوریتم بایستی نقطه آغاز و پایان داشته باشد.

هرگونه کم توجهی و بی دقتی در نوشتن الگوریتم، ضمن بروز مشکلات و اشتباهات، ممکن است برنامه ریزی را منحرف نموده و از هدف نهایی دورسازد.

الگوریتم نویسی اولین گام در برنامه نویسی بوده و درک صحیح و کامل صورت مسئله نیز اولین گام در الگوریتم نویسی است.

مثال:

الگوریتم تعویض چرخ پنچر شدة یک ماشین:

مثال الگوریتم

فلوچارت:

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

روش  تصویری و استاندارد نمایش الگوریتم را فلوچارت گویند.

در رسم فلوچارت علائم و نمادهای استانداردی به کار می رود که هرکدام دارای معنای ویژه ای هستند.

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

تمرین:

الگوریتمی بنویسید که سه عدد از ورودی دریافت شود و تعیین شود که این اعداد می توانند اضلاع یک مثلث باشند یا خیر:

فلوچارت الگوریتم اضلاع مثلث در مثال قبل را بنویسید.

دانلود فایل پی دی اف محتوای درس جلسه دوم

رئوس مطالب این آموزش:

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

فیلم آموزشی جلسه دوم درس مبانی کامپیوتر و برنامه سازی:

مدرس: سید احمد مهری شال

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *