Задача этой книги дать краткое и четкое изложение языка С++ в соответствии со стандар том iso/iec 14882. Она предназначена для студентов, изучающих язык «с нуля»



Download 2 Mb.
bet29/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   25   26   27   28   29   30   31   32   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

Цикл с параметром (for)


Öèêë ñ ïaðaìåòðîì èìååò ñëåäóþùèé ôîðìaò:
for ( èíèöèaëèçaöèя; âûðaæåíèå; ìîäèôèêaöèè) îïåðaòîð;
Èíèöèaëèçaöèя èñïîëüçóåòñя äëя îáúяâëåíèя è ïðèñâîåíèя ía÷aëüíûõ çía÷åíèé âåëè÷èíaì, èñïîëüçóåìûì â öèêëå.  ýòîé ÷añòè ìîæíî çaïèñaòü íåñêîëüêî îïå- ðaòîðîâ, ðaçäåëåííûõ çaïяòîé (îïåðaöèåé «ïîñëåäîâaòåëüíîå âûïîëíåíèå»), ía- ïðèìåð, òaê.

for (inti= 0,j= 2;… int k, m;


for (k= 1,m= 0;…
Îáëañòüþ äåéñòâèя ïåðåìåííûõ, îáúяâëåííûõ â ÷añòè èíèöèaëèçaöèè öèêëa, яâ- ëяåòñя öèêë1. Èíèöèaëèçaöèя âûïîëíяåòñя îäèí ðaç â ía÷aëå èñïîëíåíèя öèêëa.
Âûðaæåíèå îïðåäåëяåò óñëîâèå âûïîëíåíèя öèêëa: åñëè åãî ðåçóëüòaò, ïðèâå- äåííûé ê òèïó bool, ðaâåí true, öèêë âûïîëíяåòñя. Öèêë ñ ïaðaìåòðîì ðåaëèçî- âaí êaê öèêë ñ ïðåäóñëîâèåì.
Ìîäèôènaöèè âûïîëíяþòñя ïîñëå êaæäîé èòåðaöèè öèêëa è ñëóæaò îáû÷íî äëя èçìåíåíèя ïaðaìåòðîâ öèêëa.  ÷añòè ìîäèôèêaöèé ìîæíî çaïèñaòü íåñêîëüêî îïåðaòîðîâ ÷åðåç çaïяòóþ. Ïðîñòîé èëè ñîñòaâíîé îïåðaòîð ïðåäñòaâëяåò ñîáîé òåëî öèêëa. Ëþáaя èç ÷añòåé îïåðaòîða for ìîæåò áûòü îïóùåía (íî òî÷êè ñ çaïя- òîé íaäî îñòaâèòü ía ñâîèõ ìåñòaõ!).
Ïðèìåð (îïåðaòîð, âû÷èñëяþùèé ñóììó ÷èñåë îò 1 äî 100):
for (inti= 1,s= 0; i<=100; i++) s += i;
Ïðèìåð (ïðîãðaììa ïå÷aòaåò òaáëèöó çía÷åíèé ôóíêöèè y=x2+1 âî ââåäåííîì äèaïaçîíå):
include int main(){
float Xn, Xk, Dx, X;
printf("Ââåäèòå äèaïaçîí è øaã èçìåíåíèя aðãóìåíòa: "); scanf("%f%f%f", &Xn, &Xk, &Dx);
printf("| X | Y |\n"); for (X = Xn; X<=Xk; X += Dx)
printf("| %5.2f | %5.2f |\n", X, X*X + 1); return 0;
}
Ïðèìåð (ïðîãðaììa íaõîäèò âñå äåëèòåëè öåëîãî ïîëîæèòåëüíîãî ÷èñëa):
include int main(){
int num, half, div;
cout << "\nÂâåäèòå ÷èñëî : "; cin >> num;
for (half = num / 2, div= 2; div<= half; div++) if (!(num % div))cout << div <<"\n";
return 0;
}
Äâa ïîñëåäíèõ ïðèìåða âûïîëíяþò òå æå äåéñòâèя, ÷òî è ïðèìåðû äëя öèêëa ñ ïðåäóñëîâèåì, íî çaïèñaíû áîëåå êîìïaêòíî è íaãëяäíî: âñå äåéñòâèя, ñâяçaí- íûå ñ óïðaâëåíèåì öèêëîì, ëîêaëèçîâaíû â åãî çaãîëîâêå.
Ëþáîé öèêë while ìîæåò áûòü ïðèâåäåí ê ýêâèâaëåíòíîìó åìó öèêëó for è ía- îáîðîò ïî ñëåäóþùåé ñõåìå:


1 Â ñòaðûõ âåðñèяõ êîìïèëяòîðîâ ýòî òðåáîâaíèå ñòaíäaðòa ìîæåò èíòåðïðåòèðîâaòüñя ïî-äðóãîìó.

for (b1; b2; b3) îïåðaòîð b1;


while (b2){ îïåðaòîð; b3;}
×añòî âñòðå÷aþùèåñя îøèánè ïðè ïðîãðaììèðîâaíèè öènëîâ — èñïîëüçîâaíèå â òåëå öèêëa íåèíèöèaëèçèðîâaííûõ ïåðåìåííûõ è íåâåðíaя çaïèñü óñëîâèя âû- õîäa èç öèêëa.
×òîáû èçáåæaòü îøèáîê, ðåêîìåíäóåòñя:

  • ïðîâåðèòü, âñåì ëè ïåðåìåííûì, âñòðå÷aþùèìñя â ïðaâîé ÷añòè îïåðaòîðîâ ïðèñâaèâaíèя â òåëå öèêëa, ïðèñâîåíû äî ýòîãî ía÷aëüíûå çía÷åíèя (a òaêæå âîçìîæíî ëè âûïîëíåíèå äðóãèõ îïåðaòîðîâ);

  • ïðîâåðèòü, èçìåíяåòñя ëè â öèêëå õîòя áû îäía ïåðåìåííaя, âõîäяùaя â óñëî- âèå âûõîäa èç öèêëa;

  • ïðåäóñìîòðåòü aâaðèéíûé âûõîä èç öèêëa ïî äîñòèæåíèþ íåêîòîðîãî êîëè-

÷åñòâa èòåðaöèé (ñì. ïðèìåð â ñëåäóþùåì ðaçäåëå);

  • è, êîíå÷íî, íå çaáûâaòü î òîì, ÷òî åñëè â òåëå öèêëa òðåáóåòñя âûïîëíèòü áî- ëåå îäíîãî îïåðaòîða, íóæíî çaêëþ÷aòü èõ â ôèãóðíûå ñêîáêè.

Îïåðaòîðû öèêëa âçaèìîçaìåíяåìû, íî ìîæíî ïðèâåñòè íåêîòîðûå ðånîìåíäa- öèè ïî âûáîðó íaèëó÷øåãî â êaæäîì êîíêðåòíîì ñëó÷aå.
Îïåðaòîð do while îáû÷íî èñïîëüçóþò, êîãäa öèêë òðåáóåòñя îáяçaòåëüíî âûïîë- íèòü õîòя áû ðaç (íaïðèìåð, åñëè â öèêëå ïðîèçâîäèòñя ââîä äaííûõ).
Îïåðaòîð for ïðåäïî÷òèòåëüíåå â áîëüøèíñòâå îñòaëüíûõ ñëó÷aåâ (îäíîçía÷- íî — äëя îðãaíèçaöèè öèêëîâ ñî ñ÷åò÷èêaìè).
Îïåðaòîðîì while óäîáíåå ïîëüçîâaòüñя â ñëó÷aяõ, êîãäa ÷èñëî èòåðaöèé çaðaíåå íå èçâåñòíî, î÷åâèäíûõ ïaðaìåòðîâ öèêëa íåò èëè ìîäèôèêaöèþ ïaðaìåòðîâ óäîáíåå çaïèñûâaòü íå â êîíöå òåëa öèêëa.



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   25   26   27   28   29   30   31   32   ...   232




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish