Chương 1. MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Bài 1. KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH (1tiết)
I. Mục tiêu bài học
1. Kiến thức
• Biết được khái niệm lập trình và ngôn ngữ lập trình
• Biết được khái niệm chương trình dịch
• Phân biệt được hai loại chương trình dịch là biên dịch và thông dịch.
2. Thái độ:
• Nghiêm túc, cẩn thận, đoàn kết, có tinh thần giúp đỡ nhau trong nhóm
II. Đồ dùng dạy học:
• Giáo viên: chuẩn bị giáo án
• Học sinh: chuẩn bị sách giáo khoa
III. Các phương pháp dạy học:
•
Phương pháp vấn đáp gợi mở là chủ yếu, kết hợp với tạo tình huống có vấn đề nhằm giúp học sinh tham gia tích
cực vào giờ học
IV. Họat động dạy và học:
Hoạt động của giáo viên Hoạt động của học sinh Nội dung
Hoạt động 1: Vào bài mới
- Chia nhóm và yêu cầu thảo luận
- Nhận xét và dẫn dắt vào bài mới
Hoạt động 2: Giới thiệu khái niệm lập
trình
- Yêu cầu trả lời và ôn lại các bước để xác định
thuật toán
- Yêu cầu trả lời, đưa ra bài tập trắc nghiệm
nhỏ để học sinh phân biệt: ngôn ngữ máy, hợp
ngữ và ngôn ngữ lập trình
- Dẫn dắt vào khái niệm lập trình
- Kết luận
Hoạt động 3: Giới thiệu khái niệm chương
trình dịch
- Dẫn dắt vào khái niệm chương trình dịch
- Yêu cầu học sinh theo dõi sơ đồ từ đó đưa ra
khái niệm
- Kết luận
Hoạt động 4: phân loại chương trình dịch
- Gợi ý để học sinh có thể nêu được các bước
của thông dịch
- Kết luận
-Thảo luận theo nhóm
- Đưa ra ý kiến của nhóm
- Lắng nghe và trả lời câu hỏi của
giáo viên
- Thảo luận theo nhóm để trả lời
câu hỏi trắc nghiệm
- Trình bày ý kiến của nhóm
- Trả lời câu hỏi và ghi bài
- Lắng nghe, theo dõi sơ đồ, đưa
ra câu trả lời
- Ghi bài
- Lắng nghe và đưa ra câu trả lời
- Ghi bài
Thảo luận: tại sao phải lập
trình?
1. Khái niệm lập trình
Ôn lại kiến thức lớp 10:
+ Các bước để giải bài toán
+ Phân biệt: ngôn ngữ máy, hợp
ngữ và ngôn ngữ lập trình
Thảo luận: kết luận nghiệm của
bài toán: ax
2
+bx+c=0
1. Xác định Input, Output?
2. Các bước giải bài toán?
Đặt câu hỏi: sau các bước này
đến bước gì? Làm sao để máy
hiểu
Thảo luận: việc dùng ngôn ngữ
lập trình để nói cho máy hiểu
các thao tác của thuật toán
nghĩa là đang lập trình, vậy lập
trình là gì?
Kết luận:
Lập trình là sử dụng cấu trúc dữ
liệu và các câu lệnh của ngôn
ngữ lập trình cụ thể để mô tả dữ
liệu và diễn đạt các thao tác của
thuật toán
2. Khái niệm chương trình
dịch
Đặt vấn đề: dùng ngôn ngữ lập
trình để diễn tả các thao tác của
thuật toán, nhưng máy chỉ hiểu
ngôn ngữ máy, làm sao để
chuyển từ ngôn ngữ lập trình
sang ngôn ngữ máy?
Kết luận:
Chương trình dịch dịch chương
trình nguồn (ngôn ngữ lập trình
bậc cao) sang chương trình đích
(ngôn ngữ máy)
(dùng sơ đồ để mô tả khái niệm)
3. Phân loại chương trình
dịch
a. Thông dịch
Thảo luận: hai người làm quen
với nhau, một người chỉ nói
được tiếng Anh, một người chỉ
- Gợi ý để học sinh nêu được các bước của
biên dịch
- Kết luận
- Yêu cầu học sinh phân biệt sự giống và khác
nhau giữa thông dịch và biên dịch
- Trả lời câu hỏi và ghi bài
- Thảo luận theo nhóm để đưa ra
câu trả lời
nói được tiếng Việt. Làm sao để
2 người hiểu nhau? Công việc
mà người thông dịch phải làm?
Kết luận:
Thông dịch được thực hiện bằng
cách lặp lại dãy các bước sau:
1. Kiểm tra tính đúng đắn của
câu lệnh tiếp theo trong chương
trình nguồn
2. Chuyển đổi câu lệnh đó thành
một hay nhiều câu lệnh tương
ứng trong ngôn ngữ máy
3. Thực hiện các câu lệnh vừa
chuyển đổi được
b. Biên dịch
Thảo luận: các tác phẩm văn
học hoặc những bộ truyện tranh
được viết bằng ngôn ngữ nước
ngoài, làm sao để các tác phẩm
này đến đựơc với những độc giả
chỉ biết tiếng việt
Kết luận:
biên dịch được thực hiện qua 2
bước:
1. Duyệt, phát hiện lỗi, kiểm tra
tình đúng đắn của các câu lệnh
trong chương trình nguồn
2. Dịch tòan bộ chương trình
nguồn thành một chương trình
đích có thể thực hiện được trên
máy và có thể lưu trữ để sử
dụng lại khi cần thiết
Thảo luận: phân biệt thông
dịch và biên dịch?
Giống nhau: đều là chương
trình dịch
Khác nhau:
Thông dịc
h: được thực hiện trực
tiếp và lặp lại nhiều lần
Biên dịch
: được thực hiện gián
tiếp và có thể lưu trữ
V. Tổng kết đánh giá cuối bài:
- Tóm tắt bài, nhấn mạnh các điểm chính
- Yêu cầu học sinh nhắc lại một số thuật ngữ chính trong bài
- Nhận xét tiết học
Chương 1. MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Bài 2. Các Thành Phần Của Ngôn Ngữ Lập Trình (1tiết)
II. Mục tiêu bài học
2. Kiến thức
• Biêt ngôn ngữ lập trình có ba thành phần cơ bản là: bảng chữ cái, cú pháp, ngữ nghĩa
• Biết một số khái niệm: tên, tên chuẩn, tên dành riêng (từ khóa), hằng và biến
• Phân biệt được hai loại chương trình dịch là biên dịch và thông dịch.
2. Kĩ năng:
• Phân biệt được tên chuẩn với tên dành riêng và tên tự đặt
• Nhớ các quy định về tên, hằng và biến
• Biết đặt tên đúng và nhận biết đựơc tên sai quy định
• Sử dụng đúng chú thích
II. Đồ dùng dạy học:
• Giáo viên: chuẩn bị giáo án
• Học sinh: chuẩn bị sách giáo khoa
III. Các phương pháp dạy học:
•
Phương pháp vấn đáp gợi mở là chủ yếu, kết hợp với tạo tình huống có vấn đề nhằm giúp học sinh tham gia tích
cực vào giờ học
IV. Họat động dạy và học:
Hoạt động của giáo viên Hoạt động của học sinh Nội dung
Hoạt động 1: Kiểm tra bài cũ , vào bài
mới
- Gọi học sinh tra bài
- Nhận xét và dẫn dắt vào bài mới
Hoạt động 2: Giới thiệu các thành phần
cơ bản
- Đặt vấn đề, gợi ý để học sinh trả lời câu
hỏi
- Yêu cầu nhóm thảo luận
- Kết luận
- Gợi ý học sinh liên hệ với ngôn ngữ lập
trình
- Kết luận
- Viết một ví dụ nhỏ sử dụng ngôn ngữ
Pascal
- Yêu cầu học sinh thảo luận
-Kết luận
- Chuẩn bị ví dụ minh họa
- Gợi ý và yêu cầu trả lời câu hỏi
- Kết luận
- Yêu cầu học sinh theo dõi ví dụ sách giáo
khoa (Tr10)
- Yêu cầu trả lời câu hỏi
- Lắng nghe câu hỏi và trả lời
- Thảo luận theo nhóm để trả lời
câu hỏi
- Trình bày ý kiến của nhóm
- Liên hệ ngôn ngữ lập trình để
trả lời câu hỏi
- Lắng nghe và ghi bài
- Xem ví dụ và trả lời câu hỏi
- Ghi bài
- Xem ví dụ và trả lời câu hỏi
- Lắng nghe và đưa ra câu trả lời
- Ghi bài
Câu hỏi:
1. Khái niệm lập trình?
2. Khái niệm chương trình dịch?
3. Phân loại biên dịch và thông
dịch?
1. Các thành phần cơ bản
Thảo luận: các thành phần tạo
nên ngôn ngữ tiếng việt?
- Bảng chữ cái
- cách ghép các chữ cái thành từ,
thành câu
- Ngữ nghĩa của từ và câu
Trong ngôn ngữ lập trình cũng
tương tự như vậy, hãy cho biết
các thành phần của ngôn ngữ lập
trình?
Kết luận:
Ngôn ngữ lập trình có 3 thành
phần cơ bản: bảng chữ cái, cú
pháp, ngữ nghĩa
a. Bảng chữ cái
Thảo luận: Xem ví dụ một
chương trình viết bằng ngôn ngữ
pascal, hãy cho biết các kí tự
được dùng để viết nên chương
trình?
- Các chữ cái
- số thập phân Ả Rập
- Các kí tự đặc biệt
Kết luận:
(SGK Tr9)
b. Cú pháp:
Thảo luận: Cho xem một số ví
dụ chương trình viết đúng và sai
cú pháp, từ đó rút ra khái niệm
cú pháp?
Kết luận:
cú pháp là bộ quy tắc để viết
chương trình
c. Ngữ nghĩa
Thảo luận: xem ví dụ: A, B nhận
gía trị thực, I,J nhận giá trị
nguyên
- Kết luận
Hoạt động 3: Giới thiệu một số khái
niệm
- Chuẩn bị ví dụ
- Yêu cầu học sinh thảo luận và trả lời câu
hỏi
- Kết luận
- Yêu cầu học sinh theo dõi sách giáo khoa
để trả lời câu hỏi
- Chuẩn bị bài tập về tên
- Yêu cầu học sinh trả lời câu hỏi
- Gợi ý để học sinh liên hệ với ngôn ngữ lập
trình
- Kết luận
- Chuẩn bị bài tập trắc nghiệm về hằng số
- Xem ví dụ và trả lời câu hỏi
- Nêu định nghĩa về tên
- Ghi bài
- Theo dõi sách giáo khoa và trả
lời câu hỏi
- Ghi một số ví dụ
- Làm bài tập
- Thảo luận theo nhóm để đưa ra
câu trả lời
- Liên hệ trong ngôn ngữ lập trình
để trả lời câu hỏi
- Theo dõi thêm một số ví dụ
trong sách giáo khoa (Tr 12), ghi
bài
- Làm bài tập
- Lắng nghe và ghi bài
A+B (1)
I+J (2)
Dấu “+” trong biểu thức (1) và
(2) giống hay khác nhau?
Kết luận:
ngữ nghĩa xác định ý nghĩa thao
tác cần phải thực hiện, ứng với tổ
hợp kí tự dựa vào ngữ cảnh của
nó
- Đưa ra một số ví dụ chương
trình đúng cú pháp và sai cú pháp
viết bằng Pascal .
2. Một số khái niệm:
a. Tên:
Thảo luận: đưa ra ví dụ những
tên hợp lệ và tên không hợp lệ,
hãy cho biết quy tắc đặt tên trong
ngôn ngữ lập trình (cụ thể Pascal)
Kết luận: Tên
- Là một dãy liên tiếp không quá
127 kí tự
- Bao gồm chữ số, chữ cái hoặc
dấu gạch dưới
- Bắt đầu bằng chữ cái hoặc dấu
gạch dưới
- Phân loại tên:
Thảo luận: theo dõi SGK, hãy kể
các loại tên trong Pascal?
Kết luận:
- Tên dành riêng (từ khóa):
Program, Uses, Var, ….
- Tên chuẩn: abs, sqr, integer,
real, …
- Tên do người lập trình đặt:
delta, cvi,…
- Đưa ra một số tên, yêu cầu
chọn ra những tên đúng, tên sai,
tên dùng trong Pascal
b. Hằng và biến
Thảo luận: hãy nêu khái niệm
hằng và biến trong toán học?
- Hằng là những đại lựơng có giá
trị không thay đổi
- Biến là những đại lượng được
đặt tên và có giá trị thay đổi
Liên hệ biến và hằng trong ngôn
ngữ lập trình?
Kết luận:
- Hằng là đại lượng có giá trị
không thay đổi trong quá trình
thực hiện chương trình
Ví dụ:
- Hằng số học: 2, -22.36, 1.0E-6
- Hằng logic: TRUE, FALSE
- Hằng xâu: “lop 11a”, “I”m a
student”
- Biến là đại lượng được đặt tên,
dùng để lưu trữ giá trị và giá trị
có thể được thay đổi trong quá
trình thực hiện chương trình
- Đưa ra một bài trắc nghiệm
nhỏ, phân biệt hằng đúng
c. Chú thích:
Thảo luận: tại sao phải cần đến
chú thích?
- Nhận biết ý nghĩa của chương
trình đó dễ hơn
- Đưa ra các kí hiệu dùng cho chú thích,
nhấn mạnh chương trình dịch bỏ qua các
chú thích
Kết luận:
các đoạn chú thích được đặt
trong dấu {và}, hoặc (*và*)
- Lưu ý: chương trình dịch bỏ qua
chú thích
V. Tổng kết đánh giá cuối bài:
- Tóm tắt bài, nhấn mạnh các điểm chính
- Yêu cầu học sinh nhắc lại một số thuật ngữ chính trong bài
- Nhận xét tiết học
Chương 1. MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Bài tập (1tiết)
III. Mục tiêu bài học
3. Kiến thức
• Biết một số khái niệm ở bài 1 và 2
2. Kĩ năng:
• Ôn tập lại một số kỹ năng ở bài 1 và 2
II. Đồ dùng dạy học:
• Giáo viên: chuẩn bị chương trình trắc nghiệm
III. Họat động dạy và học:
Hoạt động của giáo viên Hoạt động của học sinh Nội dung
Hoạt động 1: Hướng dẫn sử dụng
phần mềm trắc nghiệm
Hoạt động 2: Thực hành
- Đưa bài tập xuống cho học sinh làm
- Nhận điểm gởi lên từ máy học sinh
Hoạt động 3: trả lời một số câu hỏi ở
sách giáo khoa trang 13
- Yêu cầu học sinh theo dõi sách giáo
khoa trang 13 và trả lời câu hỏi
- Quan sát và lắng nghe
- Làm bài trắc nghiệm theo yêu cầu
của giáo viên
- Xem sách giáo khoa trang 13 và
trả lời câu hỏi
- Hướng dẫn cách sử dụng phần
mềm trắc nghiệm
1. Nội dung bài trắc nghiệm
2. Trả lời các câu hỏi sách giáo
khoa trang 13
Nội dung bài trắc nghiệm:
1. Chương trình nguồn -> ??? -> chương trình đích
A. Thông dịch
B. Biên dịch
C. Chương trình dịch
D. Chương trình
2. Những phát biểu nào dưới đây là đúng?
A. Output của mọi chương trình đều là chương trình trên ngôn ngữ máy;
B. Chương trình viết bằng hợp ngữ không phải là Input hay Output của bất cứ chương trình dịch nào
C. Để biên soạn một chương trình trên ngôn ngữ bậc cao có thể sử dụng nhiều hệ soạn thảo văn bản khác nhau;
D. Chương trình là thành phần chính của một ngôn ngữ lập trình bậc cao.
3. Phát biểu nào dưới đây là đúng?
A. Chương trình là dãy các lệnh được tổ chức theo các quy tắc được xác định bởi một ngôn ngữ lập trình cụ thể;
B. Trong chế độ thông dịch mỗi câu lệnh của chương trình nguồn được dịch thành một câu lệnh của chương trình
đích;
C. Mọi bài toán đều có chương trình để giải trên máy tính;
D. Nếu chương trình nguồn có lỗi cú pháp thì chương trình đích cũng có lỗi cú pháp.
4. Chương trình viết bằng hợp ngữ không có đặc điểm nào trong các đặc điểm sau?
A. Ngắn gọn hơn so với chương trình được viết bằng ngôn ngữ bậc cao
B. Tốc độ thực hiện nhanh hơn so với chương trình được viết bằng ngôn ngữ bậc cao
C. Diễn đạt gần với ngôn ngữ tự nhiên
D. Sử dụng trọn vẹn các khả năng của máy tính
5. Chương trình viết bằng ngôn ngữ bậc cao không có đặc điểm nào trong các đặc điểm sau?
A. Không phụ thuộc vào loại máy, chương trình có thể thực hiện trên nhều loại máy
B. Ngắn gọn, dễ hiểu, dễ hiệu chỉnh và nâng cấp
C. Kiểu dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho mô tả thuật toán
D. Máy tính có thể hiểu và thực hiện trực tiếp chương trình này.
6. Hãy chọn biểu diễn hằng trong những biểu diễn dưới đây:
A. Begin
B. “65c”
C. 5.A8
D. 12.4E-5
7. Hãy chọn những biểu diễn tên trong những biểu diễn dưới đây:
A. ‘*****’
B. -5+9-0
C. (2)
D. FA33C9
8. Trong những biểu diễn dưới đây, biểu diễn nào là từ khoá trong Pascal?
A. END
B. Interger
C. Real
D. SQRT
9. Phát biểu nào dưới đây là đúng?
A. Khi cần thay đổi ý nghĩa của một từ khoá nào đó người lập trình cần khai báo theo ý nghĩa mới;
B. Tên do người lập trình tự đặt được trùng với từ khoá nhưng có thể trùng với tên chuẩn;
C. Mọi đối tượng có giá trị thay đổi trong chương trình đều gọi là biến;
D. Trong chương trình tên gọi cũng là một đối tượng không thay đổi nên cũng có thể xem là hằng
10. Xét một chương trình viết trên ngôn ngữ bậc cao được dịch sang ngôn ngữ máy. Điều khẳng định nào
sau đây là đúng?
A. Chương trình trên ngôn ngữ máy chứa ít câu lệnh hơn chương trình ở ngôn ngữ bậc cao ban đầu;
B. Số câu lệnh của hai chương trình là như nhau;
C. Chương trình trên ngôn ngữ máy chứa nhiều câu lệnh hơn chương trình ở ngôn ngữ bậc cao ban đầu
D. Đáp án khác
11. Hãy cho biết những biểu diễn nào dưới đây không phải là biểu diễn hằng trong TP:
A. 150.O
B. 6,23
C. ‘B’C’
D. ‘TRUE’
12. Tên trong Pascal:
A. Có dấu cách
B. Không có dấu cách
C. Phân biệt chữ hoa và chữ thường
D. Chứa các kí tự đặc biệt
13.
Từ khóa trong Pascal là:
A. Từ được chương trình định nghĩa sẵn
B. Có thể thay đổi được
C. Người dùng có thể thay đổi mục đích sử dụng
D. Tất cả các đáp án trên
14.
Tên chuẩn trong Pascal là:
A. Từ được chương trình định nghĩa sẵn
B. Có thể thay đổi được
C. Người dùng có thể thay đổi mục đích sử dụng
D. Tất cả các đáp án trên
15. Dấu “;” là:
A. Dấu kết thúc lệnh của Pascal
B. Dấu ngăn cách giữa các lệnh của Pascal
C. Dấu ngăn cách giữa các biến
D. Không phải là loại nào trong các loại trên
16. Các đoạn chú thích được mở và đóng với
A. {và}
B. /
*
và
*
/
C. ;và ;
D. // và//
17. Lệnh END. là :