
NGÔN NGỮ LẬP TRÌNH
NGÔN NGỮ LẬP TRÌNH
VIOLET SCRIPT
VIOLET SCRIPT

VIOLET Group Ngôn ng l p trình Violet Scriptữ ậ
HÀ N I, 5/2004Ộ
- 2 -

VIOLET Group Ngôn ng l p trình Violet Scriptữ ậ
M C L CỤ Ụ
1. T ng quanổ ............................................................................................................................. 4
1.1. Gi i thi u s l cớ ệ ơ ượ ......................................................................................................... 4
1.2. Các đ c đi m chính c a ngôn ngặ ể ủ ữ ............................................................................... 4
1.2.1. Ngôn ng mô ph ngữ ỏ .............................................................................................. 4
1.2.2. L a ch n ch đ ch y song song ho c tu n tự ọ ế ộ ạ ặ ầ ự ................................................... 4
1.2.3. Kh năng s d ng các th vi n mả ử ụ ư ệ ở ..................................................................... 5
1.2.4. So sánh ngôn ng VS v i Timelineữ ớ ....................................................................... 5
1.3. S d ng Violet Script trong Violetử ụ ................................................................................ 6
1.4. C u trúc ngôn ngấ ữ ......................................................................................................... 7
1.4.1. Ch ng trình vi t b ng VSươ ế ằ ................................................................................... 7
1.4.2. Các l nh đ n gi nệ ơ ả ................................................................................................. 8
1.4.3. Các bi u th cể ứ ......................................................................................................... 8
1.4.4. Các l nh có c u trúcệ ấ .............................................................................................. 8
1.4.5. Các nhãn ................................................................................................................. 8
2. Ngôn ng Violet Script trong t o bài gi ngữ ạ ả ......................................................................... 9
2.1. Kh năng c a ngôn ngả ủ ữ ................................................................................................ 9
2.2. Các ng d ngứ ụ ................................................................................................................. 9
2.3. Ví dụ ............................................................................................................................... 9
3. Các l nh trong VSệ ............................................................................................................... 12
3.1. Các l nh x lý đ i t ngệ ử ố ượ ............................................................................................ 12
3.2. Các l nh x lý đa giácệ ử ................................................................................................. 14
3.3. Các l nh đ h aệ ồ ọ ........................................................................................................... 15
3.4. Các l nh ph c v tính toán trong hình h c ph ngệ ụ ụ ọ ẳ ..................................................... 16
3.5. Các l nh ch đ iệ ờ ợ .......................................................................................................... 16
3.6. Các l nh ph c v x lý t ng tácệ ụ ụ ử ươ .............................................................................. 17
3.7. Các l nh đi u khi n h th ngệ ề ể ệ ố .................................................................................... 17
4. Các bài toán m uẫ ................................................................................................................. 18
4.1. Gi i thi uớ ệ ..................................................................................................................... 18
4.2. V đ th hàm sẽ ồ ị ố ......................................................................................................... 18
4.3. Bài toán qu tíchỹ .......................................................................................................... 19
4.4. Tam giác Napoleon ....................................................................................................... 20
4.5. D ng tam giác bi t 3 c nhự ế ạ .......................................................................................... 22
4.6. Mô ph ng con l c lò xoỏ ắ ............................................................................................... 23
- 3 -

VIOLET Group Ngôn ng l p trình Violet Scriptữ ậ
1. T ng quanổ
1.1. Gi i thi u s l cớ ệ ơ ượ
Violet Script (VS) là ngôn ng l p trình chuyên d ng v đ h a, đ c bi t trongữ ậ ụ ề ồ ọ ặ ệ
vi c t o ra các ho t đ ng mô ph ng. Ngôn ng này có th đ c s d ng r t hi u qu đệ ạ ạ ộ ỏ ữ ể ượ ử ụ ấ ệ ả ể
xây d ng các ph n m m multimedia h tr d y h c. V i c u trúc đ n gi n nh ng đ y đự ầ ề ỗ ợ ạ ọ ớ ấ ơ ả ư ầ ủ
và ch t ch , VS s giúp ng i dùng có th d dàng mô t các ý t ng c a mình, ho c cóặ ẽ ẽ ườ ể ễ ả ưở ủ ặ
th s a đ i m t s n ph m có s n cho phù h p k ch b n c a mình.ể ử ổ ộ ả ẩ ẵ ợ ị ả ủ
Khác v i m t ph n m m công c , vi c s d ng ngôn ng l p trình có tính m caoớ ộ ầ ề ụ ệ ử ụ ữ ậ ở
h n, nó cho phép ng i dùng không ph i ch là s d ng các m u mô ph ng có s n mà cònơ ườ ả ỉ ử ụ ẫ ỏ ẵ
có th t t o ra các m u m i, ho c có th s a đ i đ c các m u có s n m t cách tùy ýể ự ạ ẫ ớ ặ ể ử ổ ượ ẫ ẵ ộ
(s a các tham s , s a n i dung và trình t th hi n, v.v...).ử ố ử ộ ự ể ệ
VS đ c xây d ng d a trên ngôn ng Action Script 2.0 c a Macromedia Flash,ượ ự ự ữ ủ
chính vì v y, VS r t m nh trong vi c th c hi n các mô ph ng có chuy n đ ng và t ngậ ấ ạ ệ ự ệ ỏ ể ộ ươ
tác, có x lý âm thanh và hình nh. T t nhiên, vi c l p trình b ng VS thì đ n gi n h nử ả ấ ệ ậ ằ ơ ả ơ
nhi u so v i l p trình b ng Action Script.ề ớ ậ ằ
Các file mã ngu n c a VS đ u có th s d ng đ c mã văn b n Unicode ho cồ ủ ề ể ử ụ ượ ả ặ
Unicode UTF-8. Chính vì v y, không ch có các d li u, l i gi i thích mà k c tên cácậ ỉ ữ ệ ờ ả ể ả
đ i t ng (tên bi n, tên nhãn, tên l nh, tên hàm…) đ u có th dùng đ c b ng ti ng Vi tố ượ ế ệ ề ể ượ ằ ế ệ
có d u, giúp ng i dùng Vi t Nam d ti p c n h n nhi u so v i m t ngôn ng b ngấ ườ ệ ễ ế ậ ơ ề ớ ộ ữ ằ
ti ng Anh.ế
1.2. Các đ c đi m chính c a ngôn ngặ ể ủ ữ
1.2.1. Ngôn ng mô ph ngữ ỏ
Ngôn ng l p trình VS h tr r t nhi u v các k thu t mô ph ng. Các thao tác vữ ậ ỗ ợ ấ ề ề ỹ ậ ỏ ề
đ h a và mô ph ng h u h t đã đ c l p trình s n, l i thêm kh năng m n p th vi nồ ọ ỏ ầ ế ượ ậ ẵ ạ ả ở ạ ư ệ
đ ng, kh năng s d ng các d li u âm thanh, hình nh m t cách d dàng, VS s giúpộ ả ử ụ ữ ệ ả ộ ễ ẽ
ng i cho ng i dùng có th vi t đ c nh ng ph n m m đ h a cao c p mà không c nườ ườ ể ế ượ ữ ầ ề ồ ọ ấ ầ
nh ng ki n th c chuyên sâu v đ h a.ữ ế ứ ề ồ ọ
Có th coi vi c l p trình mô ph ng b ng ngôn ng VS ch đ n gi n là vi c mô tể ệ ậ ỏ ằ ữ ỉ ơ ả ệ ả
l i k ch b n c a quá trình mô ph ng. Sau đó, trình thông d ch c a VS s th c hi n cácạ ị ả ủ ỏ ị ủ ẽ ự ệ
công vi c đ h a và mô ph ng theo nh k ch b n này. Do v y, ng i dùng hoàn toàn cóệ ồ ọ ỏ ư ị ả ậ ườ
th t o đ c m t quá trình mô ph ng ph c t p ch b ng m t đo n ch ng trình VS r tể ạ ượ ộ ỏ ứ ạ ỉ ằ ộ ạ ươ ấ
ng n g n (so v i các ngôn ng l p trình khác).ắ ọ ớ ữ ậ
1.2.2. L a ch n ch đ ch y song song ho c tu n tự ọ ế ộ ạ ặ ầ ự
Các ngôn ng thông d ch th ng ph i ch y d i d ng tu n t (ch y h t l nh nàyữ ị ườ ả ạ ướ ạ ầ ự ạ ế ệ
r i m i đ n l nh khác). Tuy v y, trong mô ph ng, đôi khi ta c n t o nhi u thao tác môồ ớ ế ệ ậ ỏ ầ ạ ề
ph ng đ ng th i (ví d nh hai hay nhi u v t cùng chuy n đ ng m t lúc). Vì v y, VS cóỏ ồ ờ ụ ư ề ậ ể ộ ộ ậ
th cho phép ng i l p trình thi t l p đ c ch đ x lý l nh là song song hay tu n t .ể ườ ậ ế ậ ượ ế ộ ử ệ ầ ự
Đây cũng là m t đ c đi m đ c đáo và ti n d ng c a ngôn ng VS so v i các ngônộ ặ ể ộ ệ ụ ủ ữ ớ
ng l p trình khác.ữ ậ
- 4 -

VIOLET Group Ngôn ng l p trình Violet Scriptữ ậ
1.2.3. Kh năng s d ng các th vi n mả ử ụ ư ệ ở
Tuy VS là ngôn ng chuyên d ng trong lĩnh v c đ h a và mô ph ng, song đ h aữ ụ ự ồ ọ ỏ ồ ọ
là m t lĩnh v c r t r ng nên VS ch có tính t ng quát. Nó không th bao hàm đ c h t t tộ ự ấ ộ ỉ ổ ể ượ ế ấ
c các thao tác mô ph ng, ch ng trình thông d ch VS cũng không th ch a t t c các dả ỏ ươ ị ể ứ ấ ả ữ
li u, th vi n hình nh thông d ng cho m i s n ph m. Tuy nhiên, đ i v i ng i l p trìnhệ ư ệ ả ụ ọ ả ẩ ố ớ ườ ậ
không chuyên, v n đ đ t ra là ph i làm sao cho m i th h u nh đã có s n h t.ấ ề ặ ả ọ ứ ầ ư ẵ ế
Vì v y, ngôn ng VS có m t h th ng th vi n đ y đ kèm theo và c p nh tậ ữ ộ ệ ố ư ệ ầ ủ ậ ậ
th ng xuyên. Các th vi n này ch a nhi u hình nh, mô hình, bi u t ng thông d ng vàườ ư ệ ứ ề ả ể ượ ụ
có th l y ra s d ng m t cách d dàng, các thao tác chuy n đ ng đ c l p trình s n, cácể ấ ử ụ ộ ễ ể ộ ượ ậ ẵ
m u ch ng trình chu n cũng có th s d ng v i kh năng tùy bi n cao.ẫ ươ ẩ ể ử ụ ớ ả ế
Ví d : trong vi c t o bài gi ng, n u phân lo i theo các môn h c thì ngôn ng VSụ ệ ạ ả ế ạ ọ ữ
(c th là trình thông d ch c a ngôn ng VS) s ph c v cho t t c các môn. Tuy nhiên,ụ ể ị ủ ữ ẽ ụ ụ ấ ả
th vi n s d ng cho t ng môn s khác nhau, nghĩa là ta s có th vi n cho môn Toán,ư ệ ử ụ ừ ẽ ẽ ư ệ
th vi n cho môn V t Lý, v.v… Nh v y, kh năng c i ti n ch ng trình và c p nh t tư ệ ậ ư ậ ả ả ế ươ ậ ậ ư
li u c a VS s tr nên d dàng.ệ ủ ẽ ở ễ
Th vi n đ ng là m t trong nh ng u đi m h n h n c a VS so v i h u h t cácư ệ ộ ộ ữ ư ể ơ ẳ ủ ớ ầ ế
ph n m m công c t o bài gi ng hi n nay.ầ ề ụ ạ ả ệ
1.2.4. So sánh ngôn ng VS v i Timelineữ ớ
Nh ng ng i đã t ng dùng ho c xem các ch ng trình nh Macromedia Flash,ữ ườ ừ ặ ươ ư
Macromedia Diector, Adobe Premier,… h n không th không bi t đ n khái ni m Timelineẳ ể ế ế ệ
(tr c th i gian). Đây là m t công c thi t k r t quan tr ng trong vi c t o ra các chuy nụ ờ ộ ụ ế ế ấ ọ ệ ạ ể
đ ng, các hi u ng c a hình nh và âm thanh, làm phim ho t hình, xây d ng c u trúc c aộ ệ ứ ủ ả ạ ự ấ ủ
m t s n ph m,… Timeline là m t công c r t h u ích, đ c bi t đ i v i ng i không bi tộ ả ẩ ộ ụ ấ ữ ặ ệ ố ớ ườ ế
l p trình cũng có th dùng nó đ xây d ng ph n m m multimedia ng d ng đ c.ậ ể ể ự ầ ề ứ ụ ượ
Tuy nhiên đi m nh c c b n c a Timeline là không có tính m . Ví d : dùngể ượ ơ ả ủ ở ụ
Timeline có th d dàng t o m t chuy n đ ng trong vòng 3 giây, nh ng không th dùngể ễ ạ ộ ể ộ ư ể
Timeline đ t o chuy n đ ng trong vòng n giây, v i n là m t giá tr đ c nh p t bànể ạ ể ộ ớ ộ ị ượ ậ ừ
phím ho c t file bên ngoài.ặ ừ
Trong khi đó, vi c xây d ng các ph n m m tr gi ng l i đòi h i công c ph i cóệ ự ầ ề ợ ả ạ ỏ ụ ả
tính m . Vì bài gi ng c a m i giáo viên là không gi ng nhau, nên ph n m m tr gi ngở ả ủ ỗ ố ầ ề ợ ả
ph i cho phép giáo viên t s a theo ý mình đ c. Trong tr ng h p này, ng i s n xu tả ự ử ượ ườ ợ ườ ả ấ
ph n m m không còn cách nào khác là ph i l a ch n m t ngôn ng l p trình.ầ ề ả ự ọ ộ ữ ậ
M t khác, đ i v i nh ng ng i bi t l p trình r i thì dùng ngôn ng cũng d ch uặ ố ớ ữ ườ ế ậ ồ ữ ễ ị
h n so v i dùng Timeline. Ví d : có th s a đ i s li u m t cách d dàng và chính xác, cóơ ớ ụ ể ử ổ ố ệ ộ ễ
th comment (vi t l i gi i thích) cho các đo n ch ng trình, có th phân chia ch ngể ế ờ ả ạ ươ ể ươ
trình l n thành các module nh … Vi c thao tác v i các dòng code cũng d dàng h n so v iớ ỏ ệ ớ ễ ơ ớ
các đ i t ng đ h a và Timeline. Code có th dùng b t c ch ng trình so n th o vănố ượ ồ ọ ể ấ ứ ươ ạ ả
nào đ t o l p và s a đ i ch không c n ph i m t h th ng đ s nh khi dùngể ạ ậ ử ổ ứ ầ ả ộ ệ ố ồ ộ ư
Timeline.
Tuy v y, dùng Timeline cũng có m t u đi m h n so v i ngôn ng là tính n đ nh,ậ ộ ư ể ơ ớ ữ ổ ị
ít b l i. Còn vi c l p trình n u không c n th n thì s có th sinh ra r t nhi u l i. Do đó,ị ỗ ệ ậ ế ẩ ậ ẽ ể ấ ề ỗ
trong quá trình phát tri n thì ngôn ng thì cũng ph i d n d n kh c ph c y u đi m này.ể ữ ả ầ ầ ắ ụ ế ể
- 5 -

