تمام برنامه های دارای حلقه for که تا به حال نوشته ایم را نمی توان جهانی نامید. زیرا تعداد تکرارهای بدنه حلقه را خودمان تنظیم می کنیم.
اما اگر تعداد تکرارها به مقدار دیگری بستگی داشته باشد چه؟ برای مثال، خود کاربر می خواهد تعداد تکرارهای چرخه را تنظیم کند.
در این مورد چه باید کرد؟
همه چیز بسیار ساده است. به جای مقادیر شروع و پایان عددی، میتوانیم از هر متغیری استفاده کنیم که کاربر بتواند آن را محاسبه یا تنظیم کند.
به عنوان مثال، باید مربع های اعداد از 1 تا n را نمایش دهیم، جایی که مقدار متغیر n توسط کاربر از صفحه کلید وارد می شود.
برنامه به شکل زیر خواهد بود:
<پیش>
var i, n :integer; // در فاصله؛ متغیر حلقه، n - حداکثر عددی که مربع را برای آن محاسبه می کنیم
شروع
خواندن (n); // n را از صفحه کلید وارد کنید
برای i := 1 تا n انجام // حلقه: برای همه i از 1 تا n - متغیر i به ترتیب مقادیر 1 تا n را می گیرد
writeln('Kvadrat chisla ', i, ' Raven ', i * i); // خروجی مربع یک عدد در یک فرمت خاص و انتقال به یک خط جدید
پایان.
هنگام ورود به حلقه، عبارت i := 1 اجرا می شود و سپس متغیر i با هر مرحله یک (to) افزایش می یابد. حلقه در حالی اجرا می شود که شرط i <= n درست است. در بدنه حلقه، تنها دستور خروجی، خود عدد و مربع آن را بر اساس فرمت مشخص شده روی صفحه چاپ می کند.
برای مربع یا سایر توانای کم، بهتر است از ضرب استفاده کنید.
برنامه را اجرا کنید و نتیجه کار آن را با مقادیر مختلف متغیر n ببینید.