Байланысты: «Бағдарламалау тілдері» пәнінен тәжірибелік жұмыстар жинағы
С++ тіліндегібағдарламамәтіні: #include void main ()
{
const int M=10;
int i,a[M],max;
long int N;
cin>>N;
if(N<0)N=-N;
for(i=0;i<=M;i++)
{
a[i]=N%10;
N=N/10;
}
max=a[0];
for(i=0;i<=M;i++)
{
if(max<=a[i])max=a[i];
}
cout<<”\n”<}
Бірақ көпшілік жағдайда негізгі әрекетті орындау үшін, орындалатын әрекеттің қайталану саны белгілі бола бермейді. Мысалы: «Өлең жаттау» керек. Бұл жағдайда өлеңді жаттау үшін бір рет оқып есте сақтауға да болады. Ал қарсы жағдайда өлеңді екі рет және үш, төрт рет оқып жаттауға болады, бұл жағдайда сендерге өлеңді жаттау үшін неше рет оқу керек екені алдын ала белгісіз.
Циклдің бұл түріне қайталау саны белгісіз, бірақ әрекет орындалу үшін алдын ала берілген қандай да бір шарт тексеріліп барып, орындалатын әрекеттер жиыны жатады. Мысалы, сіз сорпа ішуге дайындалдыңыз. Тарелкадағы сорпаны толығымен ішіп тауысу үшін қасықпен неше рет көсіп алу керек екені бізге алдын ала белгісіз. Сондықтан сіз тарелка босағанша қасықпен сорпаны ала бересіз. Ал егер тарелка бастапқыда бос болса, сіз тарелкадан қасықпен сорпа алар ма едіңіз? Әрине жоқ, ол мүмкін емес. Осыдан, циклдің бұл түріне мынадай тұжырым жасауға болады: ол нөл рет орындалады. Бұл циклді шарты алдын ала берілген цикл деп атайды.
Шарты алдын ала берілген цикл қойылған шарттың орындалу-орындалмауына байланысты белгілі бір амалдар жиынын қайталап орындайды. Шарты алдын ала берілген цикл шарттың ең бірінші орындалмай қалғанынша қайталанады.
While операторы шарты алдынан берілген циклдің операторы болып табылады және жазылу форматы төмендегідей:
while (өрнек) денесі ;
while операторының орындалу схемасы төмендегідей:
1. Өрнек есептелінеді.
2. Егер өрнек жалған болса, онда while операторының орындалуы аяқталады да, одан кейінгі келесі оператор орындалады. Егер өрнек ақиқат болса, онда while операторының денесі орындалады. Процесс 1 пунктен басталады.
for (өрнек-1; өрнек-2; өрнек-3) дене ; түріндегі операторды while арқылы келесідей жазуға болады:
өрнек-1;
while (өрнек-2)
{ цикл денесі
өрнек-3;
}
for операторындағы секілді, while операторында алдымен шарт тексеріледі.
Енді циклдің үшінші түрі – шарты соңынан берілетін циклге тоқталайық. Циклдің бұл түрінде қайталану саны белгісіз, бірақ алдыңғы циклден айырмашылығы, онда әрекет орындалмас бұрын алдын ала шарт тексерілетін болса, ал мұнда әрекет орындалғаннан кейін шарт тексеріледі де, әрекет қайталауға беріледі. Шарты соңынан берілетін циклдің орындалуын айқындау үшін, өлшемдері көздерінен үлкен болатын жұмсақ шарлар салынған електі көз алдарыңа елестетіңдерші. Егер шарларды секіртетін болсақ, соғылу нәтижесінде олардың өлшемдері кішірейе береді делік. Осы әрекет қашан шарлардың өлшемдері електің көзінен өтетін болғанша қайталанып орындала береді. Яғни шардың диаметрі електің көзінің өлшемдеріне сәйкес болғанша шарты орындалады.
Шарты алдын ала тексерілетін циклдің шарты соңынан тексерілетін циклден айырмашылығы – циклдің бірінші түрінде әрекет Шарт=Ақиқат болғанда орындалады. Ал екінші түрінде Шарт=Ақиқат болғанда цикл әрекеті жұмысын тоқтатады.
Шарты соңынан берілген цикл бойынша циклдің денесі шарттың алғашқы дұрыс болғанында тоқтайды.