Jumat, 13 Maret 2009

Contoh Lisp coding (x pangkat 9012)

Algoritma
-------------------------------------------------------------------------------------
JUDUL : X PANGKAT 9012

DEFINISI DAN SPESIFIKASI :
x10 : integer
{x10 untuk menentukan x pangkat 10}
x100 : integer
{x100 untuk menentukan x pangkat 100 yang di dapat dari perkalian 10 kali x10}
x1000 : integer
{x1000 untuk menentukan x pangkat 1000 yang di dapat dari perkalian 10 kali x100}
x9012 : integer
{x9012 untuk menentukan x pangkat 9012 yang di dapat dari perkalian 9 kali x1000 dengan x10 dan x x}

REALISASI :
x10 (x) : x*x*x*x*x*x*x*x*x*x
x100 (x) : x10*x10*x10*x10*x10*x10*x10*x10*x10*x10
x1000 (x) : x100*x100*x100*x100*x100*x100*x100*x100*x100*x100
x9012 (x) : x1000*x1000*x1000*x1000*x1000*x1000*x1000*x1000*x1000*x10*x*x

APLIKASI :
=> PANGKAT (2)
=> PANGKAT (3)
-------------------------------------------------------------------------------------

Coding
-------------------------------------------------------------------------------------

(defun pangkat (x)
(setf x10(* x x x x x x x x x x))
; x10 adalah x pangkat 10
(setf x100 (* x10 x10 x10 x10 x10 x10 x10 x10 x10 x10))
; x100 adalah x pangkat seratus atau samadengan x pangkat 10 di kalikan dengan x pangkat 10 sepuluh kali
(setf x1000 (* x100 x100 x100 x100 x100 x100 x100 x100 x100 x100))
; x1000 adalah x pangkat 1000
(setf x9012 (* x1000 x1000 x1000 x1000 x1000 x1000 x1000 x1000 x1000 x10 x x))
; x9012 adalah hasil kali dari sembilan kali x pangkat 1000 dengan x pangkat sepuluh dan x pangkat 2
(format t "~A pangkat 10 adalah ~A
~A pangkat 100 adalah ~A
~A pangkat 1000 adalah ~A
~A pangkat 9012 adalah ~A" x x10 x x100 x x1000 x x9012))
; format t untuk mencetak nilai dari masing2 variable
-------------------------------------------------------------------------------------


Ada banyak cara untuk membuat perpangkatan di Lisp,, salah satunya dengan cara fungsi sederhana seperti diatas.
cara lainnya menggunakan looping dan fungsi2 standar lisp "sqrt" dan lain2.

Tidak ada komentar:

Posting Komentar

how about this post??