GV: Mọi đối tượng trong chương trình đều phải được đặt tên theo quy tắc của - Ý nghĩa của việc đặt tên và khai báo tên cho các đối ngôn ngữ lập trình và từng chương trình tượng: dịch cụ [r]
Trang 1Ngày soạn : 12/8/2016
Chương I: 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
I MỤC TIÊU:
1 Kiến thức:
- Học sinh nhận biết được có ba lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình : ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao
- Biết dược vai trò của chương thình dịch
2 Kĩ năng: Phân biệt được hai khái niệm biên dịch và thông dịch, phân biệt được các loại
ngôn ngữ lập trình
3 Thái độ: Thấy được sự cần thiết và tiện lợi khi sử dụng các ngôn ngữ lập trình bậc cao
Liên hệ được với quá trình giao tiếp trong đời sống
II PHƯƠNG TIỆN DẠY HỌC:
1 Giáo viên: Một số ví dụ về ngôn ngữ lập trình
2 Học sinh: Tìm hiểu một số loại ngôn ngữ giao tiếp thông dụng
III HOẠT ĐỘNG DẠY HỌC:
1) Ổn định tổ chức: Kiểm tra sĩ số lớp.
2) Kiểm tra bài cũ: Nếu chỉ có thuật toán thì máy đã thực hiện được các bài toán mà chúng
ta đã giải hay chưa ?
3) Giảng bài mới:
Mở bài: Tất cả các bài toán sau khi chúng ta
đã xây dựng được thuật toán( Cách giải) thì
chúng ta chọn một ngôn ngữ để viết ra thuật
toán đó làm cho máy tính có thể hiểu được
Việc dùng ngôn ngữ viết ra bằng lời đó
được gọi là lập trình Để hiểu sâu hơn khái
niệm này chúng ta đi vào bài 1:
Hoạt động 1:
Một số KN cơ bản
? Thế nào được gọi là lập trình?
? Có những loại ngôn ngữ lập trình nào?
? Phân biệt ngôn ngữ bậc cao với các ngôn
ngữ lập trình khác ở những nội dung nào?
? Thế nào được gọi là chương trình dịch?
GV : Gọi một học sinh nhắc lại các khái
niệm : ngôn ngữ máy, hợp ngữ và ngôn ngư
bậc cao
Ngôn ngữ máy: Là ngôn ngữ duy nhất mà máy tính
có thể trực tiếp hiểu và xử lý đựơc
Hợp ngữ: Là loại ngôn ngữ sử dụng một số từ để thực hiện lệnh trên thanh ghi
Ngôn ngữ bậc cao: Là loại ngôn ngữ gần với ngôn ngữ tự nhiên, ít phụ thuộc vào loại máy
Chương trình dịch là chương trình đặc biệt, có chức năng chuyển đổi chương trình đợc viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy
Trang 2Các loại ngôn ngữ lập trình như: Tubo
pascal 7.0, Tubo C++, Visual Pascal 2.1,
Visual C++
Ngôn ngữ lập trình bậc cao khác với các
ngôn ngữ lập trình khác ở chỗ:
+ Chương trình viết bằng ngôn ngữ lập
trình bậc cao không phụ thuộc vào loại máy
+ Nó phải được dịch sang ngôn ngữ máy
mới có thể thực hiện được
HOẠT ĐỘNG 2
CHƯƠNG TRÌNH DỊCH
Các loại chương trình dịch(Biên dịch
và thông dịch)
A.Thông dịch
VD: Một người mông và một người kinh
nói chuyện với nhau trong khi đó người
mông không biết tiếng kinh, người kinh
không biết tiếng mông Để hiểu được 2
người nói gì chúng ta cần có một người
phiên dịch biết cả 2 thứ tiếng
? Thế nào là thông dịch?
? Thế nào là biên dịch?
? Các bước của thông dịch và biên dịch
được tiến hành ntn?
Thông dịch là: Quá trình dịch và thực hiện
các câu lệnh luân phiên nhau, nó lần lượt
dịch và thực hiện từng câu lệnh
B Biên dịch là: Quá trình dịch toàn bộ
chương trình và nó có thể lưu trữ được cả
chương trình nguồn và chương trình đích
* Các bước của biên dịch và thông dịch(
SGK)
HS: Trả lời câu hỏi
GV : Để chuyển đổi chương trình viết bằng
ngôn ngữ lập trình bậc cao sang ngôn ngữ
máy cần phải có gì?
HS : Đó là chương trình dịch
KN Chương trình dịch: Là chương trình có
chức năng chuyển đổi chương trình viết
bằng ngôn ngữ lập trình bậc cao thành
chương trình thực hiện được trên máy tính.
GV : Cho ví dụ từ thực tế : “ Người phóng
viên chỉ biết một ngôn ngữ là tiếng việt
phóng vấn một chính khách nước ngoài ”
thông qua người phiên dịch
GV : Như vậy có hai cách để người phóng
viên có thể thực hiện công việc của mình :
biên dịch và thông dịch
CHƯƠNG TRÌNH NGUỒN
CHƯƠNG TRÌNH DỊCH
CHƯƠNG TRÌNH ĐÍCH
Dùng máy chiếu diễn giải hai tình huống này Kết luận :
Biên dịch (Compiler): được thực hiện qua hai bước
- 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
- Dịch toàn bộ chương trình nguồn thành một ch-ơng trình đích có thể thực hiện trên máy và có thể
l-ưu trữ để sử dụng lại khi cần thiết
Thông dịch (Interpreter) đợc thực hiện bằng cách
lặp lại dãy các bước sau
- Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn
- 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
- Thực hiện câu lệnh vừa chuyển đổi được
Trang 34) CỦNG CỐ :
Khái niệm lập trình? Chương trình dịch là gì? Khái niệm ngôn ngữ lập trình?
GV Hướng dẫn HS xem bài tiết sau
*Các thành phần cơ bản của ngôn ngữ lập trình.
? Ngôn ngữ lập trình có mấy thành phần cơ bản, đó là những thành phần nào
+3 thành phần cơ bản
+ Bảng chữ cái: Là tập cac kí tự để viết chương trình.
Cú pháp:
Là bộ quy tắc để viết chương trình.(cho biết cách viết 1 chương trình hợp lệ).
+ 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 đó
5) BÀI TẬP VỀ NHÀ:
HS đọc bài đọc thêm 1
Trang 4Ngày soạn : 20/08/2016
Ngày dạy : 22/08/2016
Tiết PPCT : 2
Bài 2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH.
I MỤC TIÊU
1 Kiến thức:
+ Biết một số khái niệm: tên, tên chuẩn, tên dành riêng, hằng và biến
+ Học sinh ghi nhớ được các quy định về tên, hằng và biến trong một ngôn ngữ lập trình
2 Kĩ năng:
+ Phân biệt được tên, hằng và biến.
+ Biết cách đặt tên chúng và nhận biết được tên viết sai quy tắc
3 Thái độ: Rèn luyện cho HS tính nguyên tắc, chặt chẽ trong lập trình
II PHƯƠNG TIỆN DẠY HỌC:
1 Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham
khảo Máy tính cá nhân và máy chiếu ( nếu có)
2 Học sinh: Đọc trước ở nhà Sách giáo khoa.
III HOẠT ĐỘNG DẠY HỌC:
1) Ổn định tổ chức: Kiểm tra sĩ số lớp.
2) Kiểm tra bài cũ:
Câu hỏi :
1 Chương trình dịch là gì?
2 Biên dịch và thông dịch khác nhau như thế nào?
3) Giảng bài mới:
Kiểm tra bài cũ
Câu hỏi: Trình bày khái niệm ngôn ngữ lập trình, chương trình dịch, phân biệt giữa biên dịch và thông dịch
- Nhận xét cho điểm
Mở bài: Khi làm một bài toán lập trình có những phần chúng ta phải tuân thủ theo quy
ước của nó, có những phần người lập trình có thể tự làm theo cách của mình Những điều
đó là gì?
Trang 51.Các thành phần cơ bản
? Ngôn ngữ lập trình có mấy thành phần
cơ bản, đó là những thành phần
3 thành phần cơ bản
+ Bảng chữ cái: Là tập cac kí tự để viết
chương trình
+ Cú pháp: Là bộ quy tắc để viết chương
trình.( cho biết cách viết 1 chương trình
hợp lệ)
+ 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 đó
GV: Gọi HS trả lời ý nghĩa của việc đặt
tên?
HS: Tại chỗ trả lời
GV: Nhận xét và đưa ra kết luận
HS: Chú ý và ghi bài
GV: Mọi đối tượng trong chương trình
đều phải được đặt tên theo quy tắc của
ngôn ngữ lập trình và từng chương trình
dịch cụ thể
HS: Chú ý và ghi bài
GV: Lấy ví dụ tên đặt sai và tên đặt
đúng và gọi học sinh nhận xét
HS: - Tên đúng: a,b,c,x1, a_b
- Tên sai: a bc, 2x
GV: Ngôn ngữ Pascal không phân biệt
chữ hoa, chữ thường
HS: Chú ý lắng nghe
GV: Ngôn ngữ lập trình thường có ba
loại tên cơ bản: tên dành riêng, tên
chuẩn và tên do người lập trình đặt
HS: Đọc SGK và trình bày về tên dành
riêng
GV: Trong Pascal, khi soạn thảo, tên
dành riêng có màu trắng phân biệt với
các tên khác
GV: Gọi HS phát biểu về tên chuẩn
HS: Tại chỗ trả lời
GV: Viết một số tên chuẩn
HS: Ghi bài,
BẢNG CHỮ CÁI,
CÚ PHÁP, NGỮ NGHĨA
2 Một số khái niệm
a Tên
- Ý nghĩa của việc đặt tên và khai báo tên cho các đối tượng:
+ Để quản lý và phân biệt các đối tượng trong chương trình
+ Để gợi nhớ nội dung của đối tượng
- Qui tắc đặt tên trong Pascal:
Tên là một dãy liên tiếp không quá 127 kí tự bao gồm các chữ cái, chữ số và dấu gạch dưới nhưng phải bắt đầu bằng chữ cái hoặc dấu gạch dưới
* Tên dành riêng:
- Là tên được dùng với ý nghĩa riêng xác định
- Tên dành riêng còn được gọi là từ khoá
Trang 6GV: Lấy ví dụ khi giải phương trình bậc
hai thì cần dùng các biến nào?
HS: Khi giải PTBH ta cần dùng các
biến: a,b,c, x1, x2, Delta để biểu diễn
nội dung của hệ số của phương trình;
các nghiệm của phương trình và biệt số
delta
GV: Vậy các tên đó là tên do người lập
trình đặt
GV: Nêu khái niệm hằng trong ngôn
ngữ lập trình
HS: Tại chỗ trả lời
GV: Lấy ví dụ cả ví dụ đúng và ví dụ sai
về hằng cho học sinh nhận biết
HS: Nhận biết tên hằng đúng và tên
hằng sai
Ví dụ: 123, ‘123’, ‘TRUE, 2+3,…
GV: Các biến được dùng trong chương
trình phải được khai báo
GV: Khi viết chương trình người lập
trình có nhu cầu giải thích cho những
câu lệnh mình viết để khi đọc lại được
thuận tiện hoặc người khác đọc có thể
hiểu được chương trình mình viết, do
vậy các ngôn ngữ lập trình thường cung
cấp cho chúng ta cách đưa vào các đoạn
chú thích trong chương trình
HS: Chú ý lắng nghe và ghi bài
GV: Ví dụ một chương trình Pascal đơn
giản minh họa
Ví dụ: Trong Pascal:
Program, uses, var, type, const, begin, end, array, type,…
Trong C++: main, include, if, while, void
* Tên chuẩn
- Được dùng với ý nghĩa nhất định nào đó, dùng riêng thì phải khai báo
Ví dụ:
Trong Pascal: abs, sqr, sqrt, cos, sin,…
Trong C++: cin, cout, getchar
*Tên do người lập trình đặt
- Được dùng với ý nghĩa riêng, xác định bằng cách khai báo trước khi sử dụng
b Hằng và biến
Hằng
- 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
- Các ngôn ngữ lập trình thường có:
+ Hằng số: số nguyên và số thực
VD: 2 , 1.0E-6,…
+ Hằng lôgic: Là giá trị đúng (True)hoặc sai (False) + Hằng xâu: Là chuỗi kí tự trong bộ mã ASCII, đặt trong cặp dấu nháy
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
c Chú thích
- Các chú thích không làm ảnh hưởng đến chương trình
- Trong Pascal chú thích được đặt trong {} hoặc (*và*)
- Trong C++ chú thích đặt trong /* và */ hoặc //
4) CỦNG CỐ : Nhắc lại quy tắc đặt tên trong Pascal và khái niệm tên dành riêng, tên
chuẩn, tên do người lập trình đặt Khái niệm hằng, biến và sự khác nhau giữa hằng và biến
5) BÀI TẬP VỀ NHÀ:
Hướng dẫn làm bài tập 5 và bài tập 6
- Bài 6: Các hằng số: a,b,f,g; Các hằng xâu: d,i
Trang 7Tuần dạy: 4 Ngày soạn : 05/9/2016
BÀI TẬP
I MỤC TIÊU
1 Kíến thức:
+ Củng cố lại cho HS những kiến thức đã học về lập trình, ngôn ngữ lập trình bậc cao, ngôn ngữ máy, chương trình dịch, thông dịch, biên dịch qua các bài tập trắc nghiệm
2 Kĩ năng:
+ Xác định được tên đúng, tên sai, tên chuẩn, từ khoá
+ Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể
3 Thái độ:
+ Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát
triển của tin học
+ Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằng máy tính điện tử
II PHƯƠNG TIỆN DẠY HỌC:
1 Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham
khảo Máy tính cá nhân và máy chiếu ( nếu có)
2 Học sinh: Làm bài tập trước ở nhà.
III HOẠT ĐỘNG DẠY HỌC:
1) Ổn định tổ chức: Kiểm tra sĩ số lớp.
2) Kiểm tra bài cũ ( 7 ‘)
Câu hỏi :
1 Nêu các thành phần cơ bản của ngôn ngữ lập trình?
2 Nêu quy tắc đặt tên trong Turbo Pascal?
Đáp án:
1 Ngôn ngữ lập trình có ba thành phần cơ bản: bảng chữ cái, cú pháp và ngữ nghĩa
- Bảng chữ cái: Là tập các kí tự được dùng để viết chương trình
- Cú pháp: Là bộ quy tắc để viết chương trình
- Ngữ nghĩa: Xác định ý nghĩa của các tổ hợp kí tự
2 Quy tắc đặt tên trong Pascal:
- Đối tượng HS kiểm tra: HS trung bình
3) Giảng bài mới:
GV: Gọi HS đọc câu hỏi 1, cả lớp suy
nghĩ trả lời
HS: Đọc câu hỏi
Câu1: Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao?
Người ta phải xây dựng các ngôn ngữ lập trình bậc cao,
Trang 8GV: Gọi HS đứng tại chổ trả lời.
GV: Gọi HS khác bổ sung Sau đó GV
nhận xét câu trả lời và ghi đáp án
HS: Chữa bài tập vào vở
GV: Gọi HS đọc câu hỏi 2 và trả lời câu
hỏi 2
HS: Tại chỗ trả lời và nêu khái niệm
chương trình dịch
GV: Nêu Input và Output của chương
trình dịch để gợi ý cho HS vai trò của
chương trình dịch
HS: Tại chỗ trả lời
GV: Gọi HS trả lời câu hỏi 3
HS: Tại chỗ đọc câu hỏi
GV: Gọi HS khác nhận xét câu trả lời,
bổ sung và đưa ra đáp án
GV: Gọi HS khác nhận xét câu trả lời,
bổ sung và đưa ra đáp án
GV: Gọi HS đọc câu hỏi 4, cả lớp suy
nghĩ câu hỏi
GV: Gọi 1 HS trả lời
GV: Nhận xét và nêu đáp án
GV: Gọi HS đọc câu hỏi 5
GV: Gợi ý cho HS bằng cách gọi 1 HS
nêu quy tắc đặt tên trong Pascal và tên
được đặt không quá ngắn, hay quá dài
mà nên đặt sao cho gợi nhớ ý nghĩa đối
tượng mang tên đó
HS: Tại chỗ đọc câu hỏi
HS: Lên bảng làm
GV: Chữa bài
vì:
- Ngôn ngữ lập trình bậc cao gần với ngôn ngữ tự nhiên hơn, thuận tiện cho đông đảo người lập trình
- Chương trình viết bằng ngôn ngữ lập trình bậc cao nói chung không phụ thuộc vào phần cứng máy tính
- Chương trình viết bằng ngôn ngữ bậc cao dễ hiểu, dễ hiệu chình và nâng cấp
- Ngôn ngữ bậc cao cho phép làm việc với nhiều kiểu
dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho việc mô tả thuật toán
Câu2: Chương trình dịch là gì? Tại sao cần phải có chương trình dịch
- Chương trình dịch là chương trình đặc biệt, có chức năng chuyển đổi chương trình được viết trên ngôn ngữ bậc cao thành một chương trình đích có thể thực hiện trên máy
- Để một chương trình viết bằng ngôn ngữ bậc cao máy
có thể hiểu và thực hiện được thì phải có chương trình dịch dịch sang ngôn ngữ máy
Câu3: Biên dịch và thông dịch khác nhau như thế nào?
- Trình biên dịch duyệt, kiểm tra, phát hiện lỗi, xác định chương trình nguồn có dịch được không và dịch toàn bộ thành một chương trình đích có thể thực hiện trên máy
và có thể lưu trữ được
- Trình thông dịch lần lượt dịch từng câu ra ngôn ngữ máy rồi thực hiện và không lưu lại trên máy
Câu4: Hãy cho biết điểm khác nhau giữa tên dành riêng và tên chuẩn? - Tên dành riêng không được
dùng khác với ý nghĩa đã xác định, tên chuẩn có thể dùng với ý nghĩa khác
Câu5: Hãy tự viết ra ba tên đúng theo quy tắc của Pascal.
3 tên đúng trong Pascal:
abc; vidu3; _15a
Câu6: 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 Pascal và chỉ rõ lỗi trong từng trường hợp
a) 150.0; b) -22; c) 6,23; d) ‘43’ ; e) A20;
Trang 9GV: Gọi HS đọc câu hỏi 6
GV: Từng câu a,b,…, i gọi lần lượt từng
HS: Trả lời:
- c) không phải là hằng vì dấu phẩy phải
thay bằng dấu chấm
- e) là tên chưa rõ giá trị
- h) thiếu dấu nháy đơn ơ cuối
f)1.06E-15 g) 4+6 ; h) ‘c ; i) ‘True’
- Các biểu diễn không phải là hằng: c), e), h)
4) CỦNG CỐ :
- Rèn luyện kĩ năng đặt tên, biến
- Hiểu và nắm vững khái niệm chương trình dịch, hằng và biến,…
5) BÀI TẬP VỀ NHÀ:
- Hướng dẫn HS làm các bài tập trong SBT: BT 1.9; BT 1.10; BT 1.11; BT 1.12
Trang 10Tuần dạy: 5 Ngày soạn : 05/9/2016
CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN Bài 3 CẤU TRÚC CHƯƠNG TRÌNH
I MỤC TIÊU
1 Kiến thức:
+ Hiểu chương trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình
+ Biết cấu trúc của một chương trình đơn giản: cấu trúc chung và các thành phần
+ Biết một số kiểu dữ liệu chuẩn: kiểu nguyên, thực, kí tự, logic và miền con
2 Kĩ năng:
+ Nhận biết được các thành phần của một chương trình đơn giản
+ Xác định kiểu cần khai báo của dữ liệu đơn giản
3 Thái độ:
+ Xác định thái độ nghiêm túc trong học tập khi làm quen với nhiều qui định nghiêm ngặt trong lập trình
II PHƯƠNG TIỆN DẠY HỌC:
1 Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham
khảo Máy tính cá nhân và máy chiếu ( nếu có)
2 Học sinh: tham khảo trước tài liệu ở nhà.
III HOẠT ĐỘNG DẠY HỌC:
1) Ổn định tổ chức: Kiểm tra sĩ số lớp.
2) Kiểm tra bài cũ
Câu hỏi :
Câu hỏi: Nêu qui tắc đặt tên trong Pascal? Phân biệt tên chuẩn và tên dành riêng?
Đáp án:
- Qui tắc đặt tên trong Pascal: Trong Pascal, 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 và bắt đầu bằng chữ cái hoặc dấu gạch dưới
- Tên dành riêng không được sử dụng với ý nghĩa khác, cong với tên chuẩn, người dùng có thể dùng chúng với ý nghĩa và mục đích khác
Đối tượng kiểm tra: HS trung bình
3) Giảng bài mới:
GV: Một ngôn ngữ lập trình bậc cao thường
có hai phần
GV: Với quy ước: Các diễn giải bằng ngôn
ngữ tự nhiên được đặt trong cặp < và >
[ ] : Biểu diễn có thể có hoặc không
I Cấu trúc chương trình
1 Cấu trúc chung
- Cấu trúc chung:
[<phần khai báo>]
<phần thân>