Hình miếng ghép – Lênh thực thi các công việc Trên khối lệnh có 1 điểm khớp nối lõm đẻ ghép với lệnh bên trên; bên 1/ Motion - Nhóm lệnh chuyển động2/ Look - Nhóm lệnh ngoại hình nhìn3/
Trang 1PHẦN I SCRATCH CƠ BẢN Bài 1: LÀM QUEN VỚI PHẦN MỀM SCRATCH Mục tiêu:
- Nhận diện được các thành phần trong cửa sổ chương trình Scratch
- Phân biệt được các khối lệnh điều khiển
Nội dung chính:
- Cửa sổ của Scratch được chia làm 5 thành phần (khu vực) chính
1 Màn hình làm việc của Scratch
Có thể chia giao diện Scratch thành 5 khu vực chính với những nhiệm vụ và chứcnăng riêng để dễ dàng sử dụng và lập trình
a Khung điều khiển
Khung điều khiển có 3 Tab thông tin: Lệnh (Code), Thiết kế (Costumes) và Âmthanh (Sounds)
1
Trang 2Lệnh (Code): Là nơi chứa danh mục các lệnh dùng để lập trình cho các đối tượngtrong Scratch Có nhiều nhóm lệnh trong Scratch bao gồm các lệnh có chức nănggiống nhau, mỗi nhóm sẽ được phân biệt bằng một màu khác nhau Scratch mặc địnhhiện các nhóm lệnh và lệnh thông dụng, ngoài ra, Scratch còn có 1 số lệnh mở rộng
khác, chúng ta có thể thêm các nhóm lệnh này vào bằng cách click chuột vào
(Add Extension) ở phía dưới cùng của khung
Thiết kế (Costumes): Chứa các thiết kế, các giao diện khác nhau của đối tượng
Âm thanh (Sounds): Chứa các âm thanh khác nhau của đối tượng
b Cửa sổ lệnh
Cửa sổ lệnh chứa các "lệnh" để điều khiển hoạt động của nhân vật Chúng ta sẽ kéocác lệnh từ khung điều khiển sang cửa sổ này và lắp ghép các khối lệnh khác nhau đểtạo thành một “chương trình” để điều khiển đối tượng
c Sân khấu (Stage)
Sân khấu là cửa sổ thể hiện chính của phần mềm Scratch Sân khấu là nơi biểu diễncủa các đối tượng, hiển thị các loại ảnh nền khác nhau, hiển thị các hiệu ứng đồ họa, Sân khấu là nơi người dùng sẽ tương tác với sản phẩm do chúng ta tạo ra
Các công cụ dùng tác động vào sân khấu như phóng to , thu nhỏ và phóng
to toàn màn hình
d Nhân vật - Sprites
Đây là khu vực quản lý các nhân vật của ứng dụng Tại khu vực này, chúng ta
có thể thực hiện các thao tác như tạo thêm nhân vật, chỉnh sửa ngoại hình nhân vật(thay đổi trang phục) Và có thể có nhiều nhân vật, đa dạng về kích thước và chủngloại Khi lần đầu tiên chạy Scratch, nhân vật chính là chú mèo Scratch
e.Ảnh nền, phông nền - Backdrop/Background
Backdrop là khu vực quản lý, chỉnh sửa, thêm mới các ảnh nền hiển thị trên sânkhấu (stage)
Lưu ý: Đối với Backdrop chúng ta cũng có thể xây dựng những khối lệnh riêng cho nó.
Trang 3Hiện tại, phần mềm Scratch đã hỗ trợ rất nhiều ngôn ngữ
khác nhau trên khắp thế giới, trong đó có Tiếng Việt Để
chuyển sang giao diện ngôn ngữ phù hợp, chúng ta sẽ:
- Nhấn chọn biểu tượng quả địa cầu trên thanh thực đơn (phía
trên cùng bên tay trái)
- Kéo thanh cuộn xuống, tìm ngôn ngữ Tiếng Việt và nhấn
chọn Tiếng Việt
b.Tập tin - File
- Mới - New: Tạo một trang lập trình mới
- Load from your computer: Mở một tệp đã có từ máy tính của
bạn
- Lưu về máy tính - Save to your computer: Lưu tệp về máy
tính của bạn
3 Phân biệt các khối lệnh
Phân biệt theo hình dạng Phân biệt theo khối chức năng
Khối mũ tròn - lệnh điều khiển, khi nhấn vào phím/nút lệnh tương
ứng máy tính sẽ thực thi các câu lệnh đã
lập trình
Dưới hình có 1 đoạn khớp nối nổi ra
ngoài, phía trên không có, luôn đặt ở đầu
kịch bản
Hình miếng ghép – Lênh thực thi (các công việc)
Trên khối lệnh có 1 điểm khớp nối
lõm (đẻ ghép với lệnh bên trên); bên
1/ Motion - Nhóm lệnh chuyển động2/ Look - Nhóm lệnh ngoại hình (nhìn)3/ Sound - Nhóm lệnh âm thanh
4/ Events - Nhóm lệnh sự kiện5/ Control - Nhóm lệnh điều khiển (lặp)
6/ Sensing - Nhóm lệnh cảm biến (cảm ứng)
7/ Operators - Nhóm lệnh tính toán8/ Variable - Nhóm lệnh biến số
3
Trang 4dưới có 1 khớp nối nổi lên (để ghép với
lệnh tiếp theo)
Một số lệnh đồngdạng
Khối số học có dạng hình oval (bo
tròn)
Một số khối lệnh đồng dạng
Khối chữ C - lệnh điều khiển (Xử lí các tình huống của
kịch bản lập trình như: lặp với số lần biết
trước, lặp chưa biết trước số lần, điều
Trang 5Khối lệnh kết thúc công việc.
Khi gặp lệnh này, tất cả các công việc ở
trên sẽ dừng lại, không thực thi nữa
Khối có khớp nối chìm ở trên, bên
dưới không có khớp nào nữa; luôn đặt ở
cuối kịch bản lập trình
Cách sử dụng khối lệnh: Kéo thả lệnh từ khung chứa lệnh sang khung cửa sổ lệnh (lập trình)
5
Trang 6Bài 2 BẮT ĐẦU LẬP TRÌNH VỚI SCRATCH Mục tiêu:
- Xây dựng được các kịch bản hành động cho nhân vật
- Lập trình được hành động cho nhân vật theo kịch bản đã xây dựng
- Chỉnh sửa kịch bản theo các yêu cầu của bài tập
1 Xây dựng kịch bản cho nhân vật
- Mỗi kịch bản chỉ được tạo ra khi có ít nhất 1 nhân vật (chèn vào).
- Một nhân vật có thể có nhiều kịch bản hành động khác nhau
- Trong một dự án thường có nhiều đối tượng, mỗi đối tượng lại có một hoặcnhiều kịch bản Mỗi kịch bản được lắp ghép từ nhiều khối lệnh, cứ từ hai khối lệnh lắpghép liền nhau trở lên được coi là một đoạn mã
Trước khi thực hiện các thao tác xử lý kịch bản ta cần phân biệt rõ các khái niệmmột khối lệnh, một đoạn mã và một kịch bản
Trang 7Xây dựng kịch bản: (Các công việc)
1 Khi nhấn phím cách (sự kiện diều khiển việc nói, chyaj của Mèo)
2 Mèo đi tới điểm có tọa độ x = -180, y = 0
3 Mèo nói “Xin chào” trong 2 giây
4 Mèo nói “Mình cùng thi chạy nhé” trong 2 giây
-Đầu tiên, bạn chọn nhóm lệnh Events, chọn lệnh và kéo
thả lệnh này sang cửa sổ lệnh Đây là sự kiện người dùng
nhấn phím space (phím cách) trên sân khấu và chúng ta muốn
khi đó là bắt đầu chương trình
-Sau đó, chúng ta kéo thả và điều chỉnh một
đoạn chương trình gồm các lệnh sau:
-Bây giờ, chúng ta đã có một ứng dụng hoàn
chỉnh trên Scratch và để chạy thực hiên ứng
dụng, người dùng sẽ nhấn phím cách
Khi chạy chương trình, nhân vật của
chúng ta sẽ nói ‘Xin chào!’ trong 2 giây, nói
‘Mình cùng thi chạy nhé.’ trong 2 giây, sau
đó sẽ lặp lại 60 lần việc đợi 0.02 giâydi
chuyển 5 bướcthay đổi trang phục (hình
dáng khác của Mèo)
7
Trang 8Kết luận:
-Chúng ta sẽ điều khiển các đối tượng bằng các lệnh trong cửa sổ lệnh
-Các lệnh được kéo thả từ khung điều khiển trực quan, không phải viết từng lệnh trênmàn hình
-Nhóm các lệnh gắn liền nhau tạo thành 1 đoạn chương trình Khi chạy các lệnh sẽ lầnlượt chạy từ trên xuống dưới; trong vòng lặp trước, ngoài vòng lặp sau
-Để chạy ứng dụng, chúng ta nhấn vào phím điều khiển/lá cờ xanh Nhấp hình tròn
đỏ để dừng thực hiện lệnh
-Có thể phóng to cửa sổ hiển thị kết quả bằng cách nháy vào nút góc phải trênmàn hình
3 Chỉnh sửa kịch bản
a Xóa kịch bản: Kéo thả lệnh điều khiển về cửa sổ lệnh
b Xóa khối lệnh: kéo thả khối lệnh cần xóa về cửa sổ lệnh
c Xóa đoạn mã: kéo thả lệnh đầu tiên (ở trên) của đoạn mã cần xóa về cửa sổ lệnh
d Sao chép (nhân bản) khối lệnh/đoạn mã
- Sao chép ngay cho đối tượng hiện tại: Nhấn chuột phải vào lệnh/đoạn mã cần
sao chép, chọn nhân bản
- Sao chép cho đối tượng khác: Kéo thả lệnh/đoạn mã/kịch bản sang 1 nhân vật
khác (cần chèn thêm nhân vật mới làm được)
Bài tập Bài 1: Xây dựng nhân vật chú Mèo đi tới vị trí của chú chuột trong 5 giây.
Trang 9Kịch bản cho Mèo: Khi nhấn phím cách; Mèo đi tới điểm X = -200, Y = 0
Đi tới điểm có chú Chuột trong 5 giây
Kịch bản cho Chuột: Khi nhấn phím cách; Chuột đi tới điểm ngẫu nhiên
trên màn hình
Bài 2: Xây dựng kịch bản nhân vật nhảy trên sân khấu
9
Trang 10Xây dựng ý tưởng:
Kịch bản: 1 Chèn hình nền Sân khấu
2 Khi nhấn phím cách, nhân vật đi tới điểm giữa sân khấu X=22, y = 0;
3 Thay đổi kích thước bằng 60% (khớp với sân khấu)
4 Lặp lại mãi mãi (
Ý tưởng: - Tạo biến a (độ dài cạnh của hình vuông)
- Tạo biến diện tích (diện tích đặt = a x a)
- Nói “Diện tích hình vuông có cạnh a = 100 là: (biến diện tích)
Trang 11Nâng cao 1: Tính diện tích hình vuông có độ dài cạnh a bất kì nhập từ bàn phím
Nâng cao 2: Quản lí biến nhập vào phải là số nguyên
Ý tưởng: Nếu giá trị nhập vào không phải là sốThông báo nhập sai định dạng, yêu cầu nhập lại.
Cần xây dựng hàm kiểm tra số nhập vào có phải là số nguyên dương hay không.
Nếu số nhập vào không đúng định dạng thì yêu cầu nhập lại.
+ Cách kiểm tra: Xây dựng biến đếm số, ban đầu đặt = 0;
kiểm tra từng phần tử của số nhập vào, so sánh với danh sách Num ber (từ 0 đến 9) Nếu giá trị của phần tử không giá trị của một trong các số trong danh sách thì tăng biến đếm số lên 1.
Thủ tục trả ra giá trị của biến đếm số (số lượng chữ số có trong chuỗi nhập vào) Nếu giá trị của biến đếm không bằng độ dài của Số vừa nhậpGiá trị đó có chứa kí tự không phải là sốYêu cầu nhập lại (Sử dụng vòng lặp có điều kiện repeat ….until).
11
Trang 12Nâng cao 3: Nhập vào 1 chuỗi kí tự, đếm trong chuỗi có bao nhiêu kí tự là số (Tự
luyện)
Trang 14Bài 3: VẼ HÌNH VỚI SCRATCH Mục tiêu:
- Phân biệt các dạng hình vẽ cơ bản
- Xây dựng được kịch bản hành động cho nhân vật.
- Vẽ hình theo các dạng được phân loại
- Sử dụng biến số trong vẽ hình
1 Biến số và sử dụng biến số
- Tên gọi của nó đã nói lên tất cả Biến số được sinh ra để mang giá trị không cốđịnh trong bài toán, giá trị của nó luôn thay đổi theo chủ ý của người lập trình hoặc kếtquả của việc tính toán đưa ra
- Đa số các bài toán đều cần sử dụng biến số để người lập trình dễ dàng quản líđược giá trị cần lấy, giá trị cần sử dụng, giá trị trả về của bài toán Chúng ta cùng tìmhiểu cách khai báo và sử dụng biến số trong phần tiếp theo nhé
- Biến số thường gặp trong dạng bài tô màu, tính toán (dãy số, toán đố, gametính điểm, đồng hồ đếm ngược…)
- Các dạng biến số: Biến toàn cục (có giá trị cho tất cả các nhân vật – biến cómàu vàng cam); Biến cục bộ (sử dụng trong thủ tục – biến có màu tím); Biến cá nhân(chỉ có giá trị cho 1 nhân vật – thường gặp ở dạng bài Clone – biến có màu vàng cam;trước tên biến có tên của nhân vật mang biến đó)
- Khai báo biến số: Trong nhóm lệnh Các biến số
2 Thủ tục (chương trình con)
Thủ tục là một dãy các thao tác độc lập, dùng để xử lí một công việc nhất địnhnào đó (vẽ đa giác đều bất kì, tính tổng, vẽ ngôi sao…), những công việc đó lặp lại ởnhiều phần của chương trình sẽ làm ta mất thời gian trong việc lập trình, viết lại câulệnh đó Vì vậy, thay vì viết lại thì ta định nghĩa cho dãy công việc đó bằng một têngọi (tên thủ tục – đại diện cho những công việc được lặp lại), khi cần dùng tới, ta chỉcần gọi tên của thủ tục đó ra là máy tính sẽ tự thực hiện các công việc đã được địnhnghĩa
Tạo thủ tục trong Scratch: nhóm lệnh Khối của tôi (My Block), Khi nhấn “Tạo
một khối” là ta đang tạo một thủ tục
Trong khi đặt tên thủ tục, ta cần chú ý tới việc thủ tục có cần dùng tới biến cục
bộ hay không Ví dụ sử dụng thủ tục với biến cục bộ (hình dưới)
Trang 15Kiểu 1: Hình lặp lại tại 1 điểm (trùng tâm)
Kiểu 2: Hình không lặp tại 1 điểm (không trùng tâm)
Ví dụ: Hình vuông có 4 cạnh bằng nhau; 4 góc trong bằng nhau và bằng 90 độ
Tam giác đều có 3 cạnh bằng nhau, 3 góc trong bằng nhau và bằng 120 độ.Lục giác có 6 cạnh bằng nhau, 6 góc trong bằng nhau và bằng 120 độ
15
Trang 16Ý tưởng vẽ hình: Do các đa giác là những đa giác đều, nên có thể sử dụng chung một
thủ tục (chương trình con) Đa giác với 2 biến Số là số cạnh và biến độ dài cạnh.
Khi cần dùng đến, chỉ cần gọi thủ tục và truyền giá trị cho các biến để vẽ được đa giác đều tương ứng
Công việc vẽ mỗi cạnh của đa giác là giống nhau, ta sử dụng khối lệnh lặp biết trước
Trang 17Cách 3: Sử dụng thủ tục Đa giác, có biến số cạnh, độ dài cạnh bất kì
- Là hình được tạo bởi 2 hoặc nhiều khối hình đơn được ghép lại với nhau
- Có thể ghép nhiều hình ghép với nhau để tạo được những hình khác nhau
Ví dụ: Ngôi nhàhình vuông+tam giác
Chong chóng Ngôi nhà+đoạn thẳng
Ý tưởng: Vẽ từng hình đơn; để được hình gốc, ta cần ghép các hình đơn lại với nhau
thông qua các thao tác di chuyển, quay trái/phải thích hợp
17
Trang 18Lưu ý: Sau khi ghép xong hình, phải quay về vị trí xuất phát, hướng ban đầu để sẵn sàng lặp lại việc vẽ nhiều hình ghép, đối với hình đơn cũng vậy.
Ví dụ:
Vẽ ngôi nhà
Ý tưởng: - Xây dựng thủ tục Hình vuông, Hình tam giác có độ dài cạnh 100 bước.
- Tại vị trí xuất phát, vẽ hình vuông.
- Để vẽ hình tam giác (nóc nhà), cần di chuyển tới vị trí bắt đầu vẽ tam giác, sau
đó gọi thủ tục Tam giác để vẽ nóc nhà
- Vẽ xong cần di chuyển lùi về vị trí ban đầu để sẵn sàng vẽ hình lặp lại (bài
sau)
Kịch bản:
- Tạo thủ tục vẽ hình vuông
- Tạo thủ tục vẽ hình tam giác
- Tại vị trí xuất phát, gọi thủ tục hình vuông
- Di chuyển 90 bước (độ dài cạnh của hình vuông)
- Quay phải 30 độ (hướng của cạnh đầu tiên để vẽ tam giác)
- Gọi thủ tục vẽ Tam giác.
- Quay trái 30 độ (về hướng ban đầu)
- Di chuyển -90 bước (lùi 90 bước) để về vị trí xuất phát.
Trang 191/ Vẽ hình sau biết độ dài cạnh của hình vuông là 200
2/ Vẽ lá cờ biết chiều dài của lá cờ là 300 bước, chiều rộng bằng 2/3 chiều dài; ngôi sao có độ dài cạnh bằng 3/5 chiều rộng
Dạng 3: Hình lặp lại
- Hình lặp lại về cơ bản là 1 khối hình được vẽ nhiều lần, sau mỗi lần vẽ 1 hình,
nhân vật sẽ quay hoặc di chuyển (hoặc cả di chuyển và quay) để vẽ hình tiếp theo
- Hình lặp lại có thể là hình đơn, hình ghép (bản chất của hình ghép là sau khi ta
ghép được hình đó rồi thì coi cả khối lệnh để vẽ hình đó là một hình đơn để đưa vào vòng lặp)
- Hình lặp lại có 2 dạng: dạng lặp tại 1 điểm (trùng tâm) và lặp không cùng 1
điểm (không trùng tâm)
Hình lặp lại trùng tâm.
19
Trang 20Hình lặp lại không trùng tâm
- Nếu là hình lặp trùng tâm: sau khi vẽ hình, nhân vật cần qoay trái (hoặc phải) 1
góc có giá trị bằng 360/<số hình>
- Nếu là hình lặp không trùng tâm: sau khi vẽ hình, nhân vật cần di chuyển tới vị
trí tiếp theo để vẽ hình, rồi tiếp tục quay trái/phải để vẽ hình
- Ý tưởng: Cần tạo thủ tục vẽ được 1 hình cơ bản
Sử dụng khối lệnh lặp (với số lần biết trước); vẽ 1 hình; sau đó di chuyển/quay để vẽ hình tiếp theo
Trang 21Chong chóng được tạo bởi 8 ngôi nhà
Bài tập vận dụng: Vẽ 8 hình vuông theo hướng dẫn trong hình bên dưới
Bài tập: Vẽ các hình sau
21
Trang 22Dạng 4: Tô màu
- Phần mềm Scratch không có khối lệnh tô màu
- Để tô màu hình vẽ ta cần hình dung ra được hình cần tô màu là sự xếp chồng
của nhiều hình đó, mỗi hình có kích thước nhỏ dần Số lượng hình càng nhiều thì phầnđược tô màu càng kín
- Các dạng bài thường gặp: tô màu hình đơn, tô màu hình ghép, tính diện tích
phần còn lại (ghép 2 hình khác với nhau)…
Ý tưởng: Hình được tô màu được tạo ra khi ta vẽ nhiều hình cùng loại, mỗi hình
có kích thước khác nhau (nhỏ dần hoặc lớn dần)
- Ta cần tạo biến Độ dài cạnh để quản lí việc tô màu này.
- Sử dụng khối lệnh lặp có điều kiện (đến khi Độ dài cạnh<1), vẽ hình có
kích thước <Độ dài cạnh>, sau mỗi lần vẽ thay đổi Độ dài cạnh một lượng -1
Chú ý: Để việc tô màu lặp lại cho nhiều hình, sau khi tô màu cho 1 hình, ta cần
đặt biến Độ dài cạnh về giá trị ban đầu của nó (giá trị trước khi tô màu).
Ví dụ: Tô màu hình vuông có độ dài cạnh bằng 200, màu sắc tùy chọn.
Kịch bản: - Tạo biến a (độ dài cạnh)
- Tạo thủ tục vẽ hình vuông (số bước di chuyển là a bước)
- Truyền giá trị cho a = 150 (kích thước hình vuông lớn nhất)
- Lặp tới khi a < 1 việc vẽ hình vuông, vẽ xong giảm biến a (độ dài cạnh)một lượng -1
Trang 23Hình ghép được tô màu
Tô màu các hình sau:
Chiều dài là 400Chiều rộng bằng 2/3 chiều dài
Độ dài cạnh ngôi sao là 70
23
Trang 24Hình tròn đỏ có bán kính 20
Gợi ý: Cách tô màu hình tròn Đứng tại 1 điểm, tiến theo bán kinh, lùi lại bán kính bước, quay phải 0,5-1 độ.
Trang 25Bài 4: GIẢI TOÁN TRONG SCRATCH
Mục tiêu:
- Xác định được các dạng bài toán
- Quản lí được các biến phát sinh trong quá trình giải bài
- Giải những bài toán cụ thể
1 Các dạng toán thường gặp
+ Dạng toán về dãy số: dãy cách đều, dãy có quy luật
+ Dạng toán có lời văn: tổng tỉ, tổng hiệu, toán đố
1-4-7-10-13… – Dãy cách đều 3 đơn vị
Các dạng bài thường gặp: Tính tổng dãy số, tìm số ở vị trí thứ n, tính trung bình cộng, đếm số lượng phần tử của dãy
Cách giải: Tìm ra số hạng tổng quát của dãy số đó, tạo ra dãy số đó.
+ Tính tổng: Cộng dồn tổng với giá trị của số vừa tìm được
+ Tính trung bình cộng: Lấy tổng chia độ dài của dãy số đã tìm ra
+ Tìm số ở vị trí thứ n: đặt số cần làm là phần tử thứ n của dãy
+ Đếm số lượng phần tử của dãy: đặt giá trị bằng độ dài của dãy tìm được
Ví dụ minh họa:
Ví dụ 1: Tính tổng 100 số tự nhiên đầu tiên
Bước 1: Phân tích dãy số: Đặt Số thứ tự =1; Đặt Giá trị = 0; Đặt tổng = 0
Số thứ tự
(Vị trí) Giá trị
Cách tính giá trị của số thứ i