برای عملگر حلقه: حداقل تعداد را در بین ورودی های صفحه کلید جستجو کنید


حداکثر تعداد در بین اعداد داده شده

هنگام مطالعه عملگر شرطی، به موضوع یافتن حداکثر تعداد از چندین عدد وارد شده پرداختیم. در مسئله "حداکثر چهار عدد" ما از الگوریتم زیر استفاده کردیم:
1. مقدار را به متغیر M به اولین متغیر از چهار متغیر اختصاص دهید؛
2. اگر مقدار متغیر دوم بیشتر از مقدار متغیر M باشد، مقدار متغیر را با مقدار متغیر دوم جایگزین کنید.
3. اگر مقدار متغیر سوم از مقدار متغیر M بیشتر است، مقدار متغیر M را با مقدار متغیر سوم جایگزین کنید. br /> 4. اگر مقدار متغیر چهارم بیشتر از مقدار متغیر M باشد، مقدار متغیر را با مقدار متغیر چهارم جایگزین کنید.

مشاهده می شود که هر  عدد (بیایید آن را با X نشان دهیم) که با متغیر M مقایسه کردیم، به صورت زیر:
 
شبه کد
<پیش> ورودی X اگر (M < X) سپس   M = X
نکته اصلی در این کد تعیین مقدار اولیه متغیر M است.
معمولاً هنگام حل مسئله یافتن حداکثر یا حداقل، مقدار اولیه متغیر M برابر با عدد اول تعیین می شود.
بنابراین کد فوق باید 1 برابر کمتر از تعداد اعداد اجرا شود (زیرا عدد اول باید به عنوان مقدار اولیه متغیر M وارد و ذخیره شود).
اگر تعداد اعداد را از صفحه کلید تنظیم کنیم (مثلاً در متغیر n)، می‌توانیم با استفاده از همان عدد برای ذخیره متغیر عدد.

سعی کنید برنامه را خودتان بنویسید.

حداکثر نه در بین همه

اگر لازم باشد حداکثر (حداقل) را نه در بین همه اعداد وارد شده، بلکه فقط در بین اعدادی که شرایط خاصی را برآورده می کنند، پیدا کنیم، باید این واقعیت را در نظر بگیریم که اولین عددی که به عنوان مقدار اولیه حداکثر در نظر می گیریم. (حداقل) همیشه نیازهای ما را برآورده نمی کند.

به عنوان مثال، اگر ما به دنبال حداکثر عدد منفی هستیم، مجموعه داده را داریم: \(\{5, -2, 4, 2, -1, -3\}\ ) عدد 5 را در مقدار اولیه ماکزیمم بدست می آوریم که مثبت و بزرگتر از هر منفی است. و از این رو شرط X > M همیشه نادرست خواهد بود.

بنابراین، اضافه کردن تنها یک چک برای یک عدد منفی به الگوریتم مسئله قبلی کافی نیست، همچنین باید این نکته را نیز در نظر گرفت که ممکن است عدد اول شرایط لازم را برآورده نکند (در این مورد، منفی باشد. ).

می‌توانید با اضافه کردن شرط زیر در حلقه این مشکل را برطرف کنید:

شبه کد
<پیش> اگر X منفی است، پس اگر M >= 0 یا M < X، سپس M=X
در کد مشخص شده، شرط  M >= 0 به شما امکان می دهد عمل  M = X را حتی اگر متغیر در ابتدا حاوی مقداری است که آشکارا بزرگتر از بقیه است (در مثال ما، مقدار برابر با 5 است).

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