KNToosi.in - همکلاســــی

وبلاگ گروهی دانشجویان ِ دانشگاه صنعتی خواجه نصیرالدین طوسی

KNToosi.in - همکلاســــی

وبلاگ گروهی دانشجویان ِ دانشگاه صنعتی خواجه نصیرالدین طوسی

اموزش ++c قسمت اول

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

l l 

l l 

l l 

l l 

/\

  • فصل اول - مبحث اول

سازمان کامپیوتر

   صرف نظر از ظاهر فیزیکی، کامپیوترها به شش واحد تقسیم می شوند:

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

ماوس صفحه کلید اسکنر

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

صفحه نمایش بلندگو صفحه نمایش


چاپگر جوهر افشان چاپگر لیزری

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

RAM حافظه اولیه

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

   5- واحد پردازش مرکزی : این واحد وظیفه مدیریت کامپیوتر را به عهده دارد و دایماَ در حال نظارت بخش های مختلف از قبیل واحد ورودی، واحد خروجی، واحد حافظه، واحد محاسبه و منطق و... می باشـد. مثلاً داده های وارد شـده از طریق واحـد ورودی را به واحـد حافـظه منتقل می کند و سپس داده ها را به واحد محاسبه و منطق فرستاده و پس از انجام عملیات مورد نیاز بر روی آنها، داده ها را مجدداً به واحد حافظه منتقل کرده واز آنجا به واحد خروجی می فرستد.

CPU واحد پردازش مرکزی

   6- واحد حافظه ثانویه : این واحد وظیفه نگهداری دایمی اطلاعات را دارا می باشد و با خاموش شدن کامپیوتر اطلاعات موجود بر روی آن از بین نمی روند. وسایلی مانند دیسک سخت (Hard Disk) ، فلاپی ، CD ، DVD و کارتهای حافظه جزء واحد حافظه ثانویه می باشند.

HDD دیسک سخت
FDD فلاپی درایو دیسک فلاپی
CD ROM CD درایو


 

 

  • فصل اول - مبحث دوم

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

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

   1- زبانهای ماشین
   2- زبانهای اسمبلی
   3- زبانهای سطح بالا

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

+1300042774
+1400593419
+1200274027

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

LOAD   BASEPAY
ADD OVERPAY
STORE GROSSPAY

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

grosspay = basepay + overtimepay 
 
  • فصل اول - مبحث سوم

    الگوریتم ها

       برای حل مسائل مختلف توسط کامپیوتر باید این مسائل را  

به صورت مراحل عملیاتی و تصمیم گیری ساده ای که کامپیوتر 

 قادر به اجرای آن باشد تبدیل کرد. بدین ترتیب لیست مرتبی  

از مراحل عملیاتی بدست می آید که اجرای مرتب آنها منجر به حل 

 مسئله توسط کامپیوتر می شود. این لیست مرتب از مراحل عملیاتی 

 و تصمیم گیری ، الگوریتم نامیده می شود.

   در حالت کلی الگوریتم ها باید ویژگی های زیر را داشته باشند:
الف) الگوریتم باید ما را به نتیجه مورد نظر برساند. 
ب) در زمان محدود پایان یابد.
ج) دستورالعملها باید به ترتیب منطقی پشت سرهم قرار گیرند.
د) جملات الگوریتم ها باید به صورت امری ، سؤالی باشند.
ه) هر الگوریتم باید نقطه آغاز و پایان داشته باشد.
   یکی از توانایی هایی که در کامپیوتر وجود دارد استفاده  
از خانه های حافظه است که می توان در آن اطلاعات را قرار داد 
 و در هر لحظه از اجرای الگوریتم می توان محتویات آن را تغییر 
 داده و مقدار جدیدی را در آن قرار دهیم این ویژگی کارایی ما  
را برای حل مسائل پیچیده تر افزایش می دهد.
مثال : الگوریتم تعویض چرخ پنچر شده یک اتومبیل.
0- شروع.
1- جک را زیر اتومبیل بگذارید.
2- پیچهای چرخ پنچر شده را باز کنید.
3- چرخ را خارج کنید.
4- چرخ یدک را به جای چرخ پنچر شده بگذارید.
5- پیچها را ببندید.
6- اگر پیچها سفت نشده اند به مرحله 5 برو.
7- جک را پایین بیاورید.
8- چرخ پنچر شده را در صندوق عقب اتومبیل بگذارید.
9- پایان.
مثال : الگوریتمی بنویسید که دو عدد از ورودی دریافت شود 
 و سپس تعیین شود که مجموع دو عدد بزرگتر از 20 است یا نه.
0- شروع .
1- دو عدد a و b را از ورودی در یافت کن.
2- a+b را محاسبه کن.
3- آیا a+b>20 است؟ اگر بلی به مرحله 6 برو.
4- بنویس خیر.
5- به مرحله 7 برو.
6- بنویس بلی.
7- پایان.
   با برنامه ریزی و ساماندهی دقیق می توان به راه 
 حلی مناسب جهت حل یک مسئله به کمک کامپیوتر رسید. 
 هرگونه کم توجهی و بی دقتی در نوشتن الگوریتم ضمن 
 بروز مشکلات بسیار، برنامه نویس را نیز از هدف خود 
 دور خواهد کرد؛ لذا برای به هدف رسیدن باید درک  
صحیح و کاملی از صورت مسئله داشت و سپس راه حل مورد  
نظر را به صورت الگوریتم بنویسیم. و در نهایت  
الگوریتم مورد نظر را به زبان برنامه نویسی مورد نظر  
تبدیل کنیم. برای درک بهتر شیوه حل مسائل و نوشتن 
 الگوریتم به مثالهای زیر توجه کنید:
مثال : الگوریتمی بنویسید که مجموع اعداد طبیعی  
مضرب 7 و کوچکتر از 50 را حساب کند.
برای نوشتن این الگوریتم به دو خانه حافظه نیاز داریم.
0- شروع.
1- در خانه حافظه sum عدد صفر را قرار بده.
2- در خانه حافظه index عدد 7 را قرار بده.
3- مقدار index را با مقدارsum جمع کن
و حاصل را در sum قرار بده.
4- مقدار 7 را با مقدار index جمع کن
و حاصل را در index قرار بده.
5- آیاindex بزگتراز 50 است،اگر خیر به مرحله 3 برو.
6- محتوای sum را چاپ کن.
7- پایان.
به شکل زیر توجه کنید:
   در الگوریتم فوق همانند شکل مقادیر حافظه sum و  
index تغییر می کند، تا اینکه سرانجام شرط " آیا index  
بزرگتر از 50 است " بلی می شود لذا محتوای sum در خروجی 
 چاپ خواهد شد و الگوریتم به پایان می رسد. اما در 
 مراحل قبلی شرط فوق خیر می باشد، لذا همانند شکل فوق 
 الگوریتم ادامه پیدا می کند. 
مثال : الگوریتمی بنویسید که 1000 عدد را از ورودی  
دریافت کرده و کوچکترین را چاپ کند.
   فرض کنید که به شما لیستی از اعداد را می دهند، 
 برای پیدا کردن کوچکترین عدد در لیست اولین عدد را 
 به عنوان کوچکترین در نظر می گیرید سپس عدد بعدی را 
 با آن مقایسه می کنید، اگر عدد جدید از عدد قبلی  
کوچکتر بود عدد جدید را به عنوان کوچکترین در نظر  
می گیرید و گر نه همان عدد قبلی کوچکترین خواهد بود.  
این روند را تا انتهای لیست ادامه می دهید؛ در پایان  
عددی که در هر بررسی به عنوان کوچکترین عدد بود، جواب  
مورد نظر ما خواهد بود. توجه کنید که در این روال 
 شما همواره یک عدد را در ذهن خود در نظر گرفته بودید،  
برای نوشتن الگوریتم مورد نظر ما یک خانه حافظه را  
به کوچکترین عدد درهر مرحله اختصاص می دهیم.
0- شروع.
1- min را دریافت کن.
2- i =1 .
3- a را دریافت کن.
4- اگر a5- i = i + 1 .
6- اگر i>=1000 به مرحله 8 برو.
7- به مرحله 3 برو.
8- min را چاپ کن.
9- پایان.
الگوریتم های قبلی به صورت جملات فارسی بودند 
 که سبب طولانی و حجیم شدن الگوریتم می شدند. 
 ولی الگوریتم اخیر بیشتر به صورت جملات ریاضی بود. 
 این شیوه سبب راحتی درک الگوریتم و ساده شدن  
نگارش آن می شود. از این به بعد نیز الگوریتم 
 ها را به شیوه جدید نگارش خواهیم کرد. شما نیز 
 سعی کنید از این شیوه استفاده کنید.
مثال : الگوریتمی بنویسید که سه عدد از ورودی 
 دریافت شود و تعیین شود که این اعداد می توانند  
اضلاع مثلث باشند یا خیر.
0- شروع.
1- a وb وc را از ورودی بگیر.
2- اگر a>b+c به 7 برو.
3- اگر b>a+c به 7 برو.
4- اگرc>a+b به 7 برو.
5- بنویس " بلی ".
6- به 8 برو.
7- بنویس " خیر ".
8- پایان.
در عمل برای نمایش الگوریتم از یک فلوچارت  
( شمای جریان عملیات ) استفاده می شود. در حقیقت 
 فلوچارت روش تصویری و استاندارد نمایش الگوریتم است. 
در رسم فلوچارت علائم و نمادهای استانداردی به کار 
 می رود که هر کدام دارای معانی ویژه ای هستند.
از شکل بیضی افقی برای شروع و پایان عملیات استفاده می شود. 
begin.gifend.gif

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

box.gif

از نماد لوزی برای نشان دادن مراحل تصمیم گیری استفاده می گردد و شرط یا سؤال مورد نظر در داخل لوزی نوشته می شود.

yes_no.gif
از متوازی الاضلاع برای نشان دادن ورودی یا خروجی استفاده می شود. 
output.gifinput.gif
مثال : فلوچارت الگوریتم اضلاع مثلث در مثال قبل به صورت زیر می باشد.
triangle.gif
نظرات 3 + ارسال نظر
r سه‌شنبه 2 مهر 1387 ساعت 11:55 http://daramad.anzaliblog.com/

اگر می خواهید از طرق وب سایتتان درآمد کسب کنید به ما سر بزنید

حمید توکلی، IT سه‌شنبه 2 مهر 1387 ساعت 16:41 http://www.kntoosi.com

buyadipexa جمعه 12 تیر 1388 ساعت 20:11 http://buyadipexonline.wackwall.com/

http://buyadipexonline.wackwall.com/ Buy Adipex Online

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد