Добавил:
bekan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:1-semestr / 4-LEKCIYA
.pdf
{
// 1- shárt
if(...)
{
...
break;
}
/
/ 2- shárt
if(...)
{
...
break;
}
.
..
}
Bul mısalda sheksiz for tákirarlawınan 1 yamasa 2-shárt orınlanǵanda
shıǵıladı.
Másele. Belgisiz pútin sanlar izbe-izligi 0 mánisi menen juwmaqlanadı, 0
izbe-izlik aǵzası esaplanbaydı. Izbe-izlikti kemeymeytuǵın jaǵdayda tártiplengen
yamasa tártiplenbegenligi anıqlansın.
#include <iostream>
int main()
{
unsigned int Ai_1 = 0, Ai;
cout << "Sanlar izbe-izligin kiritiń";
cout << " (0-juwmaqlanıw belgisi):\n ";
cin >> Ai;
while(Ai)
{
// izbe-izliktin birinshi aǵzası
Ai_1 = Ai;
cin >> Ai;
// náwbettegi aǵza
if(Ai_1 > Ai)
break;
}
if(Ai_1)
{
cout << "Izbe-izlik tártiplengen";
if(!Ai)
cout << " emes!";
else
cout << ”!”;
}
else
cout << "Izbe-izlik bos!";
return 0;
}
Programma iske túskende, dáslep izbe-izliktiń birinshi aǵzası óz aldına oqıp
alınadı (Ai ózgeriwshisine). Keyin Ai mánisi nolge teń bolmaǵansha tákirarlaw

operatorı ámel qıladı. Tákirarlaw denesinde Ai mánisi aldınǵı mánis sıpatında Ai_1
ózgeriwshisine eslep qalınadı hám náwbettegi aǵza Ai ózgeriwshisine oqıladı. Eger
aldınǵı aǵza náwbettegi aǵzadan úlken bolsa, break operatorı járdeminde
tákirarlaw processi úziledi hám basqarıw tákirarlawdan keyingi shárt operatorına
ótedi. Bul jerdegi shárt operatorları mazmunı tómendegishe: eger Ai_1 nolden
parıqlı bolsa, izbe-izliktiń keminde bir aǵzası kiritilgen boladı (izbe-izlik bar) hám
aqırǵı kiritilgen aǵza tekseriledi. Óz náwbetinde eger Ai nolden parıqlı bolsa, bul
jaǵday aǵzalar ortasında kemeymew shárti orınlanbaǵanlıǵı sebepli aǵzalardı
kiritiw processi úzilgenin bildiredi hám bul haqqında хabar shıǵarıladı. Keri
jaǵdayda izbe-izliktiń kemeymeytuǵın jaǵdayda tártiplengen boladı.
Continue operatorı
Continue operatorı tap break operatorı kibi tákirarlaw operatorı denesin
orınlawdı toqtatadı, biraq tákirarlawdan shıǵıp ketpesten keyingi qádemine
«sekirip» ótiwin buyıradı.
Continue operatorın qollanıwǵa mısal sıpatında 2 hám 50 sanlar aralıǵındaǵı
ápiwayı sanlardı tabıwshı programma tekstin keltiremiz.
#include <iosteam>
using namespace std;
int main()
{
bool bólinedi = false;
for(int i = 2; i < 50; i++)
{
for (int j = 2; j < i/2; j++)
{
if(i % j)
continue;
bólinedi = true;
break;
}
//break orınlanǵanda basqarıw ótetuǵın orın
if(!bólinedi)
cout << i << ” “;
bólinedi = false;
}
return 0;
}
Keltirilgen programmada qoyılǵan másele ishpe-ish jaylasqan eki tákirarlaw
operatorları járdeminde sheshilgen. Birinshi tákirarlaw operatorı 2 den 50 ge
shekem sanlardı jaratıwǵa xızmet qıladı. Ishki tákirarlaw bolsa hár bir jaratılıp

atırǵan sandı 2 sanınan sol sannıń yarımına shekem bolǵan sanlarǵa bólip, qaldıǵın
tekseredi, eger qaldıq 0 sanınan parıqlı bolsa, náwbettegi sanǵa bóliw dawam etedi,
keri jaǵdayda bolinedi ózgeriwshisine true mánis berip, ishki tákirarlaw úziledi
(san óziniń yarımına shekem bolǵan qandayda bir sanǵa bóliner eken, demek ol
ápiwayı emes hám keyingi sanlarǵa bólip tekseriwge qájet joq). Ishki j boyınsha
tákirarlawdan shıqqannan keyin bolinedi mánisi false bolsa (!bolinedi), i sanı
ápiwayı boladı hám ol shıǵarıladı.
Соседние файлы в папке 1-semestr
