Sabtu, 23 Mei 2015

pascal MENARAHANOI REKURSIF

program MENARA_HANOI;
uses crt;
var
  L,J : integer;
  A, B , C : char;

procedure MenaraHanoi(J:integer; A,B,C:char; Var L:integer);
begin
  if J = 1 then
  begin
    L := L + 1;
    write('Langkah : ',L,' ');
    writeln('Pindahkan piringan 1 dari menara ',A,' ke menara ',C);
  end
  else
  begin
  MenaraHanoi(J-1,A,B,C,L);
  L:= L + 1;
  write('Langkah : ',L,' ');
  writeln('Pindahlkan piringan ',J,' dari menara ',A,' ke menara ',C);
  MenaraHanoi(J-1,B,C,A,L)
  end;
end;

begin
clrscr;
write('Masukkan Jumlah Piringan = ');readln(J);
L := 0;
A := 'A';
B := 'B';
C := 'C';
MenaraHanoi(J,A,B,C,L);
readln;
end.

1 komentar: