Tampilkan postingan dengan label Perulangan. Tampilkan semua postingan
Tampilkan postingan dengan label Perulangan. Tampilkan semua postingan

Senin, 07 Juni 2010

Contoh program for ... to.. do..

Program nama;
Uses wincrt;
Var
x,i,j : integer;
Begin
j := 0;
Readln (x);
For i := 1 to x do
Writeln (i:4, i*i:4);
Readln;
For i := 1 to x do
j := j + i;
Writeln (j);
End.

Contoh code repeat.. until

Program suhu;
Uses wincrt;
Var
c, f, r : real;
Begin
writeln(' C F R');
writeln(' ---------------------');
c := 0;
repeat
f := (9/5) * c + 32;
r := (4/5) * c;
writeln (c:8:1, f:8:1, r:8:1);
c := c + 0.5;
until c > 10;
writeln(' ---------------------');
end.

Perulangan

sebuah program terkadang harus melakukan hal yang sama berkali-kali. Agar program tidak menjadi terlalu panjang karena setiap proses menjadi baris program, maka diperlukan adanya kemampuan otomatisasi dalam kode program.
Dengan adanya otomatisasi dalam program, maka dapat dilakukan pengerjaan proses sama berkali-kali yang berada dalam beberapa statemen hanya dengan menuliskannya sekali saja.
Karena perulangan merupakan suatu hal yang sering ditemui dalam program, maka bahasa Pascal juga menyediakan kemampuan tersebut.
Dalam Pascal terdapat 3 cara melakukan perulangan yaitu :
- For .. to .. do
- While .. do
- Repeat .. until.
Seperti pada percabangan, ketiga jenis perulangan juga memungkinkan perulangan secara tersarang, serta dapat menjalankan suatu blok berisi beberapa statemen proses untuk setiap perulangannya.
For .. to .. do biasa digunakan apabila telah diketahui dengan pasti cacah perulangan yang akan dilakukan baik dari sebuah baris statemen atau suatu blok statemen. Perulangan/kalang menggunakan kata cadangan ini dapat berupa perulangan positif (For .. to .. do) atau perulangan negatif (For .. downto .. do).

Kata cadangan yang digunakan
Program : spesifikasi nama program dan parameternya, bersifat dekoratif dan tidak terlalu mempengaruhi keseluruhan program itu sendiri
Uses : mendefinisikan nama unit yang akan direferensi oleh program
Var : menghubungkan sebuah identifier dan tipenya dengan suatu lokasi di memori dimana nilai-nilai dari tipe tersebut dapat disimpan
Begin : memulai suatu blok program
End : mengakhiri suatu blok program
For : mendefinisikan nilai awal perulangan
To : mendefinisikan nilai akhir perulangan (perulangan positif)
Downto : mendefinisikan nilai akhir perulangan (perulangan negatif)
While : mendefinisikan ekspresi yang mengendalikan perulangan eksekusi suatu statemen atau blok statemen
Do : digunakan untuk menyebutkan aksi yang akan dilakukan perulangan
Repeat : mendefinisikan statemen atau blok statemen yang akan terus diulang sampai keadaan perhentiannya dipenuhi
Until : mendefinisikan keadaan perhentian untuk perulangan yang dimulai dengan Repeat
If : menyebutkan kondisi untuk suatu statemen agar dapat dieksekusi
Then : menyebutkan statemen aksi yang harus dijalankan saat kondisi terpenuhi
Else : menyebutkan statemen aksi yang dapat dieksekusi saat statemen aksi lain tidak dieksekusi karena kondisinya tidak terpenuhi

- sistematika penulisan :

Program nama;
Uses wincrt;
Var
x,i,j : integer;
Begin
j := 0;
Readln (x);
For i := 1 to x do
Writeln (i:4, i*i:4);
Readln;
For i := 1 to x do
j := j + i;
Writeln (j);
End.

Program sederhana dengan menggunakan While..or.. do..

program whileordo;
uses
wincrt;
var c:char;
begin
clrscr;
c:='y';
while (c='y') or (c='Y') do begin
writeln('.....UNTUKMU LOGIKAKU......');
writeln('by.Bang-Iconk');readln;
writeln('Terhenyakku akan bahasamu');
writeln('Unik,menarik dan tentu bukan bahasa semu'); readln;
writeln('("JIKA INI MAKA ITU, BILA INI BILA,MAKA BILA INI JIKA MAKA")');readln;
writeln('Oupsss...'); readln;
writeln('Logika yang kupunya tiada mampu tuk menggapai'); READLN;
writeln('Jari jemariku menari');
writeln('Mencari BUG area hitam yang kau tandai');readln;
writeln('Lama logikaku berputar dengan berbagai macam pendekatan struktural');
writeln('Akhiirnya kutemukan maknamu dalam lingkaran procedural'); readln;
writeln('Bukanlah variable namun....');
writeln('ENGKAULAH KONSTANTA YANG TAK TERGOYAHKAN');readln;
writeln('Ulangi Lagi Atau Selesai...tekan(Y/N)?');
Readln(c);
clrscr;
end;
end.