Repetisi pada Pascal

6 downloads 157 Views 520KB Size Report
Perulangan dengan statement for di gunakan untuk mengulang statement atau satu blok statement berulang kali sejumlah yang ditentukan.
Dasar-Dasar Pemrograman

Ramos Somya, S.Kom., M.Cs.

  

for do while do repeat until



Perulangan dengan statement for di gunakan untuk mengulang statement atau satu blok statement berulang kali sejumlah yang ditentukan.

Bentuk Perulangan for:  Perulangan Positif  Perulangan Negatif  Perulangan Tersarang

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

begin t:=2; while t