صفحه 1:
اصول کامپیوتر 4 الگوریتم» فلوچارت و برنامه

صفحه 2:
را ای بر حور ديا

صفحه 3:
‎٩‏ برگرفته از نام ابومحمد بن موسي الخوارزمي - مولف کتاب الجبر و المقابله ‎٩‏ در کتب قديمي بیشتر براي "الگوریتم اقلیدس براي تعيين بزرگترین مقسوم علیه مشتركك" بکار مي رفته است.

صفحه 4:
‎٩‏ الگوریتم اقلیدس: دو عدد طبيعي مب و ب داده شده است. بزركترين مقسوم عليه مشترك اين دو را بيدا كنيد. ‏© بزركترين مقسوم عليه مشترك اعداد طبيعي مب و «» بزرگترین عدد طبيعي است كه هر دوي ب و » بر آن بخشيذير باشند ‏© عدد طبيعي () بر عدد طبيعي !ا بخشيذير است اكرء باقيمانده تقسيم () بر | صفر باشد

صفحه 5:
©» GC: [Ried rexvoieder] Ovide w by a ocd fet r be the rewindter. (Oka, D <=r <= ) ©» GO! [itis zer0?] Pr =O , the ckpriker terwicntes, wis the wewer اي لحم عر > و ره >> م ‎GO: [Ioterchane] Get‏ © | 6 مه ۰ ‎buck‏

صفحه 6:

صفحه 7:

صفحه 8:
@ هر الگوریتم اسمي دارد. - در الگوریتم اقلیدس, از ‎GB‏ بعنوان اسم استفاده کردیم. - اسم الگوریتم مي تواند بیش از يك حرف داشته باشد. © قدمهاي هر الگوریتم با اين اسم و شماره ترتیب قدم نمایش داده مي شوند - )و 26 و .... - هر قدم عنوان كوتاهي دارد که بطور خلاصه بیانگرکارکرد آن قدم است.مثل مس ل۳

صفحه 9:
‎٩‏ مفهوم عبارت ب > این است که مقدار فعلي مب با مقدار موجود در ب جایگزین شود 1 > به عملگر انتساب معروف است ۱ - مثال براي افزودن مقدار » به اندازه يك واحد» از عبارت 0+ > استفاده مي کنیم - این عملگر خاصیت جابجايي ندارد. يعني ب > با ب>ب يكي نیست! ‏- جهت این عملگر از راست به چپ است

صفحه 10:
© مفهوم عبارت (0)-, در قدم © اين است كه آيا عدد مم برابر صفر است؟ < به عملگر تست شرط معروف است ۱ در برخي از زبانها مثل عععم) از علامت (<) براي انتساب و تست شرط استفاده مي شود وظیفه برنامه نویس است که کاربرد درست را استفاده کند اغلب زبانهاي پراستفاده» علایم متفاوتي براي عملگر انتساب و تست شرط استفاده مي کنند.

صفحه 11:
9 يك الگوریتم با دستوري که کوچکترین شماره را دارد» شروع مي شود و اجراي دستورات به صورت ترتيبي ادامه مي یابد» مگر اینکه اجراي دستوري خارج از اين ترتیب صریحا قید شود - در الگوریتم قبلي اجراي الگوریتم از 00) شروع مي شود - در قدم 90) در صورتي که 7-0 . اجراي الگوریتم پایان مي یابد و دستور ‎BO‏ اجرا نمي شود - در صورت اجراي دستور 90) اجراي الگوریتم از 90) ادامه مي یابد © علامت ] براي نشان دادن پایان متن الگوریتم استفاده مي شود

صفحه 12:
© يك الكوريتم داراي سه نوع دستور است - انتساب ‎Liga =‏ - يرش و تكرار © الكوريتم اقليدس؛ هر سه نوع دستور را دارد = قوقح شیور سک ‎let‏ فسمتور تون باه ند Lovelwe Oda bebe —

صفحه 13:
Lovee Oda @rcpsta Oda Cer, Oountess oP bovele (Oev.dD, 1909 - On SP, (ESE), bora @Ougueta Ode Oprea, & ‏متف لفح‎ Por ‏اه موه و مامت وم‎ Okeles ا ا Olick to reed wore to wikipedia

صفحه 14:
# الگوریتمها معمولا تعدادي ورودي و حداقل يك خروجي دارند © متغیرها براي نگهداري مقادیر مورد استفاده در الگوریتم استفاده مي شوند - ».ی و متغیرهاي‌مورد لستفاده اسلگوریتم لقلیدس‌هستند © براي نمایش متغيرهاي ساده» از حروف الفباي لاتین استفاده مي شوند - با استفاده از اندیس» متغيرهايي از جنس بردار و ماتریس را نیز مي توان نشان داد - وب نشان‌دهنده خانه اولبردار مب لست

صفحه 15:
‎٩‏ اجراي الگوریتم در هر صورت باید پاياني داشته باشد - الگوریتم اقلیدس در هر بار اجراء مقادیر ب , سب کمتر مي شوند و نهایتا به صفر خواهند رسید. بنابراین با اجراي ‎COS‏ الگوریتم بالاخره پایان خواهد یافت ‎٩‏ تعریف دقیق: کار هر قدم الگوریتم باید به صورت نا مبهم و دقیق تعریف شود - از عباراتي استفاده کنید که مطمنن شوید خواننده معني دقیق آن را مي فهمد © تعريف دقيق ورودي و خروجي

صفحه 16:
شرایط يك الگوریتم-ادامه 9 كارايي: الگوریتم باید هوشمندانه طراحي شده و از راه حلهاي كارا و قابل فهم براي انجاغ كاز هاي مورة نظر استفاده کل - قدم اول الگوریتم اقلیدس را مي توان چنین نوشت: ‎GC: [Ried rewwoicder] Let r be w - 4.‏ »© ‎٩‏ بديهي است که الگوریتم با این تغییر دوباره درست کار خواهد كرد اما به دليل تكرار زياد عمل تفریق» الگوریتم كارايي سابق را نخواهد داشت

صفحه 17:
شرایط يك الگوریتم-ادامه © در عمل نه تنها به الكوريتم هاي يايان يذير نياز داريم؛ بلكه الكوريتم هايي را مي يسنديم كه در زمان معقول يايان يابند - الكوريتم هاي خوب مورد نظر ماست!

صفحه 18:
_ چگونه مقادیر دو متغیر ب و مارا با هم جابجا مي کنید؟ 0 بدون استفاده از حافظه کمكي اینکار را انجام دهید ©. چهار متغیر ‎(a,b,7,¢)‏ داده شده اند. مقادیر این متغیر ها را ‎(bod) Go pe‏ تغییر دهید. يعني: 4 مقدار جدید هب برابر با مقدار قبلي ما باشد ©. مقدار جدید ما برابر با مقدار قبلي مج باشد ©. مقدار جدید ع برابر با مقدار قبلي 4 باشد مقدار جدید ل برابر با مقدار قبلي م باشد 6 اینکار را با حداقل جابجايي ممکن انجام دهید

اصول كامپيوتر 1 الگوريتم ،فلوچارت و برنامه 2 الگوريتم الگوريتم :قدمهاي حل يك مساله برگرفته از نام ابومحمد بن موسي الخوارزمي – مولف كتاب الجبر و المقابله در كتب قديمي ،بيشتر براي “الگوريتم اقليدس براي تعيين بزرگترين مقسوم عليه مشترك” بكار مي رفته است. 3 الگوريتم اقليدس الگوريتم اقليدس :دو عدد طبيعي mو nداده شده است. بزرگترين مقسوم عليه مشترك اين دو را پيدا كنيد. بزرگترين مقسوم عليه مشترك اعداد طبيعي mو ،nبزرگترين عدد طبيعي است كه هر دوي mو nبر آن بخشپذير باشند عدد طبيعي Nبر عدد طبيعي kبخشپذير است اگر ،باقيمانده تقسيم Nبر kصفر باشد 4 الگوريتم اقليدس  E1: [find remainder] Divide m by n and let r be the reminder.(Clearly, 0 <=r <=n )  E2: [it is zero?] if r =0 , the algorithm terminates, n is the answer  E3: [Interchange] Set m  n , n  r and go back to step E1 ▐ 5 flowchart E1:Find Remainder E2:Is it zero No E3: Interchange Yes 6 GW-Basic Program 10 r = m mod n 20 if r = 0 then print n : exit 30 m=n : n= r : goto 10 7 الگوريتم هر الگوريتم اسمي دارد. – – در الگوريتم اقليدس ،از Eبعنوان اسم استفاده كرديم. اسم الگوريتم مي تواند بيش از يك حرف داشته باشد. قدمهاي هر الگوريتم با اين اسم و شماره ترتيب قدم نمايش داده مي شوند – – 8 E1و E2و .... هر قدم عنوان كوتاهي دارد كه بطور خالصه بيانگركاركرد آن قدم است.مثل find remainder الگوريتم -عملگر انتساب مفهوم عبارت m nاين است كه مقدار فعلي mبا مقدار موجود در nجايگزين شود ‏ به عملگر انتساب معروف است ‏Replacement, Assignment, Substitution  – – – 9 مثال براي افزودن مقدار nبه اندازه يك واحد ،از عبارت n n+1 استفاده مي كنيم اين عملگر خاصيت جابجايي ندارد .يعني m nبا nmيكي نيست! جهت اين عملگر از راست به چپ است الگوريتم -تست شرط مفهوم عبارت r=0در قدم E2اين است كه آيا عدد r برابر صفر است؟ – = به عملگر تست شرط معروف است ‏Equality, Condition  – – – 1 در برخي از زبانها مثل Basicاز عالمت (=) براي انتساب و تست شرط استفاده مي شود وظيفه برنامه نويس است كه كاربرد درست را استفاده كند اغلب زبانهاي پراستفاده ،عاليم متفاوتي براي عملگر انتساب و تست شرط استفاده مي كنند. الگوريتم-پرش يك الگوريتم با دستوري كه كوچكترين شماره را دارد ،شروع مي شود و اجراي دستورات به صورت ترتيبي ادامه مي يابد، مگر اينكه اجراي دستوري خارج از اين ترتيب صريحا قيد شود – – – در الگوريتم قبلي اجراي الگوريتم از E1شروع مي شود در قدم E2در صورتي كه ، r=0اجراي الگوريتم پايان مي يابد و دستور E3اجرا نمي شود در صورت اجراي دستور E3اجراي الگوريتم از E1ادامه مي يابد عالمت ▐ براي نشان دادن پايان متن الگوريتم استفاده مي شود 11 الگوريتم-خالصه يك الگوريتم داراي سه نوع دستور است – – – انتساب شرط پرش و تكرار الگوريتم اقليدس ،هر سه نوع دستور را دارد – – 1 تمام برنامه هاي كوچك و بزرگ از همين سه نوع دستور تشكيل يافته اند پيشنهاد Lovelace Ada Lovelace Ada Augusta Ada King, Countess of Lovelace (Dec.10, 1815 – Nov 27, 1852), born Augusta Ada Byron, is mainly known for having written a description of Charles Babbage's early mechanical generalpurpose computer, the analytical engine(1842-1843). Click to read more in wikipedia 1 متغيرها الگوريتمها معموال تعدادي ورودي و حداقل يك خروجي دارند متغيرها براي نگهداري مقادير مورد استفاده در الگوريتم استفاده مي شوند – m، nو rمتغيرهايمورد اƒستفƒاده ƒاƒƒلگوريتم ƒاƒقليدسهستند براي نمايش متغيرهاي ساده ،از حروف الفباي التين استفاده مي شوند – – 1 با استفاده از انديس ،متغيرهايي از جنس بردار و ماتريس را نيز مي توان نشان داد m1نƒƒشاندهنده ƒخƒانه ƒاولبƒƒƒردار mاƒست شرايط يك الگوريتم اجراي الگوريتم در هر صورت بايد پاياني داشته باشد – الگوريتم اقليدس در هر بار اجرا ،مقادير m , nكمتر مي شوند و نهايتا به صفر خواهند رسيد .بنابراين با اجراي E2الگوريتم باالخره پايان خواهد يافت تعريف دقيق :كار هر قدم الگوريتم بايد به صورت نا مبهم و دقيق تعريف شود – از عباراتي استفاده كنيد كه مطمئن شويد ،خواننده معني دقيق آن را مي فهمد تعريف دقيق ورودي و خروجي 1 شرايط يك الگوريتم-ادامه كارايي :الگوريتم بايد هوشمندانه طراحي شده و از راه حلهاي كارا و قابل فهم براي انجام كارهاي مورد نظر استفاده كند – قدم اول الگوريتم اقليدس را مي توان چنين نوشت: [find remainder] Let r be m - n. ‏ E1: بديهي است كه الگوريتم با اين تغيير دوباره درست كار خواهد كرد اما به دليل تكرار زياد عمل تفريق ،الگوريتم كارايي سابق را نخواهد داشت 1 شرايط يك الگوريتم-ادامه در عمل نه تنها به الگوريتم هاي پايان پذير نياز داريم ،بلكه الگوريتم هايي را مي پسنديم كه در زمان معقول پايان يابند – 1 الگوريتم هاي خوب مورد نظر ماست! تمرين .1 چگونه مقادير دو متغير aو bرا با هم جابجا مي كنيد؟ .1 .2 چهار متغير ( )a,b,c,dداده شده اند .مقادير اين متغير ها را به صورت ( )b,c,d,aتغيير دهيد .يعني: .1 .2 .3 .4 .3 1 بدون استفاده از حافظه كمكي اينكار را انجام دهيد مقدار جديد aبرابر با مقدار قبلي bباشد مقدار جديد bبرابر با مقدار قبلي cباشد مقدار جديد cبرابر با مقدار قبلي dباشد مقدار جديد dبرابر با مقدار قبلي aباشد اينكار را با حداقل جابجايي ممكن انجام دهيد

62,000 تومان