С ПРОГРАММАЛАУ ТІЛІНІҢ ЦИКЛДІК ОПЕРАТОРЛАРЫ. КҮРДЕЛІ ЦИКЛДЕР

 
    
6-7 дәрістер. С++ ПРОГРАММАЛАУ ТІЛІНІҢ ЦИКЛДІК ОПЕРАТОРЛАРЫ. КҮРДЕЛІ ЦИКЛДЕР.
Цикл операторлары бірнеше рет қайталанатын есептеулерді орындау үшін қажет. Кез келген цикл сол цикл тұлғасынан (денесінен), яғни қайталанатын операторлар тізбегінен, бастапқы мәндер тағайындаудан, цикл параметрлерін өзгертуден және циклді қайталау шартын тексеруден тұрады (7. 1 сурет) . Циклдің бір рет орындалуы итерация (қадам) деп аталады. Шартты тексеру әрбір итерация сайын - цикл тұлғасына дейін (алғы шартты цикл) немесе цикл тұлғасынан соң (соңғы шартты цикл) атқарылады. Олардың айырмашылығы - соңғы шартты цикл, кем дегенде, бір рет орындалады да, содан кейін барып циклді қайталау шарты тексеріледі. Ал, алғы шартты циклде оны қайталау шарты цикл тұлғасынан бұрын тексеріледі, сондықтан кейде ол бір рет те орындалмай қалуы мүмкін.
+
-
-
Бастапқы
мәндер
Шарт?
Циклпараметрін өзгерту
Операторлар
Бастапқы
мәндер
Шарт?
Операторлар
Циклпараметрін өзгерту
+
а ә
б
а
1-сурет. Цикл операторларының құрылымдық схемасы:
а - алғы шартты цикл; ә - соңғы шартты цикл
Цикл тұлғасында мәні өзгертілетін айнымалылар цикл параметрлері болып табылады. Тұрақты қадаммен әрбір итерация сайын өзгертіліп отырылатын бүтін типтегі цикл парараметрлері цикл санауыштары деп аталадлы .
Бастапқы параметрлер мәндері айқын түрде берілмеуі де мүмкін, олар циклге кіргенге дейін оның ішінде мәндері өзертілетін айнымалылар мәндерін беру үшін қажет.
Цикл оны қайталау шарты орындалмаған кезде аяқталады. Цикл қадамының немесе жалпы циклдің аяғына жетпей, доғарылатын кездері болады, олар break, continue, return және goto операторлары көмегімен іске асырылады. Сырттан цикл ішіне басқаруды беру болмауы тиіс.
С/C++ тілдерінде ыңғайлылығына қарай қолданылатын үш түрлі цикл операторлары бар, олар - while, do . . while және for.
Алғы шартты цикл (while - әзірше)
Орындалу саны алдын ала белгісіз болатын циклдер құру кезінде шарттары алдын ала немесе соңынан тексерілетін екі цикл түрі бар. Шарты алдын ала тексерілетін цикл операторының орындалу схемасы 7. 1а-суретте көрсетілген. Оның жазылуы:
while (шарт-өрнек) оператор;
Мұнда шарт ретінде қатынас таңбалары кіретін шартты өрнек пайдаланылуы мүмкін. Өрнек типі арифметикалық немесе соған келтірілетін түрде болуы тиіс. Оператор қарапайым немесе құрама болуы мүмкін. Ол құрама оператор болса, онда операторлар жиыны жүйелі жақшаға алынып жазылады. While операторы орындалғанда, алдымен жақша ішіндегі өрнек есептеліп тексеріледі. Егер өрнек мәні ақиқат болса немесе жалпы жағдайда 0-ге тең болмаса, онда оператор атқарылады. Содан соң жақшадағы өрнек тағы да есептеледі. Егер өрнек мәні жалған болса (немесе жалпы жағдайда 0-ге тең болса), онда while цикл операторы өз жұмысын аяқтайды.
Мұнда шарт-өрнек құрамына кіретін айнымалы цикл ішінде өзгеріп отырады.
1-мысал (7. 2 сурет) .
2-сурет. Бүтін сандарды қосу алгоритмі
Басы
s=0
k=1
жоқ
k≤100
s=s+k
k=k+1
s
Соңы
иә
/* 1-ден 100-ге дейінгі бүтін
сандар қосындысы */
#include<iostream>
#include <stdio. h>
#include <conio. h>
main ()
{
int s, k;
s=0; k=1;
while (k<=100)
{ s=s+k;
k++;
}
cout<<"s= %d"<<s;
cout<<"\nАяқтау үшін Enter басыңыз\n";
return 0;
}
S=1+2+3+4+5+6+…+100=
  6-мысал
 
 . y=-2. 4
 
  x
 
  2
 
 +5
 
  x
 
 -3
  функциясы мәндерін оның аргументі
 
  х
 
  0
 
 -ден
 
  х
  
   k
  
 -ға дейін қадамы
 
  dx
 
 болып өзгерген кездерде анықтау керек. Мұнда программа С тілі стилінде жазылып, цикл алдында параметрге алғашқы мән меншіктеледі де, параметр цикл ішінде берілген қадамға өзгеріп отырады (7. 3-сурет) . Жалпы функция кез келген түрде беріле алады. Ол параметр мәніне байланысты тармақталып кететін функция да болуы мүмкін.
 функциясы мәндерін оның аргументі
 
  х
 
  0
 
 -ден
 
  х
  
   k
  
 -ға дейін қадамы
 
  dx
 
 болып өзгерген кездерде анықтау керек. Мұнда программа С тілі стилінде жазылып, цикл алдында параметрге алғашқы мән меншіктеледі де, параметр цикл ішінде берілген қадамға өзгеріп отырады (7. 3-сурет) . Жалпы функция кез келген түрде беріле алады. Ол параметр мәніне байланысты тармақталып кететін функция да болуы мүмкін.
басы
х =x 0
жоқ
иә
x≤x k
y=f(x)
x=x+dx
x, y
соңы
x 0 , x k , dx енгізу
3-сурет. Функция мәндерін есептеу алгоритмі
/* х тұрақты қадаммен х0-ден хk-ға дейін өзгергенде, функция мәндері кестесін алу, х0, хk, dx (қадам) пернелерден енгізіледі */
#include<iostream>
#include <stdio. h>
#include <math. h>
#include <conio. h>
using namespace std;
int main()
{ float x, y, x0, xk, dx;
cout<<"х-тің бастапқы, соңғы мәндері:";
cin>>&x0;
cin>>&xk;
cout<<"х-тің өзгеру қадамы dх: ";
cin>>dx;
cout<<"\n";
cout<<" x y\n";
cout<<"\n";
x=x0;
while (x<=xk)
{y=-2. 4*x*x+5*x-3*sqrt(fabs(x) ) ;
cout<<"x= y="<<x, y;
x+=dx;
}
cout<<"\n";
return 0;
}
Келесі мысалда енгізілген num бүтін санының барлық бөлгіштері С++ тілі стилінде анықталады.
// Бүтін оң санның бөлгіштерін анықтау
#include <iostream>
using namespace std;
int main()
{int num;
  cout << "\nSan engizingiz : "; cin >> num;
  
  int half = num/2; // санның жартысы
 
int div = 2; // алғашқы бөлгіш санды таңдау
while (div<= half) {
if (!(num % div) ) cout << div <<"\n";
div++;
}
return 0;
}
Программалауда жиі қолданылатын тәсілдердің бірі- шексіз цикл ұйымдастырып, одан белгілі бір шарт бойынша шығу болып табылады, ол үшін цикл басында while (true) немесе while (1) сөздері жазылады. While түйінді сөзінен кейінгі жақша ішіне циклде ғана қолданылатын айнымалыны сипаттауды жазып қоюға болады, мысалы:
while (int x = 0) {… /* x-тің пайдаланылу аймағы */ }
Соңғы шартты цикл (do . . while)
while
жоқ
иә
шарт?
1-оператор
do
2-оператор
n-оператор
4-сурет. Шарты соңынан тексерілетін цикл
Шарты соңынан тексерілетін do . . while(орындау . . әзірше) циклінің орындалу схемасы 7. 4-суретте көрсетілген. Осыған сәйкес оператордың жалпы жазылу түрі:
do
{1-оператор;
2-оператор;
… … …
n-оператор;
}
while (өрнек) ;
Цикл тұлғасы ретінде қарапайым немесе құрама оператор қолданылуы мүмкін. Жақшадағы өрнек цикл тұлғасынан кейін тексеріледі. Сондықтан do while цикл тұлғасы ең болмағанда бір рет орындалады. Цикл тұлғасынан кейін жазылған өрнек ақиқат болса (яғни ол 0-ге тең болмаса), цикл тұлғасы қайтадан орындалады. Ал өрнек жалған болса (немесе 0-ге тең болса), цикл аяқталады. Өрнек типі арифметикалық немесе соған келтірілетін типте болуы тиіс.
Енді мысалдар келтірейік.
7-мысал.
// Енгізілген сандардың үлкенін (максимумын) табу
#include <stdio. h>
#include <conio. h>
using namespace std;
int main()
{int a, max;
cout<<"\n Сандар максимумын табу \n";
cout<<"Аяқтау үшін 0 енгізіңіз \n";
max = -32000;
// алдын ала максимумды ең кіші бүтінге теңейміз
do
{ cout<<"Сан енгізіңіз : ";
cin>>a;
if (a > max) max = a;
}
while (a!=0) ;
cout<<"Сандардың максимумы: %i"<<max;
return 0;
}
FOR цикл операторыFor операторы айнымалы ретінде берілген цикл параметрінің алғашқы, соңғы мәні мен өзгеру қадамы белгілі болғанда, соған сәйкес бір немесе бірнеше операторларды қайталап орындау кезінде қолданылады. Бұл оператор параметрлі цикл операторы немесе арифметикалық цикл деп аталады.
Параметрлі циклдің орындалу схемасы 7. 5-суретте келтірілген. For операторының жалпы жазылу түрі:
5-сурет. For циклінің орындалу схемасы
x < = xk
x = x0, xk, dx
1 оператор;
2 оператор;
n оператор;
x > xk
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
 
            
                Ақпарат
Қосымша
Email: info@stud.kz