Clarification of Answer by djbaker-ga on 12 Jun 2005 10:05 PDT Jawaban oleh klarifikasi dari djbaker-ga pada 12 Jun 2005 10:05 PDT Here is a very famous programming example called "The Towers of Hanoi". Berikut ini adalah contoh program yang sangat terkenal yang disebut "The Towers of Hanoi".
**Pascal** Pascal ** **
(* The Towers Of Hanoi *) (* The Towers of Hanoi *)
(* Pascal *) (* Pascal *)
(* Copyright (C) 1998 Amit Singh. All Rights Reserved. *) (* Copyright (C) 1998 Amit Singh. Semua hak dilindungi Undang-Undang. *)
(* http://hanoi.kernelthread.com *) (* Http://hanoi.kernelthread.com *)
(* *) (* *)
(* Tested under p2c and the GNU Pascal compiler *) (* Tested p2c bawah dan GNU Pascal compiler *)
PROGRAM Hanoi(input, output); PROGRAM Hanoi (input, output);
VAR N:integer; Var N: integer;
PROCEDURE dohanoi(N, Tfrom, Tto, Tusing : integer); PROSEDUR dohanoi (N, Tfrom, Tto, Tusing: integer);
BEGIN BEGIN
if N > 0 THEN jika N> 0 THEN
BEGIN BEGIN
dohanoi(N-1, Tfrom, Tusing, Tto); dohanoi (N-1, Tfrom, Tusing, Tto);
writeln('move ', Tfrom:1, ' --> ', Tto:1); writeln ( 'memindahkan', Tfrom: 1, '->', Tto: 1);
dohanoi(N-1, Tusing, Tto, Tfrom); dohanoi (N-1, Tusing, Tto, Tfrom);
END END
END; END;
BEGIN BEGIN
write('N = ? '); menulis ( 'N =');
readln(N); readln (N);
writeln; writeln;
dohanoi(N, 1, 3, 2) dohanoi (N, 1, 3, 2)
END. Akhir.
**PHP** PHP ** **
/* / *
* The Towers Of Hanoi * The Towers of Hanoi
* PHP * PHP
* Copyright (C) 2001 Amit Singh. * Copyright (C) 2001 Amit Singh. All Rights Reserved. Semua hak dilindungi Undang-Undang.
* http://hanoi.kernelthread.com * Http://hanoi.kernelthread.com
*/ * /
$HANOI_MAXDISKS = 4; $ HANOI_MAXDISKS = 4;
function PHP_printmove($from, $to) fungsi PHP_printmove ($ from, $ ke)
{ (
print "move $from ==> $to print "$ pindah dari ==> $ ke
\n"; \ n ";
} )
function PHP_movedisk($from, $to, $using, $N) fungsi PHP_movedisk ($ from, $ to, $ menggunakan, $ N)
{ (
if ($N <= 1) { if ($ N <= 1) (
PHP_printmove($from, $to); PHP_printmove ($ from, $ ke);
} else { ) Else (
PHP_movedisk($from, $using, $to, $N - 1); PHP_movedisk ($ from, $ gunakan, ke $, $ N - 1);
PHP_printmove($from, $to); PHP_printmove ($ from, $ ke);
PHP_movedisk($using, $to, $from, $N - 1); PHP_movedisk ($ gunakan, ke $, $ from, $ N - 1);
} )
} )
function PHP_hanoierror() fungsi PHP_hanoierror ()
{ (
GLOBAL $HANOI_MAXDISKS; GLOBAL $ HANOI_MAXDISKS;
GLOBAL $HTTP_HOST; GLOBAL $ HTTP_HOST;
GLOBAL $PHP_SELF; GLOBAL $ PHP_SELF;
print "You must specify the number of disks (maximum $HANOI_MAXDISKS) as an print "Anda harus menentukan jumlah disk (maksimum HANOI_MAXDISKS $) sebagai
appropriate integer argument, for example: sesuai argumen integer, misalnya:
http://$HTTP_HOST$PHP_SELF?N http:// $ HTTP_HOST $ PHP_SELF? N
where 1 <= N <= $HANOI_MAXDISKS"; dimana 1 <= N <= $ HANOI_MAXDISKS ";
} )
function PHP_hanoi($N) fungsi PHP_hanoi (N $)
{ (
GLOBAL $HANOI_MAXDISKS; GLOBAL $ HANOI_MAXDISKS;
if (!ereg("^[0-9]+", $N) || ($N > $HANOI_MAXDISKS)) { if (! ereg ( "^ [0-9] +", $ N) | | ($ N> $ HANOI_MAXDISKS)) (
PHP_hanoierror(); PHP_hanoierror ();
} else { ) Else (
PHP_movedisk(1, 3, 2, $N); PHP_movedisk (1, 3, 2, $ N);
} )
} )
?> ?>
if ($argc != 1) { if ($ argc! = 1) (
PHP_hanoierror(); PHP_hanoierror ();
} else { ) Else (
PHP_hanoi($argv[0]); PHP_hanoi ($ argv [0]);
} )
?> ?>
Tidak ada komentar:
Posting Komentar