TIẾN TRÌNH LÊN LỚP: 1 Ổn định lớp học và kiểm tra sĩ số: 1 phút 2 Bài mới: Đặt vấn đề:1 phút Trong chương trình lớp 10 các em đã được biết đến một số khái niệm: thuật toán, ngôn ngữ lập
Trang 1Tiết 1: Khái niệm về lập trình và ngôn ngữ lập trình
Ngày soạn:03 /09/ 2020
I MỤC TIÊU BÀI HỌC:
1 Kiến thức.
- Biết được khái niệm về lập trình và 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 Kỹ năng:
- Biết vai trò của chương trình dịch
- So sánh được thông dịch và biên dịch
- Phương pháp dạy học: thuyết trình kết hợp viết bảng
- Thiết bị và đồ dùng dạy học: sách giáo khoa, giáo án, sách giáo viên
- Dự kiến hình thức, phương pháp đánh giá kiến thức học sinh : đặt câu hỏi, yêucầu học sinh trả lời trực tiếp
2 Học sinh : Chuẩn bị tài liệu học tập: sách giáo khoa, sách bài tập, vở ghi
III TIẾN TRÌNH LÊN LỚP:
1) Ổn định lớp học và kiểm tra sĩ số: (1 phút)
2) Bài mới:
Đặt vấn đề:(1 phút) Trong chương trình lớp 10 các em đã được biết đến một số khái
niệm: thuật toán, ngôn ngữ lập trình, trong bài học hôm nay chúng ta đi tìm hiểu sâuhơn cách giải một bài toán trên máy tính
Trang 2NỘI DUNG BÀI HỌC HOẠT ĐỘNG DẠY VÀ HỌC CỦA GV VÀ
+ Viết chương trình+ Hiệu chỉnh
+ Viết tài liệu
*GV: Sau khi thiết kế được thuật toán thì ta phải
lập trình, để đưa các câu lệnh vào máy tính vàmáy tính có thể hiểu được thuật toán
Chương trình được viết trên
ngôn ngữ máy có thể được nạp
trực tiếp vào bộ nhớ và thực hiện
dịch từ tiếng Anh sang tiếng Việt
* GV: Ngôn ngữ bậc cao phải sử dụng một CT
dịch để chuyển đổi mới có thể thực hiện được
- Lập trình bằng ngôn ngữ bậc cao dễ viết hơn
Trang 3gần với ngôn ngữ tiếng anh.
chương trình viết trên ngôn ngữ
bậc cao phải được chuyển đổi
thành CT trên ngôn ngữ máy
mới có thể thực hiện được
+B1 : kiểm tra tính đúng đắn của
lệnh tiếp theo trong chương trình
nguồn
+B2 : chuyển lệnh đó thành một
hoặc nhiều câu lệnh trong ngôn
ngữ máy
+B3 : thực hiện các câu lệnh vừa
được chuyển đổi
- Biên dịch:
+ bước 1 : duyệt, phát hiện lỗi,
kiểm tra tính đúng đắn của lệnh
trong chương trình nguồn
+ bước 2 : dịch toàn bộ chương
trình nguồn thành một chương
nhiên Lập trình trên ngôn ngữ máy rất khó,thường các chuyên gia lập trình mới lập trìnhđược
* Vậy chương trình dịch là gì?
CT dịch :+ CT nguồn: là CT viết bằng ngôn ngữ lập trình+ CT đích: CT chuyển đổi sang ngôn ngữ máy
* GV:
- Yêu cầu học sinh đọc ví dụ cụ thể về thông
dịch và biên dịch từ tiếng Anh sang tiếng Việt
- Hãy lấy ví dụ tương tự trong thực tế về biêndịch và thông dịch từ tiếng Anh sang tiếng Việt
* HS: Tìm hiểu các bước của thông dịch và biên
Trang 4- GV: Nhắc lại một số khái niệm cơ bản: lập trình và ngôn ngữ lập trình, khái niệm CTdịch, hai loại CT dịch là biên dịch và thông dịch.
- GV yêu cầu HS trả lời câu hỏi sgk: 1, 2, 3 trang 13
- HS xem trước bài học : các thành phần của ngôn ngữ lập trình
- HS đọc các bài đọc thêm 1 và 2
4) Rút kinh nghiệm sau tiết giảng
Trang 5
Ngày soạn: 06 / 09 / 2020
I MỤC TIÊU BÀI HỌC:
1 Kiến thức:
- Nắm được các thành phần của một ngôn ngữ lập trình nói chung
- Biết được một số khái niệm như: tên, tên chuẩn, tên dành riêng…
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 qui định về tên, hằng và biến
- Biết đặt tên đúng, nhận biết tên sai
- Phương pháp dạy học: thuyết trình kết hợp viết bảng
- Thiết bị và đồ dùng dạy học: sách giáo khoa, giáo án, sách giáo viên
- Dự kiến hình thức, phương pháp đánh giá kiến thức học sinh : đặt câu hỏi, yêucầu học sinh trả lời trực tiếp
2 Học sinh :
- Chuẩn bị tài liệu học tập: sách giáo khoa, sách bài tập, vở ghi
III TIẾN TRÌNH LÊN LỚP:
1) Ổn định lớp học: kiểm tra sĩ số ( 1 phút)
2) Kiểm tra bài cũ: (5 phút)
Nêu khái niệm về lập trình, phân biệt ngôn ngữ lập trình bậc cao và ngôn ngữmáy
Trang 6* Hs: - bảng chữ cái tiếng việt, số, dấu.
- cách ghép các kí tự thành từ, phép ghép từ ngữ nghĩa của từ thành câu
* GV: Để lập trình được, chúng ta phải hiểu các yếu tố của NNLT, vậy bài học hôm
nay chúng ta sẽ tìm hiểu các thành phần cấu thành nên NNLT là gì?
Hoạt động 1: Tìm hiểu các thành phần của ngôn ngữ lập trình (10 phút)
Hình thức tổ chức: Đặt câu hỏi
1 Các thành phần
+ Bảng chữ cái: là tập các kí tự
được dùng để viết chương trình,
gồm: chữ cái thường, in hoa, chữ
phát hiện và thông báo lỗi Còn lỗi
ngữ nghĩa thì khó phát hiện hơn
* GV: trong ngôn ngữ lập trình cũng tương tự
như NN tiếng việt, nó gồm có các thành phần : bảng chữ cái, cú pháp và ngữ nghĩa
- Vậy các em hãy suy nghĩ và nghiên cứu sgk cho biết bảng chữ cái, cú pháp và ngữ nghĩa trong NNLT là gì?
*HS: nghiên cứu sách giáo khoa và trả lời
* GV: Mỗi ngôn ngữ lập trình có một quy tắc
riêng hay đó chính là cú pháp của chương trình
- Mỗi một câu lệnh mang một ý nghĩa, vì vậy người lập trình phải nắm vững ngữ nghĩa của
Tên: là một dãy liên tiếp không quá
*GV: Đặt vấn đề : mọi đối tượng trong
chương trình đều phải được đặt tên
* Hãy nghiên cứu sách giáo khoa, trang 10, để
Trang 7hoặc dấu gạch dưới, và bắt đầu bằng
chữ cái hoặc dấu gạch dưới
-Vd:
+ abc;
+chuong_trinh;
+ _vidu1;
Pascal phân biệt 3 loại tên:
+ Tên dành riêng : là những tên
được ngôn ngữ lập trình quy định
dùng với nghĩa xác định, người lập
trình không được dùng với ý nghĩa
tên được dùng theo ý nghĩa riêng
của từng người lập trình, tên này
được khai báo trước khi sử dụng
b) Hằng và biến
*Hằng:
K/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
*HS: nghiên cứu sách giáo khoa và trả lời
* GV: Yêu cầu học sinh lấy VD về tên
HS đưa ra một số tên, đặt theo quy định của Pascal
- Trong Pascal phân biệt 3 loại tên:
+ Tên dành riêng : program , type + Tên chuẩn : abs , interger byte + Tên tự đặt : xyx , tong
* HS lấy ví dụ:
- hằng số : 50 60.5
- hằng xâu : “ha noi” “a”
- hằng logic : false
* HS lấy ví dụ đặt tên biến
+ VD khi cần giải hệ phương trình thì cần phảiđặt tên các biến x, y
* GV: Trong NNLT, đại lượng mà có giá trị
không đổi được gọi là hằng
VD: 100, 200
Có các loại hằng: hàng số học, hằng logic,
Trang 8mã ascii, được đặt trong cặp dấu
nháy
- hằng logic : là giá trị đúng (true)
hoặc sai ( false)
* Biến:
-K/n: Biến là đại lượng được đặt
tên, dùng để lưu trữ giá trị và giá trị
có thể thay đổi được trong quá trình
thực hiện CT
Vd:
Biến : x,y hoặc a,b,c…
* Chú thích
- Dùng để giải thích ý nghĩa các câu
lệnh chương trình cho người đọc dễ
hiểu và nhận biết CT
- Đoạn chú thích được đặt trong cặp
dấu { và } hoặc (* và *)
loại hằng
* GV: Trong NNLT, giá trị mà có thể thay đổi
được trong quá trình thực hiện chương trình được gọi là biến
- Biến được đặt tên bởi người lập trình
- Biến được dùng để lưu trữ giá trị
* GV: Để giúp người đọc chương trình dễ
hiểu và nhận biết chương trình, người lập trình
sử dụng các dòng chú thích
- Chú thích không ảnh hưởng đến nội dung CT
và được CT dịch bỏ quaVD: câu lệnh:
z:=x+y;
(*giá trị z bằng tổng của x và y*)
4 Củng cố bài học và nhắc nhở (2 phút)
* GV nhắc lại một số nội dung quan trọng đã học: Các thành phần của NNLT, khái
niệm : tên, tên chuẩn, tên dành riêng, tên do người lập trình đặt, hằng, biến và chú thích
* GV yêu cầu học sinh :
- Làm bài tập 4, 5, 6, sách giáo khoa, trang 13
- Xem bài đọc thêm
- Xem trước bài : cấu trúc chương trình, sách giáo khoa, trang 18
5) Rút kinh nghiệm sau tiết giảng:
Trang 10
Tiết 3: Bài tập
Ngày soạn: 10/ 09/ 2020;
I MỤC TIÊU BÀI HỌC:
1 Kiến thức.
- Ôn tập lại các nội dung cơ bản đã học trong bài 1 và bài 2.
- Trả lời câu hỏi và bài tập SGK, một số bài tập bổ sung.
2 Kỹ năng:
- 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 nhằm giải các bài toán thực tiễn ngày càng phức tạp
- 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 CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1 Giáo viên:
- Phương pháp dạy học: thuyết trình kết hợp viết bảng
- Thiết bị và đồ dùng dạy học: sách giáo khoa, giáo án, sách giáo viên
- Dự kiến hình thức, phương pháp đánh giá kiến thức học sinh : đặt câu hỏi, yêucầu học sinh trả lời trực tiếp
2 Học sinh :
- Làm bài tập trước ở nhà
- Chuẩn bị tài liệu học tập: sách giáo khoa, sách bài tập, vở ghi
III TIẾN TRÌNH LÊN LỚP:
1) Ổn định lớp học: kiểm tra sĩ số (1 phút)
2) Bài mới: (40 phút)
1 Câu 1:
- Ngôn ngữ 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ữ bậc cao nói
* GV: Đặt câu hỏi số 1: Tại sao
người ta phải xây dựng các ngôn ngữ lập trình bậc cao?
Trang 11tính và một chương trình có thể thực hiện
trên nhiều máy tính khác nhau
- Chương trình viết bằng ngôn ngữ bậc cao dễ
hiểu, dễ hiệu chỉnh và dễ 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 mô tả thuộc toán
2 Câu 2:
- 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ữ lập trình bậc cao thành
chương trình thực hiện được trên máy tính cụ
thể
Chương trình nguồn -> Chương trình dịch ->
Chương trình đích
3 Câu 3:
- 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? 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ữ lại để sử
dụng về sau khi cần thiết
- Trình thông dịch lần lượt dịch từng câu lệnh
ra ngôn ngữ máy rồi thực hiện ngay câu lệnh
vừa dịch được hoặc báo lỗi nếu không dịch
* GV: Đặt câu hỏi 2: Chương
trình dịch là gì? Tại sao cần phải
có chương trình dịch?
* HS: Suy nghĩ, trả lời câu hỏi,
cho ví dụ
* GV: Đặt câu hỏi 3: Biên dịch
và thông dịch khác nhau như thếnào?
* GV: Phân tích câu trả lời của
học sinh
Trang 12ý nghĩa khác.
VD:
Tên dành riêng trong Pascal: program, uses,
const, type, var, begin, end
Tên chuẩn: trong Pascal abs, integer.
Câu 5 : Gợi ý: Trong Pascal tên (do người lập
trình đặt) được đặt tuân theo các quy tắc sau:
- Chỉ bao gồm chữ cái, chữ số và dấu gạch
dưới;
- Không bắt đầu bằng chữ số;
- Độ dài theo quy định của chương trình dịch
(TP không quá 127 kí tự, Free Pascal không
quá 255 kí tự)
Câu 6: Mốt số chú ý:
6,23 dấu phẩy phải thay bằng dấu chấm;
A20 là tên chưa rõ giá trị;
4+6 là biểu thức hằng trong Pascal chuẩn cũng
được coi là hằng trong Turbo Pascal;
‘TRUE’ là hằng xâu nhưng không là hằng lôgic
- Gọi hs trả lời và cho ví dụ
* HS: lên bảng trả lời câu hỏi,
lấy ví dụ về tên chuẩn, tên dànhriêng
* GV : Nhận xét tên đúng, tên sai
* GV: Đặt câu hỏi 5: Hãy tự viết
ra ba tên đúng theo quy tắc của Pascal
* GV: Gọi 3 học sinh lên bảng
cho ví dụ về tên do người lập
-Xem lại các bài tập đã làm
- Đọc trước bài: Cấu trúc chương trình
4) Rút kinh nghiệm sau tiết giảng
Kí duyệt, ngày … Tháng … Năm 2020
Nhóm trưởng chuyên môn
Trang 13Tiết 4: Cấu trúc chương trình
Ngày soạn: 12/ 09/ 2020;
I MỤC TIÊU BÀI HỌC:
1 Kiến thức.
- Biết được cấu trúc chung của một chương trình
- Biết cách khai báo tên chương trình, thư viện và khai báo hằng
2 Kỹ năng:
- Nhận biết được 2 thành phần của một chương trình
- Khai báo được tên CT, thư viện, hằng
3 Thái độ:
- Có ý thức cố gắng trong học tập vượt qua những khó khăn ở giai đoạn đầu khi học lập trình
- Ham muốn giải các bài tập bằng lập trình, thấy được lợi ích của LT phục vụ tính toán
II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1 Giáo viên:
- Phương pháp dạy học: thuyết trình kết hợp viết bảng
- Thiết bị và đồ dùng dạy học: sách giáo khoa, giáo án, sách giáo viên
- Dự kiến hình thức, phương pháp đánh giá kiến thức học sinh : đặt câu hỏi, yêucầu học sinh trả lời trực tiếp
2 Học sinh :
Đọc trước bài ở nhà Chuẩn bị tài liệu học tập: sách giáo khoa, sách bài tập, vở ghi
III TIẾN TRÌNH LÊN LỚP
1) Ổn định lớp học: kiểm tra sĩ số ( 1 phút)
2) Kiểm tra bài cũ: (3 phút)
Nêu quy tắc đặt tên, có những loại tên nào trong NNLT Pascal
3) Bài mới:
Trang 14* HS:3 phần: - Có thứ tự: mở bài, thân bài, kết luận - Phần thân bài quan trọng nhất
* GV: Trong NNLT, để viết được một CT cũng phải có cấu trúc Vậy bài hôm nay
chúng ta sẽ tìm hiểu xem 1 CT thì bao gồm những thành phần gì?
Hoạt động 1: Tìm hiểu cấu trúc chung của chương trình (10 phút)
-Phần thân CT bắt buộc phải có
* GV: Cấu trúc chương trình bậc cao thường có
2 phần: phần khai báo và phần thân chương trình
* Theo em 2 thành phần này, thành phần nào là quan trọng và bắt buộc có?
*HS: Thân chương trình là quan trọng và bắt
buộc có, còn phần khai báo có thể có hoặc không
Hoạt động 2: Tìm hiểu các thành phần chi tiết (15 phút)
Hình thức tổ chức: Đặt câu hỏi
2 Các thành phần
a) Phần khai báo:
+ Tên chương trình: Program
+ Thư viện: Uses Crt
+ Khai báo biến: Var
-Tât cả các biến trong CT đều
phải khai báo trước khi sử dụng
* GV: Phần khai báo thì khai báo những gì?
* GV: Phần khai báo:khai báo tên chương trình,
khai báo thư viện chương trình con, khai báo hằng, khai báo biến
- Tên chương trình bao giờ cũng băt đầu bằng từ
- Hằng là đại lượng không đổi trong CT
* GV: Yêu cầu HS lấy VD về khai báo hằng
*HS: VD Const a=10; b=200;
Trang 15thời điểm thực hiện chương trình
được gọi là biến đơn.
Sau mỗi câu lệnh kết thúc dấu “;”
*HS: Biến là đại lượng có thể thay đổi trong
quá trình thực hiện
*GV: Khi sử dụng biến đều phải khai báo trước + Khai báo biến: Var
VD: Var x,y: integer;
* GV: Phần thân chương trình là quan trọng
[<khai báo biến>];
[<khai báo chương trình con>];
* GV: Yêu cầu học sinh nắm vững cấu trúc và từng thành phần của 1 chương trình
* HS: Đọc trước bài 4 và bài 5 trong sgk
5) Rút kinh nghiệm sau tiết giảng
Trang 16Tiết 5: Một số kiểu dữ liệu chuẩn Khai báo biến
- Biết cách khai báo biến trong chương trình
- Xác định kiểu dữ liệu cho biến
- Phương pháp dạy học: thuyết trình kết hợp viết bảng
- Thiết bị và đồ dùng dạy học: sách giáo khoa, giáo án, sách giáo viên
- Dự kiến hình thức, phương pháp đánh giá kiến thức học sinh : đặt câu hỏi, yêucầu học sinh trả lời trực tiếp
2 Học sinh :
- Chuẩn bị tài liệu học tập: sách giáo khoa, sách bài tập, vở ghi
III TIẾN TRÌNH LÊN LỚP
1) Ổn định lớp học: kiểm tra sĩ số ( 1 phút)
2) Kiểm tra bài cũ: (5 phút)
Câu hỏi: Cấu trúc chương trình gồm mấy phần, trình bày các phần đó
3) Bài mới:
Đặt vấn đề (1 phút)
* GV: Trong toán học chúng ta biết đến một số kiểu dữ liệu như: số tự nhiên, số
nguyên, số thực,…Cũng tương tự như vậy, trong NNLT Pascal, để lập trình giải quyếtcác bài toán, cần có các tập hợp , DL mỗi tập hợp có một giới hạn nhất định
Trang 17* GV: Kiểu dữ liệu chuẩn là một tập hữu hạn
các giá trị, mỗi kiểu dữ liệu cần một dunglượng bộ nhớ cần thiết để lưu trữ và xác địnhcác phép toán có thể tác động lên dữ liệu
Trong Pascal có mấy kiểu dữ liệu?
- Có 4 kiểu: kiểu nguyên, kiểu thực, kiểu kí tự
và kiểu logic
* GV: Yêu cầu học sinh kẻ bảng cho các
kiểu DL và giới hạn cho các kiểu DL đó
* HS: kẻ bảng để xác định từng kiểu DL
* GV: giải thích một số vấn đề cho học sinh :
+ vì sao phạm vi biểu diễn của các loại kiểunguyên khác nhau?
+ miền giá trị của các loại kiểu thực, số chữ
số có nghĩa?
* GV: Yêu cầu học sinh nghiên cứu SGK trả
lời câu hỏiTrong ngôn ngữ pascal, có bao nhiêu kiểu kí tự? Giới hạn kiểu kí tự là bao nhiêu và tại sao?
- Trong ngôn ngữ pascal, có bao nhiêu kiểu logic, gồm các giá trị nào?
Trang 18Hình thức tổ chức: Giảng giải, vấn đáp
II KHAI BÁO BIẾN
Var <danh sách biến> :<kiểu dữ
liệu>;
• Danh sách biến: có thể 1 hoặc
nhiều biến
• Kiểu dữ liệu : kiểu chuẩn đã học
Ví dụ: trong chương trình ta cần
dùng biến a kiểu số nguyên, b kiểu số
thực
Var a : integer;
b : real;
* GV: Mọi biến dùng trong chương trình đều phải được khai báo tên biến và kiểu dữ liệu của biến Tên biến dùng để xác lập quan hệ giữa biến với địa chỉ bộ nhớ nơi lưu giữ giá trị của biến.
* GV: Cho ví dụ:
Var x,y,z : Word;
H: in teger;
Yêu cầu học sinh cho ý kiến về ví dụ.
* HS: Khai báo x,y,z đúng, H sai
* GV: Lưu ý học sinh về dung lượng bộ nhớ
lưu trữ khi khai báo các biến
4)
Củng cố bài học:(3 phút)
* GV: Nhắc lại 1 số kiến thức trọng tâm:
+ Có 4 kiểu dữ liệu chuẩn, mỗi kiểu DL có giới hạn giá trị và dung lượng bộ nhớ cần thiết khác nhau
+ Cách khai báo biến
* HS: Làm bài tập SGK trang 35 (Bài 3, 4, 5)
5) Rút kinh nghiệm sau tiết giảng
Trang 19
biểu thức, câu lệnh gán
Ngày soạn: 18/ 09/ 2020;
I MỤC TIÊU BÀI HỌC:
1 Kiến thức:- Biết được các phép toán thông dụng trong NNLT, cách viết biểu thức
số học, hàm chuẩn trong Pascal
- Biết cách diễn đạt một biểu thức trong NNLT
2 Kỹ năng :- Nhận biết được các phép toán để xây dựng biểu thức cho hợp lý.
- Nhận biết ý nghĩa của một số hàm chuẩn thường dùng
3 Thái độ: - Phát triển tư duy lôgic, linh hoạt, có tính sáng tạo
- Biết thể hiện về tính cẩn thận chính xác trong tính toán cũng như lập luận
II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1 Giáo viên:
- Phương pháp dạy học: thuyết trình kết hợp viết bảng
- Thiết bị và đồ dùng dạy học: sách giáo khoa, giáo án, sách giáo viên
- Dự kiến hình thức, phương pháp đánh giá kiến thức học sinh : đặt câu hỏi, yêucầu học sinh trả lời trực tiếp
2 Học sinh : Chuẩn bị tài liệu học tập: sách giáo khoa, sách bài tập, vở ghi
IV TIẾN TRÌNH LÊN LỚP
1) Ổn định lớp học: kiểm tra sĩ số: ( 1 phút)
2) Kiểm tra bài cũ: (3 phút)
Câu hỏi: Nêu cấu trúc khai báo biến, lấy một số ví dụ về khai báo biến
3) Bài mới:
Đặt vấn đề: (1 phút)
* GV: Để mô tả các thao tác trong thuật toán, mỗi ngôn ngữ lập trình đếu sử dụng một
số khái niệm cơ bản: phép toán, biểu thức, một số hàm chuẩn toán học Chúng ta sẽ
Trang 20*GV: Toán học có những phép toán nào?
*HS: Suy nghĩ và đưa ra một số phép toán thường
*GV: Ghi một số phép toán lên bảng.
- Phép DIV, MOD được sử dụng cho kiểu dữ liệunào?
- Kết quả của phép toán quan hệ thuộc kiểu dữ liệu nào?
Yêu cầu học sinh tính một số kết quả sau:
- Trong toán học biểu thức là gì ?
- Trong tin học khái niệm về biểu thức trong lậptrình ?
- Cách viết các biểu thức trong lập trình có giốngcách viết trong toán học hay không ?
- Trong tin học, trật tự ưu tiên các phép toán cũng
Trang 21* Chú ý :
Thứ tự thực hiện các phép toán:
+ Trong ngoặc trước, ngoài ngoặc
sau
+ Nhân, chia, chia nguyên, chia
lấy dư trước, cộng, trừ sau
Yêu cầu: HS sử dụng các phép toán số học hãy biểu
diễn các biểu thức toán học thành biểu thức trongNNLT
4x - 2y
x + x−1 y
c b a
c b a
+
+ +
+ Đối số là một hay nhiều biểu
thức số học đặt trong dấu ngoặc
+lũy thừa của số e : (ex) exp(x)
*GV:- Muốn tính ax2 + 1 ta viết thế nào?
- Muốn tính x , x, sinx ta làm thế nào?
*HS: Suy nghĩ và trả lời:
- Phải sử dụng một số hàm chuẩn quy định trongPascal
*GV:Tính các giá trị đó một cách đơn giản người ta
đã xây dựng sẵn một số đơn vị chương trình trongcác thư viện chương trình giúp người lập trình tínhtoán nhanh hơn
*GV:-Cho biểu thức
x - 2x+ 1; x2 - 1Hãy biểu diễn biểu thức toán trong biểu thức trong NNLT
*HS:
Trang 22Hoạt động 4: Tìm hiểu biểu thức quan hệ trong lập trình (8 phút)
Hình thức tổ chức: Giảng giải, vấn đáp
4) Biểu thức quan hệ
- Hai biểu thức có cùng kiểu dữ
liệu được liên kết với nhau bởi
phép toán quan hệ cho ta một biểu
*GV: Khi hai biểu thức số học liên kết với nhau
bằng phép toán quan hệ ta được một biểu thức mới,biểu thức đó gọi là biểu thức gì?
*HS: Biểu thức quan hệ
*GV: Hãy lấy một ví dụ về biểu thức quan hệ?
*HS: Lấy ví dụ cụ thể.
*GV: - Yêu cầu học sinh nghiên cứu sách giáo
khoa và cho biết cấu trúc chung của biểu thức quanhệ? Cho biết thứ tự thực hiện của biểu thức quan hệ
*HS:+ Trình bày cấu trúc chung của biểu thức quan
- Các biểu thức quan hệ liên kết với
nhau bởi phép toán logic ta được biểu
thức logic biểu thức logic đơn giản là
giá trị true hoặc flase
(5<=x) and (x<=11)
*GV: Cho biết kết quả của phép toán quan hệ
Trang 23VD: (x>=0) and (x<=5).
- Thứ tự thực hiện của biểu thức quan
hệ?
+ thực hiện các biểu thức quan hệ
+ thực hiện phép toán logic
*HS: kiểu logic.
*GV: - hãy cho một số ví dụ về biểu thức logic.
- thứ tự thực hiện biểu thức logic
Ý nghĩa: tên biến ở vế trái sẽ được
nhận giá trị bằng giá trị của biểu
GV: Mỗi ngôn ngữ lập trình có cách viết câu lệnh
gán khác nhau, chẳng hạn như trong Pascal có lệnhgán sau:
i : = 8 + 1;
- Giải thích: Lấy 8 cộng với 1, đem kết quả đặt vào
i, ta được i = 9
GV: Khi viết lệnh gán cần chú ý điều gì?
GV: Lấy 1 vài ví dụ minh họa cho cho sinh.
Var i, j integer;
Begin
i := 2; j := 5;
i := i+1; j := j-1;
writeln (‘i=’, i); /*in ra giá trị i*/
writeln (‘j=’, j);/*in ra giá trị j*/
readln;
End
- Vậy chương trên in ra màn hình giá trị của i và j bằng bao nhiêu ?
Trang 24- Cấu trúc lệnh gán trong turbo pascal.
* GV: Yêu cầu học sinh :
- Làm các bài tập 5, 6, 7, 8 SGK trang 35 - 36
- Xem trước bài: Các thủ tục chuẩn vào/ ra đơn giản
5) Rút kinh nghiệm sau tiết giảng
Kí duyệt, ngày … Tháng … Năm 2020
Nhóm trưởng chuyên môn
Trang 25SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH
+ Viết được một số lệnh vào/ ra đơn giản
+ Nắm được cấu trúc một chương trình Pascal đơn giản
3 Thái độ:
+ Phát triển tư duy lôgic, linh hoạt, có tính sáng tạo
+ Biết thể hiện về tính cẩn thận chính xác trong tính toán cũng như lập luận
II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1 Giáo viên:
- Phương pháp dạy học: thuyết trình kết hợp viết bảng
- Thiết bị và đồ dùng dạy học: sách giáo khoa, giáo án, sách giáo viên
- Dự kiến hình thức, phương pháp đánh giá kiến thức học sinh : đặt câu hỏi, yêucầu học sinh trả lời trực tiếp
2 Học sinh : Chuẩn bị tài liệu học tập: sách giáo khoa, sách bài tập, vở ghi, vở nháp
III TIẾN TRÌNH LÊN LỚP
1) Ổn định lớp học: kiểm tra sĩ số ( 1 phút)
2) Kiểm tra bài cũ: (5 phút)
Viết 3 ví dụ cho 3 dạng biểu thức: biểu thức quan hệ, biểu thức logic, phép gán
3) Bài mới:
Đặt vấn đề:(3 phút)
Trang 26ngôn ngữ để lập trình Vậy trong Pascal, sử dụng câu lệnh đưa dữ liệu vào và DL ra thì cần phải sử dụng câu lệnh gì? Bài hôm nay chúng ta sẽ đi tìm hiểu.
Hoạt động 1: Tìm hiểu câu lệnh nhập và ghi dữ liệu trong lập trình (25 phút)
+ Khi nhập giá trị cho các biến
thủ tục, những giá trị này được gõ
cách nhau một dấu cách hoặc
trong đó <Danh sách kết quả
ra>có thể tên biến đơn, biểu thức,
Read (<DS biến vào>);
Readln (<DS biến vào>);
- Chú ý: + Khi nhập dữ liệu từ bàn phím READ,READLN, có ý nghĩa như nhau, thường haydùng READLN hơn
- Thủ tục READLN không có tham số để dừngchương trình xem kết quả
GV: Mỗi ngôn ngữ lập trình có cách đưa thông tin
ra màn hình khác nhau Với ngôn ngữ lập trìnhPascal người ta dùng thủ tục nào?
HS: Suy nghĩ trả lời và ghi chép
- Khi giải phương trình bậc nhất ax+b=0, cần sửdụng câu lệnh xuất nhập cho các biến là gì?
Xét vd sau và yêu cầu học sinh quan sát ví dụ cho biết ý nghĩa từng câu lệnh.
program vb;
var x, y, z:integer;
begin writeln(“nhap vao hai so:”);
readln(x, y);
Trang 27• Chú ý:
- Writeln sau khi đưa kết quả
ra con trỏ xuống dòng mới
- Ngoài ra trong Turbo Pascal
còn có quy cách đưa thông tin ra
- khai báo tên CT
- khai báo biến: x, y,z
3 Soạn thảo, dịch, thực hiện và
-Biên dịch chương trình: Alt + F9
-Soát lỗi chương trình: F9
Trang 28-Xem lại màn hình kết quả:Alt + F5.
Thoát khỏi Turbo Pascal: Alt + X
4) Củng cố bài học: (2 phút)
+ Hãy so sánh sự giống nhau và khác nhau giữa write(); và writeln();
+ Hãy so sánh sự giống nhau và khác nhau giữa read(); và readln();
+ Một số tổ hợp phím cần nhở khi sử dụng Turbo Pascal
- Viết chương trình nhập vào bán kính r của đường tròn Tính và đưa ra màn hình chu
vi và diện tích của hình tròn
HD: có biến : r, C, S
Hằng : const pi=3.14 ; C=2*pi*r; S=pi*r2;
5) Rút kinh nghiệm sau tiết giảng
Trang 29
- Sách giáo khoa, sách bài tập và bài viết sẵn ở nhà.
- Đọc trước phần phụ lục B1 trang 122 - Môi trường Turbo Pascal
- Xem trước nội dung bài thực hành số 1
III/ TIẾN TRÌNH LÊN LỚP:
1 ổn định tổ chức lớp: (2 phút)
2 Các hoạt động thực hành:
Hoạt động 1: Kiểm tra nội dung thực hành và khởi động máy (5 phút) Hoạt động của học sinh Hoạt động của giáo viên
Trang 30Free Pascal và khởi động chương trình Turbo Pascal
hoặc Free Pascal
Hoạt động 2: Tìm hiểu một chương trình Pascal hoàn chỉnh (20 phút) Hình thức tổ chức: Học sinh thực hành trên máy tính, giáo viên hướng dẫn
Chương trình giải phương trình bậc
chương trình vào máy
*GV: yêu cầu học sinh thực hiện các
nhiệm vụ :+ Lưu chương trình bằng cách nhấn phím
F2 với tên PTB2.PAS.
+ Dịch và sửa lỗi cú pháp với tổ hợp phím
* HS: - Nhấn phím F2 và gõ PTB2.PAS
- Nhấn phím Alt+F9
- Nhấn phím Ctrl+F9
Trang 31- Nhấn phím Enter
- Nhấn phím Ctrl+F9
*GV: Vì sao lại có lỗi xuất hiện?
+ Sửa lại chương trình trên không dùng đếnbiến D và thực hiện chương trình đã sửa.+ Sửa lại chương trình bằng cách thay đổicông thức tính của x2
- Thông báo lỗi và cho biết vì sao: Do căn
bậc hai của một số âm
- Tiếp tục sửa lại: x1 = 2.00 x2 = 3.00
- Thông báo lỗi với lý do delta của pt là sốâm
+ Thực hiện chương trình đã sửa với bộ dữliệu 1 ; - 5 ; 6 Thông báo kết quả
+ Thực hiện chương trình với bộ dữ liệu 1 ;
1 ; 1 Thông báo kết quả
Hoạt động 3: Rèn luyện thêm về kỹ năng lập trình cho học sinh (20 phút)
Hình thức tổ chức: Học sinh thực hành trên máy tính, giáo viên hướng dẫn
Bài 1: Viết viết một chương
* GV: định hướng để học sinh phân tich bài toán.
+ Dữ liệu vào (Input)+Diệu liệu ra (Output)+ Cách tính:
* HS: Phân tích theo yêu cầu của giáo viên:
+ Dữ liệu vào ba cạnh a; ; b ; c+ Dữ liệu ra P, S:
Trang 32+ Thông báo kết quả cho giáo viên.
- Thông báo kết quả
* GV: yêu cầu học sinh nhập dữ liệu và thông
báo kết quả
a = 3; b = 6; c = 5
a = 2; b = 5; c = 10;
3 Củng cố buổi thực hành và bài tập về nhà.
Gv nhắc lại các bước khi hoàn thành một chương trình
+ Phân tích bài toán để xác định dữ liệu vào/ ra
+ Xác định thuật toán + Soạn chương trình
+ Lưu chương trình + Biên dịch chương trình
+ Thực hiện và hiệu chỉnh chương trình
- Làm bài tập trang 35 và 36
4 Rút kinh nghiệm sau tiết thực hành:
Kí duyệt, ngày … Tháng … Năm 2020
Nhóm trưởng chuyên môn
Trang 33Ngày soạn: 28/9/2020
I MỤC TIÊU BÀI HỌC:
1 Về kiến thức
- Củng cố những nội dung đã đạt được ở tiết thực hành 1
- Biết sử dụng các thủ tục chuẩn vào/ra
- Biết xác định input và output
II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1 Giáo viên:
- SGK, SGV, giáo án, máy tính, máy chiếu
- Nêu câu hỏi gợi mở, diễn giảng, một số phương pháp khác
2 Học sinh : SGK, vở ghi, đọc trước bài ở nhà.
III TIẾN TRÌNH LÊN LỚP:
1 Ổn định lớp: Kiểm tra sĩ số (1 phút)
2 Nội dung bài giảng:
Hoạt động 1: Hướng dẫn học sinh bài 4, 5 SGK trang 35
Hình thức tổ chức: chia nhóm học sinh (Khăn phủ bàn) (15 phút)
Trang 34Biến X nhận các giá tri 0.1, 0.2, 0.3, 0.4,
Vậy các khai báo:
a) Var X, P: byte ; (sai)
b) Var X, P : real; (đúng)
c) Var P: real; X: byte; (sai)
d) Var X: real; P: byte; (đúng)
Bài 5 SGK trang 35:
Diện tích S của hình vuông có cạnh A có
giá trị nguyên trong phạm vi từ 100 đến
200 thì khai báo S như sau là đúng và tốn
HS: Thông báo kết quả cho GV.
GV: Cho biết phạm vi giá trị của biến S HS: biến S có phạm vi 10000 đến 40000 Gv: Vậy nên khai báo như thế nào là tốt
nhất?
Hs: trả lời kết quả.
Hoạt động 2: Hướng dẫn học sinh bài 6, 7 SGK trang 35, 36 Hình thức tổ chức: chia nhóm học sinh (Khăn phủ bàn) (15 phút)
Bài 6 (SGK/35) Hãy viết biểu thức toán
học dưới đây trong Pascal:
Bài 7 (SGK/36) Hãy chuyển các biểu
thức trong Pascal dưới đây sang biểu
thức toán học tương ứng:
a) a/b*2
b) a*b*c/2
c) 1/a*1/c d) b/sqrt(a*a+b)
GV: Hướng dẫn HS phân biệt cách viết công
thức trong toán học với trong Pascal (chú ý chỉ dùng một loại dấu ngoặc tròn)
HS: Lên bảng viết các biểu thức.
* Tìm hiểu bài tập 6 sgk trang 35 GV: Yêu cầu học sinh xem sgk và 2 học
sinh lên bảng làm bài tập 6
- Gọi HS khác nhận xét
GV: phân tích và đánh giá.
* Tìm hiểu bài tập 7 sgk trang 36 GV: Yêu cầu HS đọc câu hỏi Đánh giá câu
trả lời của học sinh
HS: Tập trung suy nghĩ, tìm câu trả lời.
Tham gia xây dựng bài
Hoạt động 3: Hướng dẫn học sinh bài 8, 9 SGK trang 36
Trang 35NỘI DUNG HOẠT ĐỘNG CỦA GV VÀ HS Bài 8 (SGK/36) Hãy viết biểu thức logic cho
kết quả true khi toạ độ (x,y) là điểm nằm trong
vùng gạch chéo kể cả biên của các hình 2.a và
2.b
- Hình a: (y<=1) and (y>= abs(x))
- Hình b: (abs (x)<=1) and (abs(y)<=1)
Bài 9 (SGK/36) Hãy viết chương trình nhập
số a (a>0) rồi tính và đưa ra diện tích phần
được chéo trong hình 3 (Kq làm tròn đến 4
Yêu cầu HS đọc câu hỏi Đánh giácâu trả lời của học sinh
HS: Tập trung suy nghĩ, tìm câu trả
lời Tham gia xây dựng bài
*Tìm hiểu bài tập 9 trang 36 sách giáo khoa
GV: - Gợi ý đề HS nhận xét bài toán
- Hướng dẫn HS viết chương trìnhđầy đủ
- Yêu cầu HS đọc câu hỏi Đánh giácâu trả lời của học sinh
3 Củng cố, nhắc nhở: (4 phút)
- Phân biệt cách viết các công thức trong toán học với trong Pascal Giáo viênnhắc những kiến thức quan trọng trong chương II và yêu cầu học sinh về làm lại tất cảcác bài tập đã giao, bài tập trong sách bài tập Đọc trước bài chương III để chuẩn bịcho tiết học sau
4 Rút kinh nghiệm sau giờ dạy:
Trang 36
CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
Tiết 10: §9 CẤU TRÚC RẼ NHÁNH
Ngày soạn: 04/10/ 2020
I MỤC TIÊU BÀI HỌC:
1 Kiến thức
- Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán
- Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ);
- Hiểu câu lệnh ghép;
2 Kĩ năng
- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản
- Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh dạng đủ và áp dụng để thực hiện được thuật toán của một số bài toán đơn giản
3 Thái độ
- Giúp học sinh hiểu rõ hơn tầm quan trọng của cấu trúc rẽ nhánh
- Làm cho học sinh thêm yêu thích lập trình, yêu thích môn học hơn
II CHUẨN BỊ CỦA GV VÀ HS:
1 Giáo viên: - SGK, SGV, giáo án, máy tính, máy chiếu.
- Nêu câu hỏi gợi mở, diễn giảng, một số phương pháp khác.
2 Học sinh : SGK, vở ghi, đọc trước bài ở nhà.
III TIẾN TRÌNH LÊN LỚP:
1 Ổn định lớp: Kiểm tra sĩ số (1 phút)
2 Nội dung bài giảng:
Hoạt động 1: Tìm hiểu khái niệm rẽ nhánh.
GV: Thường ngày có những công việc
chỉ thực hiện khi một điều kiện cụ thểnào đó được thoả mãn
VD1: “Ngày mai, nếu trời nắng Lan se
đi chơi”
VD2: Ngày mai, nếu trời nắng thì Ngọc
Trang 37(2) : Nếu D < 0 thì phương trình vô
nghiệm ngược lại phương trình có
IF – THEN trong Pascal.
Hoạt động 2: Tìm hiểu câu lệnh rẽ nhánh IF - THEN.
Hình thức tổ chức: đặt câu hỏi
2 Câu lệnh IF – THEN
a Dạng thiếu:
IF <điều kiện> THEN <câu lệnh>;
GV: Giới thiệu cấu trúc câu lệnh
Đúng Sai
Điều
kiện
Đúng Câu lệnh
Trang 38Nội dung Hoạt động của GV và HS
IF <điều kiện> THEN <câu lệnh 1>;
- Dạng 2: Điều kiện đúng thì thực hiện câu lệnh
1, sai thì thực hiện câu lệnh 2
write (‘phuong trinh vo nghiem’)
else write (‘ phuong trinh co nghiem’);
GV: yêu cầu học sinh nêu ý
nghĩa câu lệnh dựa vào sơ đồkhối
GV: Với hai dạng trên dạng nào
dùng thuận tiện hơn?
Ví dụ 2: Tìm số ngày của năm N, biết
rằng năm nhuận là năm chia hết cho 400
hoặc chia hết cho 4 nhưng không chia
hết cho 100 VD: năm 2000, 2004 là năm
nhuận và có số ngày là 366, các năm
GV: Trường hợp sau THEN hoặc ELSE
có từ hai câu lệnh trở lên thì Pascal cóthực hiện được hay không? muốn thựchiện được thì phải sử dụng gì?
HS: Suy nghĩ trả lời.
GV: Khi đó ta cần gộp nhiều câu lệnh
thành một câu lệnh trong chương trình.Ngôn ngữ Pascal cho phép ta làm đượcđiều đó
GV: Giới thiệu lệnh ghép trong Pascal.
GV: Giới thiệu ví dụ trong SGK
Điều kiện
Đúng Sai Câu lệnh 1
Câu lệnh 2
Trang 391990, 1945 không phải là năm nhuận và
Write(‘Nhap vao nam:’);readln(N);
If (N mod 400=0) or ((N mod 4=0) and
HS: Lên bảng xác định Input, Output
và viết thuật toán
GV: Hướng dẫn HS viết thuật toán HS: Lên bảng xác định Input, Output
và viết thuật toán
Input: N nhập từ bàn phím Output: Đưa số ngày của năm N ra màn
- Nhắc lại một số kiến thức vừa học xong
- Xem lại phần lí thuyết đã học và trả lời các câu hỏi ở cuối bài
- Xem trước bài ”Cấu trúc lặp” để chuẩn bị cho tiết học sau.
- Làm một số bài tập để củng cố kiến thức vừa học
4 Rút kinh nghiệm sau tiết dạy:
Trang 40Tiết 11: §10 CẤU TRÚC LẶP
Ngày soạn : 10/10/2020
I MỤC TIÊU BÀI HỌC:
1 Kiến thức:
- Hiểu nhu cầu cần sử dụng cấu trúc lặp trong thuật toán
- Hiểu được cấu trúc lặp với số lần biết trước, cấu trúc lặp kiểm tra điều kiện trước
2 Kĩ năng:
- Biết cách vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể
- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp
3 Thái độ:
- Giúp học sinh hiểu rõ hơn tầm quan trọng của cấu trúc lặp
- Làm cho học sinh thêm yêu thích môn học và lập trình hơn
II CHUẨN BỊ CỦA GV VÀ HS:
1 Giáo viên: - SGK, SGV, giáo án, máy tính, máy chiếu.
- Nêu câu hỏi gợi mở, diễn giảng, một số phương pháp khác.
2 Học sinh : SGK, vở ghi, đọc trước bài ở nhà.
III TIẾN TRÌNH LÊN LỚP:
1 Ổn định lớp: Kiểm tra sĩ số (1 phút)
2 Kiểm tra bài cũ:
Đề bài: Em hiểu thế nào là câu lệnh ghép? Nêu ví dụ minh hoạ?
3 Nội dung bài giảng: Hoạt động 1: Tìm hiểu khái niệm lặp.
Hình thức tổ chức: đặt câu hỏi, chia nhóm thảo luận
1 Khái niệm lặp
Xét 2 bài toán như sau với a > 2 là số
nguyên cho trước:
Bài toán 1: Tính tổng
100
1 2
1 1
1
1
1
+ + +
+
+ +
+
=
a a
a
a
Bài toán 2: Tính tổng
GV: Xét 2 bài toán như sau với a > 2 là số
nguyên cho trước:
Bài toán 1: Tính tổng
100
1 2
1 1
1 1 1
+ + +
+
+ + +
=
a a
a a
Bài toán 2: Tính tổng