Teknik Kompilasi-Code Generator

2 buah titik A dan B berada pada suatu grafik. Salah satu dari titik tersebut membentuk lingkaran dengan jari-jari r. Buatlah pseudocode dan code generator untuk menentukan apakah salah satu titik tersebut berada pada lingkaran, atau berada di luar lingkaran, atau berada di dalam lingkaran!

Pseudocode
int s, x, y
input ax, ay, bx , by, r
x=bx -ax
y=by-ay
s=akar (x*x)+(y*y)
if(s==r)
print tetap di titik
else if(s>r)
print luar titik
else
print dalam titik

Code Generator
01 Mov bx, R0
02 Sub ax, R0
03Mov R0, x

04 Mov by, R1
05 Sub ay, R1
06 Mov R1, y

07 Pow R0, R0
08 Pow R1, R1
09 Add R1, R0
10 Sqrt R0, R0
11 Mov R0, s

12 Mov s, R0
13 Eq r, R0
14 Jmpf R0, (19)
15 Print “tetap di titik”
16 Jmp , (22)

17 Gt r, R0
18 Jmpf R0, (21)
19 Print “luar titik”
20 Jmp , (22)
21 Print “dalam titik”
22 …

www.binus.ac.id

Leave a Reply