Çàî÷íîå äèñòàíöèîííîå îáðàçîâàíèå ñ ïîëó÷åíèåì ãîñóäàðñòâåííîãî äèïëîìà ÷åðåç Internet










Ïîëó÷èòü èíôîðìàöèþ î ïîñòóïëåíèè
 
Ãëàâíàÿ Íîâîñòè Êàðòà ñàéòà Ôîòîàëüáîì Ãîñòåâàÿ êíèãà Êîíòàêòû

 

Îïåðàòîð REPEAT

Îïåðàòîð ïîâòîðà repeat àíàëîãè÷åí îïåðàòîðó while, íî îòëè÷àåòñÿ îò íåãî, âî-ïåðâûõ, òåì, ÷òî óñëîâèå ïðîâåðÿåòñÿ ïîñëå î÷åðåäíîãî âûïîëíåíèÿ îïåðàòîðîâ òåëà öèêëà (î÷åðåäíîé èòåðàöèè) è òàêèì îáðàçîì ãàðàíòèðóåòñÿ õîòÿ áû îäíîêðàòíîå âûïîëíåíèå öèêëà, à âî-âòîðûõ, òåì, ÷òî êðèòåðèåì ïðåêðàùåíèÿ öèêëà ÿâëÿåòñÿ ðàâåíñòâî âûðàæåíèÿ êîíñòàíòå True. Çà ýòî öèêë repeat ÷àñòî íàçûâàþò öèêëîì ñ ïîñòóñëîâèåì, èëè öèêëîì «Äλ, òàê êàê îí ïðåêðàùàåò âûïîëíÿòüñÿ, êàê òîëüêî çíà÷åíèå âûðàæåíèÿ óñëîâèÿ, çàïèñàííîãî ïîñëå ñëîâà until, ñòàíîâèòñÿ ðàâíûì True (èñòèíà).

Îïåðàòîð ïîâòîðà repeat ñîñòîèò èç çàãîëîâêà repeat, òåëà è óñëîâèÿ îêîí÷àíèÿ until.

Ôîðìàò çàïèñè:

repeat

<îïåðàòîð>;

<îïåðàòîð>;

until <óñëîâèå îêîí÷àíèÿ öèêëà>;

Îïåðàòîðû, çàêëþ÷åííûå ìåæäó ñëîâàìè repeat è until, ÿâëÿþòñÿ òåëîì öèêëà. Âíà÷àëå âûïîëíÿåòñÿ òåëî öèêëà, çàòåì ïðîâåðÿåòñÿ óñëîâèå âûõîäà èç öèêëà. Èìåííî ïîýòîìó öèêë, îðãàíèçîâàííûé ñ ïîìîùüþ îïåðàòîðà repeat, â ëþáîì ñëó÷àå âûïîëíèòñÿ õîòÿ áû îäèí ðàç. Åñëè ðåçóëüòàò áóëåâñêîãî âûðàæåíèÿ ðàâåí False, òî òåëî öèêëà àêòèâèçèðóåòñÿ åùå ðàç; åñëè ðåçóëüòàò ðàâåí True, òî ïðîèñõîäèò âûõîä èç öèêëà.

Ïðè ïðîãðàììèðîâàíèè îïåðàòîðîâ òåëà öèêëà ñëåäóåò îáåñïå÷èòü âëèÿíèå ïî êðàéíåé ìåðå îäíîãî èç îïåðàòîðîâ òåëà öèêëà íà çíà÷åíèå óñëîâèÿ, èíà÷å öèêë áóäåò âûïîëíÿòüñÿ áåñêîíå÷íî.

 ñëåäóþùåì ôðàãìåíòå ïîêàçàíî, êàê îïåðàòîð repeat èñïîëüçóåòñÿ äëÿ îæèäàíèÿ íàæàòèÿ êëàâèø Y è N. Íàæàòèå äðóãèõ êëàâèø áóäåò èãíîðèðîâàòüñÿ:

uses Crt;
var
YN: char;
begin
 
repeat
YN:= ReadKey
until Upcase(YN) in ['Y'.'N'];

end.

Ïðèìåðîì äåéñòâèÿ îïåðàòîðà repeat ìîæåò ñëóæèòü ïðîãðàììà DemoRepeat, êîòîðàÿ ââîäèò è ñóììèðóåò ëþáîå êîëè÷åñòâî öåëî÷èñëåííûõ çíà÷åíèé. Åñëè ââåäåíî çíà÷åíèå 999, òî íà ýêðàí âûâîäèòñÿ ðåçóëüòàò ñóììèðîâàíèÿ.
 
program DemoRepeat;
var
X; integer;
Sum; real;

begin

Sum:=0;

repeat {Ïîâòîðÿòü}

Write('Çíà÷åíèå Õ= '): {Íà÷àëî òåëà öèêëà}

Readln(X); {Ñ÷èòàòü î÷åðåäíîå çíà÷åíèå X ñ êëàâèàòóðû}

if X <> 999 then

Sum:= Sum+X;

until X = 999; {Óñëîâèå îêîí÷àíèÿ öèêëà}

Writeln('Ñóììà ââåäåííûõ ÷èñåë= ', Sum);
end.

 äàííîì ïðèìåðå â ðàçäåëå îïèñàíèÿ ïåðåìåííûõ îïèñàíà ïåðåìåííàÿ X öåëî÷èñëåííîãî òèïà integer è Sum âåùåñòâåííîãî òèïà real.  íà÷àëå âûïîëíåíèÿ ïðîãðàììû îáíóëÿåòñÿ çíà÷åíèå ñóììû ÷èñåë. Çàòåì ïðè ïîìîùè çàðåçåðâèðîâàííîãî ñëîâà repeat îáúÿâëÿåòñÿ öèêë, ïîñëå ÷åãî ñëåäóþò îïåðàòîðû òåëà öèêëà, êîòîðûå âûâîäÿò íà ýêðàí çàïðîñ «Çíà÷åíèå X=» è ñ÷èòûâàþò ââåäåííîå ñ êëàâèàòóðû çíà÷åíèå X. Îïåðàòîð if ïðîâåðÿåò åãî íà íåðàâåíñòâî ÷èñëó 999 è, åñëè îíî íå ðàâíî 999, óâåëè÷èâàåò çíà÷åíèå ñóììû Sum íà çíà÷åíèå ÷èñëà X.  êîíöå öèêëà îïåðàòîð until Õ = 999 ïðîâåðÿåò óñëîâèå îêîí÷àíèÿ öèêëà. Åñëè çíà÷åíèå âûðàæåíèÿ X = 999 èñòèííî, òî öèêë çàâåðøèòñÿ, à óïðàâëåíèå â ïðîãðàììå áóäåò ïåðåäàíî íà îïåðàòîð, íàõîäÿùèéñÿ çà ñëîâîì until, ò. å. ïåðâûé îïåðàòîð çà ãðàíèöåé öèêëà repeat. Ýòî âûçîâ ïðîöåäóðû Writeln, êîòîðàÿ âûâåäåò ñîîáùåíèå «Ñóììà ââåäåííûõ ÷èñåë ðàâíà» è íàïå÷àòàåò çíà÷åíèå ïåðåìåííîé Sum.



 
     
   
 


Ïðèãëàøàåì ïðèíÿòü ó÷àñòèå â êðóãëîì ñòîëå!
ïîäðîáíåå   >>>
 

Èíñòèòóò Ìåíåäæìåíòà, Ýêîíîìèêè è Èííîâàöèé íà÷èíàåò íàáîð íà êóðñû ïîâûøåíèÿ êâàëèôèêàöèè!
ïîäðîáíåå   >>>
 

Óâàæåìûå ñòóäåíòû ÀÍÎ ÂÏÎ ÈÌÝèÈ!
ïîäðîáíåå   >>>
 

Íà÷èíàåòñÿ íàáîð íà êóðñû ïîâûøåíèÿ êâàëèôèêàöèè!
ïîäðîáíåå   >>>
 

Ïðèãëàøàåì ïðèíÿòü ó÷àñòèå â êîíôåðåíöèÿõ!
ïîäðîáíåå   >>>
 


âñå íîâîñòè...

 


Ðàññûëêè Subscribe.Ru
Ñîâðåìåííîå îáðàçîâàíèå
Ïîäïèñàòüñÿ ïèñüìîì