مقدمه :
بشر از دیر بازدنبال ابزاری ابزاری می گشت که بتواند محاسبات روزمره خود را با آن انجام دهد ، بخصوص از وقتی که تجارت گسترده بین کشورها مطرح شد نیاز به ابزاری برای انجام محاسبات و ذخیره اطلاعات بیشتر احساس شد . این مسئله در مسائل دیگر نیز مطرح بود . لذا بشر اولین بار از چرتکه برای انجام محاسبات خود استفاده کرد و بعدها ماشینی بنام کامپیوتر پا به عرضه نهاد و توانست رضایت بشر را در انجام محاسبات و ذخیره اطلاعات جلب نماید . از سال ۱۹۴۰ تاکنون کامپیوتر ها به شکل عجیبی شیوه زندگی و کارمارا تغییر داده اند .

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

کامپیوتر قدیمی و امروزه :
اولین کامپیوتر الکترونیکی در اواخر سال ۱۹۳۰ میلادی توسط دکتر جان آتانا سوف در دانشگاه ایالت آیوا طراحی شد آتاناسوف کامپیوتر خود را برای کمک به محاسبات ریاضی طراحی کرد .
اولین کامپیوتر بزرگ همه منظوره دیجیتال الکترونیک تحت عنوان ENIAC در سال ۱۹۴۶ میلادی در دانشگاه پنسیلوانیا ساخته شد . این کامپیوتر با سرمایه ارتش آمریکا طراحی شد وزن این کامپیوتر ۵۰*۳۰فوت بود . این کامپیوتر برای محاسبه جدول پرتابه ها ، پیش گویی وضع آب و هوا و محاسبات انرژی اتمی بکار می رفت .
بعد ها از کامپیوتر های نسل دوم با پ

یشرفت الکترونیک و دیجیتال کامپیوتر های جدیدو عمدتاًبا مزایای از قبیل حجم کوچکتر ، سرعت پردازش بالا ، حجم ذخیره اطلاعات بیشتر و ارزان قیمت به بازار ارائه شد .
در حالت کلی کامپیوتر از دو جزء اصلی سخت افزار (HARD WARE) و نرم افزار (Software) تشکیل می شود . منظور از سخت افزار بخش فیزیکی و اجزای الکترونیکی کامپیوتر می باشد . کاربر (user) برای استفاده از کامپیوتر نیاز به یک رابط به نام نرم افزار دارد، لذا نرم افزار رابط بین کاربر و سخت افزار می باشد و بدون آن نمی توان از کامپیوتر استفاده کرد .
سخت افزار کامپیوتر :

در حالت کلی روال موجود در کامپیوتر به صورت زیر می باشد .
۱- ورودی
۲- پردازش
۳- خروجی
کامپیوتر های امروزی معمولاٌ از قطعات زیر تشکیل می شوند :
– دستگاههای ورودی
– حافظه های جانبی

– حافظه اصلی
– واحد پردازشگر مرکزی
– دستگاههای ورودی
حافظه :
حافظه یکی از اجزای اصلی هر کامپیوتر می باشد که برای ذخیره داده ها بکار می رود حافظه یک کامپیوتر از محل های پشت سر هم بنام سلول های حافظه تشکیل شده است . برای ذخیره وبازیابی اطلاعات کامپیوتر باید آدرس هر یک از سلول های حافظه را بشنا سد.
بنابر این هر کدام از سلول ها ی حافظه دارای آدرس منحصر به فردی می باشد که محل آنرا در حافظه مشخص می کند . اغلب کامپیوتر ها دارای میلیون ها سلول حافظه هستند که هر یک آدرس خاص به خود را دارند و داده ها در سلول ذخیره می شوند .
حافظه اصلی :
در حالت کلی دو نوع حافظه وجود دارد حافظه های اصلی و حافظه هی جانبی .
داده ها بر نامه ها و نتایج در حافظه اصلی بطور موقت ذخیره می شوند اغلب کامپیوتر ها دو نوع حافظه اصلی دارند : حافظه های با دسترسی تصادفی فقط (RAM) که داده ها و برنامه ها را بصورت موقت ذخیره می کند و حافظه فقط خواندی (ROM) که داده ها و اطلاعات را بصورا دائم ذخیره می کند .
معمولاً ظرفیت حافظه RAM خیلی بیشتر از ROMاست .

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

این واحد برای پردازش داده ها و برنامه بکار می رود . داده ها یا برنامه از حافظه اصلی به این واحد ارسال می شوند و بعد از پردازش در این واحد دوباره به حافظه اصلی بر گردانده می شود .
CPU ها غالباً از سه واحد : محاسبه و منطق ، کنترل و حافظه تشکیل می شوند .
دستگا ههای خروجی :
غالباً برای مشاهده نتایج پردازش روی داده ها نیاز به سخت افزارهایی را احساس می کنیم . این سخت افزار ها را دستگاههای خروجی می نامیم . از مشهورترین نوع دستگاههای خروجی می توان به صفحه نمایش (monitor) چابگر (printer) و غیره اشاره کرد .
دستگاههای ورودی و خروجی رایانه ها ی امروزی بسیار متنوع هستند .

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

 

Touch pad:
صفحه کوچکی است که با حرکت دادن انکشت بر روی آن مکان نما روی صفحه نمایش حرکت می کند . سپس با ضربه زدن در همان نقطه و یا فشردن دکمه های روی آن می توانیم انتخاب دلخواه را وارد رایانه نماییم .
Pointing stick :
قطعه ای شبیه به پاک کن ته مداد است که بین حروف B,G,H روی بعضی از صفحه کلید وجود دارد و به آن POINTING STICK می گویند. این وسیله کار ماوس را انجام می هد دسته بازی joystick از یک دسته و چند دکمه تشکیل شده است .

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

قلم نوری (Light pen):
برای ورود اطلاعات است هر گاه قلم نوری را بر قسمتی از صفحه نمایش قرار دهیم و دکمه مخصوص روی آن را بفشاریم علامت الکترونیکی مناسبی از طریق سیم به رایانه فرستاده می شود .
Digieizer:
یکی از دستکاههای ورودی است که در کارهای طراحی ، گرافیکی و نقشه کشی کاربرد دارد این دستگاه شامل صفحه ای است به نام Tablet که به کمک وسیله ای شبیه قلم نوری ، (stglus) یا وسیله دیگری به نام puck مختصات مکان مورد نظر را روی آن به دقت تعیین کرد .
اسکنر (scanner ):
این دستگاه اطلاعات تصویری را به صورتی که قابل فهم برای رایانه باشد تبدیل می کند در صورتی که تصویر یک متن باشد می توان آن را با دقت خوبی با استفاده از نرم افزار های OCR تبدیل به متن کرد و مانند یک متن واقعی روی آن ویرایش و…انجام داد .
اسکنر ها ، در اندازه های گوناگون و برای منظورهای مختلفی عرضه شده اند .
مهمترین نکات انتخاب یک اسکنر قدرت تشخیص تعداد نقطه در هر اینچ (DpI) یک تصویر و همچنین تعداد رنگ های قابل تشخیص در آن است که هر چه ارقام بیشتر باشند کیفیت متن یا تصویر منتقل شده به کامپیوتر بهتر خواهد بود .

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

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

چابگر ها یکی از رایج ترین دستگاههای خروجی به حساب می آیند و از نظر قدرت تفکیک پذیری قیمت و سر و صدابا هم متفاوتند که باسه نوع متداول آنها آشنا می شوید .
چابگر ماتریس نقطه ای (Dot matrix ):
در این نوع چابگر علایم (کاراکتر ها ) با استفاده از ماتریسی مجموعه ای از نقاط تشکیل می شود فاصله بین این نقاط در کیفیت چاپ اثر دارد . هر چه این نقاط به هم نزدیک تر باشند کیفیت چاپ بهتر است . برای چاپ این نقاط از یک هد که دارای تعدادی سوزن میخک است استفاده می شود که نوع ۹ سوزنه و ۲۴ سوزنه آن رواج دارد . این چابگر برای چاپ هر علامت میخک های سوزن

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

چابگر های جوهر افشان (Ink- get):
این چابگر شبیه چابگر ماتریس نقطه ای است اما به جای سوزن و نوار لوله های باریکی (Nozzels) وظیفه پاشیدن رنگ را بر روی کاغذ بر عهد ه دارند . تعداد این لوله های باریک خیلی بیشتر از تعداد سوزن هاست .
این چابگر معمولاً رنگی است و بی سر و صدا کار می کند . هزینه تمام شده برای هر چاپ هر صفحه بالاست .
کیفیت چاپ آن از ماتریس نقطه ای بسیار بالاتر اما از چابگر لیزری پایین تر است .
چابگر لیزری :
چابگر لیزری ، به وسیله نور لیزر ، یک تصویر الکترواستاتیکی را از صفحه ای که باید چاپ شود ، بر روی یک غلتک (Drum) حساس در برابر نور لیزر ایجاد می کند . سپس این غلتک در معرض رنگ پودری به نام تونر قرار می گیرد .
ذرات رنگ به غلتک می چسبد و با عبور کاغذ از زیر غلتک ، تصویر روی آن به صفحه کاغذ منتقل می شود .
سپس صفحات را از میان غلتک های داغ عبور می دهند تا در اثر قشار و حرارت ، رنک ثابت و دایمی گردد.
چابگر های لیزری معمولاً سیاه و سفید هستند ( نوع رنگی آن بسیار گران است ) ، کیفیت چاپ بسیار بالایی دارند و هزینه تمام شده برای هر صفحه نسبتاً بالاست و بی سرو صدا کار می کنند.
رسام (پلاتر ) :

رسام یا پلاتر یکی دیگر از دستگاه های خروجی است ؛ رسام با حرکت دادن قلم هایی بر روی کاغذ می تواند نقشه ها و نمودار ها و اشکال گرافیکی را با کیفیت بالایی چاپ نماید .
الگوریتم :
توضیح تاریخی الگوریتم :
به احترام ریاضیدان بزرگ ایرانی ابوموسی خوارزمی و روشی که او در حل مسائل به شیوه منطقی به کاربرده این روش را الخوارزمی می نامیدند که بعد از معرب شدن این واژه بصورت الگوریتم بکار برده شده است .

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