مقدمات کامپيوتر و برنامه نويسي
برنامه کامپيوتر: دستورالعملهايي که به کامپيوتر داده مي شود تا کامپيوتر بر اساس آن، کاري را انجام دهد. پس هر کامپيوتر براي اجراي هر کاري، نياز به برنامه دارد.
اولين کامپيوتر الکترونيکي در اواخر دهه 1930 توسط دکتر آتاناسوف در دانشگاه ايالتي آيوها ساخته شد تا محاسبات رياضي دانشجويان فيزيک هسته اي را انجام دهد.
اولين کامپيوتر الکترونيکي بزرگ و همه منظوره، کامپيوتر اِنياک بود که در سال 1964 در دانشگاه پنسيلوانيا ساخته شد. وزن اين کامپيوتر در حدود 30 تن بود و فضايي در حدود 175 متر مربع را اشغال مي کرد. از اين کامپيوتر براي پيش بيني وضع هوا، محاسبات انرژي اتمي، و محاسبه جدول برتابه ها(ballistics) استفاده مي شده است. در اين کامپيوتر از لامپ خلأ به عنوان عناصر الکترونيکي استفاده مي شد.
جنبه هاي مختلف کامپيوتر
هر کامپيوتر داراي دو جنبه است : جنبه سخت افزاري و جنبه نرم افزاري.
سخت افزار کامپيوتر: تجهزاتي است که براي محاسبات ضروري به کار مي رود و شامل پردازشگر مرکزي (CPU)، صفحه نمايش، صفحه کليد، چاپگر و... است.
نرم افزار کامپيوتر: برنامه اي است که براي کامپيوتر نوشته مي شود تا مسئله اي را حل کند يا کار خاصي را انجام دهد.
در گذشته براي نوشتن برنامه ها از مجموعه اي از 0 و 1 استفاده ميشد.يعني دستورالعملها مي بايستي به صورت مجموعه اي از 0 و 1 نوشته شوند که کاري بسيار دشوار بود. امروزه دستورالعملهاي برنامه، به زبانهاي خاصي نوشته مي شوند که به زبانهاي محاوره اي انسانها نزديک هستند.(تويه همين بحث توضيح بيشتري رو درباره اين زبانها مي دم. فعلا تا اينجا به همين ها اکتفا کنيد).
******************************************
توضيح مختصري از سخت افزار ها
صفحه کليد
يا همون کيبورد خودمون، تابلويه ديگه ولي باز هم توضيح ميدم که بعدا نيگين نگفت.
يکي از اجزاي سخت افزاري مهم است که دستگاه ورودي نام دارد.بر روي صفحه کليد همون جور که از اسمش پيداس پر از کليده. مثل کليدهاي حروفي، ارقام، و بعضي از پر کاربردترين علامت ها
صفحه نمايش
صفحه نمايش با (display) يکي ديگر از اجزاي تابلوي سخت افزاري مهم هست که اين دستگاه، يه دستگاه خروجي هستش.
کاربران کامپيوتر با استفاده از اين سخت افزار، اطلاعات موجود در کامپيوتر را مشاهده مي کنند.
صفحه نمايش انواع مختلفي دارد و کيفيت نمايش اطلاعات، به نوع صفحه نمايش بستگي دارد.
مودم
مودم يکي از تجهيزات کامپيوتر هاي امروزي مي باشد( چون اگه نباشه بعد با چی آدم بره تو اينترنت و بچرخه؟؟؟ و...)
چند تا از کارهاي ديگه اي که با اين قطعه مهم مي تونين انجام بدين رو نام مي برم:
تبادل فايل با ساير کامپيوتر ها، دسترسي به خدمات تجارتي و اقتصادي و خدماتي و کمپانيهاي بزرگي مثل مايکروسافت و...، ارسال و دريافت فکس، دسترسي به شبکه از راه دور، شماره گيري سريع تلفن (و حتي صحبت کردن بدون نياز به دستگاه تلفن البته با نرم افزار هايي که براي همين منظور طراحي شده اند)
راستي يه چيزي يادم رفت، مي تونين به کامپيوترتون چندين مودم رو هم وصل کنين و از هر کدوم يه کار جداگانه بخواين.
کار مودم اينه که اطلاعات موجود در کامپيوتر را به سيگنال "آنالوگ" تبديل مي کنه که اين سيگنال از طريق خط تلفن به نقاط ديگري انتقال مي يابد.بنابراين براي استفاده از مودم نياز به "خط تلفن" دارين.
مودم ها به دو دسته تقسيم مي شوند. داخلي (internal) و خارجي (external) .
ويژگيهاي مودمها خارجي:
- لامپهاي نشان دهنده، گرچه ممکن است اين ويژگي خيلي ضروري به نظر نرسد، ولي با مشاهده لامپ مي توان دريافت که مودم چه کاري انجام مي دهد.
- نصب مودم خارجي ساده است.
-نيازمند پورت سري (COM) مي باشد. (پورت (port) نقطه اتصال کامپيوتر و دستگاه ها ي جانبي است.
- گرانتر از مودم هاي داخلي است.
- نيازمند خريد کابل اضافي ايت. براي اين کار بايد کابل مناسبي براي کامپيوتر خريداري کرد.
- به آساني به کامپيوتر ديگر منتقل مي شود (مي توان از کامپيوتري جدا کرد و به کامپيوتر ديگر نصب کرد).
ويژگي هاي مودم هاي داخلي
- نسبت به مودم هاي خارجي فضاي کمتري را اشغال مي کند و به کابل جداگانه اي نياز ندارد. (ميگن هرچه ميزان کابل در خارج کامپيوتر کمتر باشد بهتر است)
- نصب آن دشوار است. (به نظر من راحته)
- داراي پورت سري COM سريعي است. ( در داخل کارت نصب شده ايت)
- فاقد هر گونه لامپ نشان دهنده مي باشد. (بهتر، لامپ مي خوايم چي کار!!!)
- ارزانتر از مودمهاي خارجي است.
سرعت مودم ها
مودمها سرعتهاي متفاوتي دارند. کمترين سرعت مودمها 300 bps بوده است.
Bps مخفف bit per second و به معني تعداد بيتهايي که در هر ثانيه منتقل مي شود.
فکس
تقريبا تمام مودمها قابليت انتقال و دريافت فکس را دارند.
حافظه RAM
حافظه، محل نگهداري اطلاعات در کامپيوتر است. حافظه اي که کاربر با آن سروکار دارد، RAM است.
RAM مخفف Random Access Memory است و به معني حافظه با دستيابي تصادفي است.
حافظه واحدهاي اندازه گيري خاص خودش را دارد. کوچکترين واحد حافظه، بيت(bit) نام دارد و ترکيبي از 8 بيت، يک بايت (byte) نام دارد که يک حرف را در خودش ذخيره مي کند.
ترکيبي از 4 بايت (32 بيت) يک کلمه (word) نام دارد.
1024 بايت، يک کيلو بايت(KB)
1048576 بايت يک مگابايت(MB)
1073741824 بايت يک گيگابايت(GB)
نکته: هر چه ميزان RAM بيشتر باشد، سرعت کار کامپيوتر نيز بيشتر است.
ديسکها
ديسکها حافظه هاي جانبي کامپيوتر هستند.کامپيوترهاي امروزي معمولا از ديسکها ½3 اينچ و CD-ROM و ديسکهاي سخت استفاده مي کنند.
ديسکهاي½3 اينچ با سه ظرفيت 720K,1/44K,2/88K ساخته مي شوند. نوع ديگري از ديسکها که تقريبا دارند از دور خارج مي شوند، ديسکهاي ¼5 اينچ است. اين ديسکها با ظرفيتهاي 360K , 1/2M ساخته ميشوند. (البته ساخته مي شدند)
CD-ROM ديسکهاي جديدي با ظرفيت بسيار بالا هستند که قيمت آنها نيز در مقايسه با ظرفيت آنها بسيار مناسب است.(حالا که DVD اومده. فکر کن.... 50سال پيش رو با الان. 50 سال بعد چي ميشه خدا ميدونه....)
(در اين متن هرجا بحث از CD-ROM شد DVD رو هم لحاظ کنيد.)
ديسک سخت بر خلاف ديسکهاي ½3 اينچ و CD-ROM در داخل کامپيوتر نصب مي شوند و از کامپيوتري به کامپيوتر ديگر منتقل نمي گردند. (هر چند ما ايراني ها هميشه يه راه کاري داريم و الان ديگه CD , DVD همراه نمي کنيم و فلش ها هم که قديمي شدن. فقط هادر به هارد. تا کافي نت سر کوچه ميري، هاردتو بر ميداري ميبري در خونه رفيقت تا پرش کنه و تا از کافي نت برگردي کار کپي کردنش تموم شده و باز دوباره اون هارد بيچاره و البته پر و با اطلاعات جديد رو وصل مي کني سر جاش و صفا ...)
تقسيم بنديهاي روي ديسک
سطح ديسکها، از دايره هاي هم مرکزي به نام شيار (Track) تشکيل شده است.
تعداد شيار هاي موجود در ديسک به ظرفيت آن بستگي دارد.
هر يک از شيارها به قسمت هاي کوچکتري به نام سکتور(Sector) تقسيم مي شوند.
تعداد سکتورهاي موجود در هر شيار و هر ديسک به ظرفيت ديسک بستي دارد.
نحوه ذخيره داده ها در CD-ROM و ديسکهاي معمولي يکسان است، ولي در CD-ROM از تکنولوژي ليزر استفاده مي شود و تراکم ذخيره داده ها در CD-ROM نيز بسيار زياد است.
درايوها
درايوها محلهايي در کامپيوتر هستند که ديسکها در آنجا قرار مي گيرند. درايوها نيز مانند ديسکها به درايوهاي ½3 اينچ و ¼5 اينچ، درايو CD-ROM و درايو ديسک سخت تقسيم مي شوند.
سوعت درايو هاي CD-ROM به صورت 8x,32x,48x,100x و... مشخص مي شوند. در سرعتهاي بالا، مقداري از حافظه ديسک سخت به عنوان RAM مورد استفاده قرار مي گيرد.
کامپيوتر براي هر درايوي نامي انتخاب مي کند. مثلا نام درايو ½3 اينچ را A و يا نام ديگري انتخاب مي کند.
ماوس
اين که ديگه خيلي تابلوه. روزانه فکر کنم بيش از 20 ساعت تو دستامون گير افتده و نمي ذاريم موش بيچاره حتي يه نفسي بکشه و از بس که بازي و ... (---) که هر هفته بايد يه نوشو بگيريم.
پردازشگر اصلي،بورد اصلي و BIOS
پردازشگر اصلی (CPU) قلب یک سیستم کامپیوتری است. انتخاب صحیح آن می تواند کارایی سیستم را بالا ببرند.
سرعت CPU با مگاهرتز MHZ سنجیده می شود. هر CPU تقریبا کاربرد خاصی می تواند داشته باشد.
بورد اصلی (Mother board) کامپیوتر، جایی است که اغلب قطعات کامپیوتر در آنجا نصب می شوند.
در بعضی از نیز بورد اصلی بسیار کوچک است. در این سیستم ها، آداپتورها (مثل کارت گرافیک) در بورد اصلی نصب نمی شوند، بلکه کارت خاصی به بورد اصلی وصل می شوند و آداپتور ها به آن کارت اتصال دارند. بدین ترتیب، اندازه کامپیوتر کوچکتر ساخته می شوند. عیب این نوع بورد های اصلی اینست که قابل ارتقا نیستند، زیرا ممکن است بورد اصلی مناسبی نتوان تهیه کرد تا به جای آنها قرار داد.
یکی از ریزتراشه ها (microchips) که بر روی بورد اصلی قرار دارد، BIOS است. این کلمه مخفف Basic Input Output System به معنی سیستم ورودی-خروجی اصلی است. BIOS حاوی مجموعه ای از چند برنامه کوچک است که موجب می شود کامپیوتر کارهایی مثل دستیابی به دیسک سخت را انجام دهد. همچنین،حاوی دستورالعمل هایی است که کامپیوتر را قادر می سازد قسمتهای اولیه را هنگام راه اندازی انجام دهد.
نکته مهم راجع به BIOS اینست که، حاوی برنامه ای است که می تواند کارهایی بدون کمک CPU انجام دهد.
این برنامه، گاهی ریز برنامه (firmware) نامیده می شود. CPU با استفاده از بعضی دستورهای موجود در BIOS، قبل از حضور سیستم عامل، بعضی از قطعات سخت افزاری دسترسی دارد.
سیستم صوتی
مجموعه ابزاری که برای تولید صدا در کامپیوتر مورد استفاده قرار می گیرند، سیستم صوتی را تشکیل می دهند.
بلندگوها
علاوه بر بلندگوهای موجود در کیس، برای سیستم صوتی کامپیوتر، به بلندگو های دیگر نیاز دارید. بلندگوهایی که برای کامپیوترها طراحی شدند، بدون برق کار می کنند ولی صدای مناسبی ندارند.
اغلب بلندگوها با باطری یا یک مولد خارجی دیگر کار می کنند. در بعضی از این بلندگوها نیاز به پریز دیگری است و در بعضی دیگر، برق مورد نیاز با کابل مخصوصی از منبع تغذیه می شوند.
هدفون
برای اینکه صوت حاصل از کامپیوتر ر دفتر کار یا کل فضایی که کامپیوتر وجود دارد پخش نشود، می توان از هدفون استفاده کرد.
میکروفون
یکی از تجهیزات سیستم صوتی میکروفون است. از طریق میکروفون می توان صدا را وارد کامپیوتر و ضبط کرد. ( یا با بعضی ها .... تویه محیط chat صحبت کنید.)
کارت گرافیک
مانیتور ها را می توان پنجره کامپیوتر ها دانست. در کامپیوتر می توان از درایوها، چاپگر،کارتهای توسعه و خیلی چیزهای دیگر صرفنظر کرد ولی نمی توان از مانیتور صرفنظر کرد. (اون زمانهای خیلی دور که مانیتوری در کار نبود، خروجی کامپیوتر توسط چاپگر تهیه می شد، ولی با آمدن مانیتورها، جذابیت کامپیوتر ها بیشتر شد. )
مانیتور به تنهایی کار نمی کند، کارت گرافیک موجود در کامپیوتر، وضوح،تعاد رنگها، اندازه و سرعت نمایش را تعیین می کند.
مانیتور نیز مانند هر دستگاه کامپیوتری، نیاز به سیگنالهای ورودی دارد. سیگنال هایی که مانیتور را فعال می کند از کارت گرافیکی ایجاد می شوند.
اسکنر
یکی دیگر از تجهیزاتی که تصاویر (و یا متون) را از خارج کامپیوتر، به حافظه کامپیوتر منتقل می کند.
اسکنر ها به دو صورت وجود دارند:
1- دستی (منسوخ شده و دیگه هیچ بنی بشری ازش استفاده نمی کنه)
2- A4
در اسکنر دستی، برای اسکن کردن تصاویر، باید اسکنر را روی تصویر حرکت داد. ولی در اسکنر A4 کافی است تصویر را در محل مخصوص قرار داد و دستور اسکن را صادر کرد.
چاپگر
وسیله ای است که برای چاپ اطلاعات در صفحه کاغذ مورد استفاده قرار میگیرد. چاپگر انواع مختلفی دارد. تقریبا همه چاپگرها را می توان به سه دسته تقسیم کرد:
1- ماتریسی: برای تولید خروجی از مجموعه ای نقاط استفاده می کند. قیمت این وع چاپگرها تقریبا ارزان است.
2- جوهر افشان (جوهر پاش): این نوع چاپگرها، با پاشیدن جوهر برروی کاغذ، خروجی را تولید می کنند. قیمت این نوع چاپگرها نیز ارزان است و کیفیت چاپ انها نیز خوب می باشد.
3- لیزری: خروجی را به کمک اشعه لیزر چاپ می کند. کیفیت خروجی این نوع چاپگرها بسیار خوب، سرعت زیاد است. قیمت این نوع چاپگرها بالاست.چاپگرهای لیزر و جوهر افشان، مانند چاپگرهای ماتریسی می توانند خروجی رنگی تولید کنند.
******************************************
مروری بر زبانهای برنامه سازی
همانطور که گفته شد، برنامه کامپیوتری، مجموعه ای از دستورالعملعاست که برای حل مسئله ای نوشته می شوند.
برنامه باید به زبانهای خاصی نوشته شوند تا برای کامپیوتر قابل فهم باشد. حالا به این زبانها می گن، زبانهای برنامه نویسی.
زبان مادری کامپیوتر، زبان ماشین است، ولی متداولترین زبانهایی که امروز به کار می روند، زبانهای سطح بالا هستند که این زبانها به علت اینکه به زبان محاوره ای انسان نزدیکتر است از آنها بیشتر استفاده می کنند.)
اصلا بیاین در کل بگم چندتا زبان برنامه سازی داریم تو جهان تا هم خیال خودمو راحت کنم و هم خیال شما رو:
1- زبان ماشین
2- زبان اسمبلی
3- زبانهای میانی
4- زبانهای سطح بالا
5- زبانهای بسیار سطح بالا
حالا هر کدوم رو به اختصار توضیح می دم تا ابهامی نباشه:
زبان ماشین
همونجوری که گفتم زبان مادری کامپیوترها، زبان ماشین هستش. رشته ای از صفر ها و یکهاست که عمل خاصی را تعریف کرده، سلولهایی از حافظه را که برای انجام آن عمل مورد استفاده قرار می گیرند مشخص می کند.
این کار بسیار دشوار است و کمتر کسی است که زبان ماشین برنامه نویسی کند. البته در کارهای کنترلی، که زمان بسیار مهم است، این زبان نقش مهمی دارد.
زبان اسمبلی
این زبان، شکل نمادی زبان ماشین است. یعنی در این زبان می توان، به جای صفر ها و یکها، از نمادهایی مثل A,B,c,... استفاده می کند. در این زبان، اعمالی که باید انجام شوند، محلهایی که مقادیر باید در آنجا نگهداری شوند، باید با نماد های خاصی مشخص شوند.
در کل برنامه نویسی به این زبان چندان ساده نیست.
زبانهای میانی
زبانهای میانی، عناصر زبانهای سطح بالا را با خصیصه های تابعی زبان اسمبلی در هم آمیخته اند. یعنی شامل سهولت برنامه نویسی زبانهای سطح بالا و قابلیت زبان اسمبلی هستند.
زبانهای سطح بالا
دستورات زبانهای سطح بالا، نزدیک به زبان محاوره ای انسانهاست.
هر زبان سطح بالا، استانداردی به نام استاندارد زبان دارد که گرامر زبان را مشخص می کند. هر دستور زبان سطح بالا باید با گرامر زبان سازگاری داشته باشد. هر زبان برنامه سازی سطح بالا، برای اهداف خاصی طراحی شده اند.
بعضی از زبانهای برنامه سازی سطح بالا در زیر می آید:
زبان هدف اصلی
پاسکال
برای آموزش برنامه سازی منظم و دقیق
فرترن
برای کاربردهای علمی و مهندسی
بیسیک
زبان ساده ای برای آموزش دانش آموزان
کوبول
پردازش داده های تجاری
C
نوشتن برنامه های سیستم
++C
نسخه تکامل یافته C که برنامه نویسی شیء گرا پشتیبانی می کند.
برنامه ها به طور کلی به دو دسته تقسیم بندی می شوند: برنامه های کاربردی و برنامه های سیستم
برنامه های کاربردی: برنامه هایی هستند که کاربران کامپیوتر برای اهداف خودشان می نویسند.
برنامه های سیستم: برنامه هایی هستند که امکان استفاده از سخت افزار کامپیوتر را فراهم می کنند.( مثل سیستم عامل)
زبانهای بسیار سطح بالا
زبانهای بسیار سطح بالا، زبانهایی هستند که دستورات آنها ممکن است معادل صدها دستور زبان ماشین باشد. (زبانهای بانکهای اطلاعاتی و شبیه سازی از جمله این زبانها هستند.)
ارتباط بین زبان ماشین و زبانهای سطح بالا
چون کامپیوتر فقط برنامه هایی را که به زبان ماشین نوشته شده اند درک می کند، هر دستور زبان سطح بالا باید به دستورات زبان ماشن تبدیل شود تا قابل اجرا باشند.
برنامه اصلی که به زبان سطح بالا نوشته شد، برنامه منبع و برنامه ای را که به زبان ماشین تبدیل شد،برنامه مقصد(object) گویند.
روند تبدیل برنامه منبع به برنامه مقصد را ترجمه گویند.
بنابراین، هر برنامه زبان سطح بالا، قبل از اجرا توسط کامپیوتر، باید به زبان ماشین ترجمه شود. لذا هر زبان سطح بالا نیاز به یک مترجم دارد تا برنامه آن به زبان ماشین تبدیل کند.
مترجمها به دو دسته تقسیم می شوند: مفسر(interpreter) و کامپایلر(compiler)
مفسر: مترجمی است که هر دستور برنامه منبع را به زبان ماشین ترجمه می کندو بالافاصله اجرا می نماید.مفسر ها برای اشکال زدایی برنامه ها مفیدند.
کامپایلر: برنامه هایی هستند که دستورات برنامه منبع را به زبان ماشین ترجمه می کنند. کاربر در موقع لزوم می تواند این برنامه های ترجمه شده را اجرا نماید.
پردازش برنامه به زبان سطح بالا
قبل از اینکه کامپیوتر بتواند برنامه زبان سح بالا را اجرا نماید، برنامه نویس باید برنامه منبع را وارد کامپیوتر کند.
چندین برنامه سیستم در آماده سازی و اجرای برنامه نقش دارند.
مراحل آماده سازی برنامه برای اجرا، عبارتند از:
1- استفاده از محیطی برای وارد کردن برنامه به کاپیوتر، به طوری که هر خط از برنامه باید در این محیط وارد شود. محیطی که برنامه کامپیوتری در آن تایپ می شود، محیط ویراستاری نام دارد.
ویراستارها برنامه هایی هستند که برنامه منبع را به کامپیوتر وارد می کنند و می توانند تغییراتی در آنها ایجاد نمایند.
پس از وارد کردن برنامه به کامپیوتر باید آنها ر بر روی دیسک ذخیره کرد. حال فضایی از دیسک که برنامه را ذخیره می کند، فایل نام دارد.هر فایل باید دارای نامی باشد تا بعدا بتوان به آن مراجعه کرد. هر فایل از دو قسمت تشکیل شده است که با نقطه از هم جدا شده اند. مثلا myprog.pas می تواند نام یک برنامه باشد. myprog را نام فایل و pas را پسوند فایل گویند.
2- استفاده از کامپایلری برای ترجمه برنامه. چنانچه دستورات برنامه غلط تایپ شده باشند یا گرامر زبان رعایت نشده باشد، کامپایلر انها را تشخیص داده و خطا را اعلام می کند که حالا به این خطا هایی میگن خطاهای نحوی.
3- چنانچه برنامه خطای نحوی نداشته باشد، برنامه مقصدی ایجاد می شود و در فایلی ذخیره می کند.
4- فایلی که توسط کامپایلر ایجاد شده، با اینکه به زبان ماشین است ولی قابل به اجرا نیستو زیرا به فرایند دیگری به نام پیوند زنی نیاز دارد تا آماده اجرا شود. برنامه ای که این کار را انجام میدهد، linker نام دارد. این برنامه از فایل ایجاد شده توسط کامپایلر، فایل exe. را ایجاد می کند که قابل به اجراست.
5- برای اجرا برنامه، CPU باید خط به خط برنامه را وارد حافظه کند. هنگام اجرای برنامه می توان اطلاعات مورد نیاز برنامه را وارد کرد و برنامه نیز می تواند خروجی مناسب را تولید کند.
*********************
خوب. آنچه که خواندید قستهای مهم و کلیدی از کتاب "برنامه نویسی به زبان پاسکال" نوشته "مهندس عین الله جعفر نژاد قمی" بود که به طور خلاصه تقدیم گردید.
ما از ارائه این متن ، تنها قصدی که داریم، آموزش مطالب بود و هیچ قصد خاص دیگری نداشتیم و نخواهیم داشت.
با تشکر
Medals
[پاسخ]