Tải bản đầy đủ (.doc) (27 trang)

Tài liệu VIOLET SCRIP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (182.24 KB, 27 trang )

Lập trình mô phỏng với Violet script
BÀI 1: CÁC LỆNH XỬ LÝ ĐỐI TƯỢNG TRONG VIOLET SCRIPT
1. Lệnh appear
a. Cấu trúc: appear đối tượng, x, y
b. Chức năng: Xuất hiện đối tượng tại vị trí x, y
2. Lệnh disappear
a. Cấu trúc: disappear đối tượng
b. Chức năng: Làm cho đối tượng biến mất
c. Ví dụ: Đoạn mã mô phỏng xuất hiện và biến mất ba điểm A, B, C tại ba tọa độ tương ứng.
function main
appear Point, 11, 2, A
appear Point, 9, 4, B
appear Point, 14, 4, C
disappear PointA
disappear PointB
disappear PointC
end
Xem: Lệnh cơ bản - Point
3. Các đối tượng:
a. Pencil: Bút chì
Chức năng: Mô phỏng việc vẽ điểm.
Ví dụ: Đoạn mã mô phỏng việc vẽ ba điểm bằng bút chì
function main
appear Pencil,11,2
delay 10
appear Point, 11, 2, A
disappear Pencil
delay 10
appear Pencil,9,4
delay 10
appear Point, 9, 4, B


disappear Pencil
delay 10
appear Pencil,14,4
delay 10
appear Point, 14, 4, C
disappear Pencil
end
Xuất hiện bút chì tại điểm 11,2
Trễ (đợi) 10 giây
Vẽ điểm A
Ẩn bút chì
...
Xem: Lệnh cơ bản - Pencil
Lê Nho Duyệt - Phòng GD&ĐT Quế Sơn Trang 1
Lập trình mô phỏng với Violet script
b. Ruler: Thước thẳng, thước đo
Chức năng: Mô phỏng việc vẽ, đo một đoạn thẳng
Ví dụ: Đoạn mã mô phỏng việc đặt thước để vẽ, đo cạnh BC
function main
appear Point, 11, 2, A
appear Point, 9, 4, B
appear Point, 14, 4, C
delay 10
appear Ruler, 9, 4
delay 10
disappear Ruler
end
Xuất hiện thước ở điểm 9,4 (Điểm 0 của thước
ở điểm 9,4)
Xem: Lệnh cơ bản - Ruler

c. Tsquare: Ê ke
Chức năng: Mô phỏng việc vẽ đoạn thẳng, dượng đường vuông góc
Ví dụ: Mô phỏng việc dùng Ê ke thay cho thước thẳng để vẽ cạnh BC:
function main
appear Point, 11, 2, A
appear Point, 9, 4, B
appear Point, 14, 4, C
appear TSquare, 9,4,180
delay 40
disappear TSquare
end
Đặt êke ở điểm 9, 4 với góc quay 180
0
.
(để êke nằm dưới tam giác)
Xem: Lệnh cơ bản - TSquare
d. Protractor: Thước đo góc
Chức năng: Mô phỏng việc đo một góc
Ví dụ: Mô phỏng việc đặt thước để đo góc ABC
function main
appear Point, 11, 2, A
appear Point, 9, 4, B
appear Point, 14, 4, C
appear Protrator, 9,4
delay 40
disappear Protrator
end
Tâm của thước đo góc ở điểm (9,4)
Xem: Lệnh cơ bản - Protrator
Lê Nho Duyệt - Phòng GD&ĐT Quế Sơn Trang 2

Lập trình mô phỏng với Violet script
e. Burin: Dao cắt giấy
Chức năng: Mô phỏng việc cắt giấy trong các thao tác cắt, ghép hình
f. Compa:
Chức năng: Mô phỏng việc vẽ cung, đường tròn.
4. Lệnh move
a. Cấu trúc: Move đối tượng, x, y, góc quay
b. Chức năng: Di chuyển đối tượng đến vị trí mới và thực hiện quay đối tượng một góc bằng góc
quay:
Ví dụ1: Đoạn mã mô phỏng việc vẽ ba điểm A,B,C bằng bút chì. Sau khi vẽ xong điểm này thì di
chuyển đến điểm kia.
function main
appear Pencil
move Pencil, 11,2
appear Point, 11, 2, A
delay 10
move Pencil, 9, 4
appear Point, 9, 4, B
delay 10
move Pencil, 14,4
appear Point, 14, 4, C
delay 10
move Pencil, 0, 0
disappear Pencil
end
Di chuyển bút chì đến điểm 11,2
Vẽ điểm A
Di chuyển bút chì đến điểm 9,4
Vẽ điểm B
Xem: Lệnh cơ bản - Move Pencil

Ví dụ2: Đoạn mã mô phỏng việc đặt Ê ke để vẽ đường cao AH
function main
appear Point, 11, 2, A
appear Point, 9, 4, B
appear Point, 14, 4, C
appear TSquare
move TSquare, 11, 4, 180
end
Với ba điểm A,B,C thì chân đường vuông góc
là 11,4
Xem: Lệnh cơ bản - Move TSquare
Ê ke đã được quay một góc 180 độ để phù hợp với việc vẽ đường cao AH.
5. Kết luận:
a. Khi thực hiện lệnh appear Point, x, y, A ta có một đối tượng là PointA. Vì thế có thể cho biến
mất điểm A bằng lệnh disappear PointA
b. Lệnh appear Point, x, y, A có thể có thêm tham số:
Lê Nho Duyệt - Phòng GD&ĐT Quế Sơn Trang 3
Lập trình mô phỏng với Violet script
left: trái
right: phải
above: Trên
below: Dưới để xác định vị trí ghi tên của điểm. Ngoài ra có thể kết hợp kiểu như leftbelow để
xác định vị trí ghi tên điểm là bên trái, phía dưới.
c. Có thể có thêm tham số góc quay để xoay đối tượng ngay khi xuất hiện.
d. Tên đối tượng do tên file hình ảnh của đối tượng qui định. Vì thế bạn có thể dùng But_chi thay
cho Pencil với điều kiện bạn phải đổi tên file Pencil. Thành But_chi. (file này nằm ở thư mục ...).
Tên các đối tượng phân biệt cả ở chữ hoa và chữ thường (Sẽ có lỗi nếu dùng pencil thay cho
Pencil).
e. Hệ trục tọa độ sử dụng VS :
Với (0,0) là điểm góc trên bên trái màn hình.

Lê Nho Duyệt - Phòng GD&ĐT Quế Sơn Trang 4
0,0 16,0
0,12
Lập trình mô phỏng với Violet script
BÀI 2: CÁC LỆNH ĐỒ HỌA
1. Lệnh line
a. Cấu trúc: Line x1,y1,x2,y2
b. Chức năng: Vẽ đoạn thẳng có tọa độ hai điểm đầu mút là x1,y2 và x2,y2
c. Ví dụ: Vẽ tam giác có ba đỉnh là A,B,C
function main
appear Point, 11, 2, A, above
appear Point, 9, 4, B
appear Point, 14, 4, C
line 11, 2, 9,4
line 9,4, 14, 4
line 14, 4, 11, 2
end
Vẽ điểm A và đặt tên điểm phía trên.
Vẽ cạnh AB
Xem: Lệnh đồ họa - Line
2. Lệnh Poly_line
a. Cấu trúc: Poly_line x1, y1, x2, y2, x3, y3, x1, y1
b. Chức năng: Vẽ đường gấp khúc đi qua các điểm có tọa độ x1, y1, x2, y2, x3, y3, x1, y1.
3. Lệnh note_edge
a. Cấu trúc: note_edge gt1, "value", x1, y1, x2, y2
b. Chức năng: Đánh dấu và hiển thị độ dài một đoạn thẳng có tọa độ hai điểm dầu mút là x1,y1 và
x2, y2.
Với gt1 = 0: Một gạch
gt1 = 1: Hai gạch chéo
gt1 = 2: Hai gạch song song

gt1 = n: n gạch (song song).
gt1 = -1: Không đánh dấu, chỉ ghi giá trị độ dài đoạn thẳng.
Thay “value” bằng “”: Không ghi số đo đoạn thẳng.
c. Ví dụ: Vẽ tam giác có ba đỉnh là A,B,C có đánh dấu các cạnh.
function main
appear Point, 11, 2, A, above
appear Point, 9, 4, B
appear Point, 14, 4, C
poly_line 11, 2, 9,4,14,4,11,2
note_edge 0, "value",11, 2, 9,4
note_edge 1, "value",9,4,14,4
note_edge 2, "value",14,4,11,2
end
Xem: Lệnh đồ họa -Polyline
Lê Nho Duyệt - Phòng GD&ĐT Quế Sơn Trang 5
Lập trình mô phỏng với Violet script
4. Lệnh note_angle
a. Cấu trúc: note_angle gt2,"value", x2,y2,x1,y1,x3,y3
b. Chức năng: Đánh dấu và hiển thị độ lớn một góc có tọa độ hai điểm nằm trên cạnh thứ nhất là
x2,y2; đỉnh là x1,y1 và điểm trên cạnh thứ hai là x3, y3.
Với gt2 = 0: Gạch đơngt2 = 1: Gạch đơn + chéo gt2 = 2: Gạch đôi
gt2 = 3: Gạch đôi + chéo. Thay “value” bằng “” : Không ghi số đo góc.
gt2 = 4: Gạch ba. gt2 = -1: Không kí hiệu, chỉ ghi giá trị số đo góc.
c. Ví dụ: Vẽ tam giác có ba đỉnh là A,B,C có đánh dấu các góc.
function main
appear Point, 11, 2, A,above
appear Point, 9, 4, B
appear Point, 14, 4, C
poly_line 11, 2, 9,4,14,4,11,2
note_angle 0, "value",9,4,11, 2, 14,4

note_angle 1, "value",11,2,14,4,9,4
note_angle 2, "value",14,4,9,4,11,2
end
Xem: Lệnh đồ họa - note_angle
5. Cặp lệnh attach_pen + Set_pos
a. Cấu trúc: attach_pen đối tượng
set_pos đối tượng, x, y
b. Chức năng: Gắn bút cho đối tượng. Sau lệnh này, khi di chuyển đối tượng thì điểm gắn bút sẽ
để lại vị trí (dấu vết) đã đi qua.
c. Ví dụ: Mô phỏng việc vẽ cạnh BC của tam giác ABC
function main
appear Point, 11, 2, A
appear Point, 9, 4, B
appear Point, 14, 4, C
appear Ruler
move Ruler, 9, 4
appear Pencil
move Pencil, 9 , 4
set_paper Paper, 3, 0xFF00FF
attach_pen Pencil
set_pos Pencil, 9, 4
move Pencil, 14, 4
disappear Ruler
disappear Pencil
end
Vẽ ba điểm A, B, C
Xuất hiện và di chuyển thước đến B(9,4)
Xuất hiện và di chuyển bút chì đến B(9,4)
Định trang vẽ
Gắn bút và đinh tọa độ điểm gắn

Di chuyển bút chì đến điểm C (14,4)
(Khi bút chì di chuyển để lại vết vẽ là đoạn thẳng
BC).
Xem: Lệnh đồ họa - attach_pen
Lê Nho Duyệt - Phòng GD&ĐT Quế Sơn Trang 6
Lập trình mô phỏng với Violet script
6. Lệnh deattach_pen
a. Cấu trúc: deattach_pen đối tượng
b. Chức năng: Gỡ điểm gắn ra khỏi đối tượng. (Khi di chuyển sẽ không để lại vết)
7. Lệnh circle
a. Cấu trúc: circle x, y, r
b. Chức năng: Vẽ đuờng tròn tâm (x,y) bán kính r.
8. Lệnh erase
a. Cấu trúc: erase đối tượng
b. Chức năng: Xóa nội dung của đối tượng
9. Lệnh For ... next
a. Cấu trúc:
For biến from a to b step c
các lệnh
next
b. Chức năng: Thực hiện khoảng (b - a) :c vòng lặp các lệnh theo kiểu:
b1: gán a cho biến.
b2: Nếu b > a (b < a nếu c < 0) thì thực hiện các lệnh ngược lại thoát khỏi vòng lặp.
b3: Cộng biến với c và quay lại bước b2
Ví dụ: Đoạn mã mô phỏng việc vẽ đồ thị hàm số y = (x-2)(x-1)x(x+1)(x+2)
function main
x0= 8
y0 = 6
line 8,0, 8,12
line 0,6,16,6

set_paper Paper, 3, 0xFF00FF
appear Pencil
attach_pen Pencil
for x from -2.2 to 2.4 step 0.05
y = (x-2)*(x-1)*x*(x+1)*(x+2)
set_pos Pencil, x0 + x, y0-y
delay 3
next
end
Vị trí đặt gốc tọa độ
Vẽ hai trục tọa độ
Chọn màu cho đồ thị
Vòng lặp với bước nhảy 0.05 để xác định và tọa
độ và vẽ các điểm thuộc đồ thị hàm số trong
đoạn -2.2 đến 2.4
Xem: Lệnh đồ họa - For...next
Theo công thức biến đổi tọa độ từ hệ trục này sang hệ trục kia khi đổi gốc tọa độ
X = x - x
0
=> x = X + x
0
Y = y - y
0
=> y = Y + y
0
...
Lê Nho Duyệt - Phòng GD&ĐT Quế Sơn Trang 7
Lập trình mô phỏng với Violet script
10. Kết luận:
a. Lệnh set_paper Paper cho phép định màu nét vẽ và nhiều thứ khác. Sau mỗi lệnh Set_paper tên

trang ta đã tạo nên một trang mới. Các trang này “trong suốt” và chồng lên nhau. Khi thực hiện
lệnh erase tên trang ta thực hiện xóa tất cả các đối tượng trên trang này.
b. Chú ý rằng thứ tự ba điểm dùng để xác định góc cần đánh dấu là quan trọng. Nếu không chú ý
thứ tự, thay vì đánh dấu góc α sẽ đánh dấu góc 360 - α
c. Có thể attach_pen các đối tượng Pencil, Compa hoặc bất kỳ đối tượng nào nhưng cần chỉ rõ
điểm đặt bút bằng lệnh Set_pos. Một điểm cũng có thể trở thành đối tượng để attach_pen sau khi
đã appear nó (xem bài 1).
Lê Nho Duyệt - Phòng GD&ĐT Quế Sơn Trang 8
Lập trình mô phỏng với Violet script
BÀI 3: CÁC LỆNH XỬ LÝ TƯƠNG TÁC (VỚI NGƯỜI DÙNG)
1. Lệnh input_line
a. Cấu trúc: input_line &x1, &y1, &x2, &y2
b. Chức năng: Cho phép nhập đoạn thẳng bằng cách nhấp (ở điểm đầu) và kéo chuột (đến điểm
cuối).
Tọa độ điểm được lưu vào x1, y1, x2, y2. Đây là các tham biến nên phải dùng &x1, &y1, &x2,
&y2. Mỗi lần kéo, thả chuột thì x1, y1, x2, y2 thay dổi.
c. Ví dụ: Đoạn mã mô phỏng việc vẽ một đoạn thẳng bằng cách kéo chuột từ điểm A đến điểm B
function main
appear Text, 12, 1, "Kéo chuột để vẽ
một đoạn thẳng"
input_line &x1, &y1, &x2, &y2
appear Point, x1,y1, A
appear Point, x2,y2, B
line x1, y1, x2, y2
end
Xem: Các lệnh nhâp - input_line
2. Lệnh input_Point
a. Cẩu trúc: Input_Point &x1, &y1
b. Chức năng: Cho phép nhập một điểm bằng cách nhấp chuột
c. Ví dụ: Đoạn mã sau cho phép bạn kích chuột để vẽ một tam giác.

function main
appear Text, 12, 1, "Hãy kích chuột để chọn điểm thứ nhất", 4
Input_point &x1, &y1
appear Point, x1, y1, A
appear Text, 12, 1, "Hãy kích chuột để chọn điểm thứ hai", 4
Input_point &x2, &y2
appear Point, x2, y2, B
appear Text, 12, 1, "Hãy kích chuột để chọn điểm thứ ba", 4
Input_point &x3, &y3
appear Point, x3, y3, C
poly_line x1, y1, x2, y2,x3,y3,x1,y1
note_angle 0, "value", x2, y2,x1, y1,x3,y3
note_angle 1, "value", x1, y1,x3,y3, x2, y2
note_angle 2, "value",x3,y3, x2, y2, x1, y1
end
Lê Nho Duyệt - Phòng GD&ĐT Quế Sơn Trang 9
Lập trình mô phỏng với Violet script
3. Lệnh input_data
a. Cấu trúc: input_data tiêu đề chung, tiêu đề mục 1, tham số 1, . . . .tiêu đề mục n tham số n
b. Chức năng: Cho phép nhập n mục số liệu vào n biến
c. Ví dụ: Đoạn mã mô phỏng việc vẽ đoạn thẳng bằng cách nhập tọa độ hai điểm đầu mút.
function main
input_data "Nhập toạ độ hai điểm đầu
mút", "HĐ điểm A",xa, "TĐ điểm A",ya, "HĐ
điểm B",xb,"TĐ điểm B",yb
appear Point, xa,ya, A, above
appear Point, xb,yb, B
creat_line xa,ya,xb,yb
end
4. Lệnh set_drag

a. Cấu trúc: set_drag đối tượng, true/false
b. Chức năng: Thiết lập đối tượng cho phép kéo thả (có/ không).
c. Ví dụ:
Lê Nho Duyệt - Phòng GD&ĐT Quế Sơn Trang 10

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×