Selasa, Maret 08, 2022

Program Pascal Membuat Kotak Dengan Menggaris Panjang dan Lebar Secara Bersamaan Dengan 4 Variasi Cara

Kodenya adalah:

uses
crt;

var
a,b,c,d,e,f,g,m,n,o,td: integer;
h,i,j,k,l: string;

label
l1,l1a,l1b,l1c,l2,l2a,l2b,l2c,l3,l3a,l3b,l3c,l4,l4a,l4b,l4c,lz;

begin
td:=50; g:=0; o:=5;
l:='sahabat-informasi.blogspot.com';
write('masukkan nilai panjang horizontal! '); readln(a);
write('masukkan nilai panjang vertikal! '); readln(b); // nilai maksimal 27
gotoxy(70,1); write('dibuat oleh sahabat-informasi.blogspot.com'); delay(100);
gotoxy(70,2); write('program akan running dalam 5 detik');

for n:=1 to 5 do
begin
gotoxy(97,2); write(o); gotoxy (1,1); delay(1000); o:=o-1;
end;

for n:=70 to 110 do
begin
gotoxy(n,2); write(' ');
end;

h:='1'; i:='2'; j:='3'; k:='4';
m:=length(l);
if m=30 then
begin
l1:
gotoxy(1,4); write('1.'); if g=0 then delay(td);
gotoxy(4,4); write(h);

c:=5; d:=5; e:=5; f:=5;

l1a:
if c<(4+a) then
begin
gotoxy(c,4); delay(td); write(i);
end else if e<(b+3) then
begin
delay(td);
gotoxy(c-1,e); write(j);
end else goto l1b;

l1b:
if d<(4+b) then
begin
gotoxy(4,d); write(i);
end else if f<(a+3) then
begin
gotoxy(f,d-1); write(j);
end else goto l1c;

if c<(4+a) then c:=c+1 else if e<(b+3) then e:=e+1;
if d<(4+b) then d:=d+1 else if f<(a+3) then f:=f+1;
goto l1a;

l1c:
delay(td); gotoxy(a+3,b+3); write(k); delay(td);
g:=g+1;
if g=1 then
begin
h:=' '; i:=' '; j:=' '; k:=' '; goto l1;
end else
if g=2 then
begin
h:='*'; i:='*'; j:='*'; k:='*'; goto l1;
end else
if g=3 then
begin
h:=' '; i:=' '; j:=' '; k:=' '; goto l1;
end else
begin
h:='1'; i:='2'; j:='3'; k:='4'; g:=0; goto l2;
end;

l2:
gotoxy(1,4); write('2.'); if g=0 then delay(td);
gotoxy(a+3,4); write(h);
c:=a+2; d:=5; e:=5; f:=a+2;

l2a:
if c>3 then
begin
gotoxy(c,4); delay(td); write(i);
end else if e<(b+3) then
begin
delay(td);
gotoxy(4,e); write(j);
end else goto l2b;

l2b:
if d<(4+b) then
begin
gotoxy(a+3,d); write(i);
end else if f>4 then
begin
gotoxy(f,d-1); write(j);
end else goto l2c;

if c>3 then c:=c-1 else if e<(b+3) then e:=e+1;
if d<(4+b) then d:=d+1 else if f>4 then f:=f-1;
goto l2a;

l2c:
delay(td); gotoxy(4,b+3); write(k); delay(td);
g:=g+1;
if g=1 then
begin
h:=' '; i:=' '; j:=' '; k:=' '; goto l2;
end else
if g=2 then
begin
h:='*'; i:='*'; j:='*'; k:='*'; goto l2;
end else
if g=3 then
begin
h:=' '; i:=' '; j:=' '; k:=' '; goto l2;
end else
begin
h:='1'; i:='2'; j:='3'; k:='4'; g:=0; goto l3;
end;

l3:
gotoxy(1,4); write('3.'); if g=0 then delay(td);
gotoxy(a+3,b+3); write(h);

c:=a+2; d:=b+2; e:=b+2; f:=a+2;

l3a:
if c>3 then
begin
gotoxy(c,b+3); delay(td); write(i);
end else if e>4 then
begin
delay(td);
gotoxy(4,e); write(j);
end else goto l3b;

l3b:
if d>3 then
begin
gotoxy(a+3,d); write(i);
end else if f>4 then
begin
gotoxy(f,4); write(j);
end else goto l3c;

if c>3 then c:=c-1 else if e>4 then e:=e-1;
if d>3 then d:=d-1 else if f>3 then f:=f-1;
goto l3a;

l3c:
delay(td); gotoxy(4,4); write(k); delay(td);
g:=g+1;
if g=1 then
begin
h:=' '; i:=' '; j:=' '; k:=' '; goto l3;
end else
if g=2 then
begin
h:='*'; i:='*'; j:='*'; k:='*'; goto l3;
end else
if g=3 then
begin
h:=' '; i:=' '; j:=' '; k:=' '; goto l3;
end else
begin
h:='1'; i:='2'; j:='3'; k:='4'; g:=0;
goto l4;
end;

l4:
gotoxy(1,4); write('4.'); if g=0 then delay(td);
gotoxy(4,b+3); write(h);
c:=5; d:=b+2; e:=b+2; f:=5;

l4a:
if c<a+4 then
begin
gotoxy(c,b+3); delay(td); write(i);
end else if e>4 then
begin
delay(td);
gotoxy(a+3,e); write(j);
end else goto l4b;

l4b:
if d>3 then
begin
gotoxy(4,d); write(i);
end else if f<a+3 then
begin
gotoxy(f,4); write(j);
end else goto l4c;

if c<a+4 then c:=c+1 else if e>4 then e:=e-1;
if d>3 then d:=d-1 else if f<a+3 then f:=f+1;
goto l4a;

l4c:
delay(td); gotoxy(a+3,4); write(k); delay(td);
g:=g+1;
if g=1 then
begin
h:=' '; i:=' '; j:=' '; k:=' '; goto l4;
end else
if g=2 then
begin
h:='*'; i:='*'; j:='*'; k:='*'; goto l4;
end else
if g=3 then
begin
h:=' '; i:=' '; j:=' '; k:=' '; goto lz;
end;

lz:
readln
end;
end.

0 komentar: