تبلیغات
مبانی کامپیوتر و برنامه نویسی - آموزش الگوریتم و فلوچارت
مبانی کامپیوتر و برنامه نویسی
...با نظراتتون به ما در کیفیت بخشی وبلاگ کمک کنین...
دوشنبه 30 آذر 1388

آموزش الگوریتم و فلوچارت

دوشنبه 30 آذر 1388

نوع مطلب :
نویسنده :احسان معنوی


الگوریتم ها

   برای حل مسائل مختلف توسط کامپیوتر باید این مسائل را به صورت مراحل عملیاتی و تصمیم گیری ساده ای که کامپیوتر قادر به اجرای آن باشد تبدیل کرد. بدین ترتیب لیست مرتبی از مراحل عملیاتی بدست می آید که اجرای مرتب آنها منجر به حل مسئله توسط کامپیوتر می شود. این لیست مرتب از مراحل عملیاتی و تصمیم گیری ، الگوریتم نامیده می شود.

   در حالت کلی الگوریتم ها باید ویژگی های زیر را داشته باشند:

الف) الگوریتم باید ما را به نتیجه مورد نظر برساند.
ب) در زمان محدود پایان یابد.
ج) دستورالعملها باید به ترتیب منطقی پشت سرهم قرار گیرند.
د) جملات الگوریتم ها باید به صورت امری ، سؤالی باشند.
ه) هر الگوریتم باید نقطه آغاز و پایان داشته باشد.

   یکی از توانایی هایی که در کامپیوتر وجود دارد استفاده از خانه های حافظه است که می توان در آن اطلاعات را قرار داد و در هر لحظه از اجرای الگوریتم می توان محتویات آن را تغییر داده و مقدار جدیدی را در آن قرار دهیم این ویژگی کارایی ما را برای حل مسائل پیچیده تر افزایش می دهد.

مثال : الگوریتم تعویض چرخ پنچر شده یک اتومبیل.

0- شروع.

1- جک را زیر اتومبیل بگذارید.

2- پیچهای چرخ پنچر شده را باز کنید.

3- چرخ را خارج کنید.

4- چرخ یدک را به جای چرخ پنچر شده بگذارید.

5- پیچها را ببندید.

6- اگر پیچها سفت نشده اند به مرحله 5 برو.

7- جک را پایین بیاورید.

8- چرخ پنچر شده را در صندوق عقب اتومبیل بگذارید.

9- پایان.

مثال : الگوریتمی بنویسید که دو عدد از ورودی دریافت شود و سپس تعیین شود که مجموع دو عدد بزرگتر از 20 است یا نه.

0- شروع .

1- دو عدد a و b را از ورودی در یافت کن.

2- a+b را محاسبه کن.

3- آیا a+b>20 است؟ اگر بلی به مرحله 6 برو.

4- بنویس خیر.

5- به مرحله 7 برو.

6- بنویس بلی.

7- پایان.

   با برنامه ریزی و ساماندهی دقیق می توان به راه حلی مناسب جهت حل یک مسئله به کمک کامپیوتر رسید. هرگونه کم توجهی و بی دقتی در نوشتن الگوریتم ضمن بروز مشکلات بسیار، برنامه نویس را نیز از هدف خود دور خواهد کرد؛ لذا برای به هدف رسیدن باید درک صحیح و کاملی از صورت مسئله داشت و سپس راه حل مورد نظر را به صورت الگوریتم بنویسیم. و در نهایت الگوریتم مورد نظر را به زبان برنامه نویسی مورد نظر تبدیل کنیم. برای درک بهتر شیوه حل مسائل و نوشتن الگوریتم به مثالهای زیر توجه کنید:

مثال : الگوریتمی بنویسید که مجموع اعداد طبیعی مضرب 7 و کوچکتر از 50 را حساب کند.

برای نوشتن این الگوریتم به دو خانه حافظه نیاز داریم.

0- شروع.

1- در خانه حافظه sum عدد صفر را قرار بده.

2- در خانه حافظه index عدد 7 را قرار بده.

3- مقدار index را با مقدارsum جمع کن

          و حاصل را در sum قرار بده.

4- مقدار 7 را با مقدار index جمع کن

          و حاصل را در index قرار بده.

5- آیاindex بزگتراز 50 است،اگر خیر به مرحله 3 برو.

6- محتوای sum را چاپ کن.

7- پایان.

 

 

در الگوریتم فوق مقادیر حافظه sum و index تغییر می کند، تا اینکه سرانجام شرط " آیا index بزرگتر از 50 است " بلی می شود لذا محتوای sum در خروجی چاپ خواهد شد و الگوریتم به پایان می رسد. اما در مراحل قبلی شرط فوق خیر می باشد، لذا الگوریتم ادامه پیدا می کند.

مثال : الگوریتمی بنویسید که 1000 عدد را از ورودی دریافت کرده و کوچکترین را چاپ کند.

   فرض کنید که به شما لیستی از اعداد را می دهند، برای پیدا کردن کوچکترین عدد در لیست اولین عدد را به عنوان کوچکترین در نظر می گیرید سپس عدد بعدی را با آن مقایسه می کنید، اگر عدد جدید از عدد قبلی کوچکتر بود عدد جدید را به عنوان کوچکترین در نظر می گیرید و گر نه همان عدد قبلی کوچکترین خواهد بود. این روند را تا انتهای لیست ادامه می دهید؛ در پایان عددی که در هر بررسی به عنوان کوچکترین عدد بود، جواب مورد نظر ما خواهد بود. توجه کنید که در این روال شما همواره یک عدد را در ذهن خود در نظر گرفته بودید، برای نوشتن الگوریتم مورد نظر ما یک خانه حافظه را به کوچکترین عدد درهر مرحله اختصاص می دهیم.

0- شروع.

1- min را دریافت کن.

2- i =1 .

3- a را دریافت کن.

4- اگر a<min آنگاه min = a .

5- i = i + 1 .

6- اگر i>=1000 به مرحله 8 برو.

7- به مرحله 3 برو.

8- min را چاپ کن.

9- پایان.

الگوریتم های قبلی به صورت جملات فارسی بودند که سبب طولانی و حجیم شدن الگوریتم می شدند. ولی الگوریتم اخیر بیشتر به صورت جملات ریاضی بود. این شیوه سبب راحتی درک الگوریتم و ساده شدن نگارش آن می شود. از این به بعد نیز الگوریتم ها را به شیوه جدید نگارش خواهیم کرد. شما نیز سعی کنید از این شیوه استفاده کنید.

مثال : الگوریتمی بنویسید که سه عدد از ورودی دریافت شود و تعیین شود که این اعداد می توانند اضلاع مثلث باشند یا خیر.

0- شروع.

1- a وb وc را از ورودی بگیر.

2- اگر a>b+c به 7 برو.

3- اگر b>a+c به 7 برو.

4- اگرc>a+b به 7 برو.

5- بنویس " بلی ".

6- به 8 برو.

7- بنویس " خیر ".

8- پایان.

 

فلوچارت

در عمل برای نمایش الگوریتم از یک فلوچارت ( شمای جریان عملیات ) استفاده می شود. در حقیقت فلوچارت روش تصویری و استاندارد نمایش الگوریتم است.

در رسم فلوچارت علائم و نمادهای استانداردی به کار می رود که هر کدام دارای معانی ویژه ای هستند.

از شکل بیضی افقی برای شروع و پایان عملیات استفاده می شود.

از شکل مستطیل برای نمایش مراحل پردازشی استفاده می شود و در داخل آن عمل مورد نظر نوشته می شود. این نماد ممکن است چندین ورودی داشته باشد ولی تنها یک خروجی دارد.


از نماد لوزی برای نشان دادن مراحل تصمیم گیری استفاده می گردد و شرط یا سؤال مورد نظر در داخل لوزی نوشته می شود.


از متوازی الاضلاع برای نشان دادن ورودی یا خروجی استفاده می شود.




canadian pharmacies online prescriptions
شنبه 31 شهریور 1397 02:32 ب.ظ

You said it perfectly.!
canadian medications reputable canadian prescriptions online canadian online pharmacies reviews online pharmacies mexico canada pharmacies online pharmacies no 1 canadian pharcharmy online trusted pharmacy canada scam canada drug pharmacy canada drug pharmacy
cialisvbuy.com
چهارشنبه 28 شهریور 1397 04:32 ب.ظ

Wow all kinds of amazing facts!
cialis e hiv cialis alternative cialis qualitat cialis patentablauf in deutschland cialis generique 5 mg online prescriptions cialis cialis pills cialis pills in singapore cialis manufacturer coupon generic for cialis
cialisvbuy.com
سه شنبه 27 شهریور 1397 01:23 ب.ظ

You explained this very well.
chinese cialis 50 mg cialis therapie import cialis cialis arginine interactio tadalafil 20mg cialis e hiv cialis taglich cialis lilly tadalafi cialis dose 30mg cialis tadalafil
http://cialisbuys.com/
پنجشنبه 15 شهریور 1397 01:06 ق.ظ

You definitely made the point.
cialis generika in deutschland kaufen how does cialis work look here cialis cheap canada we recommend cialis info rx cialis para comprar cialis 20mg cialis daily new zealand cialis generico in farmacia cialis lowest price generic cialis levitra
canadian prescriptions online
سه شنبه 13 شهریور 1397 05:16 ب.ظ

Wow all kinds of excellent info!
canada online pharmacies canada medication prices canadian pharmacies-24h northwest pharmacies drugstore online reviews canadian pharmacy viagra brand pharmacy canada 24 canadianpharmacyusa24h drugs for sale online pharmacy times
buy cheap viagra
سه شنبه 13 شهریور 1397 02:34 ق.ظ

Very good knowledge. With thanks!
buy viagra over the counter buy viagra without prescription uk generic viagra uk pharmacy where do you buy viagra cheap viagra online sildenafil tablets online generic viagra order generic sildenafil buy original viagra online buy viagra from usa
http://cialisonli.com/
دوشنبه 12 شهریور 1397 12:30 ق.ظ

Wow all kinds of good knowledge.
buy cialis online legal cialis prezzo al pubblico fast cialis online cialis italia gratis only best offers cialis use cialis generique 5 mg precios de cialis generico cialis rezeptfrei order generic cialis online cialis 05
viagraessale.com
یکشنبه 11 شهریور 1397 11:44 ق.ظ

Many thanks, Loads of info!

recommended site cialis kanada if a woman takes a mans cialis cialis for sale cipla cialis online generico cialis mexico venta cialis en espaa cialis for daily use cialis 5mg prix female cialis no prescription cialis for daily use
viabiovit.com/viagra-preiswert-kaufen.html
سه شنبه 23 مرداد 1397 02:40 ق.ظ

You actually explained it wonderfully!
buying viagra without a prescription cheap viagra online pharmacy viagra purchase uk viagra best buy sildenafil buy viagra online next day delivery uk viagra price uk buy viagra online overnight buy real viagra online buy generic viagra australia
viagra kopen assen
شنبه 16 تیر 1397 06:40 ق.ظ
Helⅼⲟ! Thiѕ is kind of off topic but I neeɗ some heⅼp from ɑn established blog.

Ιs іt vеry hɑrⅾ to ѕet up үour own blog? I'm not very techincal bᥙt
I саn figre tһings ᧐ut pretty quick. І'm thinking about mɑking mmy own ƅut
I'm not sure where tⲟ start. Ɗo you havе any ρoints orr suggestions?
Ꭲhanks
Paten
چهارشنبه 13 تیر 1397 06:26 ب.ظ
I think the admn of tһis web site is aⅽtually
wοrking harɗ in favor of hіs website, ѕince here everу material iѕ quality
based data.
stevy
سه شنبه 12 تیر 1397 11:16 ق.ظ
Іf yoou are going ffor best ⅽontents like I do, simply go to
ѕee this web ⲣage veгʏ day for thе reason that it prߋvides
quality contents, thanks
гроші в кредит на карточку онлайн
شنبه 22 اردیبهشت 1397 07:17 ق.ظ
kredit online на карту
займ по паспорту срочно
без отказа кредит на карту
терміново кредит готівкою на карту онлайн
кредит 24 часа на карту
кредит на карту цілодобово
займ сразу на карту
Online cialis
پنجشنبه 20 اردیبهشت 1397 02:55 ق.ظ

Amazing material. Thanks.
pastillas cialis y alcoho tadalafil 10 mg cialis sans ordonnance we choice cialis uk tadalafil 20 mg cialis cipla best buy generic cialis pill online cialis mit grapefruitsaft cialis generic availability il cialis quanto costa
Buy cialis online
جمعه 7 اردیبهشت 1397 06:18 ب.ظ

Thank you, Awesome information.
cialis for sale cialis arginine interactio ou trouver cialis sur le net we choice cialis pfizer india buy brand cialis cheap cialis dosage amounts cialis generique cialis 20 mg effectiveness cheap cialis best generic drugs cialis
Viagra 20 mg best price
سه شنبه 4 اردیبهشت 1397 02:14 ق.ظ

Many thanks. Loads of content.

viagra online canadian pharmacy how to buy cheap viagra viagra for cheap prices sildenafil citrate buy women viagra where to buy viagra without a prescription how to buy viagra online without prescription buy viagra online no prescription uk buying cheap viagra cheap viagra pharmacy
viagra super active review
پنجشنبه 23 فروردین 1397 11:01 ق.ظ
Hmm is ɑnyone else having ρroblems with the pictures օn thiѕ blog loading?
I'm trying tо determine іf its a problem on my end or if it's the blog.
Ꭺny responses ԝould Ƅe ցreatly appreciated.
Buy cialis online
جمعه 17 فروردین 1397 06:05 ب.ظ

You've made your point!
estudios de cialis genricos cialis cipla best buy cialis 20mg preis cf fast cialis online cialis canadian drugs costo in farmacia cialis weblink price cialis price cialis per pill cialis patentablauf in deutschland cialis 30 day sample
lumigan eyelash growth application
پنجشنبه 9 فروردین 1397 08:21 ق.ظ
You've made some decent points there. I checked on the web for more info about the issue and found most people will go along with your views on this website.
mezo
سه شنبه 7 فروردین 1397 10:01 ق.ظ
Thіs is reaⅼly attention-grabbing, You're a very skilled blogger.
I'νe joined your feed and ⅼooҝ ahead to searching fߋr more of yߋur magnificent
post. Additionally, I have shared y᧐ur web site inn my
social networks
Cialis pills
جمعه 3 فروردین 1397 01:41 ب.ظ

Amazing facts. Regards.
cialis alternative venta cialis en espaa cialis side effects dangers cialis tablets australia cialis 20 mg effectiveness cialis online deutschland ou acheter du cialis pas cher usa cialis online cialis 05 cialis cipla best buy
livejasmin credit hack free
جمعه 4 اسفند 1396 03:07 ق.ظ
آیا من فکر می کنم اگر من چند پست خود را نقل قول کنم تا زمانی که من اعتبار و منابع را ارائه می دهم
به وبلاگ شما؟ وبلاگ من در همان حوزه ای است که منافع شما را به خود جلب می کند و کاربران من واقعا از بعضی از آنها سود می برند
اطلاعاتی که اینجا ارائه می کنید لطفا این را بفهمید
باشه با تو. قدردانی آن
budtrader
پنجشنبه 3 اسفند 1396 05:52 ب.ظ
بله در نهایت چیزی در مورد edibles.
best medicare supplement plans
چهارشنبه 10 آبان 1396 05:40 ب.ظ
در این زمان به نظر می رسد مانند Movable Type ترجیح داده می شود
پلت فرم وبلاگ نویسی در حال حاضر در دسترس است. (از آنچه که خوانده ام) این است
آنچه در وبلاگ خود استفاده می کنید چیست؟
cr hack
دوشنبه 8 آبان 1396 08:23 ب.ظ
با درود! من می دانم که این موضوع در مورد موضوع مورد بحث قرار دارد اما من از اینکه پلتفرم وبلاگ شما استفاده می کنید تعجب کردم
برای این وب سایت من از وردپرس خسته هستم چون من با هکرها و... مشکلی داشتم
من به جای جایگزین برای یک پلت فرم دیگر نگاه می کنم. من می توانم عالی باشم اگر بتوانم به سمت یک پلت فرم خوب به من اشاره کنم.
std testing centers
دوشنبه 8 آبان 1396 08:07 ق.ظ
سلام، من فکر می کنم این یک سایت عالی است. من آن را می کشم؛) یک بار مجددا بازدید می کنم
دوباره از آنجایی که من آن را به عنوان مورد علاقه ذخیره کرده ام. پول و آزادی بهترین راه برای تغییر است، شاید بتوانید ثروتمند شوید
همچنان به راهنمایی دیگران ادامه دهید
psychic phone reading
دوشنبه 8 آبان 1396 07:02 ق.ظ
وای، طرح وبلاگ بی نظیر! چقدر طول کشید
شما وبلاگ نویسی کرده اید؟ شما وبلاگ نویسی را آسان کردی.
نگاه کلی وب سایت شما فوق العاده است، بجز محتوای آن!
are psychics real
دوشنبه 8 آبان 1396 05:35 ق.ظ
به طور طبیعی مانند وب سایت شما، اما شما نیاز به بررسی املا در چندین پست خود را.
تعدادی از آنها با مسائل املایی فراگیر شده اند و من به آن
از سوی دیگر من خواهم یافت که بسیار سخت گیرانه به حقیقت بگویم
قطعا دوباره دوباره می آیند
cheap psychics
دوشنبه 8 آبان 1396 05:17 ق.ظ
این واقعا یک بخش عالی و مفید از اطلاعات است. من خوشحالم که این اطلاعات مفید را با ما به اشتراک گذاشتهاید.
لطفا ما را با این موضوع آگاه سازید با تشکر از شما برای به اشتراک گذاری.
cheap phone psychic readings
دوشنبه 8 آبان 1396 04:55 ق.ظ
سلام. من وبلاگ خود را با استفاده از msn پیدا کردم. این یک مقاله بسیار خوب نوشته شده است.

من مطمئنم که آن را نشانه گذاری کرده و به خواندن بیشتر اطلاعات مفید شما بازگردم.
از پستتان ممنونم. مطمئنا برگشتم
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر
نمایش نظرات 1 تا 30