در بحث الگوریتم های شرطی گفته شد که کلمه شرط و راه حلی که بصورت شرطی "اگر" آمده است دقیقا در الگوریتم تکرار می شود
مثال 8 :اگوریتمی بنویسید که با دریافت یک عدد مشخص کند منفی است یا مثبت و یا خنثی
با قدری تامل در این مساله کاملا مشخص است که با مثال قبلی که مربوط به اعداد زوج و فرد بود تفاوت دارد در اعداد زوج و فرد تصمیم گیری در بین دو حالت صورت می گیرد اما در این مساله تصمیم گیری در بین سه حالت است. مثبت و منفی و خنثی
ابتدا تحلیل مساله:
- ورودی: عدد a
- راه حل:
-خروجی: کلمه "مثبت" و کلمه "منفی" و کلمه "خنثی"
برای بدست آوردن راه حل بهتر است کمی فکر کنیم خوب چه عددی مثبت است : اعدادی که بزرگتر از صفر هستند و تمام اعدادی که مساوی صفر هستند خنثی و کوچکتر از صفر منفی
پس داریم تحلیل مساله:
- ورودی: عدد a
- راه حل: اگر عدد a بزرگتر صفر بود آنگاه چاپ کن "مثبت" در غیر اینصورت اگر عدد a مساوی صفر بود آنگاه چاپ کن "خنثی " در غیر اینصورت اگر عدد a کوچکتر از صفر بود آنگاه چاپ کن "منفی"
-خروجی: در راه حل آمده است
براي نوشتن الگوريتم بعد از تحليل مساله بايد مراحل زير حفظ شود
- شروع
- ورودي
- راه حل
-خروجی
- پايان
الگوریتم اعداد زوج و فرد
1- شروع
2- a را بگیر
3-ااگر عدد a بزرگتر صفر بود آنگاه چاپ کن "مثبت" در غیر اینصورت اگر عدد a مساوی صفر بود آنگاه چاپ کن "خنثی " در غیر اینصورت اگر عدد a کوچکتر از صفر بود آنگاه چاپ کن "منفی"
4- پایان
کاملا مشخص است که خروجی در راه حل آمده است پس باید خروجی بصورت جداگانه نداشته باشیم امابا روش دیگر داریم
1- شروع
2- a را بگیر
3-اگر عدد a بزرگتر صفر بود آنگاه چاپ کن "مثبت" برو به مرحله6
4-اگر عدد a مساوی صفر بود آنگاه چاپ کن "خنثی " برو به مرحله6
5-اگر عدد a کوچکتر از صفر بود آنگاه چاپ کن "منفی"
6- پایان
در حل این الگوریتم می توانیم شرط مرحله 5 را حذف کنیم چون اگر عددی مثبت و خنثی نباشد مسلما منفی است
1- شروع
2- a را بگیر
3-اگر عدد a بزرگتر صفر بود آنگاه چاپ کن "مثبت" برو به مرحله6
4-اگر عدد a مساوی صفر بود آنگاه چاپ کن "خنثی " برو به مرحله6
5- چاپ کن "منفی"
6- پایان