adalah perulangan dengan penghitung (counter) dari kecil ke besar. Bentuk: for variabel-kontrol := nilai-awal to nilai-akhir do statement tipe data harus sama yaitu bertipe integer.
uses crt; var i: integer; begin clrscr; for i:= 1 to 5 do begin writeln(‘Selamat pagi...'); end; readkey; end.
Adalah perulangan dengan penghitung (counter) dari besar ke kecil.
Bentuk: for variabel kontrol := nilai awal downto nilai-akhir do statement
uses crt; var i: integer; begin clrscr; for i:= 5 downto 1 do begin writeln(‘Selamat pagi...’); end; readkey; end.
Perulangan tersarang (nested loop) adalah perulangan yang berada di dalam perulangan yang lainnya.
uses crt; var i,j : integer; begin clrscr; for i := 1 to 5 Do begin for j := 1 to 3 do begin write(i:8, j:3); end; writeln(); end; readkey; end.
Statemen while do digunakan melakukan proses perulangan statement atau blok statement menerus selama kondisi ungkapan pada while bernilai logika benar.
untuk suatu teruslogika
uses crt; var i : integer; begin clrscr; i :=0; while i< 5 do begin writeln(i); i := i + 1; end; readkey; end.
Struktur repeat...until digunakan untuk mengulang statement atau blok statement hingga kondisi yang diseleksi di until terpenuhi.
uses crt; var i : integer; begin clrscr; i := 0; repeat i := i+1; writeln(i); until i = 5; readkey; end.
uses crt; var i : integer; begin clrscr; i := 1; repeat write(i); writeln(' Selamat pagi...'); i:=i+1; until i > 5; readkey; end.
uses crt; var a,b : integer; begin clrscr; a:=100; b:=5; repeat b := b + 1; a := a -b; until a>b; write(a, b); readkey; end.
readln(a); b := 4; while a>0 do begin b := b + (a mod 10); a := a div 10; end; if((b mod 3) > 0) or ((b mod 9) > 0) then writeln(‘Angin bertiup’) else writeln(‘Angin semilir’);
Berapakan nilai a yang akan menghasilkan keluaran Angin semilir? 23 20 24 21 22
jdata:=n; jml:=1; for i:= 0 to jdata-1 do begin jml:=3*jml-1; end; writeln(jml);
Jika sebelumnya n berharga 3 berapakah yang dicetak oleh potongan program itu? 58 d. 26 42 e. 15 14 Jika sebelumnya n berharga 1 berapakah yang dicetak oleh potongan program itu? 1 d. 4 2 e. 5 3
begin j := 3; for i:= 1 to 20 do begin if j > 2 then writeln('sukses'); j:=5 - (j*2); end;
Berapa kalikah pencetakan keluaran ’sukses’ dilakukan oleh penggalan program itu ? a. 5 b. 8 c. 10 d. 12 e. 13 Berapakah harga j setelah keluar dari iterasi for tersebut ? a. 21847 b. 22847 c. 22487 d. 20847 e. 20784