مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

27
وش ن ر ذ هدی آ مhttp://azarnoosh.mshdiau.ac.ir آول: ث ح ب م ن ه آ ئ آرآ وة ح ن ذرش و ر ب ه آی م د ق م س ح ر گ ب ا ی گ, ل آ ت,0 ی ور ی م

Upload: korbin

Post on 07-Jan-2016

79 views

Category:

Documents


1 download

DESCRIPTION

حسابگری الگوریتمی. مبحث اول: مقدمه ای بر درس و نحوة ارائه آن. فهرست مطالب. سازمان کامپیوتر زبان های برنامه نویسی روش ایجاد برنامه ساخت یافته مشخصات دوره. تعریف کامپیوتر. سخت افزاری متشکل از قطعات الکترونیکی برای انجام محاسبات به صورت پذیرفتن و ذخیره سازی داده ها و دستورات - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

مهدی آذرنوش

http://azarnoosh.mshdiau.ac.ir

مبحث اول:مقدمه ای بر درس و نحوة

ارائه آن

یموریت

گی ال

رگساب

ح

Page 2: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

2

مقدمه ای ب

ر در

س و نحوه ارائه آن

Lecture_1

فهرست مطالب

سازمان کامپیوتر •زبان های برنامه نویسی •روش ایجاد برنامه ساخت یافته •مشخصات دوره •

Page 3: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

3

سازما

ن کامپیوتر

Lecture_1

تعریف کامپیوتر

سخت افزاری متشکل از قطعات الکترونیکی –

برای انجام محاسبات به صورتپذیرفتن و ذخیره سازی داده ها و دستورات –اجرای سریع و دقیق دستورات بر روی داده –

ها امکان تحویل نتایج و اطالعات به انسان –

Page 4: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

4

سازما

ن کامپیوتر

Lecture_1

بخش های مختلف کامپیوتر

(Input unit)واحد ورودی •(Output unitواحد خروجی )•(Memory unitواحد حافظه )•(ALUواحد محاسبه و منطق )•(Control unitواحد کنترل )•

Page 5: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

5

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

Lecture_1

اجزای سخت افزاری کامپیوترها•CPU)واحد پردازش مرکزی( )مغز کامپیوتر(

–ALUکنترل درخواستهای ورودی/ خروجی ،

•Main Memoryذخیرة داده های مورد نیاز جهت پردازش–ROM و RAMانواع آن: –

•Secondary Memoryذخیره سازی داده ها و برنامه ها– CDانواع آن: دیسک، دیسک سخت، –

•Input Devices

•Output Devices

•Network Connction

Page 6: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

6

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

Lecture_1

مقایسه انسان و کامپیوتردقت و صحت کار و قابلیت اعتماد:•

عملکرد یکسان در دفعات اجرای متفاوت و صحت –و دقت عملکرد در صورت صحت داده ها و

دستورالعملهای ورودی در کامپیوتر انسان در دفعات و شرایط مختلف )جسمی و –

روحی( ممکن است عملکردهای متفاوتی داشته باشد.

نحوة ذخیره سازی اطالعات و سرعت دستیابی به •آنها

دریافت اطالعات از طریق حواس در انسان و از طریق –دستگاه های ورودی در کامپیوتر

قدرت ذخیره سازی باالی اطالعات در کامپیوتر –پردازش اطالعات –

در کامپیوتر: انجام میلیون ها دستورالعمل در کسری از ثانیه • در انسان: قدرت شناسایی تصویر در کسری از ثانیه )در کامپیوتر •

چندین سال طول می کشد(

Page 7: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

7

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

Lecture_1

داده های کامپیوتر

داده های مورد استفاده انسان •9، 5، 4ارقام –A، B، Zحروف – عالئم ! ، ^ ، %–

کامپیوتر •استفاده از نمایش دودویی و باینری )تبدیل تمام داده ها به –

(1 و 0یک بیت: اطالعات صفر یا یک – بیت 8یک بایت: مجموعه ای از –

0 0 0 0 1 0 0 1

0 0 1 0 0 0 1 0

Page 8: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

8

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

Lecture_1

آشنایی با نرم افزار کامپیوتر

نرم افزار های کاربردی•برنامه هایی که برای موضوعات و کاربردهای خاص –

کاربر نوشته شده اند.باعث فراگیر شدن استفاده از سیستم می شوند.–

برخی نرم افزارهای کاربردی عمومی:–– Word Processors

– Presentation Managers

– Drawing Programs

Page 9: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

9

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

Lecture_1

2آشنایی با نرم افزار کامپیوتر -

نرم افزارهای سیستمی•برنامه هایی که اجرای سایر برنامه ها را پشتیبانی –

می کنند.

انواع نرم افزارهای سیستم:–(Operating Systems)سیستم های راه انداز •

مرتب کردن سیستم –توانایی کنترل ورودی / خروجی با تعداد زیادی از دستگاه ها – MSDOS، Windows، Unixمثال: –

(Translation Systemsسیستم های مفسر )•

Page 10: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

10

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

Lecture_1

تاریخچه زبان های برنامه نویسی(1940)اواخر دهه نسل اول: )زبان ماشین( •

استفاده از ارقام صفر و یک برای ایجاد کد دستورالعمل ها–

(1950)اوایل دهه نسل دوم: )زبان اسمبلی( •

استفاده از حروف برای کدگذاری کدهای ماشین )زبان –نیمانیک(

)اواخر نسل سوم: )زبان های سطح باال( •(1950دهه

زبان های رویه گرا –اولین زبان فرترن–

)اواسط نسل چهارم: )زبان های فوق باال(•(1970دهه

شبیه زبان های طبیعی–غیر رویه گرا؛ عدم تشریح چگونگی عملیات–

Page 11: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

11

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

Lecture_1

دسته بندی سطح زبان های برنامه نویسی

سطح زبان:

(Macro-Assembler, Assemblerسطح پایین: )–دسترسی مستقیم به حافظه )زبان ماشین(•کار کردن با مفاهیم بیت، بایت و آدرس )با استفاده از •

مفهوم باینری(– 0010 0000 0000 0100

– 1000 0000 0000 0101

سرعت اجرای بسیار باال–

++(Java, Forth, C, Cسطح میانی: )–

(Pascal, Ada, Cobol, Basicسطح باال: )–قابلیت خوانایی باال )دستورالعمل ها به زبان محاوره •

ای نزدیک است(– cost = price + tax;

Page 12: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

12

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

Lecture_1

(Syntax & Semantic)نحوه و معنی

نحوه:•ساختار دستوری مربوط به جمالت زبان نحوه –

نوشتن آن ها را مشخص می کند. )ظاهر زبان را Syntax)گویند

معنی: •مفهومی که به آن ساختار منتسب می شود درک –

ما را از آن زبان و نحوه عملکرد زبان را نشان می دهد:

مثال:–– Pascal

Var A: array [0..9] of integer;– C

int A[10];

p یکسان بازای دو نحوه نگارش معنی تقریبامتفاوت

Page 13: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

13

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

Lecture_1

اجرای برنامهکامپایلر•

بدون تغییر در Aتغییر متن یک برنامه در زبان – Bمعنی و مفهوم آن به زبان

تبدیل زبان سطح باال به زبان سطح پایین–

مفسر•برنامه ای برای دریافت یک برنامه با زبان منبع –

اجرای آن

Page 14: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

14

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

Lecture_1

دسته بندی ساختار زبان های برنامه نویسی

ساختار زبان: •

زبان ساخت یافته –•Pascal, Ada, C, Javaقابلیت خوانایی و درک باال •ساختار منظم متشکل از توابع•توانایی استفاده از حلقه های تکرار •

+C( مانند Object Orientedزبانهای شیء گرا )•+

زبان غیر ساخت یافته –•(Fortran, Cobol)

Page 15: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

15

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

Lecture_1

دالیل پیدایش برنامه نویسی ساخت یافته

مشکالت برنامه های غیرساخت یافته•تأخیر در زمان بندی تولید نرم افزار –هزینه های باالی تولید –عدم وجود قابلیت اطمینان باال –

ویژگی های برنامة ساخت یافته •روش منظم برای نوشتن برنامه –

تصور برنامه به صورت مجموعه ای از فعالیت ها بر روی داده ها •هر مسأله به مجموعه ای از مسائل کوچکتر تجزیه می شود. •تجزیه تا رسیدن به برنامه های ساده قابل درک ادامه می یابد.•

خوانایی باالی برنامه –تست و اصالح ساده–

Page 16: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

16

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

Lecture_1

دالیل پیدایش برنامه نویسی شیء گرا

امکان استفاده از قطعات نرم افزاری در •برنامه های مختلف

افزایش سرعت تولید نرم افزار –افزایش قابلیت خوانایی برنامه –سادگی تست و اصالح برنامه ها –

هدف مدلسازی اشیای دنیای واقعی

اشیاء )جاندار، بی جان(–

و صفاتتمام اشیاء از طریق مشاهده و بررسی –های آنها قابل شناسایی هستند.رفتار

Page 17: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

17

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

Lecture_1

دالیل پیدایش برنامه نویسی شیء 2گرا -

اشیاء ساخته شده در برنامه به عنوان بخشی از برنامه ساخت یافته اند

باید با

برنامه نویسی ساخت یافتهبه خوبی آشنا شد

Page 18: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

18

روشا يجا دبرنامه ساختي افته

Lecture_1

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

برنامه نویسی نوعی حل مسأله است •

تعیین خواسته های مسأله –تحلیل مسأله –طراحی الگوریتم حل مسأله –پیاده سازی الگوریتم –تست و کنترل برنامه –نگهداری و نوسازی برنامه–

Page 19: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

19

روشا يجا دبرنامه ساختي افته

Lecture_1

اجزای حل مسأله

تعیین خواسته های مسأله•

شناخت مسأله به وضوح و بدون ابهام–درک موارد الزم برای حل مسأله –نادیده گرفتن جنبه های بی اهمیت و پرداختن به –

مسائل اصلیدر صورت لزوم مذاکره با طراح مسأله–

Page 20: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

20

روشا يجا دبرنامه ساختي افته

Lecture_1

2اجزای حل مسأله -

تحلیل مسأله •

تعیین ورودی ها و خروجی ها –ورودی: داده هایی که مسأله بر روی آنها کار می کند.•خروجی: نتایج مورد انتظار •

تعیین نیازها و محدودیت های مسأله –

تعیین فرمت اطالعات خروجی و تعیین ارتباط –ورودی و خروجی

Page 21: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

21

روشا يجا دبرنامه ساختي افته

Lecture_1

3اجزای حل مسأله -

طراحی الگوریتم •مشکل ترین بخش حل مسأله –نوشتن بخشها به صورت قدم به قدم برای حل –

مسأله )الگوریتم( بررسی توانایی و صحت الگوریتم در حل مسأله –سعی در طراحی »باال به پایین« در حل مسأله –مراحل کلی عمومی الگوریتم ها: –

خواندن داده ها • انجام محاسبات • چاپ نتایج •

حل هر مرحله به صورت جداگانه )بهینه سازی –الگوریتم(

Page 22: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

22

روشا يجا دبرنامه ساختي افته

Lecture_1

4اجزای حل مسأله – پیاده سازی الگوریتم •

تبدیل الگوریتم به برنامه –تبدیل هر مرحله متناسب با برنامه به یک یا چند –

دستور زبان

تست و کنترل برنامه •تعیین توانایی برنامه در اجرای خواستة مورد نظر –اعمال ورودی های مختلف و بررسی حاالت ممکن –

در مسأله

نگهداری و نوسازی برنامه •اصالح برنامه جهت حذف خطاهای قبلی –نوسازی آن جهت پاسخگویی به نیازهای فعلی –

Page 23: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

23

مشخصاتد وره

Lecture_1

مشخصات دوره واحد نظری2تعداد واحد: •نوع درس: پایه•جلسه )معادل 16تعداد جلسات: نحوة ارائه: حضوری •

ساعت(32

پیشنیاز درس:•درس پیشنیاز از لحاظ سر فصل: اصول و مبانی رایانه و شبکه–

دانشجو باید به امکانات ذیل دسترسی آسان داشته باشد:–کامپیوتر و اینترنت••C++ Compiler

Page 24: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

24

مشخصاتد وره

Lecture_1

سرفصل مطالب درس

الگوریتم نویسی •Cآشنایی با مبانی زبان ++•MatLabآشنایی با برنامه نویسی در •ساختارهای کنترلی •توابع و كالس های حافظه •آرایه ها و رشته ها •اشاره گرها •

Page 25: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

25

مشخصاتد وره

Lecture_1

مراجع

مبانی کامپیوتر و الگوریتم ها ، عین اله جعفرنژاد •قمی،

انتشارات علوم رایانه. )مرجع کامل(، عین Cبرنامه نویسی به زبان++•

اله جعفرنژاد قمی، انتشارات علوم رایانه.

سایر مراجع•BMEcenter.irدپارتمان مر

.Cانواع کتب برنامه نویسی به زبان ++•• The C++ Programming Language, Third Edition,

Bjarne Stroustrup, Murray Hill, New Jersey, 1997.• C++ How to Program- Fourth Edition,  by H. M. Deitel,

P. J. Deitel, Prentice Hall, New Jersey, 2003.

مراجع

صلیا

Page 26: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

26

مشخصا

ت دوره

Lecture_1

نحوة ارتباط

مراجعه حضوري: •پاسخگویی فقط در ساعات–

استفاده از پست الکترونيکي:•– [email protected]

[email protected]

subject« در قسمت ACکد شناسايي_آوردن عبارت »–

تلفن تماس:•Office: 6613000-3 (Int. 346)

Page 27: مبحث اول: مقدمه ای بر درس و نحوة ارائه آن

27

مشخصا

ت دوره

Lecture_1

نحوة ارزیابی

بخش اصلی: نمره(2کوئیزهای کالسی: )• نمره(3تمرینات کامپیوتری: )• نمره(6آزمون میان ترم: )• نمره(9آزمون پایان ترم: )•

از 50)در صورت کسب حداقل %بخش فرعی: مجموع نمرات بخش اصلی(

نمره(0/5حضور منظم )حداکثر – نمره(1/5حل تمرین )حداکثر –

س:در

ت سای

ه ه ب

جعرا

م

http://azarnoosh.mshdiau.ac.ir/AC/AC.htm