علوم مهندسیمهندسی صنایع و مواد

الگوریتم و فلوچارت

صفحه 1:
الگوریتم و فلوچارت

صفحه 2:
تعریف الگوریتم هر دستورالعملی که مراحل انجام کاری را با زبانی دقیق و با جزئیات کافی بیان نماید بطوریکه ترتیب مراحل و شرط خاتمه عملیات در لن كاملا“ مشخص شده باشد را الگوریتم گویند.

صفحه 3:
ادامه تعریف الگوریتم منظور از زبان دقیق: آن است که الگورینم دقیقا" به همان صورتیکه مورد نظر نویسنده است اجرا گردد. منظور- از جزنیات کافی ۰ آن است که در طول اجرای الگوریتم عملیات ناشناخته پیش نیامده و باعث انحراف از مسیر و هدف اصلی نگردد. امنظور از ترتيب مراحل؛ آن است که مراحل اجرای الگوریتم قدم به قدم و با رعایت نقدم و تأً خر مشخص شده باشد. امنظور از شرط خاتمه» پاین پذیر بودن الگوریتم می باشد و بهر حال الگوریتم باید در زمانی دلخواه و تحت شرایط یا شرایط داده شده خاتمه پذیرد. نا لا لا لا

صفحه 4:
مراحل تهیه الگوریتم برای تهبه یک الگوریتم خوب و کارآمد بايد مراحل خاصی اجرا شوند: 0- تعریف دقیق مسئله: باید مسئله را تجزیه و تحلیل کرده تا کوچکترین ابهامی در فهم آن وجود نداشته باشد. ©- تعيين عوامل اصلی(متغییر های) مورد نیاز ©- تعيين ورودی و خروجی مسئله : (داده ها و اطلاعات) ۴ بررسی راه حل های مختلف مسئله 2 انتخاب یک راه حل مناسب ‎-O‏ اشکال زدایی

صفحه 5:
فلوچارت * بیان تصویری الگوریتم داده می شوند. وصل می کردند.

صفحه 6:
۳ 3 4 3 3 ا وا 3 ‎RS 12 ’‏ 3 4 3 fF aia 2 fy 33 ۰ 7 2 2 0 2 2 1 4y 3 9 ‏عل‎ ‎1 ‘fa 7 ورودی از

صفحه 7:
منال 1 : فلوچارتی رسم کنید که دو عدد را خوانده و حاصلضرب آنها را نمایش دهد

صفحه 8:
منال 2: فلوچارتی رسم کنید که شعاع یک دایره را خوانده. مساحت و محیط آنرا نمایش دهد

صفحه 9:
مثال 3: فلوچارتی رسم کنید که سه خوان 7 ‎ng‏ عدد را خوانده و بصورت زیر تصمیم گیری 4 . ا عدد متوعتصفن بورد حاصل جمع دو عدد ديك مص یو هس - اكّر عدد سوم مثبت بود حاصل ض 5 0 ضرب دو عدد دیگر

صفحه 10:
ادامه مثال 3

صفحه 11:
مثال 4: فلوجارت برنامه اى را رسم كنيد كه دو عدد را خوانده سپس مقادیر آن دو را با هم ‎sales Lule‏ روش اول : استفاده ازمتغير كمكى * . روش لوم: استفده از علیات ریاضی *

صفحه 12:
متال 5 فلوچارتی رسم کنید که سه ضلع یک مثلث را خوانده تعيين كند كه آيا مثلث قائم الزاويه است يا خیر؟ .برای قائم لزاویه بودن مثلث اندازه اضلاع آن بايد در يكى از عبارات زير صدق كند ‏ * 82 +2مد2ح با +822۸ یا +۸9

صفحه 13:
متال 6 ريشه های یک معادله درجه دوم AX?+BX+C=0 D=B?-4AC اگر 0> ۰ معادله ريشه ندارد اگر 9-0] ۰ حاصل عبارت -8/2/۸ را در 21و 2« قرار بده حاصل عبار 666 را در ۱1 قرار بده حاصل بر .68868088 رادر 2 قرار بده مقادیر 21 و 22 را نمایش بده

صفحه 14:

صفحه 15:
الگوریتم های حلقوی * تعریف اول: مراحلی از الگوریتم که چندین بار اجرای آنها تکرار می گردد تشکیل یک حلقه (۱00۳) را می دهند. - برای ساختن یک حلقه از یک متغیر کمکی استفاده می گردد. اين متغير را قبل از شروع حلقه با یک مقدار اولیه آماده می سازیم و سپس معمولا" در انتهای حلقه و قبل از بازگشت به ابتدای حلقه مقداری را به آن اضافه کرده و تحت یک شرائط خاص به مراحل قبل پرش می نماییم. ثعریف دوم: مقداری که قبل از شروع حلقه به متغیر حلقه داده می شود را مقدار اولیه يا شرط اولیه گویند. © تعريف سوم: مقداری که پس از یکبار اجرای مراحل حلقه به متغیر حلقه اضافه می شود را مقدار اضافه شونده می نامند.

صفحه 16:
مثال 7: فلوجارتى رسم كنيد که یک عده بزرگتر از صفر را خوانده سپس به تعداد آن عدد, اعداد دیگری را خوانده مجموع و میانگین آنها را نمایش دهد ۰ لا عدد خوانده شدم ۰ مشمارندد ‎٠»‏ کمجموع ‎٠‏ للعداد ‎0 ‎ce ‎

صفحه 17:
مثال 8: الگوریتم بنامه ای را بنویسید که 10 عدد را گرفته و تعیین کند کدام .زوج و کدام فرد است 7 ۷ >= ات

صفحه 18:
مثال 9: الكوريتم برنامه اى را بنویسید که یک عدد مثبت را خوانده و تعداد ارقام |, oe. (تعداد ارقام)

صفحه 19:
201110 1 ---92 00

صفحه 20:
متال 11 الگوریتم برنامه ای را بنویسید که یک عدد را خوانده . اول بودن آن را تعیین نمایید

صفحه 21:
مثال 2 1: الكوريتم برنامه ای را بنویسید که یک عدد مثبت را خوانده فاکتوریل آن ءرا نمايش دهد * فاکتوریل یک عدد یعنی حاصل ضرب اعداد ) تا آن عدد * فاکتوریل عدد صفر برابر یک می باشد.

صفحه 22:
ادامه مثال 12 شمارندس۸ ۰

صفحه 23:
منال 3 بزتلیآی بدویسی كمه فلار خوانده و ججتوع اقا ‎li Gul‏ دهید 499 - 0+۵+9 ‏مثال:‎ ٠

صفحه 24:
منال 14 الگوریتم برنامه ای را بنویسید که یک عدد را گرفته تعیین کند که آیا کامل است یا خیر؟ ۰ عددی کامل است که با مجموع مقسوم علیه های کوچکتر از خودش برابر باشد. 3 + +1 ج 6

صفحه 25:

الگوریتم و فلوچارت تعریف الگوریتم هر دستورالعملی که مراحل انجام کاری را با زبانی دقیق و با جزئیات کافی بیان نماید بطوریکه ترتیب مراحل و شرط خاتمه عملیات در آن کامال“ مشخص شده باشد را الگوریتم گویند. ادامه تعریف الگوریتم ‏منظور از زبان دقیق :آن است که الگوریتم دقیقا“ به همان صورتیکه مورد نظر نویسنده است اجرا گردد. منظور از جزئیات کافی ،آن است که در طول اجرای الگوریتم عملیات ناشناخته پیش نیامده و باعث انحراف از مسیر و هدف اصلی نگردد. ‏منظور از ترتیب مراحل ،آن است که مراحل اجرای الگوریتم قدم به قدم و با رعایت تقدم و تأ خر مشخص شده باشد. ‏منظور از شرط خاتم ه ،پایان پذی ر بودن الگوریت م م ی باش د و بهر حال الگوریتم باید در زمانی دلخواه و تحت شرایط یا شرایط داده شده خاتمه پذیرد. مراحل تهیه الگوریتم برای تهيه يک الگوريتم خوب و کارآمد بايد مراحل خاصی اجرا شوند: -1تعریف دقیق مسئله :باید مسئله را تجزیه و تحلیل کرده تا کوچکترین ابهامی در فهم آن وجود نداشته باشد. -2تعیین عوامل اصلی(متغییرهای) مورد نیاز -3تعیین ورودی و خروجی مسئله ( :داده ها و اطالعات) -4بررسی راه حل های مختلف مسئله -5انتخاب یک راه حل مناسب -6اشکال زدایی فلوچارت • بیان تصویری الگوریتم • مراح ل انجام کار ب ا اشکال هندسی نشان داده می شوند. • مراح ل انجام کار توس ط خطوط ب ه هم وصل می گردند. مثال شکل شرح ‏start برای نشان دادن شروع و خاتمه عملیات ‏stop محاسبات و مقداردهی ‏c←a+b ‏d← i ورود اطالعات خروج بر روی صفحه نمایش ‏A,B خروج اطالعات بر روی کاغذ ”A,B,”100 سئوال ،تصمیم گیری و شرط های دلخواه ورودی خروجی ? خروجی خروجی .مثال: 1 فلوچارتی رسم کنید که دو عدد را خوانده و حاصلضرب آنها را نمایش دهد شروع ‏A,B ‏z←A*B ‏z پایان .مثال:2 فلوچارتی رسم کنید که شعاع یک دایره را خوانده ،مساحت و محیط آنرا نمایش دهد شروع ‏R ‏A←3.14*R² ‏P←2*R*3.14 ‏A,P پایان مثال:3 :نماید فلوچارتی رسم کنید که سه عدد را خوانده و بصورت زیر تصمیم گیری اگر عدد سوم صفر بود حاصل جمع دو عدد دیگر اگر عدد سوم منفی بود تفاضل دو عدد دیگر اگر عدد سوم مثبت بود حاصل ضرب دو عدد دیگررا نمایش دهد. 3 ادامه مثال شروع A,B,C Y C=0 N D←A-B Y C<0 N D←A*B D پایان D←A+B مثال :4 .جابجا نماید فلوچارت برنامه ای را رسم کنید که دو عدد را خوانده سپس مقادیر آن دو را با هم روش اول : استفاده از متغیر کمکی • روش دوم: استفاده از عملیات ریاضی شروع شروع ‏A,B ‏A,B ‏A,B ‏A,B ‏T←A ‏A←B ‏B←T َA←A+B ‏B←A-B ‏A←A-B ‏A,B ‏A,B پایان پایان • مثال :5 فلوچارتی رسم کنید که سه ضلع یک مثلث را خوانده ،تعیین کند که آیا مثلث قائم الزاویه است یا خیر؟ • .برای قائم الزاویه بودن مثلث اندازه اضالع آن باید در یکی از عبارات زیر صدق کند C²=A²+B²ی ا B²=A²+C²ی ا A²=B²+C² شروع ‏A,B,C ‏Y ‏A²=B²+C² ‏N ‏Y ‏B²=A²+C² ‏N ‏Y ‏C²=B²+A² ‏N ”“YES ”“NO پایان مثال :6 • • • • • • • ریشه های یک معادPله درجه دوم ‏AX²+BX+C=0 ‏D=B²-4AC اگر ، D<0معادله ریشه ندارد اگر ، D=0حاصل عبارت – B/2Aرا در X1و X2قرار بده حاصل عبارت) ( B  D) /(2Aرا در X1قرار بده حاصل عبارت ( B  D) / 2Aرا در X2قرار بده مقادیر X1و X2را نمایش بده شروع A,B,C 2 D  B  4 A C Y D<0 N X1← -B/2A Y X2← X1 D=0 N X1 ( B  D) / 2A X 2  ( B  D ) / 2A X1,X2 پایان “No root” الگوریتم های حلقوی • تعریف اول :مراحلی از الگوریتم که چندین بار اجرای آنها تکرار می گردد تشکیل یک حلقه ( )LOOPرا می دهند. – برای ساختن یک حلقه از یک متغیر کمکی استفاده می گردد ،این متغیر را قبل از شروع حلقه با یک مقدار اولیه آماده می سازیم و سپس معموال“ در انتهای حلقه و قبل از بازگشت به ابتدای حلقه مقداری را به آن اضافه کرده و تحت یک شرائط خاص به مراحل قبل پرش می نماییم. تعریف دوم :مقداری که قبل از شروع حلقه به متغیر حلقه داده می شود را مقدار اولیه یا شرط اولیه گویند. تعریف سوم :مقداری که پس از یکبار اجرای مراحل حلقه به متغیر حلقه اضافه می شود را مقدار اضافه شونده می نامند. مثال :7 فلوچارتی رسم کنید که یک عدد بزرگتر از صفر را خوانده سپس به .تعداد آن عدد ,اعداد دیگری را خوانده مجموع و میانگین آنها را نمایش دهد • • • • Nعدد خوانده ش ده ‏Cش مارنده ‏Sمجموع ‏Aاعداد شروع ‏N ‏C←0 ‏S←0 ‏Y ‏S, S / N ‏C=N ‏N پایان ‏A ‏S  S A ‏C  C 1 مثال :8 الگوریتم برنامه ای را بنویسید که 10عدد را گرفته و تعیین کند کدام .زوج و کدام فرد است شروع ‏C←0 ‏p ‏k ← p-INT(p/2)*2 ‏K=0 ‏n ”P, “odd ‏C ← C+1 ‏y ‏C< 10 ‏n پایان ‏y ”P, “even مثال :9 الگوریتم برنامه ای را بنویسید که یک عدد مثبت را خوانده و تعداد ارقام .عدد را نشان دهد شروع ‏N )ت ع داد ارقام( ‏S 0 )N  INT(N /10 ‏S ← S+1 ‏N>0 ‏N ‏S پایان ‏Y مثال :10 الگوریتم برنامه ای را بنویسید که عدد طبیعی N>1را خوانده و مقسوم علیه های آن را نمایش دهد شروع ‏N ‏M←1 ‏K  N  INT(N / M)  M ‏M ‏Y ‏K=0 ‏N ‏M ← M+1 ‏M<=N ‏N پایان ‏Y مثال :11 الگوریتم برنامه ای را بنویسید که یک عدد را خوانده ،اول بودن آن را تعیین نمایید شروع ‏N ‏N=2 ‏Y ‏N ‏P←2 ‏K  N  INT(N / P)  P ”N,”NO PRIME ‏K=0 Y ‏N ‏P ← P+1 ‏P<=N/2 ‏Y ‏N ”N,”IS PRIME پایان مثال :12 الگوریتم برنامه ای را بنویسید که یک عدد مثبت را خوانده فاکتوریل آن .را نمایش #دهد • فاکتوریل یک عدد یعنی حاصل ضرب اعداد 1تا آن عدد • فاکتوریل عدد صفر برابر یک می باشد. 12 ادامه مثال • A ش مارنده شروع N FACT ← 1 A ←1 A>N Y N FACT ← FACT * A A ← A+ 1 FACT پایان مثال :13 برنامه ای بنویسید که عدد Nرا خوانده ،و مجموع ارقام آن را نشان دهد. شروع • مثال1+2+3 : ‏ 123 ‏N ‏SUM ← 0 ‏A  N  INT(N /10)  10 ‏SUM ← SUM+A )N  INT(N /10 ‏N>0 ‏N ‏SUM پایان ‏Y مثال :14 خیر؟ الگوریتم برنامه ای را بنویسید که یک عدد را گرفته تعیین کند که آیا کامل است یا • عددی کامل است که با مجموع مقسوم علیه های کوچکتر از خودش برابر باشد. 6  1 2  3 شروع N A←1 S←0 P  N  INT(N / A)  A P=0 Y S ← S+A N A ← A+1 Y A<=N/2 N S=N N Y N,” IS NOT COMPLEMENT” پایان N,” IS COMPLEMENT”

62,000 تومان