پیشگزارش_و_دستور_کار_جلسه_دوم_کارگاه PDF
Document Details
![VisionaryBixbite4574](https://quizgecko.com/images/avatars/avatar-3.webp)
Uploaded by VisionaryBixbite4574
دانشگاه صنعتی اصفهان
1403
Tags
Summary
This document is a preliminary report and set of instructions for the second session of a computer programming workshop. It covers the fundamentals of algorithms and flowcharts, including examples and exercises for understanding these concepts.
Full Transcript
بسمه تعالی دانشکده مهندسی برق و کامپیوتر کارگاه مبانی برنامه نویسی پیشگزارش الگوریتم و فلوچارت )(Algorithm & Flowchart پاییز 1403 فهرست الگوریتم 3.........................
بسمه تعالی دانشکده مهندسی برق و کامپیوتر کارگاه مبانی برنامه نویسی پیشگزارش الگوریتم و فلوچارت )(Algorithm & Flowchart پاییز 1403 فهرست الگوریتم 3.......................................................................................................................................................................... فلوچارت 5......................................................................................................................................................................... نمادهای فلوچارت 5...................................................................................................................................................... الگوریتم در زندگي روزمره ،انسان با مسائل مختلفي روبروست و برای هر كدام از این مسائل راهحلي را برميگزیند.همه این مسائل نياز به روشي برای حل كردن دارند و باید با ترتيب خاص و مراحل معيني انجام شوند.روش انجام كار یا حل مسئله را الگوریتم آن مسئله مينامند.معموالً برای حل یک مسئله ،مراحل زیر طي ميشود: تعریف مسئله بهصورت جامع و دقيق (شامل تعریف ورودیها و خروجيها) بررسي راهحلهای مختلف برای حل مسئله انتخاب مناسبترین راهحل و تهيه یک الگوریتم برای آن آزمایش الگوریتم با دادههای ورودی و اشکالزدایي آن تبدیل الگوریتم به یک زبان برنامهنویسي كامپيوتری وارد كردن برنامه به كامپيوتر و تست و اشکالزدایي آن استفاده از برنامه برای بيان الگوریتمها معموالً از زبان طبيعي استفاده ميكنيم.به بيان دقيقتر ،الگوریتم مجموعهای از دستورالعملها ،برای حل مسئله ميباشد كه: دقيق باشد (برداشتهای متفاوتي از دستورالعملهای آن گرفته نشود) جزئيات كامل حل مسئله را داشته باشد (در طول اجرای الگوریتم عمليات ناشناخته پيش نيامده و باعث انحراف از مسير و هدف اصلي نگردد) ترتيب مراحل در آن كامالً مشخص باشد شرط خاتمه در آن كامالً مشخص باشد (پایانپذیر باشد) مثال :الگوریتمي بنویسيد كه دو عدد از ورودی دریافت كرده مجموع دو عدد را محاسبه و چاپ نماید. -1شروع a -2و bرا بخوان -3مجموع aو bرا محاسبه و در sumقرار بده sum -4را در خروجي چاپ كن -5پایان مثال :الگوریتمي بنویسيد كه دو عدد از ورودی دریافت كرده محتویات آن دو را با هم جابجا كند. -1شروع a -2و bرا بخوان a -3را در tempقرار بده b -4را در aقرار بده temp -5را در bقرار بده a -6و bرا در خروجي چاپ كن -7پایان مثال :الگوریتمي بنویسيد كه عدد طبيعي nرا بهعنوان ورودی گرفته و اعداد فرد كوچکتر یا مساوی nرا محاسبه و چاپ كند. مثال :الگوریتمي بنویسيد كه عدد طبيعي xرا بهعنوان ورودی گرفته و وارون (مقلوب) آن را محاسبه و چاپ كند.بهعنوان مثال وارون عدد 3295برابر با 5923است. -1شروع x -2را بخوان y ← 0 -3 -4تا زمانيكه x > 0دستورات 5تا 7را تکرار كن r ← x mod 10 -5 x ← x / 10 -6 y ← y × 10 + r -7 y -8را چاپ كن -9پایان فلوچارت معموالً درك یک الگوریتم با شکل راحتتر از نوشتن آن بهصورت متن است.بنابراین معموالً الگوریتم را با فلوچارت ( )Flowchartنمایش ميدهند كه نمایش شماتيک و گرافيکي الگوریتم است.به بيان دیگر ،به عالئمي كه الگوریتم را با استفاده از نمادهای تصویری بيان ميكند فلوچارت گفته ميشود. نمادهای فلوچارت .1نمادهای شروع و پایان :نمادهای شروع و پایان را با دایره یا بيضي نشان ميدهيم.هنگامي كه قصد دارید نقطه آغاز یا پایان یک فلوچارت را نمایش دهيد باید از نماد دایره یا بيضي استفاده كنيد.به یاد داشته باشيد كه در فلوچارت تنها باید یک نقطه شروع وجود داشته باشد ،اما برنامه ميتواند چندین حالت مختلف برای پایان داشته باشد كه همه آنها به نماد پایان متصل ميشوند.الزم به ذكر است كه از هر مرحله ميتوان به هر یک از مراحل قبلي غير از نقطه شروع رفت اما از نقطه پایان نميتوان پيکاني خارج كرد. .2نمادهای ورودی و خروجی :ورودیها و خروجيها را با متوازی االضالع نمایش ميدهيم.هنگاميكه قصد دارید مقداری را از كاربر دریافت كنيد باید نام آن متغيرها را در عالمت متوازیاالضالع نمایش دهيد.همچنين نماد متوازیاالضالع در فلوچارت به معني نمایش دستورات خروجي نيز است. .3دستورات محاسبهای و انتساب :برای دستورات محاسباتي و انتساب از نماد مستطيل استفاده ميكنيم كه پركاربردترین نماد در فلوچارت است. .4دستورات شرطی :عالمت شرط را با لوزی نمایش ميدهيم.دستورات شرطي معموالً در یک برنامه كامپيوتری زیاد استفاده ميشوند.حلقههای تکرار در برنامهنویسي با استفاده از همين نماد نمایش داده ميشوند. .5نماد خروجی (بر روی کاغذ) :چاپ خروجي بر روی كاغذ با استفاده از چهار ضلعي منحني نمایش داده ميشود. قالب كلي یک فلوچارت را ميتوان بهصورت زیر نشان داد. مثال :فلوچارتي رسم كنيد كه سه عدد را از ورودی دریافت كرده ،مجموع و ميانگين آنها را محاسبه و چاپ كند. مثال :فلوچارتي رسم كنيد كه Nعدد را از ورودی خوانده و مجموع آنها را محاسبه و چاپ نماید. مثال :فلوچارتي رسم كنيد كه عدد طبيعي Nرا از ورودی خوانده و فاكتوریل آن را محاسبه و چاپ نماید. بهعنوان مثال ! 4بهصورت زیر محاسبه ميشود: مثال :فلوچارتي رسم كنيد كه یک عدد را از ورودی خوانده و تعداد ارقام غيرصفر آن را چاپ كند. دستور کار -1الگوریتمی بنویسید که nعدد را از ورودی خوانده ،عدد ماکزیمم بههمراه اندیس آن را در خروجی چاپ کند. -2الگوریتمی بنویسید که یک عدد در مبنای 10را از ورودی خوانده و معادل آن در مبنای 8را محاسبه و چاپ کند. -3فلوچارتی رسم کنید که عدد طبیعی nرا از ورودی خوانده مقسومعلیههای اول آن را نمایش دهد. -4فلوچارتی برای محاسبه مجموع 20جمله اول سری فیبوناچی رسم کنید. -5فلوچارتی رسم کنید که nعدد را از ورودی خوانده ،دومین عدد کوچک را در خروجی چاپ کند. بهعنوان مثال اگر اعداد زیر از ورودی خوانده شوند عدد 5باید در خروجی چاپ شود. 10 37 7 12 1 18 5 25 9 -6عملکرد فلوچارت زیر را توصیف کنید. شاد باشید(: