b'\n_START_ARTICLE_\nProgram LOOP\n_START_PARAGRAPH_\nProgram LOOP \xe2\x80\x93 jedno z narz\xc4\x99dzi teorii obliczalno\xc5\x9bci s\xc5\x82u\xc5\xbc\xc4\x85ce do ustanowienia, czy dana funkcja jest obliczalna.\n_START_SECTION_\nSemantyka\n_START_PARAGRAPH_\nWszystkie u\xc5\xbcyte w danym programie zmienne zostaj\xc4\x85 zainicjalizowane przed wykonaniem programu. Zmienne nie zainicjalizowane bezpo\xc5\x9brednio otrzymuj\xc4\x85 domy\xc5\x9bln\xc4\x85 warto\xc5\x9b\xc4\x87 0._NEWLINE_Wyra\xc5\xbcenie postaci_NEWLINE_ x\xe1\xb5\xa2\xc2\xa0:= x\xe2\xb1\xbc + c_NEWLINE_oznacza przyznanie zmiennej  warto\xc5\x9bci otrzymanej poprzez dodanie zmiennej  i sta\xc5\x82ej  Specjalnym przypadkiem jest tutaj sytuacja, gdzie warto\xc5\x9b\xc4\x87 sta\xc5\x82ej  jest r\xc3\xb3wna zeru. Wtedy warto\xc5\x9b\xc4\x87 zmiennej  zostaje bezpo\xc5\x9brednio przyznana zmiennej _NEWLINE_ x\xe1\xb5\xa2\xc2\xa0:= x\xe2\xb1\xbc + 0_NEWLINE_Wyra\xc5\xbcenie postaci_NEWLINE_ x\xe1\xb5\xa2\xc2\xa0:= x\xe2\xb1\xbc - c_NEWLINE_oznacza przyznanie zmiennej  warto\xc5\x9bci otrzymanej poprzez odj\xc4\x99cie sta\xc5\x82ej  od zmiennej  w przypadku gdy warto\xc5\x9b\xc4\x87 sta\xc5\x82ej jest wy\xc5\xbcsza ni\xc5\xbc warto\xc5\x9b\xc4\x87 zmiennej wynikiem odejmowania jest 0._NEWLINE_Kompozycja dw\xc3\xb3ch program\xc3\xb3w LOOP ma posta\xc4\x87_NEWLINE_  _NEWLINE_i oznacza, \xc5\xbce program  zostanie wykonany przed programem _NEWLINE_P\xc4\x99tla LOOP ma posta\xc4\x87_NEWLINE_ LOOP  DO  END_NEWLINE_przy czym liczba przebieg\xc3\xb3w programu jest z g\xc3\xb3ry ustalona w zmiennej  i nie ulega zmianie w trakcie wykonywania programu.\n_START_SECTION_\nDodawanie\n_START_PARAGRAPH_\nNast\xc4\x99puj\xc4\x85cy program LOOP przyznaje zmiennej x\xe2\x82\x80 sum\xc4\x99 zmiennych x\xe2\x82\x81 i x\xe2\x82\x82:_NEWLINE_ x\xe2\x82\x80\xc2\xa0:= x\xe2\x82\x81 + 0;_NEWLINE_ LOOP  DO_NEWLINE_      \xc2\xa0:=  + 1_NEWLINE_ END\n_START_SECTION_\nMno\xc5\xbcenie\n_START_PARAGRAPH_\nW symulacji mno\xc5\xbcenia x\xe2\x82\x80\xc2\xa0:= x\xe2\x82\x81 * x\xe2\x82\x82 mo\xc5\xbcna pos\xc5\x82u\xc5\xbcy\xc4\x87 si\xc4\x99 powy\xc5\xbcej podan\xc4\x85 operacj\xc4\x85 dodawania:_NEWLINE_ x\xe2\x82\x80\xc2\xa0:= 0;_NEWLINE_ LOOP  DO_NEWLINE_      \xc2\xa0:=  + _NEWLINE_ END\n_START_SECTION_\nSymulacja instrukcji IF-THEN\n_START_PARAGRAPH_\nPrzyk\xc5\x82adowa instrukcja IF  = 0 THEN  END mo\xc5\xbce zosta\xc4\x87 przedstawiona jako poni\xc5\xbcszy program LOOP:_NEWLINE_ x\xe2\x82\x81\xc2\xa0:= 1;_NEWLINE_ LOOP x\xe2\x82\x80 DO_NEWLINE_      x\xe2\x82\x81\xc2\xa0:= 0_NEWLINE_ END;_NEWLINE_ LOOP x\xe2\x82\x81 DO_NEWLINE_      _NEWLINE_ END\n_START_SECTION_\nFunkcja wyk\xc5\x82adnicza\n_START_PARAGRAPH_\nW symulacji tej funkcji mo\xc5\xbcna u\xc5\xbcy\xc4\x87 powy\xc5\xbcej podanej operacji mno\xc5\xbcenia oraz instrukcji IF-THEN._NEWLINE_Poni\xc5\xbcszy program oblicza WYK\xc5\x81(x\xe2\x82\x81, x\xe2\x82\x82) =  przy czym wynik obliczenia znajduje si\xc4\x99 w zmiennej x\xe2\x82\x80:_NEWLINE_ x\xe2\x82\x80\xc2\xa0:= x\xe2\x82\x81 - 1;_NEWLINE_ IF x\xe2\x82\x81 = 0 THEN x\xe2\x82\x82\xc2\xa0:= 1 END;_NEWLINE_ LOOP x\xe2\x82\x80 DO x\xe2\x82\x82\xc2\xa0:= x\xe2\x82\x82 * x\xe2\x82\x82 END;_NEWLINE_ x\xe2\x82\x80\xc2\xa0:= x\xe2\x82\x82\n_START_SECTION_\nSymulacja programu LOOP za pomoc\xc4\x85 Programu WHILE\n_START_PARAGRAPH_\nKa\xc5\xbcdy program LOOP postaci_NEWLINE_ LOOP  DO  END_NEWLINE_mo\xc5\xbce zosta\xc4\x87 zast\xc4\x85piony odpowiednim programem WHILE:_NEWLINE_ y\xc2\xa0:= x + 0;_NEWLINE_ WHILE \xc2\xa0!=  DO_NEWLINE_         \xc2\xa0:= _NEWLINE_         _NEWLINE_ END_NEWLINE_pod warunkiem, \xc5\xbce zmienna  nie wyst\xc4\x99puje w programie'