keyvan.kamalian
keyvan.kamalian
خواندن ۶ دقیقه·۵ سال پیش

آموزش کامل برنامه نویسی به زبان C – فصل اول (آشنایی با کامپیوتر) – جلسه اول

بنام خدا

در این دوره آموزش قصد داریم که زبان برنامه نویسی C رو به صورت کامل و رایگان آموزش بدیم. خیلی ها دوست دارند که برنامه نویسی یاد بگیرند ولی نمیدونند که از کجا شروع کنند. اصل برنامه نویسی یک موضوع ثابتی هست که شما اگر یاد بگیرید فرقی نمی کنه با چه زبانی برنامه نویسی کنید. در واقع با یادگرفتن قواعد و یادگیری یک زبان مانند C، شما میتونید به راحتی زبان های دیگر مثل C++ (که در واقع همون C هستش که قابلیت شی‌گرایی به آن اضافه شده)، Java، C#، PHP و … رو یاد بگیرید. دلیل انتخاب زبان برنامه نویسی C برای این آموزش، ساده بودن زبان و گستردگی استفاده از آن برای سیستم عامل های مختلف و حتی دستگاه های مختلف مثل برنامه نویسی ربات ها، پهبادها، دستگاه‌های صنعتی و به طور کلی میکروکنترلر ها می باشد. از طرف دیگه خیلی از دانشگاه‌های کشور و دنیا آموزش برنامه نویسی به زبان C رو در چارت آموزشی خود دارند و این دوره آموزشی برای دانشجویان نیز بسیار مفید خواهد بود.در ضمن کتاب مرجع این آموزش، “آموزش برنامه نویسی به زبان C” نوشته خانم دکتر “علی آبادی” عضو هیات علمی دانشگاه صنعتی امیرکبیر می باشد. همین طور این آموزش توسط چند تن از دانشجویان این دانشگاه نوشته می شود. در ادامه آموزش رو شروع می کنیم:

کامپیوتر چیست؟

قدم اول برای اینکه برنامه نویسی یاد بگیریم این هست که بدونیم کامپیوتر در واقع چه چیزی هستش؟

“کامپیوتر (رایانه) به دستگاهی الکترونیکی گفته می شود که داده هایی از محیط بیرون می گیرد و بر مبنای دستوراتی که به آن داده شده، یک سری عملیات محاسباتی، مقایسه ای، منطقی، انتقالی و … روی آن داده ها انجام می دهد (یا به بیان دیگر داده ها را پردازش می کند)، و نتایج را در خود ذخیره می کند و یا به محیط خارج تحویل می دهد. این عملیات با سرعت، صحت و دقت عملی بسیار بیشتر از توانایی انسان صورت می گیرد.”

ساختار یک کامپیوتر رقمی (یا Digital)

“یک کامپیوتر رقمی حداقل از پنج واحد ورودی، حافظه، محاسبه و منطق، خروجی و واحد کنترل تشکیل شده است. مجموعه سه واحد حافظه، کنترل و محاسبه و منطق را واحد پردازش مرکزی (Central Processing Unit) می نامند.”

واحد ورودی

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

  • FDD جهت خواندن از روی فلاپی دیسک (FD)
  • HDD جهت خواندن از روی دیسک سخت (HD)
  • CDD جهت خواندن از روی دیسک فشرده (CD)

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

واحد حافظه

جهت اجرای یک برنامه، کلیه دستورالعمل‌های آن و داده‌های مورد نیاز ورودی، میانی و خروجی مربوط به آن در واحد حافظه (حافظه اصلی main memory) ذخیره می شوند.
اطلاعاتی که در حافظه قرار میگیرد موقتا تا زمانی که دستگاه روشن است و یا مطالب جدیدی در محل آن ها نوشته نشده است، قابل خواندن و استفاده می باشد.

کوچک ترین عنصر تشکیل دهنده حافظه بیت (BIT) نام دارد که مخفف Binary digIT است و تنها می تواند دو حالت صفر یا یک داشته باشد. برای نشانه گذاری کاراکتر ها (حروف، ارقام و سایر علائم مورد نیاز) و ثبت آن ها در حافظه، لازم است از مجموعه ای از بیت ها (معمولا 8 بیت) استفاده شود. این مجموعه را یک بایت(byte) می نامند، که واحد سنجش گنجایش حافظه نیز می باشد.
امروزه اندازه حافظه کامپیوتر ها را بر حسب کیلو بایت (1024 بایت)، مگا بایت(1024 کیلو بایت)، گیگابایت (1024 مگا بایت) و ترا بایت (1024 گیگابایت) می سنجند.

تقسیم بندی حافظه اصلی

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

قسمت دیگر حافظه که قابل خواندن و نوشتن است، حافظه با دسترسی تصادفی یا مستقیم RAM (Random Access Memory) نام دارد. این حافظه بیشتر حجم حافظه اصلی را در بر می گیرد و ناپایدار است و پس از خاموش شدن کامپیوتر محتویات آن از بین می رود. برنامه ها و داده های آن جهت اجرا در این قسمت از حافظه قرار می گیرند. البته قسمت های کوچکی از این حافظه به عنوان حافظه واسطه برای انتقال داده ها از واحد های ورودی به حافظه یا از حافظه به واحد های خروجی اختصاص داده شده اند که بافر (Buffer) نامیده می شوند.

واحد کنترل

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

  • آوردن دستورالعمل از حافظه و تجزیه و تحلیل نمودن آن از نظر نوع دستور و طول آن
  • افزودن طول دستورالعمل به آدرس دستورالعمل برای تعیین آدرس دستورالعمل بعدی
  • مشخص کردن آدرس داده‌هایی که دستورالعمل در مورد آن ها باید اجرا شود
  • تعیین مسیر داده ها میان حافظه و واحد محاسبه و منطق
  • برقراری ارتباط بین واحد مرکزی و ورودی – خروجی
  • نظارت بر انجام کلیه عملیات

برای انجام این عملیات، در واحد کنترل نیز حافظه های موقتی وجود دارد که آن ها را ثبات یا register می نامند.

واحد محاسبه و منطق

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

  • تفسیر علائم جبری
  • اجرای عملیات مربوط به محاسبات
  • انجام عمل مقایسه
  • تغییر مکان اعداد
  • تصمیم گیری در مورد تغییر ترتیب اجرای دستورالعمل ها

برای انجام این عملیات، در واحد محاسبه و منطق نیز حافظه های موقتی وجود دارد که آن ها را ثبات یا register می نامند.

واحد خروجی

توسط واحد خروجی می توان اطلاعاتی که در واحد حافظه ذخیره شده اند را به محیط خارج منتقل نمود. رایج ترین واحد های خروجی در کامپیوتر های شخصی مانیتور و چاپگر (پرینتر) می باشند.
دستگاه های دیسک خوان (FDD, HDD, CDD) از دیگر انواع واحد های خروجی رایج هستند که توسط آن ها اطلاعات از حافظه به روی دیسک (FD, HD, CD) کپی می شوند.

حافظه جانبی

در لوازمی مثل فلاپی دیسک (FD)، دیسک سخت (HD) و دیسک فشرده (CD) اطلاعات به صورت دائم ثبت می شوند. به این معنی که با قطع برق یا خاموش شدن دستگاه اطلاعات نوشته شده از میان نمی رود. بنابراین، این لوازم حافظه های دائمی می باشند و تا زمانی که چیزی جایگزین نشود اطلاعات قبلی در آن باقی می ماند. این وسایل را حافظه های جانبی (auxiliary memory) کامپیوتر می نامند و گنجایش آن ها برای ثبت اطلاعات بر خلاف حافظه اصلی محدود نیست. زیرا چنانچه یک دیسک پر شدباقیمانده اطلاعات را می توان در دیسک دیگر ذخیره نمود.

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

کپی رایتینگ : تمامی حقوق این دوره آموزشی برای پرودرس محفوظ است و هرگونه کپی برداری ممنوع است.

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

آیا موافقید که آموزش برنامه نویسی به زبان c به صورت ویدیویی هم برای هر بخش تهیه بشود؟

آموزش برنامه نویسیزبان برنامه نویسی cبرنامه نویسی ربات
شاید از این پست‌ها خوشتان بیاید