TUGAS 3
1. Buatlah program yang menampilkan pergerakan karakter masuk ke wadah dan keluar hingga terbaca terbalik
Jawaban :
1. Program
program masuk_keluar_terbalik;
uses crt ;
type
data = ^dat ;
dat = record
konten : char ;
next : data ;
end ;
var
stack : data ;
kalimat : string ;
i,k : byte ;
procedure push(n:char);
var baru : data ;
begin
new(baru);
baru^.konten:=n ;
for k:=1 to 2 do
begin
gotoxy(19+i,4+k);
write(' ');
gotoxy(19+i,5+k);
write(baru^.konten);
delay(10);
end;
for k:=i to 24 do
begin
gotoxy(18+k,7);
write(' ');
gotoxy(19+k,7);
write(baru^.konten);
delay(10);
end;
for k:=1 to 14-i do
begin
gotoxy(43,k+6);
write(' ');
gotoxy(43,k+7);
write(baru^.konten);delay(10);
end;
baru^.next:=stack;
stack:=baru ;
readln;
end;
procedure pop ;
var baru : data ;
begin
for k:=21-i downto 8 do
begin
gotoxy(43,k);
write(' ');
gotoxy(43,k-1);
write(stack^.konten);delay(10);
end;
for k:=43 downto 30-i do
begin
gotoxy(k,7);
write(' ');
gotoxy(k-1,7);
write(stack^.konten);delay(10);
end;
baru:=stack ;
stack:=stack^.next ;
readln;
dispose(baru);
end;
procedure menu ;
var n : byte ;
begin
gotoxy(39,10) ; write('\ /');
for n:=1 to 10 do
begin
gotoxy(40,n+10); write('|');
gotoxy(46,n+10); write('|');
end;
gotoxy(40,21) ; write('|_____|');
gotoxy(1,7) ; write('hasil di balik ->');
gotoxy(5,2); write('Program animasi masuk wadah dan keluar dengan hasil terbaca terbalik');
gotoxy(5,3); write('---------------------------------------------------------------------');
repeat
gotoxy(1,5) ; clreol ;
write('Masukkan Kalimat = ');
readln(kalimat);
until length(kalimat) <=10 ;
stack := nil ;
for i:=1 to length(kalimat) do
begin
gotoxy(30,5);write('[Tekan enter untuk memasukan !]');
push(kalimat[i]);
end;
gotoxy(30,5);write('[Tekan enter untuk mengeluarkan !]');
for i:=length(kalimat) downto 1 do
begin
pop;
end;
end;
begin
clrscr;
menu;
writeln;
write('Tekan enter untuk keluar dari progran !');
readln;
end.
0 komentar:
Posting Komentar
Silakan Tinggalken Pesan