Tải bản đầy đủ (.docx) (24 trang)

Su dung lap trinh mo phong trong mon Toan THCS

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 (728.27 KB, 24 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>KINH NGHIỆM SỬ DỤNG VIOLET SCRIT TRONG BÀI GIẢNG VIOLET</b>


<b>TRONG BÀI GIẢNG MƠN TỐN THCS</b>



I) <b>GIỚI THIỆU SƠ LƯỢC VỀ VIOLET SCRIPT </b>
<b>1) Giới thiệu sơ lược về lập trình mơ phỏng Violet Script</b>


<b>a) Cấu trúc chương trình : C</b>hương trình VS bao gồm các hàm, trong đó hàm main sẽ được gọi ngay khi bắt đầu chạy chương trình.


function main


appear Text, 8, 4, "Hello world"
end


Một chương trình con (một hàm, chức năng) sẽ được khai báo như sau:


function <tên hàm> <các tham số>
<lệnh 1>


<lệnh 2>
...
end


Trong đó tên chương trình con khơng có dấu cách (có thể dùng dấu gạch chân "_" thay cho dấu cách). Các tham số thì phải khai báo cách nhau bởi
dấu phẩy. Có thể xem thêm các ví dụ minh họa trong các phần sau.


Khi gọi chương trình con, nếu nó thay đổi giá trị các tham số thì khi gọi ta nên thêm dấu & vào phía trước tham số (giống cú pháp của ngơn ngữ
C). Ví dụ:


input_line &ax, &ay, &bx, &by


get_point &x, &y, x1, y1, angle, 2


<b>b) Các lệnh đơn giản</b>


Ngôn ngữ VS cung cấp các loại lệnh sau:


 Các lệnh gán, ví dụ a = 2; a = 10*5 + 1; b = a^2 + a + 1


 Các lệnh cơ bản: ví dụ lệnh appear như trong chương trình trên
 Các lệnh gọi chương trình con: có cú pháp giống như lệnh cơ bản


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

Các biểu thức toán học có thể sử dụng trong vế phải của các lệnh gán, hoặc làm tham số của các lệnh khác. Một biểu thức bao gồm các thành
phần:


 Các toán hạng: giá trị số, biến số
 Các toán tử: + , - , * , / , ^


 Các hàm số: sin, cos, tg, cotg, arcsin, arccos, arctg, arccotg, abs, sqrt, ln
 Các dấu ngoặc đơn"(" và ")"


Ví dụ tính góc B của tam giác ABC nếu biết độ dài 3 cạnh AB, AC và BC, áp dụng định lý hàm số cos.


AB = 2
AC = 3
BC = 4


angleB = arccos((AB^2 + BC^2 - AC^2)/(2*AB*BC))
<b>d) Các lệnh có cấu trúc</b>


Lệnh điều kiện


if <điều kiện> then


<các lệnh>
end_if


Lệnh lặp


for <tên biến> from <cận dưới> to <cận trên> step <bước nhảy>
<các lệnh>


next
<b>e) Các nhãn</b>


Có thể coi nhãn là các lệnh đặc biệt, được ký hiệu bởi dấu ":" và tên nhãn. Nhãn dùng vừa để đánh dấu, vừa để mô tả các đoạn lệnh. Nhãn thường
được dùng như một định danh để có thể truy cập (goto) đến đoạn lệnh từ bất kỳ vị trí nào trong chương trình. Ví dụ:


function main


goto ERASE
:START


appear Text, 8, 4, "Hello world"
wait_click


:ERASE


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

wait_click


goto START
end


<b>2) CÁC LỆNH CƠ BẢN TRONG NGÔN NGỮ LẬP TRÌNH VIOLET SCRIPT</b>


<b>2.1Các đối tượng và lệnh trong VS</b>


<b>a) Các đối tượng và lệnh xử lý đối tượng</b>


Trong thư viện của trình thơng dịch VS mơn Hình học có các loại đối tượng hình ảnh như sau:


<b>Tên đối</b>
<b>tượng</b>


<b>Ứng dụng</b> <b>Hình ảnh</b> <b>Tên đối tượng</b> <b>Ứng dụng</b> <b>Hình ảnh</b>


Point
(điểm)


Ký hiệu điểm trên hình vẽ Protractor


(thước đo góc)


Dùng để xác định góc
trong việc vẽ góc


Ruler
(thước kẻ)


Sử dụng làm vật kê để vẽ
các đoạn thẳng


TSquare
(ê-ke)



Dùng để vẽ đoạn thẳng
vng góc với một
đoạn thẳng có sẵn


Compa
(compa)


Dùng để vẽ các hình trịn
hoặc cung trịn


Measurer
(thước đo)


Dùng để đo cạnh hoặc
góc


Có hình dạng là thước
kẻ hoặc thước đo góc
tùy ý người sử dụng


Pencil
(bút chì)


Dùng để vẽ đoạn thẳng
hoặc các đường đồ thị


Burin
(dao cắt)


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

Để sử dụng các loại đối tượng của VS cũng như các đối tượng được nạp từ bên ngoài, ngôn ngữ VS cung cấp các lệnh sau:



<b>Tên lệnh</b> <b>Tham số</b> <b>Tác dụng</b>


Ví dụ dưới đây sẽ mơ phỏng việc vẽ một điểm bằng bút chì
appear


xuất_hiện


Tên đối tượng


Tọa độ của đối tượng


Tạo lập và cho xuất hiện
một đối tượng tại vị trí X,
Y với các tham số cụ thể
tùy theo loại đối tượng.


function main


appear Pencil // Xuất hiện bút chì ở (0,0)
move Pencil, 5, 5 // Đưa bút chì ở vị trí (5,5)
appear Point, 5, 5, A // Xuất hiện điểm A ở (5,5)
delay 12 // Tạm dừng 1 giây


disappear Pencil // Làm biến mất bút chì
end


disappear
biến_mất



Tên một (hoặc nhiều)
đối tượng


Làm cho các đối tượng
biến mất (mờ dần rồi mất
hẳn)


move


dịch_chuyển


Tên đối tượng
Tọa độ mới (x, y)
Góc quay đối tượng


Vừa dịch chuyển vừa quay
đối tượng tới vị trí mới và
góc quay mới. Nếu khơng
nhập góc quay thì góc
quay mặc định là 0.
function main


b) Các lệnh xử lý đa giác


<b>Tên lệnh</b> <b>Tham số</b> <b>Tác dụng</b> <b>Ví dụ : </b>Cắt ghép các góc của tam giác để chứng minh định lí về tổng ba góc của tam
giác


polygon
đa_giác



Tên đa giác
Vị trí đa giác


Tọa độ các điểm của
đa giác


Tạo một đa giác


Khi chạy, người dùng sẽ xác định các đường cắt qua góc thứ nhất và đường
cắt qua góc thứ hai, sau mỗi lần cắt thì các mẩu cắt sẽ được ghép vào đúng vị trí cần
thiết.


function main


polygon Tamgiac, 8, 6, 0x7F7FFF, -1, -3, 3, 1, -3, 1
input_line &px1, &py1, &px2, &py2


cut_polygon px1, py1, px2, py2


clip
cắt


Tọa độ của 2 điểm bất
kỳ nằm trên đường
thẳng cắt


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

move Tamgiac2, 4, 4, -180
input_line &px1, &py1, &px2, &py2
cut_polygon px1, py1, px2, py2
move Tamgiac12, 10, 4, 180


end


unify
hợp


Tên đa giác


Tên các đa giác sẽ
được hợp vào đa giác
đầu tiên


Hợp nhiều đa giác thành
một đối tượng


flip
lật


Tên đa giác Lật một đa giác qua trục
tung


c) Các lệnh đồ họa


<b>Tên lệnh</b> <b>Tham số</b> <b>Tác dụng</b> <b>Ví dụ : Vẽ tam giác có đầy đủ kí hiệu về cạnh và góc</b>


erase Tên đối tượng cần xóa Xóa nội dung của đối


tượng Ví dụ vẽ tam giác qua 3 điểm (x1, y1), (x2, y2), (x3, y3) với đầy đủ ký hiệu cạnh<sub>góc</sub>


function ShowTriangle x1, y1, x2, y2, x3, y3
poly_line x1, y1, x2, y2, x3, y3, x1, y1


set_paper Paper, 2, 0x003FBF


note_edge 2, "value", x2, y2, x1, y1
note_edge 1, "value", x3, y3, x2, y2
note_edge 0, "value", x1, y1, x3, y3


note_angle 0, "value", x2, y2, x1, y1, x3, y3
note_angle 2, "value", x3, y3, x2, y2, x1, y1
note_angle 1, "value", x1, y1, x3, y3, x2, y2
end


function main


ShowTriangle 2, 7, 7, 7, 3.5, 4
end


circle Tọa độ của tâm
Bán kính đường trịn


Vẽ đường trịn biết tâm và
bán kính.


line Tọa độ 2 điểm đầu
mút


Vẽ đoạn thẳng qua 2 điểm


note_angle
ký_hiệu_góc



Kiểu đánh dấu
Giá trị ký hiệu


Ba điểm hoặc 3 tọa độ
điểm


Đánh dấu góc và ký hiệu
giá trị của góc


note_edge
ký_hiệu_cạnh


Kiểu đánh dấu
Giá trị ký hiệu
Hai điểm hoặc 2 tọa
độ điểm


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

attach_pen Đối tượng


Tọa độ điểm được gắn
bút


Gắn vào đối tượng một
điểm, mà khi thay đổi vị trí
của đối tượng thì điểm này
sẽ lưu lại vết


detach_pen Đối tượng Gỡ bỏ điểm đã gắn ra khỏi
đối tượng



<b>d) Các lệnh phục vụ tính tốn trong hình học phẳng e) Lệnh tương tác các đối tượng</b>


<b>Tên lệnh</b> <b>Tham số</b> <b>Tác dụng</b> <b>Tên lệnh</b> <b>Tham số</b> <b>Tác dụng</b>


<i><b>get_point</b></i>


lấy_điểm


Tọa độ của kết quả
Tọa độ của điểm gốc
Góc 


Khoảng cách R


Chuyển từ tọa độ cực sang tọa
độ Đề-các (tính tọa độ của
điểm biết R và  trong hệ tọa


độ cực)


<i><b>set_drag</b></i>


kéo_thả


Đối tượng cần thao
tác


Thao tác (true) hay
không (false)



Thiết lập một đối tượng là có
thể kéo thả được hay khơng


<i><b>get_angle</b></i>


lấy_góc


Góc  (kết quả)


Tọa độ của điểm
Tọa độ của điểm gốc
Kiểu vẽ đoạn thẳng


Lấy góc  (trong hệ tọa độ


cực) từ tọa độ của một điểm so
với điểm gốc


<i><b>input_line</b></i>


nhập_đoạn


Tọa độ 2 điểm đầu
mút đoạn thẳng


Nhập một đoạn thẳng (2 điểm)
bằng cách nhấn vào kéo chuột


<i><b>get_perpendicula</b></i>
<i><b>r</b></i>



Tọa độ điểm kết quả
Tọa độ điểm


Tọa độ của hai điểm
nằm trên đường thẳng


Tính vị trí của chân đường
vng góc hạ từ một điểm
xuống một đường thẳng


<i><b>input_point</b></i> Tọa độ điểm Nhập một điểm bằng cách
nhấn chuột


<i><b>get_intersection1</b></i> Tọa độ điểm kết quả
Tọa độ 2 điểm trên
đường thẳng thứ nhất
Tọa độ 2 điểm trên
đường thẳng thứ hai


Tính giao điểm giữa hai đường
thẳng


<i><b>input_data</b></i> Tiêu đề hộp nhập
Tiêu đề và tham số
thứ 1


Tiêu đề và tham số
thứ 2...



</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<i><b>get_intersection2</b></i> Tọa độ điểm kết quả
thứ 1


Tọa độ điểm kết quả
thứ 2


Tọa độ 2 điểm trên
đường thẳng
Tọa độ tâm đường
trịn


Bán kính đường trịn


Tính hai giao điểm của một
đường thẳng và một đường
tròn


<i><b>get_intersection</b></i>
<i><b>3</b></i>


(Lấy giao điểm 2
đường tròn)


&ax,&ay
&bx,&by
4,4
8,4
3
2



Tọa độ điểm kết quả thứ 1
Tọa độ điểm kết quả thứ 2
Tọa độ tâm của đường tròn 1
Tọa độ tâm của đường trịn 2
Bán kính đường trịn 1
Bán kính đường tròn 2


<b>f) </b>Các lệnh chờ đợi


<b>Tên lệnh</b> <b>Tham số</b> <b>Tác dụng</b>


<i><b>delay</b></i>


trễ


Thời gian trễ Dừng (trễ) một khoảng thời gian


<i><b>wait_click</b></i>


đợi_nhấn


Tên các nút đồ họa đang
chờ được nhấn


Đợi cho đến khi người dùng click vào nút đồ họa trên màn hình. Nếu lệnh khơng có tham số nghĩa là
chờ đến khi nhấn nút Next và nút Back.


Các nút đồ họa có thể được nạp từ file ngồi bằng lệnh load_movie


<i><b>g) Các lệnh trong thư viện Hình học (MathTools.vs)</b></i>



 <b>create_line x1, y1, x2, y2</b>: Mô phỏng vẽ một đoạn thẳng bằng thước kẻ và bút chì từ điểm (x1, y1) đến điểm (x2, y2)


 <b>create_corner x1, y1, angle, len</b>: Mô phỏng vẽ một góc bằng thước đo độ, thước kẻ, bút chì. Đầu tiên đưa thước đo độ đến vị trí của đường nằm


ngang, tâm thước là (x1, y1), lấy một điểm ở góc angle, rồi kẻ từ tâm đi qua điểm đó một đoạn có độ dài là len.


 <b>rotate_compa Compa, radius, angle</b>: Quay đối tượng Compa một góc angle từ vị trí hiện tại, cịn radius là độ mở của Compa (phải giống như ở


lệnh call Compa.Open,… trước đó)


 <b>create_arc x1, y1, radius, start, end</b>: Mô phỏng vẽ một cung trịn tâm (x1, y1), bán kính radius (được xác định bằng compa và thước kẻ), từ góc


start đến góc end.


 <b>cut_polygon x1, y1, x2, y2</b>: Mô phỏng cắt bằng dao cắt đối với tất cả các hình đa giác được tạo bằng lệnh polygon
<b>2.2) Cách đưa phần lập trình mơ phỏng vào trong bài giảng Violet</b>


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

Tiếp đó ta chép đoạn mã lệnh của chương trình cần thực hiện và khung này
( Thực hiện lệnh <i><b>Ctrl+C , Ctrl+V</b></i>) . Ví dụ đoạn mã lệnh về vẽ đường trung
trực của đoạn thẳng AB .


function main


appear Text, 8.25, 0.5, "Hãy vẽ một đoạn thẳng", 2
input_line &ax, &ay, &bx, &by


disappear Text


appear Point, ax, ay, "A", below


appear Point, bx, by, "B", below
create_line ax, ay, bx, by


radius = sqrt((ax-bx)^2 + (ay-by)^2) / 3 * 2
get_angle &angle, ax, ay, bx, by


set_paper Draft
appear Compa


move Compa, ax, ay, angle-90
call Compa.OpenCompa, radius
rotate_compa Compa, radius, angle+90
move Compa, bx, by, angle+90
rotate_compa Compa, radius, angle+270
disappear Compa


mx = (ax + bx) / 2
my = (ay + by) / 2
angle = angle + 90


get_point &cx, &cy, mx, my, angle, 4
set_paper Paper


create_line cx, cy, 2 * mx - cx, 2 * my - cy
appear Point, mx, my, "M", leftbelow
note_angle 0, "", bx, by, mx, my, cx, cy
note_edge 0, "", ax, ay, mx, my


note_edge 0, "", mx, my, bx, by
end



</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

Chọn nút có dấu 3 chấm ở mục “<i>Các file thư viện nguồn”</i>


Cách khai báo đường dẫn chi tiết của tệp này l à:


C:\Program Files\Platin ViOLET\Lecture\vpScript\Common\Mathtool.vs


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

Chọn nút 3 chấm ở mục <i>“Các đối tượng”</i>


Và lệnh khai báo đối tượng ( cơng cụ vẽ hình) , có đường dẫn là :


C:\Program Files\Platin ViOLET\Lecture\vpScript\Template\


Trong mục này ta chọn lần lượt các công cụ : thước kẻ (Rule) , Compa
( Compa) , bút chì (Pencil)


Mỗi lần thêm cơng cụ nhấn vào nút dấu “ +”
Có màn hình như sau :


Sau khi khai báo xong , nhấn nút “<i><b>Đồng ý”</b></i>


Lúc này chương trình tự chạy các bước để vẽ đường trung trực
của đoạn thẳng AB ( Kết quả xem hình bên )


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

a)M· lƯnh ch¬ng trình vẽ đoạn thẳng MN bằng đoạn thẳng AB


Mó lệnh

Ý nghĩa từng dòng



function main



set_paper Draft, 3, 0xFF0000
Line 3, 2, 8, 2


Appear Point, 3, 2, "A", below
Appear Point, 8, 2, "B", below


radius = 5


get_angle &angle, 1, 1, 1, 1


set_paper Draft, 1, 0x0000FF
appear Compa


move Compa, 3, 2


call Compa.OpenCompa, 5
set_paper Draft, 3, 0xFF0000
Line 3, 7, 12, 7


Appear Point, 3, 7, "M", below
set_paper Draft, 1, 0x0000FF


move Compa, 3, 7, angle-10
call Compa.OpenCompa, 5
rotate_compa Compa, radius,
angle+10


disappear Compa


Appear Point, 8, 7, "N", below


end


Định dạng bản vẽ, độ dày nét vẽ là 3, màu đỏ
Vẽ đoạn thẳng từ toạ độ 3,2 đến toạ độ 8,2


Xuất hiện_điểm, toạ độ 3,2; tên điểm là A, chữ ở dưới điểm
Xuất hiện_điểm, toạ độ 8,2; tên điểm là B, chữ ở dưới điểm
Bán kính bằng 5


Nhập liệu góc điều hướng com pa (bạn có thể thay đổi số để
cảm nhận)


Định dạng bản vẽ, độ dày nét vẽ là 1, màu xanh thẫm


Xuất hiện compa (2 dịng xanh phía trên có thể cho xuống bản
vẽ này)


Di chuyển compa tới toạ độ 3,2 (tức là đinh compa đặt vào A)
Mở compa, bán kính 5 (ngầm định là mở theo phương nằm
ngang tức là đầu chì trùng với B – ta hiểu là compa đo AB)
Định dạng bản vẽ, độ dày nét vẽ là 3, màu đỏ


Vẽ đoạn thẳng từ toạ độ 3,7 tới toạ độ 12,7


Xuất hiện điểm toạ độ là 3,7; tên điểm là M, chữ ở dưới điểm
(Do chỉ có 1 điểm M ở một đầu nên ta tưởng như 1 tia gốc M)
Định dạng bản vẽ, độ dày nét vẽ là 1, màu xanh


Di chuyển compa tới vị trí 3,7; xoay compa -10 độ)



Độ mở compa là 5 (tưởng như nó đo đoạn AB rồi di chuyển
xuống M)


Quay compa, bán kính 5, +10 độ (so với phương nằm ngang)
Biến mất compa


Xuất hiện điểm N tại vị trí 8,7; chữ ở dưới điểm
Kết thúc


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

Mã lệnh

Ý nghĩa từng dịng

Hình minh họa


function main




appear Text, 8.25, 0.5, "Hãy vẽ


một tia OA", 2


input_line &ax, &ay, &bx, &by
disappear Text


appear Point, ax, ay, "O", below
appear Point, bx, by, "A",
below




set_paper Paper, 2, 0x0003FF
create_line ax, ay, (3*bx-ax)/2,
(3*by-ay)/2



get_angle &angle, ax, ay, bx, by
appear Protractor


move Protractor, ax, ay, angle
appear Text, 8.25, 0.5, "Hãy


đánh dấu điểm thuộc cạnh thứ hai theo
mép thước", 2


input_point &cx, &cy


appear Point, cx, cy, "B", below
disappear Text


disappear Protractor


set_paper Paper, 2, 0x0003FF
create_line ax, ay, (3*cx-ax)/2,
(3*cy-ay)/2




set_paper Paper, 2, 0xF00000


note_angle 2, "value", bx, by, ax,
ay, cx, cy


end



...


Vết đoạn thẳng từ 2 toạ độ ax, ay và bx, by
do click chuột


...
...
...
...


Vẽ đoạn từ O đến (3*bx-ax)/2, (3*by-ay)/2
( vượt qua A )


Nhập liệu hướng điều khiển thước đo góc
( theo hướng OA )


Xuất hiên thước đo góc


Di chuyển thước đo góc tâm thước trùng
vào O, hướng OA


…………..


Nhập liệu toạ độ điểm do click chuột
……..


……..


Biến mất thước đo góc


…….


Vẽ đoạn thẳng từ O đến (3*cx-ax)/2,
(3*cy-ay)/2 (tưởng như vẽ tia vì nó vượt qua B )
……


Đánh dấu góc, kiểu 2 , “số đo”, tạo bởi bx,
by, ax, ay, cx, cy


….


c)


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

<b>Mã lệnh vài chương trình dùng lệnh lặp:</b>


<b>For…from…to…step…</b>



Tên

Mã lệnh

Ý nghĩa từng dòng



Nhảy số


function main


for t from 0 to 60 step 1
appear Text,8.3,5.5,t
delay 12


next
end





Cho t từ 0 đến 60 bước nhảy 1


Xuất hiện dòng chữ tại toạ độ 8.3, 5.5, tên chữ là t
Độ trễ 12


Tiếp tục


Đường tròn


function main


set_paper Draft1,5,0x0000FF
circle 8,6,2


appear Point, 8,6, "O",rightbelow
set_paper Draft,5,0xFF0000
for t from 0 to 8 step 0.03
erase


appear Point, t+4,6, "O'",rightbelow
circle t+4,6,1.5
delay 1
next
end



Vẽ đường tròn tại toạ độ 8, 6, bán kính bằng 2






Cho t từ 0 đến 8 bước nhảy 0.03
Xố đối tượng (phía sau lệnh này)


Xuất hiện điểm O toạ độ t+4, 6, chữ ở bên phải phía dưới
Vẽ đường trịn tại toạ độ t+4, 6, bán kính 1.5


Độ trễ 1
Tiếp tục


Bán kính function main


set_paper Draft1,5,0x0000FF
circle 8,6,2


appear Point, 8,6, "O",rightbelow
set_paper Draft,5,0xFF0000
for v from 0 to 360*v step 5
get_point &ax, &ay, 8, 6, v, 2
appear Point, ax,ay, "A", right
erase


line ax, ay, 8,6
delay 1
next







Cho v từ 0 đến 360*v (độ) bước nhảy 5


Tính toạ độ của điểm so với gốc O, góc  bằng v, cách gốc là 2 sau đó đặt


tên điểm đó là A
Xố đối tượng


Vẽ đoạn thẳng từ ax, ay đến 8, 6
Độ trễ 1


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

end …
Hệ quả của góc


nội tiếp


function main


set_paper Paper, 5,0x0000FF
circle 1, 5, 3


appear Point, 1, 5, "O"
get_point bx, by, 1, 5, 180, 3
appear Point, bx, by, "B", leftbelow
get_point cx, cy, 1, 5, 0, 3



appear Point, cx, cy, "C", rightbelow
appear TSquare


move TSquare, ax, ay
for v from 0 to 180 step 2
get_point &ax, &ay, 1, 5, v, 3
appear Point, ax,ay, "M", right
set_paper Draft,3,0x000000
erase


note_angle 0, "", bx, by, ax, ay, cx, cy
get_angle &g, ax, ay, cx, cy


set_pos TSquare, ax, ay, g
set_paper draft, 3, 0xFF00FF
erase


line ax, ay, bx, by
line ax, ay, cx, cy
line bx, by, cx, cy
delay 1


next


appear TSquare
move TSquare, ax, ay
for v from 180 to 360 step 2
get_point &ax, &ay, 1, 5, v, 3
appear Point, ax,ay, "M", right
set_paper Draft,3,0x000000


erase


note_angle 0, "", cx, cy, ax, ay, bx, by
get_angle &g, cx, cy,ax, ay


set_pos TSquare, ax, ay, g-90


set_paper draft, 3, 0xFF00FF







Tính toạ độ của điểm so với gốc 1,5, góc  là 180 độ, cách gốc là 3 sau đó


đặt tên là B, chữ ở phía trái bên dưới điểm




Xuất hiện thước đo góc


Di chuyển thước đo góc đến toạ độ ax, ay
Cho v từ 0 đến 180 (độ), bước nhảy là 2


Tính toạ độ của điểm so với gốc 1,5, góc  là v, cách gốc là 3


Xuất hiện điểm M tại vị trí vừa tính toạ độ





Đánh dấu góc vng


Tính độ lớn của góc g từ toạ độ ax, ay so với gốc cx, cy
Thiết lập sự biến đổi của thước đo góc theo toạ độ ax, ay và g








Từ đây trở xuống lặp lại các lệnh trên (màu xanh). Chỉ khác chút xíu ở chỗ ta
cho biến v thay đổi từ 180 độ đến 360 độ trong lệnh lặp và xoay lại e-ke để
khi nó di chuyển xuống dưới thì góc vng của e-ke vẫn ở phía trong (các
chỗ màu đỏ)


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

erase


line ax, ay, bx, by
line ax, ay, cx, cy
line bx, by, cx, cy
delay 1


next
end



Nét đứt


function main


set_paper Paper, 5, 0xFF00FF
appear Ruler,5,4


for t from -4 to 6
appear Pencil
attach_pen Pencil


for x from t to t+0.4 step 0.4
set_pos Pencil,x+9,4
next


t= t-0.1
delay 2
next


disappear Pencil
disappear Ruler
end


Chương trình này các bạn hồn tồn có thể “phiên dịch” theo từng dịng lệnh,
xin miễn cho tơi.thuyết minh phần này.


Đây là chương trình dùng hai nhóm lệnh lặp lồng vào nhau để mô phỏng việc
vẽ nét đứt (nét khuất). Vòng lặp thứ nhất (chữ đỏ) chứa vòng lặp thứ hai (chữ
xanh).



Vịng lặp xanh có tác dụng tạo ra các nét vẽ. Điều hướng nét vẽ (bạn tham
khảo thêm chương trình vẽ hình hộp chữ nhật để xem cách điều chỉnh các nét
khuất theo các hướng khác nhau)


Vòng lặp ngồi màu đỏ có tác dụng tạo ra các khoảng trống giữa các nét vẽ,
độ thưa của nét vẽ, độ dài tổng thể của cả đoạn


Đồ thị


function main


set_paper Paper, 5, 0x0000FF
appear Pencil


attach_pen Pencil


for x from -4.2 to 4.25 step 0.1
y= x*x


set_pos Pencil, 8+x,12 - y
delay 1


next


disappear Pencil
end


Đây là chương trình dùng vịng lặp để mơ phỏng cách vẽ đồ thị hàm số y =
x*x. Tuy nhiên trong file minh hoạ gửi kèm, tơi có dùng mơ dun vẽ đồ thị
hàm số để vẽ thêm một hệ trục toạ độ và các đường dóng toạ độ tương ứng


của hàm y = x*x , thực ra tôi đã vẽ cả đồ thị của y =x*x nhưng tơi tơ màu
trắng nên các bạn khơng nhìn thấy nó mà chỉ thấy hệ trục và các đường
dóng..


Đây là chương trình kết hợp giữa hiệu quả của 2 modun khác nhau trong
violet. Sau này các bạn nên để ý đến sự kết hợp tác dụng của nhiều modun
trong một bài giảng. Đó mới là tác dụng to lớn mà phần mềm VIOLET mang
lại cho chúng ta.


<b>2.5) Một số mã lệnh sử dụng các công cụ vẽ hình </b>


<b>Cơng cụ</b> <b>Mã lệnh cần khai báo</b> <b>Ý nghĩa</b>


<b>Thước kẻ(Rule)</b>


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

<b>A(x1;y1) , B(x2;y2)</b>


(các tọa độ cho
trước)


<b> set_paper duongthang, 3,0x0000FF</b>
<b>appear</b> <b>Point, x1,y1,A, below</b>
<b>appear</b> <b>Point, x2,y2,B, below</b>
<b>create_line</b> <b>(3*x1-x2)/2,(3*y1-y2)/2,</b>
<b>(3*x2-x1)/2,(3*y2-y1)/2</b>


<b>End</b>


<b>function main</b>
<b>Vẽ đoạn thẳng AB</b>



<b> set_paper doanthang, 3,0x0000FF</b>


<b>appear</b> <b>Point, x1,y1,A, below</b>
<b>appear</b> <b>Point, x2,y2,B, below</b>
<b>create_line</b> <b>x1,y1,x2,y2</b>


<b>End</b>


<b>function main</b>


<b> set_paper tia, 3,0x0000FF</b>


<b>appear</b> <b>Point, x1,y1,A, below</b>
<b>appear</b> <b>Point, x2,y2,B, below</b>


<b>create_line</b> <b>x1,y1,(3*x2-x1)/2,(3*y2-y1)/2</b>
<b>End</b>


- Xuất hiện điểm A(x1;y1) và điểm B(x2;y2)


- Dùng thước kẻ và bút chì để vẽ đường thẳng đi qua các tọa độ <b></b>
<b>(3.x1-x2)/2,(3.y1-y2)/2,(3.x2-x1)/2,(3.y2-y1)/2</b>


<b>Vẽ đường trịn</b>
<b>Compa</b>


<b>Vẽ đường trịn có </b>
<b>tâm O(x1.y1) , bán </b>
<b>kính r cho trước</b>



<b>function main</b>


<b>set_paper Draft,2,0xFF0000</b>
<b>appear Point,x1,y1,"O",left</b>
<b>appear Compa</b>


<b>move Compa,x1,y1,0</b>
<b>call Compa.OpenCompa,r</b>
<b>rotate_compa Compa,r,360</b>
<b>disappear Compa</b>


<b>end</b>


<b>Hoặc lệnh </b>
<b>function main</b>


<b>set_paper Draft,2,0xFF0000</b>
<b>appear Point,x1,y1,"O",left</b>


<b>- </b>Xuất hiện điểm O(x1;y1)


- Xuất hiện Compa ở tọa độ (0;0) ,
- Compa ở tọa độ (x1;y1) góc quay 00


- Độ mở của Compa tương ứng với bán kính r


- Compa quay với bán kính r với góc quay từ 00<sub> đến 360</sub>0<sub> . </sub>


Hoặc lệnh sau



- Xuất hiện điểm O(x1;y1)


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

<b>create_arc x1,y1,r,0,360</b>
<b>end</b>


<b>Sử dụng êke</b>


Vẽ đường thẳng đi
qua điểm (x1;y1)
vng góc với
đường thẳng a cho
trước


appear TSquare,x1,y1


move TSquare,x1,y1,angle+90
delay 6


move TSquare,cx,cy,angle+90


<b>- </b>Xuất hiện êke ở tọa độ (x1;y1)


- Ê ke trượt trên đường thẳng a , một cạnh eke đi qua điểm (x1;y1) cịn
đỉnh eke nằm trên đường thẳng a có tọa độ (cx;cy)


<b>- Thước đo góc </b>


<b>(Protracto)</b>

appear

<sub>link A, B</sub>

MeasurerProt,12,4,Protractor



link B, C


link C, A



<b>Khai báo công cụ theo đường dẫn</b>


<i>C:\Program Files\Platin </i>


<i>ViOLET\Lecture\vpScript\Template\Measurer.swf</i>
<i>Tại ơ “Vị trí” ta nhập thêm “Mprot” để hiển thị eke</i>


<b>- </b>Xuất hiện thước đo góc ở vị trí có tọa độ (12;4)


- Bắt thước đo góc theo các cạnh của tam giác ABC , tâm thước đo góc
trùng với các đỉnh của tam giác .


<b>- Thước đo độ dài </b>


<b>(Ruler)</b> <b>appear MeasurerRuler, 10, 6, Ruler</b>


link A, B


link B, C


link C, A



<b>Khai báo công cụ theo đường dẫn</b>


<i>C:\Program Files\Platin </i>


<i>ViOLET\Lecture\vpScript\Template\Measurer.swf</i>
<i>Tại ơ “Vị trí” ta nhập thêm “MRuler” để hiển thị </i>
<i>thước có vạch</i>



<b>- </b>Xuất hiện thước kẻ ở vị trí có tọa độ (10;6)


- Bắt thước đo độ dài các cạnh của tam giác ABC , vạch 0 của thước
trùng với các đỉnh của tam giác, thước nằm dọc theo cạnh của tam giác


<b>3) Cách chỉnh sửa hình mơ phỏng trong bài giảng Violet</b>


Khi thiết kế phần mơ phỏng , có thể dẫn đến phần mơ phỏng nằm ở vị trí khơng thuận lợi hoặc che mất một phần văn bản cùng xuất hiện trong
màn hình , do vậy ta cần chỉnh sửa nó để việc trình chiếu dễ quan sát và thuận lợi cho việc theo dõi của học sinh , cho nên ta cần tiến hành một đôi chút để
chỉnh sửa . Phần mơ phỏng xuất hiện trong bài giảng đều có dạng file ảnh , nên việc di chuyển ta dùng tổ hợp phím <i><b>Ctrl+ phím ←↑→↓ </b></i> để di chuyển .


Các bước làm : nhấp chuột vào nút chỉnh sửa , chọn tiếp tục , nhấp đúp vào hình mơ phỏng


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

Để di chuyển dùng tổ hợp phím <i><b>Ctrl + phím lên xuống ...</b></i>


Hoặc nhấn và giữ chuột vào một cạnh của tam giác ABC để di chuyển


<b>II) CÁCH ĐƯA PHẦN LẬP TRÌNH MƠ PHỎNG SẴN CĨ VÀO TRONG BÀI GIẢNG</b>
<b>1) Sử dụng các đoạn mã lệnh cho sẵn :</b>


Bước 1 : Copy đoạn mã lệnh và dán vào khung soạn thảo của lập trình mơ phỏng


Bước 2 : Chọn nút <i><b>“Tiếp tục”</b></i> để khai báo các lệnh dữ liệu và công cụ , rối chọn nút <i><b>“Đồng ý”</b></i> để kết thúc
Bước 3 : Chọn hiệu ứng xuất hiện , điều chỉnh hình mơ phỏng cho hợp với các nội dung khác


Ví dụ áp dụng : Vẽ ttia phân giác bằng thước đo góc


Đoạn mã lệnh Hình minh họa



Nhấn chuột vào đây


- Kéo vào(xuống) là thu nhỏ
hình


- Kéo ra (lên) là phóng to
hình


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

function main
line 8,1, 8.5,1
delay 36


set_paper Draft,3,0x0000FF
delay 6


create_line 6,8, 12,8
appear Point, 6,8, O, below
delay 12


appear Point, 12,8,"x",below left
appear Protractor,12,3


move Protractor,6,8
appear Pencil,12,3
move Pencil,7.32,5.3
appear Point, 7.32,5.3," "
delay 24


disappear Protractor, Pencil
create_line 6,8, 8.63,2.7


appear Point,8.63,2.7,"y", left
appear Protractor,13,3


move Protractor, 6,8
appear Pencil, 15, 3
move Pencil, 8.54,6.41
appear Point, 8.54,6.41, ""
disappear Protractor, Pencil
set_paper Draft,3,0xFF0000
create_line 6,8, 10.24,5.35


appear Point,10.24,5.35,"z",below
note_Angle 0,"value",10,8,6,8,8.54,6.41
appear Compa, 10,4


move Compa, 6,8,32


call Compa.OpenCompa,0.7
rotate_compa Compa,0.7,64
disappear Compa


end


Lệnh khai báo có dạng


</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

Hình sau khi nhấn nút đồng ý , chương trình tự chạy


Hình mơ phỏng nằm giữa trang màn hình Sau khi thu nhỏ và di chuyển về một bên màn hình


<b>2) Copy từ một bài giảng sẵn có để đưa vào bài giảng</b>



Trong một bài giảng , chỉ một phần bài giảng là có phần mơ phỏng , song để viết được một đoạn mã lệnh đưa vào bài giảng là điều khơng dễ . Cho
nên ta có thể sưu tầm một số bài giảng có phần mơ phỏng và copy chung đưa vào bài soạn . Sau đây tơi trình bày một cách đơn giản để thực hiện điều đó .


Bước 1 : Chọn bài giảng có chứa nội dung mơ phỏng
Bước 2 : Mở trang soạn thảo của bải giảng


Bước 3 : Mở bài giảng có nội dung cần copy , nhấp chuột vào nút chỉnh sửa , chọn nút <i>“Tiếp tục”</i>


Bước 4 : Nhấp chuột đúp vào hình mơ phỏng , trên hình xuất hiện 8 nút vng xung quanh , nhấn tổ hợp phím <i><b>Ctrl+C</b></i>


Bước 5 : Mở lại trang soạn thảo , nhấn tổ hợp phím <i><b>Ctrl+V . </b></i> Lúc này trên màn hình soạn thảo chứa tồn bộ nội dung của phần mơ phỏng . Trong
bước này toàn bộ mã lệnh và các lệnh khai báo đều được copy sang trang soạn thảo đầy đủ .


</div>
<span class='text_page_counter'>(21)</span><div class='page_container' data-page=21></div>
<span class='text_page_counter'>(22)</span><div class='page_container' data-page=22></div>
<span class='text_page_counter'>(23)</span><div class='page_container' data-page=23>

Như vậy trang màn hình vừa được copy sang sẽ chứa đầy đủ nội dung của trang gốc .


</div>
<span class='text_page_counter'>(24)</span><div class='page_container' data-page=24></div>

<!--links-->

×