Selasa, 15 Desember 2009

PROGRAM PERULANGAN

PERULANGAN (LOOP)

1.FOR
Pernyataan for biasanya digunakan untuk melakukan pengulangan yang jumlahnya telah diketahui sebelumnya.
Pengulangan Positif  pengulangan dengan penghitung (counter) dari kecil ke besar atau dengan kata lain pertambahannya positif.
Bentuknya : For nilai awal to nilai akhir do.
Contoh
program segitiga_pascal;
uses wincrt;
var n,i,j:integer;
begin
write('Masukkan angka untuk segitiga asyik: ');readln(n);
for j:=1 to n do
begin
for i:=1 to j do
write (2:4);
writeln;
end;
end.
Apabila program dijalankan, maka tampilannya :
Masukkan angka untuk segitiga asyik: 4 (Masukkan angka, misal 4)
2
2 2
2 2 2
2 2 2 2


Pengulangan Negatif  pengulangan dengan penghitung (counter) dari besar ke kecil atau dengan kata lain pertambahannya positif.
Bentuknya : For nilai awal downto nilai akhir do.
Contoh :
Program segitiga_pascal;
uses wincrt;
var n,i,j:integer;
begin
write('masukkan angka untuk segitiga asyik: ');readln(n);
for j:=n downto 1 do
begin
for i:=1 to j do
write (10:4);
writeln;
end;
end.


Apabila program dijalankan, maka tampilannya :
Masukkan angka untuk segitiga asyik: 5 (Masukkan angka, misal 5)
10 10 10 10 10
10 10 10 10
10 10 10
10 10
10



2.WHILE DO

Pernyataan while-do biasanya digunakan untuk melakukan pengulangan yang jumlahnya tidak diketahui dan diulang hingga kondisi salah.

While logika do pernyataan
Contoh:
Program while_do;
uses wincrt;
var x:integer;
begin
x:=1;
while (x<8) do
begin
writeln(x,'. Segitiga ajaib’);
x:=x+1;
end;
end.

Apabila program dijalankan, maka tampilannya :
1.Segitiga ajaib
2.Segitiga ajaib
3.Segitiga ajaib
4.Segitiga ajaib
5.Segitiga ajaib
6.Segitiga ajaib
7.Segitiga ajaib
8.REPEAT…UNTIL
Repeat biasa dipakai untuk menangani pengulangan yang jumlahnya belum pasti, diulang hingga kondisi benar.

Repeat
Pernyatan_1;
Pernyatan_2;

Pernyatan_n;
Until

Contoh:
Program Repeat_until;
uses wincrt;
var x:integer;
begin
x:=2;
repeat
writeln (x,'. Segitiga asik’);
x:=x+1;
until x>4;
end.

Apabila program dijalankan, maka akan menghasilkan tampilan sebagai berikut:
2.Segitiga asik
3.Segitiga asik
4.Segitiga asik

Contoh lain :

1.Program Pengulangan_for_do;
Uses Wincrt;
Var
a,b:longint;
Begin
Write ('Kita akan mengulang berapa kali : '); read (b);
For b:=1 to b do
a:=1;
For a:=1 to b do
Writeln (a,'.','Aku Suka Indonesia');
End.

2.Program For…do;
Uses Wincrt;
Var
a:longint;
Begin
For a:=1 to 5 do
Writeln (a,' . Pemrograman Komputer');
End.

3.Program Repeat_until;
Uses Wincrt;
Var
a:longint;
Begin
a:=0;
Repeat
a:=a+1;
Writeln (a,' . Pemrograman Komputer');
Until a>4;
End.

4.Program While_do;
Uses Wincrt;
Var
a:longint;
Begin
a:=0;
While a<5 do
Begin
a:=a+1;
Writeln (a,' . Pemrograman Komputer');
End;
End.

5.Program Cetak_BilGanjil;
Uses wincrt;
Var
I : Integer;
Begin
I:=1;
While I < 10 Do
begin
I:=I +2;
Write(I:6);
end;
End.
6.Program Segitiga_Asyik;
Uses Wincrt;
Var
a,b,c:longint;
Begin
Write ('Berapa baris segitiga asyik yang kamu inginkan: '); read (a);
For c:=1 to a do
Begin
For b:=1 to c do
Write (c:3);
Writeln;
Writeln;
End;
End.

7.Program Jumlah_Segitiga_Asyik;
Uses Wincrt;
Var
a,b,c,d:longint;
Begin
Write ('Berapa baris segitiga asyik yang kamu inginkan: '); read (a);
For c:=1 to a do
Begin
For b:=1 to 1 do
Write (c:2);
For b:=2 to c do
Write (' +',c:2);
For b:=1 to c do
d:=c*b;
Write (' = ');
Write (d);
Writeln;
Writeln;
End;
End.

8.Program Jumlah_Segitiga_Asik;
Uses Wincrt;
Var
a,b,c,d:longint;
Begin
Write ('Berapa baris segitiga asik yang kamu inginkan: '); read (a);
For c:=1 to a do
Begin
For b:=1 to c do
Begin
Write (c:2);
If b End;
For b:=1 to c do
d:=b*b;
Write (' = ');
Write (d);
Writeln;
Writeln;
End;
End.

9.Program Menampilkan_Bilangan_Genap;
Uses Wincrt;
Var
x,angka_awal:longint;
Begin
angka_awal:=2;
Repeat
Write (angka_awal,' ');
angka_awal:=angka_awal+2;
Until angka_awal>50
End.

10.Program Penjumlahan_Deret_Bilangan_Bulat_1_Sampai_n;
Uses Wincrt;
Var
bilangan_akhir,bilangan_awal,jumlah:longint;
Begin
bilangan_awal:=1;
jumlah:=0;
Write ('Masukkan bilangan akhir yang diinginkan = '); readln (bilangan_akhir);
Repeat
Write (bilangan_awal);
If bilangan_awal jumlah:=jumlah+bilangan_awal;
bilangan_awal:=bilangan_awal+1;
Until bilangan_awal>bilangan_akhir;
Write (' = ',jumlah);
End.

11.Program Penjumlahan_Deret_Bilangan_1_sd_12;
Uses Wincrt;
Var
bilangan_awal,bilangan_akhir,jumlah:integer;
Begin
bilangan_akhir:=12;
jumlah:=0;
bilangan_awal:=1;
Repeat
Write (bilangan_awal,' + ');
jumlah:=jumlah+bilangan_awal;
bilangan_awal:=bilangan_awal+1;
Until bilangan_awal>bilangan_akhir;
Writeln ('=',jumlah);
End.
12.Program Penjumlahan_Deret_Bilangan_Bulat;
uses wincrt;
var
bilangan_awal,bilangan_akhir,bilangan_setelah_awal,bilangan_penolong1,bilangan_penolong2:longint;
jumlah1,jumlah2,jumlah_akhir:longint;
begin
write ('Masukkan bilangan awal yang diinginkan = '); readln (bilangan_awal);
write ('Masukkan bilangan akhir yang diinginkan = '); readln (bilangan_akhir);
If bilangan_akhir=bilangan_awal then write (bilangan_awal)
else begin
jumlah_akhir:=0;
jumlah1:=0;
jumlah2:=0;
bilangan_setelah_awal:=bilangan_awal+1;
bilangan_penolong1:=0;
bilangan_penolong2:=0;
Write (bilangan_awal);
repeat
jumlah2:=jumlah2+bilangan_penolong2;
bilangan_penolong2:=bilangan_penolong2+1;
until bilangan_penolong2>=bilangan_awal;
Repeat
jumlah1:=jumlah1+bilangan_penolong1;
bilangan_penolong1:=bilangan_penolong1+1;
Until bilangan_penolong1>bilangan_akhir;
repeat
write (' + ',bilangan_setelah_awal);
bilangan_setelah_awal:=bilangan_setelah_awal+1;
jumlah_akhir:=jumlah1-jumlah2;
until bilangan_setelah_awal>bilangan_akhir;
write (' = ',jumlah_akhir);
end
End.

Tidak ada komentar:

Posting Komentar