Program balik kalimat

 program balik_kalimat;

uses

 crt;

const

 elemen = 255; { batas maksimum karakter }

type

 s255 = string[elemen];

 tumpukan = record

 isi : s255;

 atas : 0..elemen

 end;

var

 t : tumpukan; { nama tumpukan }

 i : integer; { pencacah }

 kalimat : s255; { kalimat yang dibalik }

 n,m : char;

{ ****************************** }

{ prosedur inisialisasi tumpukan }

{ ****************************** }

procedure awalan ( var t : tumpukan );

begin

 t.atas := 0;

end; { akhir prosedur awalan }

{ ********************************************************** }

{ prosedur untuk memastikan elemen ke dalam tumpukan }

{ dalam hal ini cacah karakter maksimum tidak boleh dari 255 }

{ ********************************************************** }

procedure push ( var t : tumpukan; x : char );

begin

 t.atas := t.atas + 1;

 t.isi[t.atas] := x;

end; { akhir Prosedur push }

{ ******************************************* }

{ fungsi untuk mengambil elemen dari tumpukan }

{ ******************************************* }

function pop ( var t : tumpukan ) : char;

begin

 pop := t.isi[t.atas];

 t.atas := t.atas - 1;

end; { akhir fungsi pop }

{ ************************** }

{ program utama }

{ ************************** } 

begin

 clrscr;

 awalan (t);

 writeln (' Tumpukan untuk membalik kalimat ');

 writeln (' -------------------------------- ');

 writeln;

 { kalimat yang akan dibalik }

 writeln ('Isikan sembarang kalimat : ');

 readln (kalimat);

 writeln;

 writeln(' Kalimat asli : '); ;writeln (kalimat);

 writeln('setelah dibalik : ');

 { mempush kalimat ke dalam tumpukan }

 for i := 1 to length(kalimat) do

 push(t, kalimat[i]);

 { mempop isi tumpukan sehingga diperoleh kalimat }

 { yang dibaca terbalik pembacaannya }

 for i := 1 to length(kalimat) do

 write (pop(t));

 readln;

end. { akhir program utama }

************************************************** 


Komentar

Postingan populer dari blog ini

flowchart struktur data memasak telur