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

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

سه شنبه 1 دی 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- پایان.

 

فلوچارت

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

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

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

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


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


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




lwp84hn
یکشنبه 3 شهریور 1398 03:54 ب.ظ
rjsug5v usasildenafil.com <a href="http://sildenapharmacy.com/">sneak a peek at this web-site</a> viagra 50 vs 100 <a href=http://sildenapharmacy.com/>anonymous</a>
http://canadianopharmacy.com/
دوشنبه 7 مرداد 1398 01:58 ق.ظ

Helpful posts. Many thanks.
pharmacy drugs for sale online canadian pharmacy king canadian government approved pharmacies canada online pharmacies for men canadian rxlist canada rx online drug store canadian online pharmacies legitimate canada medication pharmacy
iwanielulnphr
چهارشنبه 12 تیر 1398 04:47 ب.ظ
ryzluzojktpo cheap viagra india <a href=http://northwestpharmacyph.com/>viagra dosages</a> viagra instructions <a href="http://northwestpharmacyph.com/">cheap cialis online canada pharmacy</a>
best price cialis
wvanielizrndl
چهارشنبه 5 تیر 1398 09:49 ق.ظ
uyfvfkzjxxdd no rx canada pharmacy http://canadaviagravrcialis.com/ - what are the best canadian pharmacies to order cialis from. buying cialis from canada <a href="http://canadaviagravqcialis.com/">buying viagra in canada</a>
cialis 50 mg soft tab
یکشنبه 2 تیر 1398 01:46 ب.ظ

You actually revealed it exceptionally well.
only best offers 100mg cialis click here cialis daily uk generic cialis review uk safe dosage for cialis cialis canada cialis tablets australia cialis prezzo di mercato we recommend cialis info cialis generico in farmacia cialis 5mg billiger
http://benchnewte.strikingly.com/
شنبه 1 تیر 1398 11:08 ب.ظ

Kudos! A lot of material!

we choice cialis uk cuanto cuesta cialis yaho cialis efficacit acheter cialis meilleur pri cialis generico in farmacia no prescription cialis cheap cialis name brand cheap online cialis are there generic cialis prices for cialis 50mg
http://uctworin.strikingly.com/
شنبه 1 تیر 1398 06:21 ق.ظ

You stated this terrifically.
cialis sans ordonnance calis cialis generico online cialis generico in farmacia generic cialis 20mg uk cialis coupons safe site to buy cialis online sublingual cialis online fast cialis online 5 mg cialis pharmacie en ligne
http://haigraphkip.strikingly.com/
جمعه 31 خرداد 1398 02:26 ب.ظ

Nicely put. Cheers.
the best site cialis tablets cialis 20 mg best price cialis coupons printable order cialis from india cialis prezzo di mercato dose size of cialis buy cialis online nz cipla cialis online cialis uk next day prezzo di cialis in bulgaria
http://versnocodd.strikingly.com/
پنجشنبه 30 خرداد 1398 03:04 ق.ظ

Cheers! I appreciate this.
cialis for sale south africa miglior cialis generico generic cialis 20mg uk cialis 20 mg viagra vs cialis vs levitra generic cialis with dapoxetine viagra vs cialis cialis canadian drugs cialis arginine interactio cialis 20 mg cut in half
canadian drugs generic cialis
چهارشنبه 29 خرداد 1398 10:47 ق.ظ

You reported that superbly.
cialis en mexico precio preis cialis 20mg schweiz cialis super kamagra best generic drugs cialis achat cialis en itali female cialis no prescription venta cialis en espaa prix cialis once a da cialis 20 mg cost generic cialis review uk
http://trappecli.strikingly.com/
سه شنبه 28 خرداد 1398 06:26 ب.ظ

Nicely put. Kudos.
cialis tablets cialis generic tadalafil buy ou acheter du cialis pas cher cialis official site we choice cialis pfizer india cialis 10 doctissimo dose size of cialis canadian discount cialis walgreens price for cialis bulk cialis
http://daytribto.strikingly.com/
دوشنبه 27 خرداد 1398 05:54 ق.ظ

Many thanks! Good information.
cheap cialis prezzo di cialis in bulgaria only now cialis for sale in us cipla cialis online preis cialis 20mg schweiz we like it safe cheap cialis cialis 20mg preis cf buy online cialis 5mg tadalafilo cialis kaufen
cialis where to buy - malaysia
یکشنبه 26 خرداد 1398 04:35 ب.ظ

You said it nicely.!
price cialis wal mart pharmacy if a woman takes a mans cialis cilas cialis pills price each cialis online cialis 20 mg effectiveness cialis coupons get cheap cialis rezeptfrei cialis apotheke tadalafil generic
http://marzeli.strikingly.com/
یکشنبه 26 خرداد 1398 02:00 ق.ظ

Kudos, A lot of forum posts!

we like it cialis soft gel click now buy cialis brand click here cialis daily uk wow look it cialis mexico side effects of cialis generico cialis mexico buy online cialis 5mg get cheap cialis does cialis cause gout safe site to buy cialis online
http://ketscarpa.strikingly.com/
شنبه 25 خرداد 1398 11:59 ق.ظ

You definitely made your point!
cialis for sale cialis online deutschland cialis 10mg prix pharmaci il cialis quanto costa weblink price cialis cialis canada cialis en 24 hora cialis prices cialis for daily use free cialis
Buy cialis
جمعه 24 خرداد 1398 09:47 ب.ظ

Kudos! Plenty of postings!

cialis 05 tadalafil 20mg when can i take another cialis cialis name brand cheap cialis uk cialis 10 doctissimo cilas enter site very cheap cialis price cialis best callus
http://cenratan.strikingly.com/
جمعه 24 خرداد 1398 07:39 ق.ظ

Helpful stuff. Regards!
cialis lilly tadalafi cialis canada preis cialis 20mg schweiz cialis professional yohimbe safe dosage for cialis brand cialis generic cialis en mexico precio cialis cuantos mg hay only now cialis 20 mg cialis from canada
Buy generic cialis
پنجشنبه 23 خرداد 1398 05:18 ب.ظ

With thanks, I appreciate it.
usa cialis online cialis alternative cialis wir preise cialis professional from usa tadalafil 20 mg cialis generico postepay cialis prices in england cheap cialis cialis rezeptfrei cialis generisches kanada
http://liaridit.strikingly.com/
پنجشنبه 23 خرداد 1398 03:47 ق.ظ

Thanks a lot. An abundance of posts!

we recommend cialis best buy where do you buy cialis price cialis wal mart pharmacy generic cialis in vietnam cialis free trial cialis kaufen bankberweisung generic cialis soft gels cialis uk next day cialis efficacit cialis kaufen bankberweisung
cialisvie.com
دوشنبه 20 خرداد 1398 05:28 ق.ظ

Amazing plenty of fantastic data.
cialis cost cialis 5mg we like it safe cheap cialis only best offers cialis use cialis purchasing cialis professional from usa how much does a cialis cost viagra or cialis cialis 30 day trial coupon cialis 20mg prix en pharmacie
http://cialisvie.com/
شنبه 18 خرداد 1398 11:26 ب.ظ

You've made your point.
cialis 5 mg effetti collateral price cialis wal mart pharmacy cialis dosage amounts trusted tabled cialis softabs cialis generic availability cialis for bph get cheap cialis we recommend cheapest cialis cialis free trial cuanto cuesta cialis yaho
cialisvie.com
جمعه 17 خرداد 1398 05:37 ب.ظ

You made your position extremely clearly!!
comprar cialis navarr side effects of cialis cialis generika we like it cialis price rezeptfrei cialis apotheke buying brand cialis online bulk cialis enter site very cheap cialis bulk cialis generic cialis soft gels
http://canadiantousapharmacy.com/
چهارشنبه 21 فروردین 1398 12:25 ب.ظ

You actually explained it very well.
online pharmacies how safe are canadian online pharmacies northwest pharmacies in canada canadian pharmacies without an rx canadianpharmacyusa24h online pharmacy canada canadian online pharmacy canada medication pharmacy canadian rx world pharmacy pharmacy near me
buy generic cialis
پنجشنبه 15 آذر 1397 11:48 ب.ظ

Lovely stuff. Kudos!
order cialis from india cialis diario compra generic cialis cialis with 2 days delivery cialis sans ordonnance buy cialis venta de cialis canada click here to buy cialis rezeptfrei cialis apotheke cialis et insomni
Cialis online
پنجشنبه 15 آذر 1397 04:19 ق.ظ

You actually revealed this very well.
cost of cialis cvs generic cialis tadalafil cialis herbs achat cialis en suisse generic cialis 20mg uk cialis prezzo al pubblico cialis 30 day trial coupon buy cialis cheap 10 mg cialis 10 doctissimo recommended site cialis kanada
Buy cialis online
چهارشنبه 14 آذر 1397 10:45 ق.ظ

Kudos, I appreciate this.
female cialis no prescription cialis e hiv cialis 5mg side effects of cialis buying cialis in colombia comprar cialis 10 espa241a cialis prices in england prezzo cialis a buon mercato cialis mit grapefruitsaft free cialis
Cialis 20 mg
سه شنبه 13 آذر 1397 11:18 ب.ظ

You said it nicely.!
how to purchase cialis on line cialis 5 mg schweiz overnight cialis tadalafil cialis 5 mg schweiz cialis coupon online prescriptions cialis ou trouver cialis sur le net cialis italia gratis cialis 5 effetti collaterali where to buy cialis in ontario
buy cheap cialis coupon
سه شنبه 13 آذر 1397 12:20 ب.ظ

Many thanks! Wonderful information!
import cialis generic cialis at walmart cialis kamagra levitra price cialis per pill free generic cialis tarif cialis france cialis 5 mg buy cialis online holland cialis generika in deutschland kaufen prix de cialis
buy cialis online no prescription
سه شنبه 13 آذر 1397 12:48 ق.ظ

Kudos, I enjoy it!
when will generic cialis be available cialis tablets only now cialis 20 mg cialis sans ordonnance usa cialis online cialis 5 effetti collaterali cialis pills price each no prescription cialis cheap cialis 50 mg soft tab we like it cialis soft gel
buy cialis delhi
دوشنبه 12 آذر 1397 11:48 ق.ظ

You actually suggested it superbly.
click now buy cialis brand recommended site cialis kanada acquisto online cialis cialis farmacias guadalajara bulk cialis look here cialis order on line cialis australia org venta de cialis canada viagra vs cialis vs levitra cialis rckenschmerzen
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر
نمایش نظرات 1 تا 30