Program Pembalik Kalimat
Berikut codingan Program Pembalik Kalimat
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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;
n,m : char;
procedure awalan ( var t : tumpukan );
begin
t.atas := 0;
end;
procedure push ( var t : tumpukan; x : char );
begin
t.atas := t.atas + 1;
t.isi[t.atas] := x;
end;
function pop ( var t : tumpukan ) : char;
begin
pop := t.isi[t.atas];
t.atas := t.atas - 1;
end;
begin
clrscr;
awalan (t);
writeln (' Tumpukan untuk membalik kalimat ');
writeln (' -------------------------------- ');
writeln;
writeln ('Isikan sembarang kalimat : ');
readln (kalimat);
writeln;
writeln(' Kalimat asli : '); ;writeln (kalimat);
writeln('setelah dibalik : ');
for i := 1 to length(kalimat) do
push(t, kalimat[i]);
for i := 1 to length(kalimat) do
write (pop(t));
readln;
end.
**************************************************
ouput program tersebut tersaji sebagai berikut:
**************************************************
Tumpukan untuk membalik kalimat
-------------------------------------------:
Isikan sembarang kalimat :
saya mau pergi ke pasar
Kalimat asli :
saya mau pergi ke pasar
setelah dibalik :
rasap ek igrep uam ayas
-------------------------------------------
Contoh program tumpukan sebagai berikut:
program balik_kalimat;
uses
crt;
const
elemen = 255;
type
s255 = string[elemen];
tumpukan = record
isi : s255;
atas : 0..elemen
end;
var
t : tumpukan;
i,nn,th : integer;
kalimat : s255;
n,m,lagi : char;
procedure awalan ( var t : tumpukan );
begin
t.atas := 0;
end;
procedure push ( var t : tumpukan; x : char );
begin
t.atas := t.atas + 1;
t.isi[t.atas] := x;
end;
function pop ( var t : tumpukan ) : char;
begin
pop := t.isi[t.atas];
t.atas := t.atas - 1;
end;
begin
clrscr;
awalan (t);
writeln (' Tumpukan untuk membalik kalimat ');
writeln (' -------------------------------- ');
writeln;
writeln ('Isikan sembarang kalimat : ');
readln (kalimat);
writeln;
nn:=length(kalimat);
for i := 1 to nn do
push(t, kalimat[i]);
th:=0;
repeat
th:=th+1;
writeln;
write('akan tarik karakter ? (Y/T): ');readln(lagi);
if ('Y'= upcase(lagi)) then
begin
write('karakter yang ditarik adalah karakter paling akhir --> ');
writeln (pop(t));
readln;
end
until (('Y'<> upcase(lagi)) or (th=nn) );
if not (('Y'<> upcase(lagi)) or (th=nn)) then write(pop(t));
end.
Komentar
Posting Komentar