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

Sách giáo viên tin học lớp 8 đây!

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 (807.56 KB, 100 trang )

Phần 1
A. những vấn đề chung
I. Nội dung chơng trình và chuẩn kiến thức, kĩ năng môn
Tin học cấp trung học cơ sở
1. Mục tiêu
Kiến thức:
o Trang bị cho học sinh một số hiểu biết nhập môn về thuật toán và ngôn
ngữ lập trình, các cấu trúc chơng trình cơ bản: tuần tự, rẽ nhánh và lặp ở
mức phổ thông.
o Biết đợc các lợi ích của việc viết các chơng trình máy tính để giải quyết
những bài toán khác nhau trong các lĩnh vực của đời sống.
o Biết cách sử dụng đợc các phần mềm học tập trình bày trong SGK.
o Hiểu đợc ý nghĩa của các phần mềm máy tính ứng dụng trong các lĩnh
vực khác nhau của cuộc sống.
Kĩ năng:
o Giải đợc một số bài toán đơn giản trên máy tính bằng cách vận dụng
thuật toán đơn giản, dữ liệu chuẩn trên ngôn ngữ lập trình bậc cao cụ thể.
o Sử dụng và khai thác thành thạo các phần mềm học tập đợc giới thiệu.
o Rèn luyện khả năng thao tác nhanh với bàn phím và chuột máy tính.
Thái độ:
o Ham thích môn học, tác phong làm việc nghiêm túc, cẩn thận và tinh thần
làm việc theo nhóm.
3
o Nghiêm túc khi học và làm việc trên máy tính không phân biệt phần mềm
học tập hay phần mềm trò chơi. Có ý thức sử dụng máy tính đúng mục
đích.
o Nâng cao ý thức và lòng say mê học tập các môn học.
2. Nội dung chơng trình
Lập trình đơn giản
- Thuật toán và ngôn ngữ lập trình;
- Chơng trình Turbo Pascal (TP) đơn giản;


- Tổ chức rẽ nhánh;
- Tổ chức lặp;
- Kiểu mảng và biến có chỉ số;
- Một số thuật toán tiêu biểu.
Khai thác phần mềm học tập
3) Chuẩn kiến thức, kĩ năng
CHủ Đề MứC Độ CầN ĐạT GHI CHú
Lập trình đơn
giản
1. Thuật toán và
ngôn ngữ lập
trình
Kiến thức
Biết đợc khái niệm bài toán, thuật toán.
Biết rằng có thể mô tả thuật toán bằng cách liệt
kê các bớc hoặc sơ đồ khối.
Biết đợc một chơng trình là mô tả của một thuật
toán trên một ngôn ngữ cụ thể.
Kĩ năng
Mô tả đợc thuật toán đơn giản bằng liệt kê các
bớc
- Nên chọn thuật toán
của bài toán gần gũi,
quen thuộc với học sinh
2. Chơng trình TP
đơn giản
Kiến thức
Biết sơ bộ về ngôn ngữ lập trình Pascal
Biết cấu trúc của một chơng trình TP: cấu trúc
chung và các thành phần.

Biết các thành phần cơ sở của ngôn ngữ Pascal.
Hiểu đợc một số kiểu dữ liệu chuẩn.
Hiểu đợc cách khai báo biến.
Biết đợc các khái niệm: phép toán, biểu thức số
học, hàm số học chuẩn, biểu thức quan hệ.
- Có thể sử dụng ngôn
ngữ lập trình khác theo
hớng dẫn thực hiện ch-
ơng trình.
- Minh hoạ các khái
niệm bằng một chơng
4
CHủ Đề MứC Độ CầN ĐạT GHI CHú
Hiểu đợc lệnh gán.
Biết các câu lệnh vào/ra đơn giản để nhập thông
tin từ bàn phím và đa thông tin ra màn hình.
Kĩ năng
Viết đợc chơng trình TP đơn giản, khai báo
đúng biến, câu lệnh vào/ra để nhập thông tin từ
bàn phím hoặc đa thông tin ra màn hình.
trình TP đơn giản.
- Cần xây dựng các bài
thực hành và tổ chức
thực hiện tại phòng
máy để học sinh đạt đ-
ợc những kỹ năng theo
yêu cầu
3. Tổ chức rẽ
nhánh
Kiến thức

Hiểu đợc câu lệnh rẽ nhánh (dạng thiếu và dạng
đủ).
Hiểu đợc câu lệnh ghép.
Kĩ năng
Viết đúng các lệnh rẽ nhánh khuyết, rẽ nhánh
đầy đủ.
Biết sử dụng đúng và có hiệu quả câu lệnh rẽ
nhánh.
- Nhấn mạnh 3 cấu trúc
điều khiển là tuần tự, rẽ
nhánh và lặp.
- Trình bày đợc thuật
toán của một số bài
toán rẽ nhánh thờng
gặp, chẳng hạn giải ph-
ơng trình bậc nhất.
4. Tổ chức
lặp
Kiến thức
Hiểu đợc câu lệnh lặp kiểm tra điều kiện trớc,
vòng lặp với số lần định trớc.
Biết đợc các tình huống sử dụng từng loại lệnh
lặp.
Kĩ năng
Viết đúng lệnh lặp với số lần định trớc.
- Kĩ năng chỉ yêu cầu
sử dụng lệnh lặp với số
lần định trớc.
5. Kiểu mảng và
biến có chỉ số

Kiến thức
Biết đợc khái niệm mảng một chiều
Biết cách khai báo mảng, truy cập các phần tử
của mảng
Kĩ năng
Thực hiện đợc khai báo mảng, truy cập phần tử
mảng, sử dụng các phần tử của mảng trong biểu
thức tính toán
- Yêu cầu học sinh viết
đợc chơng trình của
một số bài toán sau:
nhập giá trị phần tử của
mảng, in, tính tổng các
phần tử
6. Một số thuật
toán tiêu biểu
Kiến thức
Hiểu thuật toán của một số bài toán thờng gặp
nh: tìm số lớn nhất, số nhỏ nhất; kiểm tra 3 số cho
trớc có phải là độ dài 3 cạnh của tam giác không.
5
CHủ Đề MứC Độ CầN ĐạT GHI CHú
Khai thác phần
mềm học tập
Kiến thức
Biết cách sử dụng phần mềm học tập đã lựa
chọn
Kĩ năng
Thực hiện đợc các công việc khởi động/ra khỏi,
sử dụng bảng chọn, các thao tác tơng tác với phần

mềm.
- Lựa chọn phần mềm
học tập theo hớng dẫn
thực hiện chơng trình.
II. Giới thiệu sách giáo khoa tin học dành cho trung học
cơ sở - quyển 3
1. Cấu trúc, nội dung và phân bổ thời lợng
Sách giáo khoa Tin học dành cho THCS Q3 đợc biên soạn theo một số định
hớng cụ thể sau:
Thể hiện đúng các nội dung, yêu cầu của chơng trình đã đợc Bộ Giáo dục
và Đào tạo phê duyệt là cung cấp cho học sinh những kiến thức, kĩ năng cơ
bản, thiết thực và có hệ thống ban đầu về thuật toán và kĩ thuật lập trình.
Tiếp cận đợc trình độ giáo dục phổ thông của các nớc tiên tiến trong khu
vực và trên thế giới.
Nội dung sách giáo khoa tập trung vào những kiến thức định hớng để từ đó
học sinh có thể phát huy những yếu tố tích cực của các thành tựu công nghệ
thông tin và tăng cờng khả năng tự học.
Nội dung, cách trình bày và diễn đạt ngắn gọn, dễ hiểu thông qua mô tả và
các ví dụ minh hoạ cụ thể.
Cấu trúc
Tơng ứng với Chơng trình giáo dục phổ thông môn Tin học, cấp Trung học
Cơ sở (THCS), phần III, sách giáo khoa (SGK) gồm hai phần:
Phần 1- Lập trình đơn giản: gồm 9 bài lí thuyết, 7 bài thực hành;
Phần 2 - Phần mềm học tập: gồm 4 bài lí thuyết kết hợp với thực hành.
Nội dung
TIN học dành cho THCS - quyển 3
Phần 1- Lập trình đơn giản
Bài 1. Máy tính và chơng trình máy tính
6
Bài 2. Làm quen với Chơng trình và Ngôn ngữ lập trình

Bài thực hành 1. Làm quen với Turbo Pascal
Bài 3. Chơng trình máy tính và dữ liệu
Bài thực hành 2. Viết chơng trình để tính toán
Bài 4. Sử dụng biến trong chơng trình
Bài thực hành 3. Khai báo và sử dụng biến
Bài 5. Từ bài toán đến chơng trình
Bài 6. Câu lệnh điều kiện
Bài thực hành 4. Sử dụng lệnh điều kiện if ... then
Bài 7. Câu lệnh lặp
Bài thực hành 5. Sử dụng lệnh lặp for ... do
Bài 8. Lặp với số lần cha biết trớc
Bài thực hành 6. Sử dụng lệnh lặp while...do
Bài 9. Làm việc với dãy số
Bài thực hành 7 Xử lí dãy số trong chơng trình
Phần 2 - Phần mềm học tập
Luyện gõ phím nhanh với Finger Break Out
Tìm hiểu thời gian với phần mềm Sun Times
Học vẽ hình với phần mềm Geogebra
Quan sát hình không gian với phần mềm Yenka
Đề xuất phân bổ thời lợng:
Nội dung Bài lí thuyết hoặc lí
thuyết kết hợp thực hành
Bài thực
hành
Tổng số
tiết
Phần 1. Lập trình đơn giản 9 7 34
Phần 2. Phần mềm học tập 4 16
Bài tập 8
Ôn tập 4

Kiểm tra 8
Tổng cộng 13 7 70
-
7
-
-
-
-
2. Một số giải thích
a) Sách giáo khoa Tin học dành cho THCS - Quyển 3 đợc biên soạn bám sát
theo nội dung, yêu cầu của Chơng trình giáo dục phổ thông môn Tin học,
cấp THCS, phần III đã đợc ban hành kèm theo Quyết định số 16/2006/QĐ-
BGDĐT ngày 05/5/2006 của Bộ trởng Bộ Giáo dục và Đào tạo.
b) Phần 1 gồm 9 bài lí thuyết, mỗi bài dạy trong 02 tiết lí thuyết và 01 tiết bài
tập, riêng bài 5 dạy trong 04 tiết lí thuyết và và 02 tiết bài tập; các Bài 1 và
2 không có tiết bài tập riêng. Có 7 bài thực hành, mỗi bài dạy trong 02 tiết.
Phần 2 gồm 4 bài lí thuyết kết hợp thực hành. Mỗi bài đợc dạy trong trọn
vẹn 04 tiết. Về cơ bản 8 tiết bài tập dành cho việc làm bài tập phần 1 (Lập
trình đơn giản), phần 2 (Phần mềm học tập) không cần tiết bài tập.
c) Thời lợng dành cho ôn tập cuối kì là 04 tiết, mỗi học kì 02 tiết. Thời lợng
dành cho các bài kiểm tra định kì là 8 tiết, mỗi học kì 04 tiết.
Việc phân bổ thời lợng trên đây chỉ là tơng đối, trong quá trình dạy học giáo viên
(GV) có thể điều chỉnh để phù hợp với tình hình thực tiễn.
d) Trong phân bổ thời lợng, số tiết bài tập là khá nhiều (8 tiết). Điều này thể
hiện câu hỏi, bài tập là một phần quan trọng trong việc giúp HS tiếp thu
kiến thức, rèn luyện kĩ năng.
e) Các nội dung đọc thêm ở cuối bài là không bắt buộc, tránh yêu cầu tất cả
HS phải đọc, hiểu, gây quá tải. GV có thể chọn lựa, giới thiệu, giải thích
đôi chút để gây hứng thú cho các em ham thích, đọc thêm.
3. Gợi ý về cách tiến hành giảng dạy

a) Về cơ bản SGK lựa chọn phơng án trình bày kiến thức, kĩ năng chung về
lập trình và sử dụng ngôn ngữ Pascal để minh hoạ. Cách tiếp cận này thể
hiện rõ việc dạy lập trình nói chung mà không phải là dạy ngôn ngữ lập
trình cụ thể Pascal. Tuy nhiên, khi giảng dạy GV không nhất thiết phải
trình bày theo cách tiếp cận này. Có thể tiếp cận bằng cách đi từ ngôn ngữ
lập trình cụ thể Pascal rồi khái quát thành những kiến thức, kĩ năng của lập
trình nói chung. Cách tiếp cận từ cụ thể đến khái quát có thể sẽ phù hợp
8
hơn với phần lớn HS THCS. Trong SGV, ở nội dung của từng bài cụ thể đ-
ợc gợi ý về cách dạy học theo hớng từ cụ thể để khái quát.
b) Do sử dụng ngôn ngữ Pascal để minh hoạ, thời lợng làm việc với các câu
lệnh, chơng trình, phần mềm TP là khá nhiều nên dễ cảm nhận là đang học
ngôn ngữ Pascal. Vì vậy, trong quá trình dạy học GV cần lu ý tiến hành
khái quát đúng lúc, đúng chỗ để HS vợt ra khỏi một ngôn ngữ cụ thể, rút ra
đợc những kiến thức, kĩ năng, nguyên lí của lập trình nói chung. Trong
SGV có hớng dẫn thời điểm khái quát hoá kiến thức, kĩ năng ở một số bài
học cụ thể.
c) Các chơng trình đợc viết khi học ở tiết lí thuyết, tiết bài tập cần để HS chạy
thử ở bài thực hành ngay sau đó. Làm nh vậy sẽ giúp HS củng cố, hiểu rõ
hơn về nội dung lí thuyết vừa học. Hơn nữa, việc này sẽ giúp tạo hứng thú,
củng cố niềm tin cho HS, gắn kết tốt hơn giữa học với hành. Để tránh HS
mất nhiều thời gian vào việc gõ chơng trình, GV nên gõ sẵn các chơng
trình đợc viết trong giờ lí thuyết, giờ bài tập để HS chỉnh sửa, chạy thử, tìm
hiểu trong giờ thực hành, không nên yêu cầu HS gõ các chơng trình này
trong tiết thực hành.
d) Trong phân bổ thời lợng dành 8 tiết để làm bài tập, 4 tiết để ôn tập. Các tiết
này cha đợc định nội dung cụ thể, GV hoàn toàn chủ động đa ra nội dung
cho tiết bài tập, ôn tập. Tuy nhiên, tiết bài tập nên dành thời gian để hớng
dẫn học sinh làm một số bài tập trong SGK (nếu trong tiết lí thuyết cha làm
hết), chuẩn bị cho những bài thực hành sau đó. Tuỳ mức độ tiếp thu của

HS, GV có thể ra thêm các bài tập, bổ sung bài thực hành trên máy tính để
HS ôn luyện kiến thức, kĩ năng. Các tiết ôn tập nên đợc bố trí vào cuối kì
(ngay trớc hoặc ngay sau bài kiểm tra cuối học kì), trong tiết ôn tập cần
tổng kết, khái quát những kiến thức, kĩ năng trọng tâm của chơng trình để
HS khắc sâu, ghi nhớ. Đặc biệt tiết ôn tập cần khái quát hoá để thể hiện đ-
ợc t tởng dạy lập trình mà không dạy ngôn ngữ lập trình cụ thể.
e) Trong SGV có gợi ý mô tả một số thuật toán theo cách biểu diễn gần với
câu lệnh mà học sinh cần viết hoặc cần tìm hiểu trong chơng trình tơng
ứng. GV có thể tham khảo, lựa chọn cách mô tả này để giảng dạy phù hợp
với đối tợng HS của mình.
f) Các bài toán đợc giới thiệu trong SGK nói chung là đơn giản, có thể viết
chơng trình mà không gặp nhiều khó khăn. Đối với một bài toán cụ thể,
nhiệm vụ của HS là viết đợc chơng trình. Tuy nhiên, qua các bài toán HS
cần hiểu và thực hiện đợc các bớc giải bài toán trên máy tính: Xác định bài
toán, xây dựng (lựa chọn) thuật toán và viết chơng trình. Do vậy, cần thực
9
hiện đầy đủ các bớc đi từ bài toán đến chơng trình: Xác định input, output
của bài toán, xây dựng, mô tả thuật toán bằng cách liệt kê và viết chơng
trình.
g) Có một thực tế là một số câu lệnh (nhất là câu lệnh có cấu trúc) thì hay đợc
giới thiệu gắn liền với một số bài toán, thuật toán điển hình nào đó. Cách
làm này có thuận lợi là HS vừa học đợc câu lệnh mới vừa học đợc bài toán,
thuật toán mới. Tuy nhiên, đối với một số HS việc cùng lúc phải học cả hai
nội dung mới không phải lúc nào cũng dễ dàng. Để giảm bớt khó khăn cho
HS, nên tách việc dạy câu lệnh mới với việc dạy thuật toán mới, nghĩa là
dạy xong câu lệnh rồi đến thuật toán hoặc ngợc lại. Trong SGV có giới
thiệu một số cách làm nh vậy, bài toán sử dụng để giới thiệu hoặc áp dụng
câu lệnh mới thờng dễ hoặc HS đã biết bài toán, thuật toán từ trớc. Khi đó,
HS chỉ còn duy nhất nhiệm vụ tìm hiểu câu lệnh, không phải mất thời gian
để hiểu bài toán, thuật toán. HS chỉ cần tập trung tìm hiểu câu lệnh mới.

Ngợc lại, khi giới thiệu thuật toán mới thì cần sử dụng câu lệnh HS đã biết
sử dụng, lúc đó HS cũng chỉ tập trung vào tìm hiểu thuật toán mới. Hi vọng
cách làm nh vậy sẽ tạo thuận lợi để học sinh tiếp thu kiến thức nhẹ nhàng
hơn.
h) SGK là tài liệu mà HS nào cũng có. SGK đợc in màu, hình thức đẹp, các
tranh, ảnh cách trình bày trong SGK đã đợc chọn lọc, cân nhắc kĩ lỡng. Vì
vậy, cần khai thác tối đa SGK trong quá trình dạy học. Một trong những
việc có thể thực hiện ngay trong lớp học đó là hớng dẫn HS và dành thời
gian cho HS tự nghiên cứu nội dung SGK. Ban đầu việc giao bài cho HS
đọc có thể mất thời gian, nhng khi kĩ năng đọc hiểu của HS đợc cải thiện
thì việc dành thời gian để các em tự đọc có thể sẽ không những không mất
thời gian mà ngợc lại sẽ tiết kiệm thời gian.
i) Việc dạy học các phần mềm dạy học sẽ hiệu quả hơn nếu tiến hành tại
phòng máy tính. Nhng khi dạy lập trình không nên lạm dụng phòng máy
tính. Tiết thực hành cơ bản là để HS chạy thử chơng trình, rèn luyện kĩ
năng làm việc với môi trờng lập trình. Không để tình trạng vào tiết thực
hành HS mới biết bài toán và viết chơng trình ngay trên máy tính mà cha
chuẩn bị trớc.
j) Việc giới thiệu phần mềm học tập nhằm mục đích chính là cung cấp kiến
thức, rèn luyện kĩ năng khai thác phần mềm cho HS. Bên cạnh đó, việc
khai thác phần mềm học tập còn nhằm mục đích tạo sự thay đổi, gây thêm
hứng thú học tập. Do vậy, mặc dù SGK trình bày hai phần tách biệt nhng
không có nghĩa là phải dạy theo đúng tuần tự trình bày các bài trong SGK.
10
Nội dung của Phần 2 (Phần mềm học tập) cần đợc dạy xen kẽ với Phần 1
(Lập trình đơn giản). Cũng chính vì lí do này mà trong SGK không đánh số
thứ tự bài ở phần Phần mềm học tập.
4. Ôn tập và kiểm tra
a) Thời lợng dành cho ôn tập là 04 tiết (02 tiết/học kì). Căn cứ vào tình hình
thực tế của lớp học, giáo viên tự xác định nội dung các tiết ôn tập. Tuy

nhiên, nên dành các tiết ôn tập để ôn luyện, tổng kết kiến thức, kĩ năng
trọng tâm của chơng trình. Trong các tiết ôn tập GV cần khái quát kiến
thức, kĩ năng lập trình nói chung thể hiện rõ mục tiêu, trọng tâm của chơng
trình.
b) Thời lợng để kiểm tra, đánh giá là 8 tiết, mỗi học kì 04 tiết. Có thể dành 2
tiết cho bài kiểm tra cuối học kì, 2 tiết còn lại dành cho các bài kiểm tra
định kì trong học kì. Nếu tiến hành hai bài kiểm tra định kì (mỗi bài 1 tiết)
trong một học kì, thì nên có một bài kiểm tra trên giấy, 1 bài kiểm tra thực
hành trên máy. Hớng dẫn cụ thể hơn về kiểm tra, đánh giá có trong cuốn
Hớng dẫn thực hiện chơng trình, sách giáo khoa môn Tin học lớp 8 và phân
phối chơng trình môn học.
c) Nội dung kiểm tra phải đảm bảo cả lí thuyết và thực hành. Cần lựa chọn
nội dung kiểm tra để đảm bảo bao quát hết kiến thức, kĩ năng trọng tâm
của chơng trình.
d) Một số nội dung trong phần lập trình đơn giản thuận lợi cho việc áp dụng
phơng pháp trắc nghiệm khách quan trong kiểm tra, đánh giá. Vì vậy, cần
lu ý tăng cờng sử dụng trắc nghiệm khách quan trong kiểm tra, đánh giá
nội dung này.
e) Việc kiểm tra, đánh giá có tác động đến quá trình dạy học. Để định hớng
học tập đúng cho HS, bên cạnh việc kiểm tra những kiến thức, kĩ năng gắn
liền với ngôn ngữ lập trình cụ thể, cần dành một tỉ lệ thích đáng cho câu
hỏi, bài tập về kiến thức, kĩ năng lập trình nói chung. Những câu hỏi, bài
tập này sẽ giúp HS có ý thức chú trọng đến kiến thức, kĩ năng lập trình nói
chung, tránh HS chỉ chú trọng đến đến chi tiết cụ thể của ngôn ngữ lập
trình Pascal.
f) Cần tiến hành đánh giá học sinh trong giờ thực hành, điểm này là điểm
kiểm tra thờng xuyên (hệ số 1). Trong tiết thực hành có thể đánh giá, cho
điểm cả lớp một nhóm hoặc một vài học sinh. Tuy nhiên, cần lu ý mục tiêu
của giờ thực hành là để học sinh thực hành, không phải là giờ kiểm tra.
11

Kiểm tra trong giờ thực hành là để học sinh tập trung, chăm chỉ, nghiêm
túc học tập.
g) Việc kiểm tra, đánh giá môn Tin học cấp THCS đợc thực hiện theo Quy
chế Đánh giá, xếp loại học sinh trung học cơ sở và học sinh trung học phổ
thông (Ban hành kèm theo Quyết định số: 40/2006/QĐ-BGDĐT ngày 05
tháng 10 năm 2006 của Bộ trởng Bộ Giáo dục và Đào tạo).
5. Thiết bị dạy học
a) Bộ Giáo dục và Đào tạo đang tiến hành xây dựng, ban hành danh mục thiết
bị dạy học tối thiểu môn Tin học cấp THCS. Theo đó, các trờng THCS phải
đáp ứng đợc danh mục thiết bị dạy học tối thiểu này thì mới có thể tổ chức
dạy học môn Tin học. Dự kiến danh mục thiết bị dạy học tối thiểu quy
định mỗi trờng THCS phải có tối thiểu một phòng máy với ít nhất 25 máy
vi tính nối mạng và kết nối Internet. Ngoài máy tính, danh mục còn có các
tranh, ảnh đợc phóng to để dạy học.
b) Phần lớn các nội dung dạy học Tin học THCS sẽ rất hiệu quả khi sử dụng
các thiết bị trình chiếu, do vậy máy chiếu projector, máy chiếu overhead,
máy chiếu vật thể,... là các thiết bị đợc khuyến khích trang bị để dạy học
cho môn Tin học.
c) Trong SGK sử dụng phần mềm Turbo Pascal để minh hoạ. Phần mềm TP
chạy trên các máy tính có tốc độ cao hiện nay có thể bị lỗi Division by
zero (khi sử dụng th viện crt - uses crt). GV có thể tải phần mềm TP đã đợc
chỉnh sửa lỗi này trên website www.vnschool.net. Với các nội dung dạy học
trong SGK thì hoàn toàn có thể thay thế TP (for Dos) bằng Pascal for
Windows hoặc Free Pascal. Các phần mềm phục vụ dạy học theo SGK (kể
cả các phần mềm học tập) đều có thể đợc tải về từ website nêu trên và có
sẵn trong đĩa CD của GV tham dự lớp bồi dỡng GV cốt cán.
d) Những trờng đợc trang bị hệ thống Hishare (một CPU kết nối với nhiều
màn hình) có thể gặp khó khăn khi sử dụng TP (for DOS), do tốc độ rất
chậm. Trong trờng hợp đó nên thay thế TP (for DOS) bằng Pascal for
Windows hoặc Free Pascal.

e) Hiện nay ở một số trờng THCS có thể còn có những máy tính cấu hình
thấp đã đợc trang bị từ trớc. Những máy tính này hoàn toàn có thể đợc sử
dụng để thực hành với phần mềm TP (for DOS). Do vậy, cần rà soát, tận
dụng các máy tính cũ để phục vụ cho các tiết thực hành với TP.
f) Hiện nay có một số phần mềm hỗ trợ cho việc quản lí dạy học trên phòng
máy tính. Hơn thế nữa các phần mềm này còn giúp khai thác phòng thực
12
hành môn Tin học nh một phòng đa phơng tiện để dạy học môn học khác.
Dới đây giới thiệu một số phần mềm để giáo viên tham khảo:
o XClass: www.hungphat.com.vn.
o Magic Class: www.anhkiet.com.vn.
o NetOPSchool (Đề nghị sử dụng www.google.com để tìm kiếm).
o E-Learning Class (Đề nghị sử dụng www.google.com để tìm kiếm).
13
B. những vấn đề cụ thể
phần 1. lập trình đơn giản
I. Giới thiệu
1. Mục tiêu
Mục tiêu của phần này là cung cấp cho HS một số kiến thức, kĩ năng cơ bản,
phổ thông về lập trình thông qua ngôn ngữ lập trình bậc cao Pascal.
Kiến thức
Biết đợc khái niệm bài toán, thuật toán, mô tả thuật toán bằng cách
liệt kê;
Biết đợc một chơng trình là mô tả của một thuật toán trên một ngôn ngữ
cụ thể;
Hiểu thuật toán của một số bài toán đơn giản (tìm số lớn nhất, số nhỏ
nhất; kiểm tra ba số cho trớc có phải là độ dài ba cạnh của một tam giác
không);
Biết cấu trúc của một chơng trình, một số thành phần cơ sở của ngôn ngữ;
Hiểu một số kiểu dữ liệu chuẩn, đơn giản, cách khai báo biến;

Biết các khái niệm: phép toán, biểu thức số học, hàm số học chuẩn, biểu
thức quan hệ;
Hiểu đợc lệnh gán;
Biết các câu lệnh vào/ra đơn giản để nhập thông tin từ bàn phím và đa
thông tin ra màn hình;
Hiểu đợc câu lệnh điều kiện, câu lệnh ghép, câu lệnh lặp kiểm tra điều
kiện trớc, vòng lặp với số lần định trớc;
Biết đợc các tình huống sử dụng từng loại lệnh lặp;
Biết đợc khái niệm mảng một chiều, cách khai báo mảng, truy cập các
phần tử của mảng.
Kĩ năng
Mô tả đợc thuật toán đơn giản bằng liệt kê các bớc;
14
Viết đợc chơng trình đơn giản, khai báo đúng biến, câu lệnh vào/ra để
nhập thông tin từ bàn phím hoặc đa thông tin ra màn hình;
Viết đúng các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ;
Biết sử dụng đúng và có hiệu quả câu lệnh điều kiện;
Viết đúng lệnh lặp với số lần định trớc;
Thực hiện đợc khai báo mảng, truy cập phần tử mảng, sử dụng các phần
tử của mảng trong biểu thức tính toán.
Thái độ
Nghiêm túc trong học tập, ham thích lập trình trên máy tính để giải các
bài tập.
2. Nội dung
Bài 1. Máy tính và chơng trình máy tính (2 tiết)
Bài 2. Làm quen với chơng trình và ngôn ngữ lập trình (2 tiết)
Bài thực hành 1. Làm quen với Turbo Pascal (2 tiết)
Bài 3. Chơng trình máy tính và dữ liệu (2 tiết)
Bài thực hành 2. Viết chơng trình để tính toán (2 tiết)
Bài 4. Sử dụng biến trong chơng trình (2 tiết)

Bài thực hành 3. Khai báo và sử dụng biến (2 tiết)
Bài 5. Từ bài toán đến chơng trình (4 tiết)
Bài 6. Câu lệnh điều kiện (2 tiết)
Bài thực hành 4. Sử dụng lệnh điều kiện if ... then (2 tiết)
Bài 7. Câu lệnh lặp (2 tiết)
Bài thực hành 5. Sử dụng lệnh lặp for ... do (2 tiết)
Bài 8. Lặp với số lần cha biết trớc (2 tiết)
Bài thực hành 6. Sử dụng lệnh lặp while...do (2 tiết)
Bài 9. Làm việc với dãy số (2 tiết)
Bài thực hành 7. Xử lí dãy số trong chơng trình (2 tiết)Nh đã nói ở trên, việc
phân bố thời lợng nh trên chỉ là tơng đối, trong quá trình giảng dạy, nhà trờng,
giáo viên có thể phân bố thời lợng cho các bài sao cho phù hợp hơn với tình hình
cụ thể của nhà trờng và trình độ nhận thức của học sinh.
3. Những điểm cần lu ý và gợi ý dạy học
15
a. Nội dung của phần này là cung cấp cho học sinh một số kiến thức và kĩ năng
ban đầu về lập trình. Sau phần này, học sinh sẽ có một số hiểu biết cơ bản về lập
trình, viết đợc một số chơng trình đơn giản bằng một ngôn ngữ lập trình cụ thể là
ngôn ngữ Pascal. Các chơng trình đơn giản này một mặt gây sự hứng thú cho học
sinh trong việc tìm hiểu các bài toán phức tạp hơn và viết chơng trình để giải quyết
các bài toán đó, mặt khác chúng có thể phục vụ cho việc học tập và tìm hiểu sâu
hơn các môn học khác, nhất là môn Toán.
Phần này đợc chia thành 9 bài lí thuyết và 7 bài thực hành, nội dung mỗi bài đ-
ợc biên soạn để trình bày trọn vẹn trong 02 tiết và 01 tiết bài tập. Riêng với Bài 5
thời lợng đợc tăng gấp đôi, tức 04 tiết lí thuyết và 02 tiết câu hỏi và bài tập. Mỗi
bài thực hành đợc trình bày ngay sau bài lý thyết nhằm mục đích để học sinh ghi
nhớ và rèn luyện những kiến thức và kĩ năng học sinh đã học trong bài lí thuyết tr-
ớc đó.
b. Về cơ bản SGK trình bày theo cách tiếp cận các kiến thức, khái niệm cơ bản
về lập trình từ khái quát đến cụ thể. Mục tiêu của SGK là trình bày các khái niệm

ban đầu về lập trình nói chung, với cố gắng không gắn với một ngôn ngữ lập trình
cụ thể. Cách tiếp cận này thể hiện rõ mục tiêu chính của chơng trình là dạy kiến
thức, kĩ năng về lập trình, ngôn ngữ lập trình nói chung, không phải dạy một ngôn
ngữ lập trình nhất định.
Đối với HS THCS, để HS dễ tiếp thu, việc trình bày về ngôn ngữ lập trình cần
thông qua một ngôn ngữ lập trình cụ thể để minh hoạ, giải thích. Hơn nữa, các kĩ
năng lập trình nh viết, chỉnh sửa, dịch, chạy và kiểm thử chơng trình đòi hỏi phải
sử dụng một ngôn ngữ lập trình bậc cao cụ thể. Khó có thể lựa chọn một ngôn ngữ
lập trình cụ thể nào đó đáp ứng cùng lúc đợc các tiêu chí nh: hiện đại, cập nhật, dễ
hiểu, dễ dùng, giá thành rẻ (hoặc miễn phí) và tính s phạm cao. Cho nên cách sử
dụng Pascal để minh hoạ trong SGK chỉ là một phơng án. Giáo viên có thể thay
thế ngôn ngữ Pascal bằng một ngôn ngữ lập trình khác phù hợp hơn với thực tế của
lớp học miễn là truyền đạt đợc kiến thức, kĩ năng theo yêu cầu của chơng trình.
Việc lựa chọn ngôn ngữ Pascal để minh hoạ trong SGK cũng đợc cân nhắc kĩ l-
ỡng bởi một số lí do chính sau đây: (1) Ngôn ngữ Pascal là ngôn ngữ lập trình cấu
trúc, trong sáng, có tính s phạm cao; (2) Phần lớn GV Tin học ở cấp THCS hiện
nay đã đợc học và thực hành ngôn ngữ lập trình Pascal là chính; (3) Ngôn ngữ
Pascal có nhiều phiên bản chạy đợc trên hệ điều hành khác nhau hiện có trong tr-
ờng THCS; (4) Ngôn ngữ lập trình Pascal chạy đợc trên hầu hết tất cả các máy đã
đợc trang bị ở các trờng THCS từ trớc đến nay; (5) Việc cài đặt Pascal là dễ dàng
và ngôn ngữ Pascal có thể đợc sử dụng miễn phí.
16
Cũng có thể có ý kiến cho rằng có thể chọn một ngôn ngữ lập trình khác để
minh họa, chẳng hạn nh Logo, Basic, VB, C hoặc Java, nhất là VB, C và Java do
chúng là những ngôn ngữ hiện đại và hiện đợc sử dụng để phát triển hầu hết các
ứng dụng. Hai ngôn ngữ đầu là những ngôn ngữ ít đợc phổ biến, hoặc đã không
còn đợc sử dụng rộng rãi. Những ngôn ngữ sau lại là những ngôn ngữ khá nặng nề
và phức tạp trong việc cài đặt và sử dụng, nhất là trong điều kiện hiện nay về cơ sở
vật chất của các trờng phổ thông. Do đó các tác giả thấy rằng hiện tại Pascal vẫn là
lựa chọn hợp lí và khả thi nhất.

Tuy sử dụng Pascal để minh họa, khi giảng dạy giáo viên cần lu ý truyền đạt
kiến thức về lập trình là chính, tránh việc sa đà trình bày quá nhiều chi tiết về các
thủ thuật với ngôn ngữ Pascal.
c. Do chỉ là một ngôn ngữ đóng vai trò minh họa cho các kiến thức bắt đầu về
lập trình nên các nội dung cụ thể gắn liền với Pascal trong SGK đã đợc cố gắng
trình bày một cách cô đọng, tăng tính trực quan và giảm tối đa tính hình thức theo
nguyên tắc cần đến đâu thì giới thiệu đến đó. SGK không nhằm mục đích giới
thiệu các thành phần, kiểu dữ liệu, cú pháp, ngữ nghĩa của các câu lệnh và các đặc
trng khác của Pascal một cách đầy đủ nh là cẩm nang về lập trình. Chẳng hạn, rất
nhiều kiểu dữ liệu, câu lệnh điều kiện case, các câu lệnh lặp khác,... không đợc
giới thiệu trong SGK, nhiều câu lệnh chỉ đợc giới thiệu ngắn gọn mà không đi sâu
vào giải thích cú pháp và ngữ nghĩa, v.v.
Các ví dụ và chơng trình Pascal cũng đợc lựa chọn và trình bày theo nguyên tắc
trên. Xét về mặt nào đấy, chúng có thể cha phải là những chơng trình đã đợc viết
một cách gọn nhất hoặc tối u nhất. Tuy nhiên chúng đợc mô tả và trình bày một
cách phù hợp với sự phát triển t duy của học sinh sau khi đã đợc giới thiệu phần
kiến thức tơng ứng về ngôn ngữ lập trình. Trong quá trình học tập, với sự hớng dẫn
của giáo viên, học sinh có thể chỉnh sửa để có các chơng trình tốt hơn, qua đó phát
triển tốt hơn các kĩ năng lập trình.
d. Về thứ tự trình bày các nội dung trong Phần 1, giáo viên cần lu ý một vài
điểm sau đây. Trớc hết, cần nhấn mạnh rằng việc xác định bài toán và xây dựng
thuật toán là bớc quan trọng nhất trong việc viết chơng trình. Chơng trình chỉ là
thể hiện một thuật toán cụ thể bằng ngôn ngữ lập trình. Chơng trình chỉ hoạt động
có hiệu quả khi có thuật toán đúng và tối u và do vậy chỉ có thể viết đợc chơng
trình sau khi đã xây dựng và mô tả thuật toán. Xét theo thứ tự thời gian và t duy
logic thì nội dung giới thiệu về bài toán và thuật toán cần đợc giới thiệu ngay từ
Bài 1.
Tuy nhiên, các tác giả cho rằng nội dung về thuật toán và mô tả thuật toán là
vấn đề khó nhất trong toàn bộ nội dung của SGK. Trớc hết, thuật toán luôn luôn
17

gắn liền với t duy toán học, việc mô tả thuật toán lại gắn liền với t duy công nghệ.
Không phải ngẫu nhiên mà đa phần học sinh thờng khó hiểu nội dung phép gán
giá trị cho một biến, đặc biệt là dới dạng X = X + 1. Nếu trình bày về thuật toán
ngay trong Bài 1, khi học sinh mới bắt đầu một năm học mới, sẽ gây cảm giác quá
tải cho học sinh, nhất là đối với phần lớn học sinh không có nhiều năng khiếu về
toán. Hơn thế nữa, việc giới thiệu nh thế sẽ làm cho học sinh hiểu nhầm rằng lập
trình chính là giải toán (mặc dù việc giải quyết các bài toán nhỏ đúng là nh thế).
Mặt khác, với tâm sinh lí học sinh THCS, trớc khi giới thiệu những nội dung
khó cần bắt đầu dẫn dắt từ những nội dung nhẹ nhàng hơn và dễ gây hứng thú cho
học sinh. Nội dung của các bài từ 1 đến 4 phục vụ mục đích này.
Có một lý do khác là nếu cha đợc giới thiệu và cha hiểu đợc bản chất của phép
gán, học sinh sẽ rất khó hiểu các nội dung về thuật toán. Trong khi đó, để học sinh
có đợc khái niệm về phép gán thì cách tốt nhất là giới thiệu các nội dung liên quan
đến biến trong lập trình.
Cuối cùng, để học sinh hiểu đợc nội dung của các bài từ 1 đến 4 không cần
thiết phải có những kiến thức về thuật toán. Các vấn đề giới thiệu trong các bài đó
và trong các bài thực hành có thể giải quyết đợc với những thuật toán hiển
nhiên, hầu nh học sinh nào cũng có thể nhận biết và áp dụng. Tuy nhiên, trớc khi
đề cập tới các cấu trúc điều khiển trong chơng trình thì lại cần thiết phải giới thiệu
trớc về khái niệm thuật toán và mô tả thuật toán.
Đó chính là lí do nội dung về bài toán và thuật toán đợc trình bày trong Bài 5.
e. Mỗi phần nội dung trong SGK đợc trình bày trong một bài lí thuyết và một
bài thực hành. Bài lí thuyết giới thiệu các kiến thức ban đầu về nội dung tơng ứng.
Ngay sau bài lí thuyết (trừ bài 1 và bài 5) là bài thực hành những kiến thức lí
thuyết đã học. Mục đích chính của các bài thực hành là cung cấp kĩ năng cho HS,
qua đó hiểu sâu hơn về các nội dung vừa học ở bài lí thuyết. Các bài thực hành này
về cơ bản là để HS thực hành, sử dụng những nội dung vừa học ở phần lí thuyết.
Tuy nhiên, càng về sau các bài thực hành không chỉ phục vụ cho việc củng cố,
thực hành nội dung lí thuyết của bài học tơng ứng mà còn giúp ôn luyện những
kiến thức, kĩ năng đã đợc học ở các bài trớc đó.

f. Cấu trúc của mỗi bài lí thuyết đợc xây dựng một cách nhất quán nh sau:
Mỗi bài lí thuyết đêu cố gắng bắt đầu bằng những ví dụ trong cuộc sống hàng
ngày, từ đó dẫn dắt đến cách thức giải quyết các vấn đề đời thờng đó bằng cách
viết chơng trình. Quan điểm của các tác giả là chơng trình máy tính đợc viết chính
là để giải quyết các bài toán đời thờng nh thế. Bằng cách đó học sinh sẽ dễ thấy
18
hơn mối liên hệ chặt chẽ giữa việc lập trình và cuộc sống, cũng lợi ích của việc lập
trình để giải quyết các bài toán bằng máy tính.
Phần nội dung tiếp theo trình bày các thành phần cơ bản hoặc cấu trúc tơng ứng
của ngôn ngữ lập trình nói chung. Các nội dung này đợc cố gắng trình bày ở mức
tổng quát nhất có thể, nhng vẫn đảm bảo học sinh có thể hiểu đợc. Do đó, khi sử
dụng Pascal để minh họa trong các mục tiếp theo, SGK không cố gắng trình bày
cú pháp và ngữ nghĩa của các câu lệnh Pascal một cách đầy đủ và chi tiết. Giáo
viên cần lu ý điều này để bổ sung cho học sinh trong các bài thực hành tiếp ngay
sau đó.
Cuối cùng là một số ví dụ về chơng trình để minh họa tình huống sử dụng. Về
các ví dụ, các tác giả đã cố gắng hạn chế đến mức tối đa việc lập trình giải quyết
các bài toán có nội dung toán học, tránh gây quá tải cho học sinh hoặc dẫn đến sự
hiểu nhầm là lập trình gắn liền với toán học. Tuy nhiên, do hạn chế về nội dung
của chơng trình, những minh họa gây hứng thú hơn nh thiết kế giao diện, màu sắc,
phông chữ hoặc mô phỏng chuyển động của các đối tợng trên màn hình đã không
đợc đa vào. Do vậy các ví dụ về toán học vẫn chiếm một tỷ lệ đáng kể.
Cuối mỗi bài lí thuyết đều có mục Ghi nhớ liệt kê một số điểm chính của bài
học để HS dễ dàng ghi nhớ. Mục ghi nhớ là căn cứ để GV xác định nội dung kiến
thức, kĩ năng trọng tâm của mỗi bài.
Mỗi bài lí thuyết đều có phần Câu hỏi và bài tập nhằm mục đích cho học sinh
ôn luyện các kiến thức, kĩ năng của bài học lí thuyết và chuẩn bị cho bài thực hành
ngay sau đó. Một phần của các câu hỏi, bài tập này chỉ là nhắc lại các kiến thức
của bài học lí thuyết, vì vậy cần hớng dẫn HS làm ngay trên lớp. Một phần khác
dành để giúp học sinh nắm vững hơn cú pháp và ngữ nghĩa của các câu lệnh

Pascal. Với những câu hỏi và bài tập này giáo viên nên hớng dẫn học sinh giải và
trả lời trong tiết bài tập.
Trong phân bổ thời lợng, số tiết bài tập là khá nhiều (8 tiết). Điều này thể hiện
câu hỏi, bài tập là một phần quan trọng trong việc giúp HS tiếp thu kiến thức, rèn
luyện kĩ năng. Hệ thống câu hỏi, bài tập đa dạng, phù hợp với HS THCS, phù hợp
với đổi mới dạy học và đổi mới kiểm tra, đánh giá. Tốt nhất là nên tổ chức tiết bài
tập sau khi học sinh đã thực hiện các tiết thực hành.
Số lợng các câu hỏi và bài tập tơng đối nhiều. Tuy nhiên, đa số các bài đó chỉ là
các câu hỏi và bài tập dễ, học sinh chỉ cần hiểu các kiến thức trong bài lý thuyết tr-
ớc đó là có thể trả lời và giải đợc. Một số bài tập khác, mặc dù không vợt quá kiến
thức đã trình bày trong phần lí thuyết, nhng đòi hỏi học sinh vận dụng kiến thức
một cách linh hoạt hơn. Việc đa ra nhiều câu hỏi và bài tập một mặt giúp cho việc
sử dụng SGK một cách hiệu quả và linh hoạt hơn trong những điều kiện học sinh
19
khác nhau về trình độ, mặt khác giúp cho học sinh có thể có điều kiện đào sâu suy
nghĩ hơn kiến thức lí thuyết và giúp giáo viên phân biệt trình độ của học sinh rõ
hơn. Cũng có thể, ngay tại một trờng, một số bài tập đối với học sinh trong một
lớp là hơi khó, nhng các học sinh trong một lớp khác lại có thể tự giải tất cả các
bài tập đó một cách không khó khăn lắm. Do vậy, tuỳ tình hình tiếp thu kiến thức
của HS, giáo viên có thể lựa chọn chỉ làm một số bài hoặc chủ động ra thêm các
câu hỏi, bài tập phù hợp với trình độ học sinh, không nhất thiết phải làm hết các
câu hỏi, bài tập trong SGK.
g. Các bài thực hành cũng đợc xây dựng một cách nhất quán với việc đề ra mục
tiêu, các bớc cần thực hiện, thông thờng ở mức khá chi tiết. Ngoài ra còn có các ví
dụ để học sinh tìm hiểu tác dụng của các câu lệnh trong chơng trình. Do thời lợng
có hạn, giáo viên nên khuyến khích học sinh viết và chạy các chơng trình đó khi tự
học ở nhà.
Khác với các bài thực hành trong các Quyển 1 và 2, trong SGK quyển 3 nội
dung các bài thực hành không chỉ ôn luyện, củng cố, thực hành các kiến thức đã
học mà còn giới thiệu kiến thức mới, cụ thể là những kiến thức lí thuyết, nhng gắn

liền với ngôn ngữ lập trình Pascal. Một số kiến thức này không đợc trình bày trong
bài lí thuyết với chủ đích tránh làm dàn trải các nội dung lí thuyết về lập trình nói
chung. Một số câu lệnh, thủ tục, hàm Pascal đợc giới thiệu trong bài thực hành.
Kiến thức về câu lệnh đợc đúc rút sau khi HS đã đợc thực hành về câu lệnh. Giáo
viên cần nhận rõ sự khác biệt này, dành thời gian giới thiệu, hớng dẫn cho học
sinh để tăng hiệu quả của các giờ thực hành.
Mục Tổng kết cuối mỗi bài thực hành tóm tắt các kiến thức, kĩ năng cơ bản học
sinh cần tiếp thu đợc của bài thực hành, chủ yếu là các bớc đã thực hiện, cú pháp,
ngữ nghĩa cũng nh cách sử dụng của Pascal. Phần này giúp HS hệ thống lại những
kiến thức, kĩ năng của bài thực hành và là nội dung giúp HS tra cứu nhanh trong
quá trình học tập. Tuy nhiên, không nên yêu cầu học sinh học thuộc lòng phần nội
dung này. Trong quá trình thực hành, học sinh sẽ từng bớc ghi nhớ cú pháp và ngữ
nghĩa các câu lệnh.
h. Nội dung về bài toán và thuật toán (Bài 5) đợc phân bố thời lợng gấp đôi (04
tiết lí thuyết và 02 tiết bài tập). Theo đánh giá của các tác giả, đây là một phần nội
dung quan trọng, nếu không nói là quan trọng nhất. Nếu đã nắm vững cách thức
mô tả thuật toán để giải quyết bài toán, học sinh sẽ dễ dàng tiếp thu đợc các kiến
thức trình bày trong những bài tiếp theo.
Có thể biểu diễn thuật toán bằng sơ đồ khối hoặc bằng cách liệt kê. Tuy nhiên,
SGK lựa chọn giới thiệu cách biểu diễn thuật toán bằng cách liệt kê. Về cơ bản
cách liệt kê gần gũi với cách t duy của HS THCS hơn và đặc biệt là mô tả bằng
20
cách liệt kê thuận lợi hơn cho viết chơng trình. ở một vài chỗ, SGK chỉ sử dụng sơ
đồ khối để biểu diễn hoạt động của cấu trúc điều khiển (rẽ nhánh, lặp). GV không
giới thiệu thêm về cách biểu diễn thuật toán bằng sơ đồ khối hoặc yêu cầu học
sinh mô tả thuật toán bằng cách vẽ sơ đồ khối.
Bên cạnh các kiến thức, kĩ năng theo yêu cầu của Chơng trình, SGK còn giới thiệu
thêm một số nội dung, ví dụ một số công cụ lập trình (câu lệnh, hàm chuẩn, thủ
tục chuẩn) nhằm tạo thêm hứng thú cho HS; một số bài toán, thuật toán phổ thông,
đơn giản để HS mở rộng thêm kiến thức, kĩ năng; một số câu hỏi, bài tập, bài thực

hành có yêu cầu cao hơn dành cho HS khá, giỏi.
Một số kiến thức nh cú pháp câu lệnh, cú pháp khai báo biến, kiểu dữ liệu,... đ-
ợc giới thiệu dần dần. Do cách giới thiệu nh vậy nên ban đầu có thể cha đủ, cha
bao quát hết nhng đảm bảo không sai. Khai báo biến, cú pháp câu lệnh rẽ nhánh,
câu lệnh lặp... đợc đúc rút, khái quát hoá sau tiết thực hành.
i. Các nội dung đọc thêm ở cuối bài là không bắt buộc, tránh yêu cầu tất cả HS
phải đọc, hiểu, gây quá tải. GV có thể chọn lựa, giới thiệu, giải thích đôi chút để
gây hứng thú cho các em ham thích, đọc thêm.
Việc phân bổ thời lợng cho các bài lí thuyết, thực hành là tơng đối, GV có thể
phối hợp với các tiết bài tập, ôn tập để tự cân đối thời lợng cho phù hợp với tình
hình giảng dạy thực tiễn. Điều quan trọng là đảm bảo truyền đạt đúng, đủ kiến
thức, kĩ năng theo yêu cầu của Chơng trình.
II. Hớng dẫn chi tiết
Bài 1. Máy tính và chơng trình máy tính
1. Mục đích, yêu cầu
Biết con ngời chỉ dẫn cho máy tính thực hiện công việc thông qua lệnh.
Biết chơng trình là cách để con ngời chỉ dẫn cho máy tính thực hiện nhiều
công việc liên tiếp một cách tự động.
Biết rằng viết chơng trình là viết các lệnh để chỉ dẫn máy tính thực hiện
các công việc hay giải một bài toán cụ thể.
Biết ngôn ngữ dùng để viết chơng trình máy tính gọi là ngôn ngữ lập
trình.
Biết vai trò của chơng trình dịch.
21
2. Những điểm cần lu ý và gợi ý dạy học
Khái niệm về lệnh, nút lệnh HS đã đợc biết đến ở lớp 6 và lớp 7. Dựa trên
hiểu biết có sẵn của HS về lệnh, GV cần nhắc để HS nhớ lại và hình dung về lệnh
một cách đơn giản, phổ thông.
HS đã thực hiện các thao tác khởi động/thoát khỏi phần mềm, sao chép, cắt,
dán và thực hiện các bớc để tắt máy tính (theo đúng quy cách). Đặc biệt HS vẫn

thờng xuyên sử dụng các nút lệnh trên thanh công cụ hoặc các lệnh trong bảng
chọn để làm việc với chơng trình soạn thảo văn bản, chơng trình bảng tính. Khi
thực hiện các thao tác này chính là HS ra lệnh cho máy tính thực hiện một công
việc nào đó. Ví dụ, khi thực hiện thao tác nháy vào nút lệnh Cut trên thanh công cụ
của Word là đã ra lệnh cho máy tính thực hiện công việc cắt văn bản.
Thực ra khái niệm về lệnh đối với máy tính khá phức tạp, có thể hiểu và
mô tả lệnh với các mức độ chi tiết khác nhau. Xét đến cùng thì mỗi kiến trúc máy
tính đều có một tập hợp (không nhiều) các lệnh cơ bản hay vi lệnh hoặc chỉ lệnh
(micro-instruction), các lệnh dùng để chỉ dẫn máy tính đều là một dãy các lệnh cơ
bản này (với một thứ tự nhất định). Từ đó thờng nảy sinh câu hỏi đây đã phải là
lệnh cha hay là một tập hợp các lệnh. Tuy nhiên ngời ta thờng hiểu lệnh máy tính
là một chỉ dẫn của con ngời để máy tính thực hiện một công việc cụ thể nào đó.
Giáo viên cũng chỉ nên giới thiệu về lệnh cho HS ở mức độ này.
Kết thúc mục 1, học sinh cần biết đợc rằng con ngời điều khiển máy tính
thông qua lệnh.
Cần cho HS nhận thấy sự khác biệt giữa việc ra lệnh cho máy tính với ra
lệnh cho con ngời. Qua ví dụ điều khiển rô-bốt nhặt rác, GV cần cho HS nhận thấy
một công việc rất đơn giản với con ngời, nhng khi muốn máy tính thực hiện thì
cần phải chia thành nhiều thao tác nhỏ, đơn giản, cụ thể mà rô-bốt có thể thực hiện
đợc. Có sự khác biệt đó chính là bởi vì, khác với con ngời, máy tính là vật vô tri,
vô giác.
Có hai cách có thể để điều khiển rô-bốt thực hiện công việc trên: Cách thứ
nhất là ra từng lệnh một và rô-bốt thực hiện từng thao tác một; Cách thứ hai là chỉ
dẫn để rô-bốt tự động thực hiện lần lợt các thao tác trên. Việc viết các lệnh để điều
khiển, chỉ dẫn rô-bốt (hay máy tính) thực hiện tự động một loạt các thao tác liên
tiếp chính là viết Chơng trình máy tính, hay còn gọi tắt là Chơng trình.
Kết thúc mục 2 và mục 3 học sinh cần biết chơng trình là cách để con ngời
chỉ dẫn cho máy tính thực hiện nhiều công việc liên tiếp một cách tự động và viết
chơng trình là viết các lệnh để chỉ dẫn máy tính thực hiện các công việc hay giải
một bài toán cụ thể.

22
Có thể dẫn dắt HS tiếp cận khái niệm ngôn ngữ lập trình nh sau: Chơng trình
mà con ngời viết ra phải đảm bảo máy tính có thể "hiểu" đợc. HS đã biết máy tính
chỉ có thể hiểu đợc ngôn ngữ nhị phân, tức là dãy số 0 và 1. Vì vậy, về nguyên tắc
để máy tính "hiểu" đợc phải viết chơng trình bằng ngôn ngữ máy.
Vấn đề là ngôn ngữ máy lại rất khó sử dụng, khó nhớ đối với con ngời. Vì
vậy, rất khó cho con ngời nếu sử dụng ngôn ngữ này để viết chơng trình.
Do đó cần phải tìm ra một ngôn ngữ trung gian giữa con ngời và ngôn ngữ
máy để con ngời dễ dàng sử dụng khi viết chơng trình và sau đó chuyển đổi sang
dạng ngôn ngữ máy sao cho máy tính có thể hiểu đợc. Ngôn ngữ lập trình bậc cao
là giải pháp nh vậy. Có thể liệt kê ra một số ngôn ngữ lập trình bậc cao nh Pascal,
Free Pascal, C, Java... Để tránh quá tải cho học sinh về mặt thuật ngữ, trong SGK
các tác giả chỉ sử dụng thuật ngữ ngôn ngữ lập trình nói chung với hàm ý ngôn
ngữ lập trình bậc cao.
Tuy nhiên, nh đã nêu ở trên, chơng trình viết bằng ngôn ngữ lập trình phải đ-
ợc chuyển sang thành chơng trình ở ngôn ngữ nhị phân. Điều này cũng giống nh
việc phiên dịch khi trao đổi với ngời nớc ngoài vậy. Chơng trình đóng vai trò dịch
từ ngôn ngữ lập trình bậc cao sang ngôn ngữ máy gọi là "chơng trình dịch".
Nh vậy, để có đợc một chơng trình mà máy tính có thể thực hiện đợc cần
qua hai bớc:
(1) Viết chơng trình theo ngôn ngữ lập trình;
(2) Dịch chơng trình thành ngôn ngữ máy để máy tính hiểu đợc.
Cần lu ý rằng, các bớc nêu trên chỉ là hai trong số rất nhiều bớc (giai đoạn)
để tạo ra một chơng trình cụ thể có thể chạy trên máy tính. Để có một chơng
trình hoạt động hiệu quả trên máy tính và phục vụ đúng mục tiêu, ngời ta còn phải
thực hiện nhiều công việc khác, bắt đầu từ việc khảo sát nhu cầu của ngời sử dụng
(xác định mục tiêu, yêu cầu; khảo sát các qui trình nghiệp vụ,...), phân tích, thiết
kế, lập trình, kiểm thử, triển khai cài đặt, đào tạo, hỗ trợ, v.v. Hai bớc nói trên chỉ
là một phần của công việc lập trình, sau khi thuật toán đã đợc xây dựng. Tuy
nhiên, đối với học sinh mới bắt đầu làm quen với lập trình và ngôn ngữ lập trình,

cách giới thiệu nh trong SGK là đủ và nhằm để học sinh phân biệt đợc hai công
việc viết chơng trình và dịch chơng trình. Trong các bài thực hành với Pascal, học
sinh sẽ phân biệt rõ hơn hai bớc này.
Ngôn ngữ lập trình là các đối tợng đợc định nghĩa một cách trừu tợng và
hình thức, còn nhiệm vụ chính của chơng trình dịch là dịch chơng trình đã đợc
soạn thảo bằng ngôn ngữ lập trình sang ngôn ngữ máy. Tuy nhiên, ngời ta thờng
cung cấp chơng trình dịch cho một ngôn ngữ lập trình cụ thể kèm theo một số
23
công cụ hỗ trợ ngời lập trình nh: phần mềm soạn thảo; công cụ phát hiện và thông
báo lỗi; công cụ theo dõi, gỡ rối chơng trình; các th viện chơng trình chuẩn và các
dịch vụ khác. Tất cả tạo nên môi trờng lập trình của ngôn ngữ lập trình đó. GV
không cần giải thích kĩ về môi trờng lập trình với HS.
Qua mục 4 học sinh cần ghi nhớ đợc ngôn ngữ lập trình là công cụ để viết
chơng trình máy tính và chơng trình dịch đóng vai trò dịch chơng trình viết bằng
ngôn ngữ lập trình sang ngôn ngữ máy.
Nội dung của bài 1 đợc xem nh là một cầu nối cho học sinh từ ngời sử dụng
sang ngời xây dựng chơng trình máy tính. Qua bài này học sinh cần biết phía sau
những thao tác nh nháy nút lệnh Cut, Copy... mà các em đã quen sử dụng là những
đoạn chơng trình máy tính tơng ứng. Khi nháy một nút lệnh là các em đã yêu cầu
máy tính thực hiện đoạn chơng trình tơng ứng đã đợc viết sẵn.
3. Hớng dẫn trả lời câu hỏi và bài tập
Bài 1. Khi soạn thảo văn bản trên máy tính, ta yêu cầu chơng trình tìm kiếm một
cụm từ và thay thế bằng một cụm từ khác, thực chất ta đã yêu cầu máy tính
thực hiện rất nhiều lệnh. Có thể mô tả các lệnh với những mức độ chi tiết
khác nhau.
Dới đây chỉ mô tả những lệnh cơ bản nhất theo trật tự thực hiện:
1. Sao chép cụm từ cần tìm vào bộ nhớ (gọi là cụm từ 1).
2. Sao chép cụm từ sẽ thay thế vào bộ nhớ (cụm từ 2).
3. Tìm cụm từ 1.
4. Xóa cụm từ 1 tìm đợc.

5. Dán cụm từ 2 từ bộ nhớ vào vị trí cũ của cụm từ 1.
Với các lệnh đợc liệt kê theo thứ tự nh trên, ta thấy chỉ có thể thay đổi thứ tự
của một vài lệnh (ví dụ nh các lệnh 1 và 2), nhng nói chung việc thay đổi thứ tự
của phần lớn các lệnh sẽ không cho kết quả nh mong muốn, chẳng hạn nh thay đổi
thứ tự của các lệnh 3 và 4 là không có nghĩa.
Lu ý đối với giáo viên. Việc mô tả các lệnh có thể thực hiện với nhiều mức
chi tiết khác nhau. Tuy cha đầy đủ ở mức có thể lập trình đợc (cha tính đến điều
kiện kết thúc, tức khi con trỏ đợc di chuyển đến cuối văn bản), nhng dới đây là
một mô tả chi tiết hơn:
1. Sao chép dãy kí tự cần tìm vào bộ nhớ (dãy 1).
2. Sao chép dãy kí tự sẽ thay thế vào bộ nhớ (dãy 2).
3. Đặt con trỏ trớc kí tự đầu tiên của văn bản.
24
4. Sao chép dãy kí tự (tính từ vị trí con trỏ sang phải) có độ dài bằng dãy 1
vào bộ nhớ (dãy 3).
5. So sánh dãy 1 và dãy 3. Nếu dãy 3 không trùng với dãy 1, chuyển đến
lệnh 8.
6. Xóa dãy 3 trong văn bản.
7. Dán dãy 2 vào vị trí cũ của dãy 3 và chuyển con trỏ đến cuối dãy 2 này.
8. Di chuyển con trỏ sang phải một kí tự và quay lại lệnh 4.
Học sinh chỉ cần có đáp án mô tả những lệnh cơ bản nhất là đạt yêu cầu.
Giáo viên chỉ nên giới thiệu mô tả chi tiết nh trên khi học sinh có yêu cầu.
Bài 2. Nếu thay đổi thứ tự của hai lệnh nào đó trong chơng trình điều khiển rô-
bốt, có thể rô-bốt sẽ không thực hiện đợc công việc nhặt rác vì nó sẽ đi
không đúng hớng và có thể không tới đợc vị trí có rác dẫn đến không nhặt đ-
ợc rác,... Ví dụ, nếu thay đổi thứ tự của lệnh 1 "Tiến 2 bớc" và lệnh 2 "Quay
trái, tiến 1 bớc". Khi đó, sau hai lệnh trên rô-bốt sẽ "Quay trái và tiến 3 bớc"
và nó sẽ đi tới vị trí không có rác. Nói chung, các lệnh trong chơng trình cần
đợc đa ra theo một thứ tự xác định sao cho ta đạt kết quả mong muốn.
Vị trí mới của rô-bốt sau khi thực hiện xong lệnh "Hãy nhặt rác" là vị trí có

thùng rác (ở góc đối diện).
Có nhiều cách khác nhau để đa ra hai lệnh để rô-bốt trở lại vị trí ban đầu của
mình, một trong các cách đó là hai lệnh "Quay trái, tiến 5 bớc" và "Quay
trái, tiến 3 bớc".
Lu ý đối với giáo viên. Trong một nhiều trờng hợp, ta có thể đa ra các lệnh
khác nhau, nhng vẫn đạt kết quả. Chẳng hạn, trong ví dụ về rô-bốt, thay cho
hai câu lệnh đầu tiên, ta có thể điều khiển rô-bốt đến đúng vị trí có rác bằng
các lệnh sau: "Quay trái, tiến 1 bớc" và "Quay phải, tiến 2 bớc" hoặc "Quay
phải, tiến 2 bớc", "Quay trái, tiến 2 bớc" và "Quay trái, tiến 4 bớc". Trong
một số trờng hợp khác, việc thay đổi thứ tự của một vài câu lệnh vẫn cho kết
quả đúng nh yêu cầu. Tuy nhiên, nh là một nguyên tắc chung, việc thay đổi
thứ tự các câu lệnh sẽ không cho kết quả đúng. Có thể liên hệ với thứ tự các
bớc của thuật toán trong Bài 5.
Bài 3. Lí do: Điều khiển máy tính tự động thực hiện các công việc đa dạng và
phức tạp mà một lệnh đơn giản không đủ để chỉ dẫn.
Bài 4. Các ngôn ngữ lập trình bậc cao đợc phát triển để khắc phục các yếu điểm
trên của ngôn ngữ máy: khó sử dụng, khó nhớ. Ngôn ngữ lập trình sử dụng
các cụm từ tự nhiên nên dễ nhớ, dễ học.
25
Lu ý đối với giáo viên. Tuy ngôn ngữ máy cũng là một loại ngôn ngữ lập
trình, nhng ở đây chúng ta hiểu ngôn ngữ lập trình là ngôn ngữ lập trình bậc
cao. Trong ngôn ngữ máy, mọi chỉ thị đều đợc biểu diễn bằng các con số nhị
phân 0 và 1. Ngôn ngữ máy tuy khó đọc và khó sử dụng, nhng là ngôn ngữ
duy nhất mà bộ vi xử lí có thể nhận biết và thực hiện các lệnh một cách trực
tiếp. Ngoài ra yếu điểm của các chơng trình viết bằng ngôn ngữ máy là phụ
thuộc vào phần cứng máy tính.
Bài 5. Chơng trình dịch là chơng trình có chức năng chuyển đổi chơng trình đợc
viết bằng ngôn ngữ lập trình thành chơng trình thực hiện đợc trên máy tính.
Nh vậy, chơng trình dịch chuyển đổi các dòng lệnh đợc soạn thảo thành tệp
có thể chạy trên máy tính.

Bài 6. Hai bớc cơ bản để tạo ra các chơng trình máy tính là:
(1) Viết chơng trình theo ngôn ngữ lập trình;
(2) Dịch chơng trình thành ngôn ngữ máy để máy tính hiểu đợc. Kết quả là
tệp tin có thể thực hiện đợc trên máy tính.
Lu ý đối với giáo viên. Đây chỉ là hai bớc cơ bản trong lập trình và chỉ là một
phần của công việc giải quyết bài toán bằng máy tính.
Bài 2. Làm quen với chơng trình và ngôn ngữ lập trình
1. Mục đích, yêu cầu
Biết ngôn ngữ lập trình gồm các thành phần cơ bản là bảng chữ cái và
các quy tắc để viết chơng trình, câu lệnh.
Biết ngôn ngữ lập trình có tập hợp các từ khóa dành riêng cho mục
đích sử dụng nhất định.
Biết tên trong ngôn ngữ lập trình là do ngời lập trình đặt ra, khi đặt tên
phải tuân thủ các quy tắc của ngôn ngữ lập trình. Tên không đợc trùng
với các từ khoá.
Biết cấu trúc chơng trình bao gồm phần khai báo và phần thân chơng
trình.
2. Những điểm cần lu ý và gợi ý dạy học
Mục tiêu của bài 2 là giới thiệu cho học sinh về một số thành phần cơ bản
của ngôn ngữ lập trình nói chung, làm quen với một chơng trình đơn giản, làm
quen với TP để chuẩn bị cho bài thực hành 1.
26
Để giới thiệu các thành phần của ngôn ngữ lập trình, SGK sử dụng cách tiếp
cận xuất phát từ một chơng trình Pascal cụ thể, sau đó khái quát hóa và tổng kết.
Cần lu ý không giải thích ngay tất cả những gì có trong chơng trình ví dụ, tránh sa
đà giới thiệu chi tiết cú pháp và ngữ nghĩa của các câu lệnh Pascal mà chỉ nên tập
trung khai thác những điểm cần thiết phục vụ cho mục tiêu của bài học. Cần đến
thành phần, câu lệnh nào thì tập trung vào đó, phân tích, giải thích vừa đủ, biết
điểm dừng để luôn hớng đến mục tiêu của mục, của bài.
HS đã biết viết chơng trình cần sử dụng một ngôn ngữ lập trình cụ thể ở

bài 1. Do vậy, GV có thể đặt câu hỏi tại sao lại phải viết chơng trình theo một
ngôn ngữ lập trình cụ thể nào đó để HS thảo luận, trả lời nhằm ôn lại bài cũ.
Cần cho HS quan sát hình 6 để thấy trực quan một chơng trình cụ thể. Cách
làm này nhằm gây hứng thú cho học sinh ngay khi vào bài học. Từ việc quan sát ví
dụ này GV khái quát lên thành những kiến thức chung về ngôn ngữ lập trình.
Ngôn ngữ lập trình Pascal đã đợc nhắc đến ở bài 1, do vậy giáo viên có thể
giới thiệu cho các em biết ví dụ trong hình 6 là một chơng trình viết bằng ngôn
ngữ lập trình Pascal.
Để dạy mục 2, SGK dựa trên những gì học sinh quan sát đợc nh chữ cái, kí
hiệu để khái quát nên thành phần thứ nhất: bảng chữ cái, các kí hiệu. Dựa trên ví
dụ về câu lệnh writeln('Chao Cac Ban'); để khái quát thành phần thứ hai: quy tắc
viết.
Với mục 2, có thể xuất phát từ ngôn ngữ tiếng Việt, nếu HS đợc học ngoại
ngữ thì dùng ngôn ngữ tự nhiên là chính ngoại ngữ các em đang học để lấy ví dụ
sẽ thuận tiện hơn. HS biết một ngôn ngữ bao gồm các chữ cái, các từ và quy tắc
ngữ pháp. Muốn ngời khác hiểu đợc và hiểu đúng thì cần dùng các chữ cái, những
từ cho phép và phải đợc ghép theo đúng quy tắc ngữ pháp.
Ngôn ngữ lập trình cũng vậy (quan sát hình 6), có bảng chữ cái và các quy
tắc viết. Khi viết chơng trình phải sử dụng các chữ cái, các từ và tuân thủ quy tắc
tắc viết mà ngôn ngữ lập trình đặt ra. Có nh vậy chơng trình mới có thể đợc dịch
sang ngôn ngữ máy mà máy tính có thể hiểu và thực hiện đợc. Cụ thể, để ra lệnh
cho máy tính hiển thị dòng chữ chào các bạn thì trong chơng trình trên phải viết
là: writeln('Chao cac ban');.
Giáo viên có thể sử dụng cách so sánh với ngôn ngữ tự nhiên để học sinh dễ
dàng hiểu đợc nội dung này. Chẳng hạn, trong tiếng Việt, không phải chúng ta cứ
ghép các chữ cái bất kì là đợc một từ có nghĩa, hoặc cứ ghép các từ (có nghĩa) là
có một câu có nghĩa. Nh vậy có thể xem quy tắc viết các câu lệnh trong một ngôn
ngữ lập trình (cú pháp và ngữ nghĩa) là quy tắc chính tả và ngữ pháp của ngôn
ngữ lập trình đó.
27

×