Jumat, 02 Mei 2014

Membuat Balik Kata dengan Pascal

Program BALIK_KALIMAT;
Uses crt;

Const Elemen      = 255;
Type S255         = String[Elemen];
     Tumpukan     = record
                          Isi   :S255;
                          Atas  : 0..Elemen;
                          end;
var T             : Tumpukan;
    I             : Integer;
    Kalimat       : S255;

{Prosedur inisial Tumpukan}
Procedure Awalan (Var T : Tumpukan);

Begin
T.Atas  :=0;
end;
{Prosedure untuk memasukan kedalam Tumpukan}
Procedure PUSH (var T: Tumpukan; X: char);
Begin
     T.Atas := T.Atas + 1;
     T.Isi[T.atas] :=X
     END;

{Fungsi untuk me('ngambil elemen dari Tumpukan}
Function POP(var T: Tumpukan): char;
Begin
     POP :=T.Isi[T.Atas];
     T.Atas := T.Atas - 1
     end;

{Program Utama}
Begin;
Clrscr;
Awalan(T);
Writeln('Tumpukan untuk membalik Kalimat');
Writeln;

{Kalimat yang akan dibalik}
Write ('Isi Kalimat Sembarang : ');
readln(Kalimat);

Clrscr;
Writeln('Kalimat Asli :'); Writeln(Kalimat);
Writeln; Writeln ('Setelah dibalik : ');

       {Mempush kalimat ke dalam tumpukan}
       For I := 1 to length(Kalimat) do
       push (T, Kalimat[I]);

        {Mempop Tumpukan shg diperoleh kalimat terbalik}
       For I := 1 to length(Kalimat) do
        Write(POP(T));
        Writeln;

        Readln;
        end.

0 komentar: