Do while петља — разлика између измена

нема резимеа измене
м (Разне исправке)
[[Датотека:Do-while-loop-diagram.svg|right|thumb|Do While проток петље дијаграм]]
Код већине [[Програмирање|програмских језика]],'''do while петља''' је [[изјава]] [[контрола протока]] који извршава блок кода најмање једном, и онда непрестано извршава блок, или не, у зависности од датог логичког стања на крају блока. Имати на уму да за разлику од већине језика, [[Фортран|FortranФортран]]-ова do петља је уствари иста као и  for петља.
 
D''o while'' конструкција се састоји од процеса симбола и услова. Прво, код унутар блока се извршава, и онда се услов процењује. Ако је услов [[Истина|тачан]] код унутар блока се извршава поново. Ово се понавља све док услов не постане [[нетачан]]. Зато што do while  петље проверавају услов након што је блок извршен, контролна структура је такође позната као и '''пост-тест петље'''. Супротно од while петље, која тестира услов пре него што се код унутар блока извршио, do-while петља је излазна-услов петља. Ово значи да се код мора увек извршити прво и онда се процењује израз или тест стања. Ако је тачно, код изршава тело петље поново. Овај процес се понавља  све док израз има тачну вредност. Ако је вредност нетачна, петља се зауставља и контролише проток до изјаве пратећи do-while петљу.
 
Могуће је и у неким пожељним случајевима, да се услов увек процењује као тачан, ставарући [[Бесконачна петља|бесконачну петљу]]. Када је оваква петља створена намерно, обично постоји још једна контролна структура(као што је [[изјава прекида]]) која дозвољава прекид петље.
 
Неки језици могу користити различиту конвенцију назива за овај тип петље. На пример, језик [[Паскал (програмски језик)|PascalПаскал]] има "''repeat until''" петљу, која се наставља све док контролни израз није тачан(а затим се завршава) — док "while" петља ради све док је контролни израз тачан (и зауставља се чим израз постане нетачан).
 
== Једнаке конструкције ==
</source>
 
=== [[Ада (програмски језик)|AdaАда]] ===
<source lang="ADA">
with Ada.Integer_Text_IO;
</source>
 
=== [[Бејсик|BASICБејсик]] ===
Ранији BASICsБејсик (као што је [[GW-BASIC]]) је користио синтаксу WHILE/WEND. Модерни BASICsБејсик као што је  [[PowerBASIC]] обезбеђује  WHILE/WEND и DO/LOOP структуре, са синткаском DO WHILE/LOOP, DO UNTIL/LOOP, DO/LOOP WHILE, DO/LOOP UNTIL, и DO/LOOP (без спољашњег тестирања, али са условном EXIT LOOP негде унутар петље). Типични  BASICБејсик извор кода :<source lang="vb">
Dim factorial As Integer
Dim counter As Integer
</source><ref>{{Cite web|url = https://www.tutorialcup.com/cplusplus/do-while-loop.htm |title = C++ Do While Loop}}</ref>
 
=== [[CFScript]] ===
<source lang="ecmascript">
factorial = 1;
</source>
 
=== [[D]] ===
<source lang="d">
int counter = 5;
</source>
 
=== [[Фортран|FortranФортран]] ===
У застарелом '''FORTRAN 77''' не постоји DO-WHILE конструкција али исти ефекат се може постићи са GOTO:<source lang="Fortran">
INTEGER CNT,FACT
PRINT*,FACT
END
</source>Са '''Fortran 90''' и каснијим, користимо [[конструкцију једнакости]] која је поменута горе.<source lang="Fortran">
program FactorialProg
integer :: counter = 5
</source>
 
=== [[Јава (програмски језик)|JavaJaвa]] ===
<source lang="Java">
int counter = 5;
</source>
 
=== [[Јаваскрипт|JavaScriptJaвaскрипт]] ===
<source lang="JavaScript">
var counter = 5;
</source><ref>{{Cite web|url = http://php.net/manual/en/control-structures.do.while.php |title = Do While - Official PHP Documentation}}</ref>
 
=== [[PL/I]] ===
[[PL/I]] DO изјава сажима функцију пост-тест петље(''do until''), the pre-test loop (''do while''), и for петље. Све функције могу бити укључене у једној изјави. Пример показује само"do until" синтаксу.<source lang="PLI">
declare counter fixed initial(5);
declare factorial fixed initial(1);
</source>
 
=== [[Пајтон (програмски језик)|PythonПајтон]] ===
Python-уПајтону недостаје одређена do while конструкција контроле протока. Међутим, нешто слично може бити изведено уз помоћ while петље са прекидом .<source lang="Python">
counter = 5
factorial = 1
</source>Упоредити ово са првим примером while петље примера за Racket.
 
=== [[Руби (програмски језик)|RubyРуби]] ===
<source lang="Ruby">
counter = 5
</source>
 
=== [[Свифт(програмски језик)|Свифт]]===
=== Swift ===
Swift 2.x:<source lang="javascript">
var counter = 5
</source>
 
=== [[Visual Basic .NET]] ===
<source lang="VB">
Dim counter As Integer = 5
== Такође видети ==
* Control flow
* [[For петља|For петља]]
* For loop
* [[Форич петља|Форич петља]]
* [[While loopпетља|While петља]]
* [[Repeat loop (disambiguation)]]
 
== Референце ==
292

измене