Download presentation
Presentation is loading. Please wait.
1
Computer Programming برنامه سازی کامپيوتر1 طراحی الگوريتم ها Algorithm Design
2
Computer Programming برنامه سازی کامپيوتر2 مقدمه اقتباس شده از نام ابو جعفر محمد بن موسی الخوارزمی به معنی روش حل مسئله
3
Computer Programming برنامه سازی کامپيوتر3 اهميت تعيين منطق برنامه از بروز خطاي منطقي Logic Error جلوگيري مي شود –برنامه بدون جواب –با جواب غلط –افتادن در حلقه اي بدون انتها
4
Computer Programming برنامه سازی کامپيوتر4 ويژگيهاي الگوريتم متناهي بودن مراحل انجام كار صريح و روشن بودن مراحلي كه بايد انجام گيرد مشخص بودن ورودي ها مشخص بودن خروجي ها
5
Computer Programming برنامه سازی کامپيوتر5 مجری الگوريتم؟ مجری نهايتاً کامپيوتر است الگوريتم بايد متناسب با زبان برنامه نويسی مورد استفاده باشد اعمالی در الگوريتم بگنجانيم که ازعهده کامپيوتر برآيد: –چهار عمل اصلی –دستورات شرطی ( اگر A منفی شد انرا با B جمع کن) –دستوری که باعث شود دستور ديگری اجرا شود
6
Computer Programming برنامه سازی کامپيوتر6 اعمالی که نبايد در الگوريتم گنجانيده شود ارجاع به پارامتر يا متغيری که برای کامپيوتر ناشناخته است. دستوری که برای مدت زمان نامحدود بايد اجرا شود دستورهای مبهم ( اگر A در حدود 10 است....)
7
Computer Programming برنامه سازی کامپيوتر7 تعريف الگوريتم مجموعه ای از قوانين و دستورات که بطور دقيق مراحلی از عمليات مختلف برای انجام کاری را بيان می کند بطوريکه تمام دستورات غير مبهم و در يک زمان محدود قابل اجرا باشد ( به منظور حل سريع، ساده و کم هزينه يک مسئله) کامپيوتر خود قادر به حل هيچ مسئله ای نيست مگر الگوريتم آن توسط انسان تهيه شود و به يک زبان قابل فهم برای کامپيوتر نوشته و تبديل شود مسئله ای که روش حل ان را ندانيم توسط کامپيوتر نيز قابل حل نيست
8
Computer Programming برنامه سازی کامپيوتر8 استفاده از نام برای کميتها در علوم و مهندسی برای کميتها از نام های آشنا استفاده می شود استفاده از نام برای کميتها به آنها عموميت می دهد و تدوين الگوريتم را آسانتر می کند برخی از کميتها ثابت و برخی متغيير هستند مثال: S= R 2
9
Computer Programming برنامه سازی کامپيوتر9 طراحی نزولی حل مسئله يک روش ترسيمی جهت نمايش صحيح تعريف مسئله است شبيه انجام کار در طراحی مهندسی است اطلاعات فنی و مهندسی با اطلاعات کامپيوتری از طريق برنامه نويسی تلفيق می شود براساس داده های ورودی جوابهای مطلوب بدست می ايد
10
Computer Programming برنامه سازی کامپيوتر10 مراحل طراحی نزولی تعريف مسئله تعيين اطلاعات ورودی و اطلاعات خروجی (مونيتور، چاپ، استفاده مجدد) تعيين معلومات و مجهولات مشخص کردن منطق رياضی حاکم بر مسئله (محاسبات تکراری و شرطی) اين مرحله اتلاف وقت نيست بلکه بسيار ضروری است به دو صورت قابل انجام است –فلو چارت –شبه دستور
11
Computer Programming برنامه سازی کامپيوتر11 تعريف مسئله اولين و ضروری ترين قدم در حل يک مسئله به کمک کامپيوتر شامل: –بيان کامل شرايط مرتبط با مسئله –ارائه مدلهای رياضی –ارائه راه حلهای مختلف جهت رسيدن به جواب ممکن است تعريف مسئله به صورت نوشتاری و يا گرافيکی ( نموداری ) باشد
12
Computer Programming برنامه سازی کامپيوتر12 نکات مورد توجه در تعريف مسئله مشکل ترين و حساس ترين مرحله مراحل پس از تعريف مسئله شامل دقت در نوشتن و رعايت دستورات و مقررات زبان برنامه نويسی است تعريف مسئله بايد بگونه ای انجام شود که قابل حل توسط کامپيوتر باشد کليه عوامل دخيل در حل مسئله و اثرات انها مشخص شوند ثابت ها و متغيرها مشخص شوند متغيرها تحت چه شرايطی تغيير می کنند تقدم و تاخر مراحل انجام کار به صورت Flowchart مشخص شود
13
Computer Programming برنامه سازی کامپيوتر13 محدوديتها و قيود مسئله مشخص شود ميزان دقت محاسبات هزينه موردنياز و يا در اختيار اگر احتمال می دهيد حاصل محاسبات بی نهايت باشد ان را در نظر بگيريد فرضيات لازم را در نظر بگيريد برنامه جامع تر = صرف وقت بيشتر نکات مورد توجه در تعريف مسئله
14
Computer Programming برنامه سازی کامپيوتر14 تبديل الگوريتم به الگوريتم کامپيوتری الگوريتم خام يا اوليه نحوه حل يک مسئله به صورت نوشتاری می باشد بايستی به الگوريتمی تبديل شود که منطق انجام کار به صورت مرحله ای و به گونه ای که راه حل را به ساختار زبان برنامه نويسی پيوند دهد تبديل گردد اين مرحله شبيه نوشتن يک برنامه کامپيوتری است که دارای : –اطلاعات ورودی –توالی و ترتيب انجام محاسبات –ساختار کنترلی –خروجی
15
Computer Programming برنامه سازی کامپيوتر15 الگوريتم کامپيوتری بدون نياز به نوشتن جزئيات و به دلخواه بصورت: فلو چارت – بخشهای مختلف برنامه به صورت طرح واره شبه کد Pseudocode – بصورت نوشتاری (English like) و شبيه نوشتن دستورات کامپيوتری بهتر است به صورتی نوشته شوند که مستقل از زبان برنامه نويسی باشند
16
Computer Programming برنامه سازی کامپيوتر16 نمايش منطق انجام کار و يا ساختار کلی برنامه در يک برنامه خوب بايد از اشعابات و شاخه شاخه شدن زياد اجتناب شود ساختار توالی انجام کار ساختارانتخاب گزينه ها (تصميم گيری) ساختار تکرار عمليات
17
Computer Programming برنامه سازی کامپيوتر17 ساختار کنترل توالی (نمودار گردشی) از اهم ضروريات يک برنامه کامپيوتری است نشان دهنده نحوه انجام کار با يک نظم خاص از ابتدا تا انتها در اين ساختار شاخه زنی و انشعاب وجود ندارد
18
Computer Programming برنامه سازی کامپيوتر18 علائم پيکان اتصال. نشان دهنده ترتيب انجام عمليات بعدی مرتب کردن شروع و خاتمه يک برنامه يا زير برنامه محاسبات ارجاع به زير روال CALL ورودی / خروجی مرزهای سيستم ربط دهنده، ورود و خروج از قسمتی از نمودار ادغام استخراج تصميم گيری حافظه جانبی PRINT Keyboard ادغام و استخراج
19
Computer Programming برنامه سازی کامپيوتر19 کنترلها (ساختار) انتخاب گزينه (انشعاب يا تصميم گيری) نحوه تصميم گيری در انجام محاسبات و عمليات مختلف در اين ساختار چندين گزينه مختلف به نمايش گذاشته می شود بر اساس شرايط و نتيجه محاسبات قبل کنترل به يکی از گزينه ها متنقل می شود
20
Computer Programming برنامه سازی کامپيوتر20 مثال ساختار انشعاب يا تصميم گيری ساختار انشعابی دوگانه ساختار انشعابی سه گانه
21
Computer Programming برنامه سازی کامپيوتر21 ساختار تکرار (حلقه زنی) بيانگر پاره ای از عمليات تکراری در بخشی از برنامه: –تکرار مطلق ( تعداد تکرار در ابتدای ورود به حلقه مشخص است) –تکرار شرطی (تعداد تکرار را نتايج حين کار مشخص می کند) نحوه تکرار بايد مشخص باشد مقدار نمو Increment ساختار های تکرار می توانند متداخل باشند ترکيب تکرار مطلق و شرطی (ساختار پيچيده)
22
Computer Programming برنامه سازی کامپيوتر22 مثال ساختار تکراری Initialize Index Increment Index Has Index Exceeded Limit Sequence of Instructions Check condition Sequence of instructions تکرار مطلق تکرار شرطی
23
Computer Programming برنامه سازی کامپيوتر23 شبه کد Pseudocode روش ديگر بيان منطق برنامه بصورت فهرست در يک جدول قابل فهم برای برنامه نويس قواعد برنامه نويسی رعايت نمی شود ساختار کلی آن بگونه ای بايد باشد که بعد بتوان برنامه اصلی را بر روی آن پياده کرد با استفاده از تکنيک تداخل و پله ای نوشتن ساختار های فرعی مشخص می گردد
24
Computer Programming برنامه سازی کامپيوتر24 معادل نمودار انشعابی دو گانه IF X<Y THEN Do set of Instructions #1 OTHERWISE Do set of Instructions #2 END OF STRUCTURE معادل نمودار تکرار مطلق DO TO END OF LOOP 10 FOR INDEX FROM INITIAL TO LIMIT (BY INCREMENT OF 2) Series of statements to be repeated 10 END OF LOOP مثال شبه کد Pseudocode
25
Computer Programming برنامه سازی کامپيوتر25 مقايسه فلوچارت و شبه کد برنامه ساز ممکن است از هر دو استفاده کند مواقعی ممکن است فقط به يکی از انها اکتفا کند مواقعی که ممکن است منطق برنامه توسط شخص ديگر مرور شود بهتر است از هر دو استفاده شود اگر برای خود برنامه می نويسيد بستگی به خودتان دارد
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.