جلسه اول الگوریتم و فلوچارت

تازه ها

جلسه اول الگوریتم و فلوچارت

نظرات ()


بخش اول

 هدف كلي 
                                 توانايي برخورد با مسائل برنامه نويسي

 

 هدفهاي رفتاري

           پس از پايان مطالعه اين بخش از فراگير انتظار مي رود كه :

1. مراحل برخورد با مسائل برنامه نويسي را بداند . 
2. هر يك از مراحل را تحليل كند . 
3. مفهوم الگوريتم را بيان كند . 
4. روش هاي بيان الگوريتم را بشناسد . 
5. قادر باشد عملیات مربوط به Trace را انجام دهد و اهمیت آن را بداند.
6. توانایی تصمیم گیری در مورد استفاده از نوع بیان الگوریتم را داشته باشد.
7. مراحل برخورد با پروژه ها را بداند و بتواند آن ها را تحلیل کند.


در این بخش به این موضوع می پردازیم که : مساله اي در اختيار ما قرار مي گيرد كه باید به زبان خاصي حل كنيم، چطور باید آن را حل کرد؟

شروع  بخش اول :

مقدمه 
اين بخش با بررسي روش هاي حل يك مساله و مفهوم الگوريتم از ديدگاههاي مختلف آغاز مي شود .شايد شما هم مثل من از بحث هاي تئوري خوشتان نمي آيد ولي  اين بررسي و به دنبال آن مهارتي كه در الگوريتم سازي كسب مي كنيد، كمك مؤثري در برنامه نويسي به شما خواهد كردپس لطفا با ما همراه شويد .
اين مفهوم در ابتدا مشكل به نظر مي رسد ولي اطمينان داشته باشيد كه با مطالعه دقيق و حل تمرينات مربوطه ، با نوشتن الگوريتم آشنا خواهيد شد .
پيش از آشنايي با مفهوم الگوريتم و كاربرد هاي آن ، بهتر است ابتدا با مساله و جزئيات آن آشنا شويم سپس براي حل مساله يك راه حل منطقي يا الگوريتمي بيابيم .

چگونگي نوشتن يك برنامه به زبان خاص 
مراحل 5 گانه حل یک مساله

1. ورودي ها يعني : بررسي داده ها يا معلومات مساله (از مساله بپرسید،چی-چیا رو باید حساب کتاب کنم؟)
2. خروجي ها يعني: بررسي مجهولات (از مساله بپرسید،چی-چیا باید نمایش داده شود؟)
3. ارتباط منطقي يعني : يافتن ارتباط بين داده ها و مجهولات (از مساله بپرسید،چجوری از ورودی به خروجی برسم؟)
4. ارائه راه حل  يعني : راه حل يا نقشه كلي مسير را پيدا كنيم تا طبق آن جلو برويم .  
5. بیان الگوریتم یعنی : راه حل خود را قدم به قدم بیان کنیم با روشی دلخواه که ترجیحا بهتر است فلوچارت باشد.


مثال 1  : 
ميانگين دو عدد 10 و 20 را حساب كنيد . 

1. ورودي : دو عدد 10 و 20 
2. خروجي : چاپ ميانگين 10 و 20 
3. رابطه منطقي : روش محاسبه ميانگين (مجموع اعداد  تقسيم بر تعداد)
4. ارائه راه حل :

بايد برنامه ام 2 عدد 10 و 20 رو خودش داشته باشه (در جاهاي مخصوصي كه من بدونم ) بعد اون دو رو از جاشون بردارم و بعد از جمع و تقسيم بر 2 در جاي ديگري قرار دهم و با گفتن جاي آن ، ميانگين اين دو عدد را چاپ كنم .

 5. بيان الگوريتم : 

روش اول بیان الگوریتم شبکه کد

شبه كد : 
1. شروع 
2. دو عدد 10 و 20 را بگير .
 3. 10+20/2 را محاسبه کن و درمكاني (متغيري)به نام  C   قرار بده .
4. C را چاپ کن.
5. پایان

شبه كد : بيان الگوريتم با استفاده از كلمات ، عبارات و علائم رياضي .

 

روش دوم بیان الگوریتم فلوچارت

فلوچارت :

فلوچارت : نمايش گرافيكي الگوريتم .


 اما چطور فلوچارت بکشیم ؟

 متداول ترين شكلها در فلوچارت :

• بيضي : مفهوم شروع و پايان را مي رساند . 
• مستطيل : مفهوم عمليات پردازش مثل محاسبات رياضي 
را مي رساند. 
• متوازي الاضلاع : مفهوم اين را مي رساند كه داده يا داده هايي در حال ورودند و يا اطلاعاتي در حال خروجند . 
• لوزي : مفهوم چندراهی را می رساند مثلا اگر شرطی برقرار بود از مسیر اول مساله حل شود و اگر شرط برقرار نبود از مسیر بعدی حل شود و ...  
دايره كوچك   O :  اتصالات ، مثلا در حال نوشتن هستيم اما فضاي كافي وجود ندارد با گذاشتن اين علامت در هر دو طرف ديگران را متوجه مي كنيم
 كه اين دو با هم ارتباط دارند و ادامه يكديگرند . 
· ----] توضيحات ، براي اينكه برنامه خوانا و قابل فهم باشد. 
تكرار :  بيشتر مواقع برنامه هاي ما مرحله يا مراحلي را دارد كه بايد طبق شرايط خاصي دوباره تكرار شود خيلي ساده با برگرداندن فلش به آن مرحله ، تكرار را معلوم مي كنيم كه به اصطلاح به اين عمل Loop   يا حلقه مي گويند.

 نکته : هميشه سعي كنيد( چه در الگوريتم و چه در كد برنامه ) براي هر مرحله خود توضيح يا كامنت بگذاريد تا هم برنامه خوانا و قابل فهم، براي ديگران و خودتان باشد و هم در بازديد هاي بعديتان ، باز متوجه شويد كه چرا مرحله اي را نوشته ايد ؟!

خب فعلا این جلسه را به پایان می رسانیم و در جلسه ی بعد ادامه می دهیم. 

موفق باشید.


<جلسه قبل ــ جلسه بعد>