giáo án tin học 11 bài 11×giáo án tin học 11 bài 18×giáo án tin học 11 bài 16×giáo án tin học 11 bài 14×giáo án tin học 11 bài 15×giáo án tin học 11 bài 17× giáo án tin học 11 bài 11×giáo án tin học 11 bài 18×giáo án tin học 11 bài 16×giáo án tin học 11 bài 14×giáo án tin học 11 bài 15×giáo án tin học 11 bài 17× giáo án tin học 11 bài 11×giáo án tin học 11 bài 18×giáo án tin học 11 bài 16×giáo án tin học 11 bài 14×giáo án tin học 11 bài 15×giáo án tin học 11 bài 17×
Trang 1Tiết 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
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 CHUẨN BỊ CỦA GV VÀ HS:
1 Giáo viên: SGK, SGV, Giáo án
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:
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
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
- 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 2
-1-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
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
4 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
IV RÚT KINH NGHIỆM
CHƯƠNG TRÌNH NGUỒN
CHƯƠNG TRÌNH DỊCH
CHƯƠNG TRÌNH ĐÍCH
Trang 3
-2-Tiết 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 CHUẨN BỊ CỦA GV VÀ HS:
1 Giáo viên: Giảng 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:
Lớp
Sĩ số Ngày giảng
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:
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
+ Để 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ự
Trang 4
-3-GV: Lấy ví dụ tên đặt sai và tên đặt
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 giảng thảo, tên
dành riêng có màu trắng phân biệt với
GV: 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ố
Trang 5-4-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
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À:
- Về nhà làm bài tập 5 và bài tập 6
IV RÚT KINH NGHIỆM
Trang 6
+ 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 CHUẨN BỊ CỦA GV VÀ HS:
1 Giáo viên: Giảng 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
Sĩ số Ngày giảng
2 Kiểm tra bài cũ
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
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?
Trang 7
-6-HS: Thực hiện yêu cầu
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 đó
bậc cao, 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
Trang 8
-7-HS: Tại chỗ đọc câu hỏi.
HS: Lên bảng làm
GV: Chữa bài
GV: Gọi HS đọc câu hỏi 6
GV: Gọi học sinh lên bảng làm
HS: Lên bảng
GV: Kiểm tra, đôn đốc các học sinh
phía dưới lớp làm bài vào vở, yêu cầu
HS khác nhận xét bài làm trên bảng
HS: Thực hiện yêu cầu
GV: Chữa bài, nhận xét
- 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
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; 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Ố :
a Rèn luyện kĩ năng đặt tên, biến
b 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 9
-8-Tiết 4: 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
II CHUẨN BỊ CỦA GV VÀ HS:
1 Giáo viên: Giảng 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:
Sĩ số Ngày giảng
2) Kiểm tra bài cũ
- 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
Trang 10-9-HS: Phần thân chương trình nhất thiết
phải có, phần khai báo có thể có hoặc
không tuỳ theo từng chương trình dịch
cụ thể
GV: Nêu cấu trúc chung của một
chương trình Pascal đơn giản:
HS: Lắng nghe và ghi bài
GV: Chúng ta tìm hiểu từng thành phần
của chương trình
GV: Phần này có thể có hoặc không
Với Pascal, nếu có phải khai báo theo
GV: Mỗi ngôn ngữ lập trình thường có
sẵn một số thư viện cung cấp một số
chương trình thông dụng đã được lập
sẵn Để sử dụng các chương trình đó
cần khai báo thư viện chứa nó
GV: Trong Pascal, khai báo thư viện
phải luôn đặt đầu tiên, ngay sau dòng
khai báo program.
GV: Những gía trị xuất hiện nhiều lần
trong chương trình thì thường được
- Trong Pascal:
Phần khai báo:
Program < tên chương trình>;
Uses < tên các thư viện>;
Const <tên hằng>=<giá trị của hằng>;
Var < tên biến>: <kiểu dữ liệu>;
Procedure …; <khai báo thủ tục>
Function …; <khai báo hàm>…
* Khai báo thư viện.
- Khai báo thư viện trong Pascal:
Uses crt; {Thư viện crt chứa các hàm vào/ra
chuẩn làm việc với màn hình và bàn phím}
Uses graph; {Thư viện graph chứa các hàm đồ
Trang 11-10-GV: Khai báo hằng sẽ tạo điều kiện
thuận lợi cho việc chỉnh sửa lại giá trị
của hằng trong toàn bộ chương trình
GV: Lấy ví dụ
GV: - Biến chỉ nhận một giá trị tại mỗi
thời điểm thực hiện chương trình được
gọi là biến đơn
GV: Khi cần viết chương trình quản lí
học sinh ta cần xử lí thông tin ở những
dạng nào?
HS: Suy nghỉ và trả lời câu hỏi của GV
GV: Phân tích câu trả lời của học sinh
và đưa ra một vài thông tin ở dạng như
Var <danh sách biến>:<kiểu dữ liệu>;Ví dụ:
Giải phương trình bậc hai:
Readln;
End.
IV RÚT KINH NGHIỆM
Trang 12
-11-Ngày giảng:
Tiết 5: MỘT SỐ KIỂU DỮ LIỆU CHUẨN VÀ
KHAI BÁO BIẾN
I MỤC TIÊU
1 Kiến thức:
+ 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
+ Hiểu được các khai báo biến
2 Kĩ năng:
+ Xác định kiểu cần khai báo của dữ liệu đơn giản
+ Khai báo biến đúng, nhận biết khai báo sai
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 CHUẨN BỊ CỦA GV VÀ HS:
1 Giáo viên: Giảng 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
Sĩ số Ngày giảng
2) Kiểm tra bài cũ
- 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: Phân tích câu đưa ra một vài thông
tin ở dạng như sau:
- Họ tên học sinh là những thông tin ở
Trang 13- Một số thông tin khác chỉ cần biết
chúng là đúng hay sai
GV: Thuyết trình đưa ra một số bổ sung
sau:
- Ngôn ngữ lập trình nào cũng đưa ra
một số kiểu dữ liệu chuẩn đơn giản, từ
những kiểu đơn giản này ta có thể xây
dựng thành những kiểu dữ liệu phức tạp
hơn
- Tuỳ thuộc vào ngôn ngữ lập trình mà
tên của các kiểu dữ liệu khác nhau và
miền giá trị của các kiểu dữ liệu cũng
khác nhau
- Với mỗi kiễu dữ liệu người lập trình
cần ghi nhớ tên kiểu, miền giá trị và số
ô nhớ để lưu một giá trị thuộc kiểu đó
HS: Lắng nghe
GV: Lần lượt giới thiệu về tứng kiểu dữ
liệu gồm: Tên kiểu dữ liệu, bộ nhớ cần
thiết để lưu trữ mỗi kiểu dữ liệu và
tương ứng Để lưu các giá trị thì phải
lưu các mã thập phân tương ứng của
chúng
HS: Nghe giảng
GV: Cho bài toán sau:
Biết các biến: x có thể lưu sĩ số của lớp
11A1, y có thể lưu trữ sĩ số toàn trường
thpt Vĩnh Yên, z lưu điểm của học sinh
A, k có thể nhận các giá trị “a” ’z’, m
1 Kiểu nguyên Kiểu Số Byte Miền gi trị
Real 6 2.9e- 39 1.7e38
Single 4 1.5e- 45 3.4e- 38
Double 8 5.4e- 325 1.7e- 308
Extended 10 3.4e- 4932 1.2e4932
3 Kiểu kí tự
- Tên kiểu: Char
- Miền gi trị l cc gi trị trong bảng m ASCII gịm 256 kí tự Mỗi kí tự cĩ 1 m tương ứng trong phạm vi từ 0 đến 255
- Cc kí tự cĩ quan hệ so snh, việc so snh dựa trn m của từng kí tự
4 Kiểu Logic
- Tn kiểu: Boolean
- Miền giá trị: Chỉ có 2 giá trị là True (đúng) hoặc False (sai)
Trang 14để lưu kết quả của phép toán a>b.
Em hãy lựa chọn kiểu dữ liệu phù hợp
nhất cho các biến trên
GV: Khai báo biến là chương trình báo
cho máy biết phải dùng những chương
trình nào trong chương trình
Trong đó: a, b, c: Dùng để lưu độ dài
của 3 cạnh tam giác;
P: là nữa chu vi;
CV, S: là chu vi và diện tích tam giác
GV: Khi khai báo biến cần chú ý những
điểm gì?
HS: Suy ghĩ trả lời câu hỏi
GV: Phân tích câu trả lời của học sinh
II) Khai báo biến
- Trong NLT Pascal biến đơn được khai báo như sau
Var <danh sách biến>: <kiểu dữ liệu>;Trong đó:
- Var: Là từ khoá dùng để khai báo biến
- Danh sách biến: Tên các biến cách nhau bởi dấu phẩy
- Kiểu dữ liệu: Là một kiểu dữ liệu nào đó của ngôn ngữ Pascal
- Sau var là có thể khai báo nhiều danh sách biến có những kiểu dữ liệu khác nhau
- Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa của nó
- Không nên đặt tên quá ngắn hay quá dài,
rễ dẫn đến mắc lỗi hay hiểu nhầm
- Khai báo biến cần quan tâm chú ý đến phạm vi giá trị của nó
4) CỦNG CỐ : Nhắc lại các khái niệm mới về cấu trúc chương trình gồm phần khai báo và phần thân
5) BÀI TẬP VỀ NHÀ:
Về nhà làm các bài tập trong SGK dưới bài học
IV RÚT KINH NGHIỆM
Trang 15Tiết 6: PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
II CHUẨN BỊ CỦA GV VÀ HS:
1 Giáo viên: Giảng giáo án, sách giáo khoa, sách bài tập, tài liệu tham khảo
Máy tính
2 Học sinh: Cấu trúc chương trình.
III HOẠT ĐỘNG DẠY HỌC:
1) Ổn định tổ chức:
Kiểm tra sĩ số lớp:
Lớp
Sĩ số Ngày giảng
2) Kiểm tra bài cũ
Câu hỏi :
H1: Cấu trúc khai báo biến như thế nào? Lấy ví dụ?
H2: Những lưu ý khi đặt tên cho biến?
Đáp án:
H1: VAR <Danh sách biến>:<Kiểu dữ liệu>;
VD: VAR a,b,c: Real;
m,n:integer;
3) Giảng bài mới:
GV: Em hãy kêt tên một số phép toán
trong Toán học?
HS: Đưa ra một số phép toán thường
dùng trong toán học
GV: Chúng có được sử dụng trong
Trang 16ngôn ngữ lập trình không?
- Chỉ có một số phép toán dùng được,
một số phép toán phải xây dựng từ các
phép toán khác
- Ví dụ phép luỹ thừa không phải ngôn
ngữ nào cũng viết được
- Mỗi ngôn ngữ khác nhau lại có cách
kí hiệu phép toán khác nhau
HS: Nghe giảng, ghi bài
GV: Trong toán học, biểu thức là gì?
HS: Đưa ra khái niệm
GV: Đưa ra khái niệm của biểu thức
HS: Đưa ra ý kiến của mình
GV: Phân tích ý kiến của học sinh
GV: Đưa ra cách viết biểu thức và thứ
tự thực hiện phép toán trong lập trình
GV: Cách viết biểu thức phụ thuộc
vào từng ngôn ngữ lập trình
- Đưa ra một số biểu thức toán học và
yêu cầu các em viết chúng trong ngôn
GV: Như vậy muốn tính x, Sinx,
cosx, ta làm như thế nào?
HS: Chưa biết cách tính
GV: Để tính giá trị đó được đơn giản,
người ta xây dựng sẵn một bộ chương
trình trong thư viện chương trình giúp
người lập trình tính toán nhanh các giá
trị thông dụng
GV: Với các hàm chuẩn cần quan tâm
1 Phép Toán
* NLT Pascal sử dụng một số phép toán sau:
- Với số nguyên: +, - , *, Div, Mod
- Với số thực: +, - , *, /
- Các phép toán quan hệ: <, <=, >, >=, <> cho kết quả là một giá trị Logic (true hoặc false)
- Các phép toán logic: NOT, OR, AND thường dùng để kết hợp nhiều biểu thức quan
* 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 trước, cộng trừ sau
- Giá trị của biểu thức có kiểu là kiểu của biến hoặc hằng có miền giá trị lớn nhất trong biểu thức
3 Hàm số học chuẩn
- Các ngôn ngữ lập trình thường cung cấp sẵn một số hàm số học để tính một số giá trị thông dụng
- Cách viết: Tên_hàm (đối số)
- Kết quả của hàm phụ thuộc vào kiểu của đối số
Trang 17Ví dụ: Sinx thì đo bằng độ hay radian?
GV: Trong lập trình thường ta phải so
sánh hai giá trị nào đó trước khi thực
hiện lệnh nào đó Biểu thức quan hệ
còn được coi là biểu thức so sánh 2
giá trị cho kết quả là True hoặc False
Ví dụ: 3>5 cho kết quả False
GV: Muốn so sánh nhiều giá trị cùng
một lúc thì làm thế nào?
HS: đưa ra ý kiến của mình (dùng biểu
thức quan hệ and, or )
- Đưa ra ví dụ cách viết đúng trong
kiểu của biến và kiểu của biểu thức
GV: Minh hoạ một vài lệnh gán bằng
một ví dụ trực quan trên bảng hoặc
trên màn hình
- Bản thân hàm cũng có thể coi là biểu thức
số học và có thể tham gia vào biểu thức như một toán hạng bất kỳ
- Cấu trúc: Tên biến:=biểu thức;
- Trong đó biểu thức phải phù hợp với tên
biến, nghĩa là kiểu của tên biến phải cùng với kiểu của biểu thức hoặc phải bao hàm kiểu của biểu thức.
- Hoạt động của lệnh gán: Tính giá trị của biểu thức sau đó ghi giá trị đó vào tên biến.X1:=(- b + sqrt(delta))/(2*a);
Trang 18+ Giải quyết bài toán trên cơ sở kiến thức đã học.
+ Lựa chọn phương án tốt nhất để giải các bài toán
3 Thái độ:
+ Tích cực, chủ động làm bài.
+ 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 GV VÀ HS:
1 Giáo viên: Giảng 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
Sĩ số Ngày giảng
2) Kiểm tra bài cũ
Kết hợp hỏi bài cũ khi hướng dẫn làm bài tập
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
GV: 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ở
Câu1: Viết 5 năm đúng trong Pascal?
Người ta phải xây dựng các ngôn ngữ lập trình bậc cao, 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
Trang 19GV: 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,
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
GV: Nêu bài toán và gọi HS lên bảng
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âu 6: 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
Trang 20làm bài.
HS: Lên bảng làm
GV: Đôn đốc, kiểm tra học sinh dưới
lớp làm bài vào vở, yêu cầu một HS
đứng tại chỗ nhận xét bài làm trên bảng
HS: Thực hiện yêu cầu
GV: Nhận xét và chữa bà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
GV: Nêu bài toán và gọi HS lên bảng
làm bài
HS: Lên bảng làm
GV: Đôn đốc, kiểm tra học sinh dưới
lớp làm bài vào vở, yêu cầu một HS
đứng tại chỗ nhận xét bài làm trên bảng
HS: Thực hiện yêu cầu
GV: Nhận xét và chữa bài:
Lưu ý cho HS: nếu các phép toán có
cùng mức độ ưu tiên và không ở trong
ngoặc thì thực hiện lần lượt từ trái qua
phải
a) 150.0; b) -22; c) 6,23; d) ‘43’ ; e) A20; 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)
Câu 7: Hãy chuyển các biểu thức dưới đây
sang biểu thức toán học tương ứng:
a) a/b*2b) a*b*c/2c) 1/a*b/cd) b/sqrt(a*a+b)Bài giải:
a)
4) CỦNG CỐ :
a Rèn luyện kĩ năng đặt tên, biến
b 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
IV RÚT KINH NGHIỆM
Trang 21TIẾT 8: CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
GIẢNG THẢO, DỊCH, THỰC HIỆN, HIỆU CHỈNH CHƯƠNG
- Biết các bước: giảng thảo, dịch, thực hiện và hiệu chỉnh chương trình
- Biết một số công cụ của môi trường Turbo Pascal
2 Về Kỹ năng:
- Viết một số lệnh vào ra đơn giản
- Bước đầu sử dụng được chương trình dịch để phát hiện lỗi
- Bước đầu chỉnh sửa được chương trình dựa vào thông báo lỗi của chương trình dịch và tính hợp lý của kết quả thu được
3 Về Thái độ: Thấy được sự cần thiết của các thủ tục vào ra, sáng tạo trong vận
dụng vào các bài toán đơn giản
II PHƯƠNG TIỆN DẠY HỌC:
1 Giáo viên: Giảng giáo án, sách giáo khoa, sách bài tập, tài liệu tham khảo
Máy tính
2 Học sinh: Các kiến thức đã học trong các bài trước.
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ũ
2HS làm độc lập: Cho M, N là 2 biến nguyên Điều kiện xác định M, N đồng thời là số
chẵn hoặc đồng thời là số lẻ được thể hiện trong Pascal như thế nào?
Đ/a: ((M mod 2 = 0) and (N mod 2 = 0)) Or ((M mod 2 =1) and (N mod 2 = 1))
3) Giảng bài mới:
Trang 22GV: Khi giải quyết một bài toán, ta phải
đưa dữ liệu vào máy tính xữ lí Để
chtrình giải quyết được nhiều bài toán
hơn, ta phải sử dụng thủ tục nhập dữ
liệu
- Y/cầu Hs n/cứu Sgk cho biết cấu trúc
chung của thủ tục nhập dữ liệu trong
NNLT Pascal:
HS : N/cứu Sgk và trả lời:
Ví dụ: khi viết chtrình giải ptrình: Ax2 +
Bx + C = 0, ta phải nhập vào các đại
lượng nào? viết lệnh nhập?
HS: Suy nghĩ, trả lời: phải nhập giá trị
vào 3 biến A, B, C
Lệnh nhập: Readln(A,B,C);
GV: Khi nhập giá trị cho nhiều biến, ta
phải thực hiện như thế nào?
HS : Các giá trị phải được cách nhau ít
nhất một dấu cách (Space) hoặc kí tự
GV: Sau khi xữ lí xong, để nhìn thấy
được kết quả ta phải dùng thủ tục xuất
dữ liệu
Yêu cầu HS nghiên cứu Sgk cho biết
cấu trúc chung của thủ tục xuất dữ liệu
trong NNLT Pascal
HS: N/cứu Sgk và trả lời
Ví dụ: Khi viết CT giải pt: ax+b=0, ta
phải đưa ra màn hình gtrị nghiệm
-b/a, ta phải viết lệnh như thế nào?
HS : Writeln(-b/a);
Để nhập giá trị cho 1 biến từ bàn phím,
ta thường đưa thêm câu dẫn dắt sau đó
mới đến câu lệnh nhập Bằng cách dùng
cặp thủ tục write và read
Ví dụ: Write(‘Moi ban nhap 3 so:’);
Hỏi: chức năng câu lệnh writeln();
Viết ra màn hình dòng chữ và đưa con
trỏ xuống dòng
I CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
1 Nhập dữ liệu vào từ bàn phím
Ta sử dụng thủ tục chuẩn read hoặc readln
có cấu trúc như sau:
* Chú ý: khi nhập giá trị cho nhiều biến thì
những giá trị này gõ cách nhau một dấu cách hoặc kí tự xuống dòng (phím Enter).
2 Đưa dữ liệu ra màn hình
Để đưa dữ liệu ra màn hình tại vị trí con trỏ,
ta dùng thủ tục write hoặc writeln với cấu trúc:
Write(‘Moi ban nhap 3 so:’);readln(a,b,c) Write(‘Ban vua nhap 3 so:’,a,b,c);
Write(‘Ban go ENTER de ket thuc’); Readln;
Trang 23Khi viết read(x,y,z); write(‘x’,y,z); nó có ý nghĩa như thế nào?
Trang 24Ngày giảng : Tuần dạy:
BÀI TẬP
I MỤC TIÊU
1 Kiến thức: Biết phânbiệt các loại biểu thức trong NNLT
2 Kĩ năng: Viết được các biểu thức số học và logic với các phép toán thông dụng.
a Mục tiêu: Xây dựng được biểu thức logic làm điều kiện để giải một số bài toán đơn giản
b Nội dung: Viết biểu thức lôgic cho kết quả True khi tọa độ (x, y) là điểm nằm trong vùng gạch
chéo kể cả biên của hình 2.a và 2.b (trang 36/sgk)
c Các bước tiến hành:
Tóm tắt lí thuyết
Nhắc lại một số Nội dung trong phần chương II
Tại sao phải khai báo biến?
Trong Pascal, nếu một biến chỉ nhận giá trị trong phạm vi
từ 5 đến 25252 thì biến đó có thể nhận khai báo bằng các
kiểu dữ liệu nào?
1 Hình 2.a:
Y/cầu hs quan sát hình và trả lời các câu hỏi:
- Giá trị của y trong vùng gạch chéo?
- Giá trị của x trong vùng gạch chéo? HS: Quan sát hình và
trả lời
0<=y<=1 -1<=x<=1
- Điểm A(x,y) thì x, y có quan hệ thế nào?
HS: |x|<=y
- Y/cầu hs từ các biểu thức quan hệ viết ra bthức lôgic theo
yêu cầu của đề?
HS: (|x|<=y) and ((x>=-1)and (x<=1)) and ((y>=0) and
(y<=1)
- Phân tích các giá trị x, y để đơn giản biểu thức
(y<=1) and (abs(x)<=y)
Chú ý lắng nghe, để ý cách xác định giá trị đúng.Tự làm
2 Hình 2.b Y/cầu hs tự làm, tương tự hình 2.a
Bài tập làm thêm :Hãy chuyển các biểu thức toán học
dưới đây sang Pascal
a 2x2 - 5x + 1 = 0; b (1+x3)( x−1);
- Một chương trình thường gồm có 2 phần: Phần khai báo và phần thân chương trình, phần khi báo có thể có hoặc không
- Kiểu dữ liệu chuẩn: Kiểu nguyên, kiểu thực, kiểu kí tự và kiểu logic
- Các biến trong chương trình đều phải được khai báo và mỗi biến chỉ khai báo một lần
- Các phép toán: Số học, quan hệ và logic
- Các loại biểu thức: Số học, quan hệ
và logic
- Các ngôn ngữ lập trình có:
+ Lệnh gán dùng để gán giá trị của biểu thức cho biến
+ Các thủ tục chuẩn dùng để đưa dữ liệu vào và ra
Câu hỏi và bài tậpBài tập 8/sgk/36
ĐS: (y<=1) and (abs(x)<=y) Bài tập làm thêm
a 2*x*x-5*x-1=0
b (1+x*x*x)*sqrt(x-1)
c Sqrt(sqrt(3*x*x+1))*abs(x-3)
Trang 252 Câu hỏi, bài tập về nhà: Xem trước bài: Cấu trúc rẽ nhánh, sgk trang 38
BÀI TẬP THỰC HÀNH SỐ 1
I MỤC TIÊU
1 Kiến thức
- Biết được một chtrình Pascal hoàn chỉnh
- Làm quen các dịch vụ chủ yếu của Turbo Pascal trong việc giảng thảo, lưu, dịch, thực hiện chtrình
2 Kĩ năng
- Giảng thảo được chtrình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện và tìm lỗi thuật toán và hiệu chỉnh
- Bước dầu biết phântích và hoàn thành chtrình đơn giản trên Pascal
3 Thái độ: Tự giác, tích cực và chủ động trong thực hành
II ĐỒ DÙNG DẠY HỌC
1 Giáo viên: Phong máy vi tính được cài đầy đủ Turbo Pascal, projector để hướng dẫn
2 Học sinh: Sgk, sách bài tập và bài tập đã viết ở nhà
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: (8 phút) Kiểm tra bài cũ
Viết chtrình nhập vào một số và tính bình phương
của số đó.
Cho 2 hs xung phong lên bảng
Nhận xét, đánh giá, cho điểm
2 Hoạt động 2: (30phút)Tìm hiểu một chtrình hoàn chỉnh
a Nội dung: Cho chương trình sau:
Trang 26Writeln(’x1=’,x1:6:2,’ x2=’,x2:6:2);
Readln
End.
b Các bước tiến hành:
1 Chiếu chtrình lên bảng Y/cầu hs thực hiện các nhiệm
- Nhập dữ liệu 1 0 2 Thông báo kết quả
- Vì sao có lỗi xuất hiện?
Thông báo lỗi
Do căn bậc hai của một số âm
2 Câu hỏi, bài tập về nhà: - Viết chương trình nhập vào độ dài 3 cạnh của một tam giác, tính chu
vi, diện tích của tam giác đó
Trang 27BÀI TẬP THỰC HÀNH SỐ 1
I MỤC TIÊU
1 Kiến thức
- Biết được một chtrình Pascal hoàn chỉnh
- Làm quen các dịch vụ chủ yếu của Turbo Pascal trong việc giảng thảo, lưu, dịch, thực hiện chtrình
2 Kĩ năng
- Giảng thảo được chtrình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện và tìm lỗi thuật toán và hiệu chỉnh
- Bước dầu biết phântích và hoàn thành chtrình đơn giản trên Pascal
3 Thái độ: Tự giác, tích cực và chủ động trong thực hành
II ĐỒ DÙNG DẠY HỌC
1 Giáo viên: Phong máy vi tính được cài đầy đủ Turbo Pascal, projector để hướng dẫn
2 Học sinh: Sgk, sách bài tập và bài tập đã viết ở nhà
III HOẠT ĐỘNG DẠY HỌC
Hoạt động 1: Rèn luyện kĩ năng lập chương trình.
a Mục tiêu: Hs giảng, lưu, dịch và thực hiện được chương trình
b Nội dung: Viết chương trình nhập từ bàn phím 2 số thực a và b, tính và đưa ra màn hình trung
bình cộng các bình phương của hai số đó
c Các bước tiến hành:
1 Định hướng để hs phân tích bài toán
GV: 2 Y/cầu hs tự sọan chtrình và lưu lên máy.
HS: 2 Thực hiện các y/cầu của gv
- Giảng chtrình
- F2, gõ tên file để lưu
- Alt+F9 : biên dịch lỗi
- Ctrl+F9: t/hiện chtrình
Quan sát hướng dẫn từng nhóm hs trong lúc thực hành
Bài toán: Viết chương trình nhập từ
bàn phím 2 số thực a và b, tính và đưa ra màn hình trung bình cộng các bình phương của hai số đó
- nhập dữ liệu và thông báo kết quả
- Với a=5, b=7
- Với a=7, b=-5-Nhập dữ liệu theo y/cầu
- Với a=5, b=7 thì tb=37
- Với a=7, b=-5thì tb=37
IV ĐÁNH GIÁ CUỐI BÀI
1 Nội dung đã học
Trang 28Các bước để 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; giảng thảo chtrình vào máy; lưu trữ chtrình; biên dịch ch.trình; thực hiện và hiệu chỉnh chtrình
2 Câu hỏi, bài tập về nhà: - Viết chương trình nhập vào độ dài 3 cạnh của một tam giác, tính chu
vi, diện tích của tam giác đó
Trang 29§9: CẤU TRÚC RẼ NHÁNH I.MỤC ĐÍCH YÊU CẦU:
1 Kiến thức:Giới thiệu tổ chức rẽ nhánh, cú pháp và chức năng các câu lệnh rẽ nhánh (dạnh thiếu
và dạng đầy đủ)
2 Kỹ năng: Rèn luyện kỹ năng sử dụng câu lệnh rẽ nhánh để viết các chương trình có sử dụng các
câu lệnh này
3 Thái độ: Học tập tích cực, nghiêm túc
II.PHƯƠNG TIỆN DẠY HỌC CỦA GIÁO VIÊN VÀ HỌC SINH:
1 Đồ dùng dạy học: Máy tính điện tử
2 Phương pháp dạy học: Giải quyết vấn đề
3 Sự chuẩn bị ở nhà: Các kiến thức học sinh đã học trong các bài học trước
III.TIẾN HÀNH BÀI DẠY:
1 Ổn định lớp:
2 Dạy bài mới:
Câu hỏi: Những câu nói sau đây có dạng của mệnh
đề gì?
Trả lời:
-Chiều mai nếu trời không mưa thì Châu đến nhà
Ngọc chơi
Câu nói trên có dạng: Nếu Thì
-Chiều mai nếu trời không mưa thì Châu đến nhà
Ngọc giảng bài, nếu trời mưa thì Châu gọi điện cho
Ngọc để trao đổi
Câu nói trên có dạng: Nếu Thì , Ngược lại thì
Câu hỏi: Em hãy vẽ sơ đồ khối của bài toán trên.
Trả lời: HS lên bảng vã sơ đồ khối của bài toán
GV nhận xét
Câu hỏi: trong cú pháp của hai câu lệnh, em hãy giải
thích các thành phần trong câu lệnh
Trả lời:
IF, THEN, ELSE: Từ khoá
Điều kiện là biểu thức logic hoặc biểu thức quan hệ
khi tính giá trị của điều kiện thì trả lại một trong 2 giá
trị T hoặc F
I.RẼ NHÁNH:
Một trong hai việc cụ thể chắc chắn sẽ xảy ra, còn việc một hay việc hai sẽ được thực hiện thì tuỳ thuộc vào điều kiện cụ thể có thảo mãn hay không
Bước 3: Nếu b<>0 thì thông báo phương trình vô nghiệm
Ngược lại thông báo phương trình vô số nghiệm
Bước 4: Đưa x ra màn hình
II.CÂU LỆNH IF THEN 1.Cú pháp:
Trang 30Câu lệnh1, câu lệnh 2, câu lệnh là một câu lệnh bất kỳ
Trả lời: Chỉ một câu lệnh duy nhất.
GV: Trong trường hợp sau THEN và ELSE ta có từ 2
câu lệnh trở lên thì ta phải ghép chúng lại thành một
nhóm nằm giữa 2 từ khoá Begin và end được gọi là
Câu lệnh, câu lệnh 1, câu lệnh 2 (Câu lệnh sau từ khoá THEN và ELSE là một câu lệnh duy nhất
-Nêu biểu thức đk có giá trị F thì thoát ra khỏi câu lệnh IF
-Nêu biểu thức đk có giá trị F thì thực hiện câu lệnh 2, rồi thoát ra khỏi câu lệnh IF
III.CÂU LỆNH GHÉP:
Khi sau THEN và sau ELSE có từ 2 câu lệnh trở lên ta phải ghép chúng lại thành một nhóm nằm giữa 2 từ khoá BEGIN và END
1.Cú pháp:
BEGINCL1;
CL2;
CLnEND;
Trang 31Cho HS chép bài vào vở
GV: Gọi hoc sinh lên bảng viết chương trình của bài
toán trên
Có thể viết ngay trên máy tính để thực hiện thử
GV: Gọi một HS lên chạy chương trình và sữa lỗi.
Cho HS chép bài vào vở
PROGRAM vidu1;
VAR a,b,c,x,x1,x2,delta:real;
BEGIN Write(‘nhap a,b,a’); readln(a,b,c);
ELSE Begin X1:=(-b-sqrt(delta))/2*a; X2:=(-b+sqrt(delta))/2*a; End;
ReadlnEND
2.Ví dụ 2: Chương trình tìm nghiệm của
phương trình bậc nhất ax + b = 0PROGRAM vidu2;
VAR a,b,x:real;
BEGIN Write(‘nhap a,b’); readln(a,b);
IF a<>0 THEN Begin
X:=-b/a;
writeln(‘phuongtrinh co nghiem la:’,x:8:2);
End ELSE IF b=0 THEN writeln(‘phuong trinh vo so nghiem’)
Else writeln(‘phuong trinh
vo nghiem’) Readln
END
Trang 323.Hoạt động củng cố:(1-3’) Nhắc lại cú pháp và chức năng của câu lệnh rẽ nhánh dạng khuyết và
câu lệnh rẽ nhánh dạng đủ
4.Hướng dẫn học sinh về nhà:(2-3’)
- Học các nội dung: Cú pháp và chức năng cảu các câu lệnh rẽ nhánh
- Bài tập: 1/SGK
- Chuẩn bị bài mới: Sau Then và ELSE có thể sử dụng từ hai câu lệnh trở lên được không,
nếu được thì làm thế nào?
Trang 33§10: CẤU TRÚC LẶP
I MỤC TIÊU
1 Kiến thức
Hiểu nhu cầu của cấu trúc lặp trong biễu diễn thuật toán
Biết cấu trúc chung của lệnh lặp với số lần biết trước For trong NNLT Pascal
2 Kiểm tra bài cũ
1 Trình bày cấu trúc rẽ nhánh? Sự khác nhau giữa các dạng rẽ nhánh đó? (HS1)
2 Viết CT nhập vào 2 số a, b và thực hiện đưa ra màn hình giá trị của số lớn hơn.(HS2)
3 Bài mới :
Hoạt động 1: Tìm hiểu ý nghĩa cấu trúc lặp
1 Nêu bài toán 1 đặt vấn đề
HS: Chú ý quan sát bài toán đặt vấn đề.
GV: Hãy xác định công thức toán học để tính tổng
- Có bao nhiêu lần lặp như vậy?
GY: - Rất khó xác định
- Mỗi lần lặp 1 lượng là bao nhiêu?
- Phải viết bao nhiêu lệnh để thể hiện việc này?
HS: Theo dõi gợi ý
- Thực hiện 100 lần
- Mỗi lần đổ a1+i
- Viết 100 lệnh
Dẫn dắt: Chương trình được viết như vậy sẽ rất dài, khó
đọc, dễ sai sót cần có một cấu trúc điều khiển việc lặp lại
thực hiện các công việc ở trên
- Trong tất cả mọi NNLT đều có một cấu trúc điều khiển
việc thực hiện lặp lại với số lần đã định trước
Bài toán 1:
Viết CT tính tổng
100
1
2
1 1 1 1
+ + + + + + +
=
a a
a a S
3 Hoạt động 3: (15 phút)Tìm hiểu lệnh lặp For trong NNLT Pascal
Hoạt động của Giáo viên và Học sinh Nội dung
1 Y/cầu hs n/cứu sgk vàcho biết cấu trúc chung của lệnh
Trang 34- để làm giới hạn cho biến đếm, cùng kiểu với biến đếm
Trong btoán 1:<giá trị đầu>, <giá trị cuối> có giá trị bằng
bao nhiêu?
-<giá trị đầu> là 1
<giá trị cuối> là 100
Dẫn dắt: những lệnh nào cần lặp lại ta đặt sau DO Khi
nhiều lệnh cần đặt sau Do ta phải viết thế nào?
- Hỏi: + Trong bài toán tiết kiệm lệnh nào cần lặp lại?
<giá trị đầu> ≤ <giá trị cuối>
Dẫn dắt: Khi đó câu lệnh For đgl For tiến, NNLT Pascal
còn có dạng ngược lại là For lùi
2 Y/cầu hs trình bày cấu trúc For lùi.
2 N/cứu sgk, suy nghĩ, so sánh với dạng For tiến rồi trả lời
FOR <biến đếm>:= <giá trị cuối> DOWNTO <giá trị
đầu>
DO <lệnh cần lặp>;
Hãy so sánh giá trị của <giá trị đầu> và <giá trị cuối>?
HS: <giá trị đầu> ≤ <giá trị cuối>
- Hai bài toán trên dùng lệnh For nào là phù hợp?
Cấu trúc chung của câu lệnh lặp For Sơ đồ thực hiện của lệnh lặp For
2 Câu hỏi, bài tập về nhà
- Sử dụng câu lệnh For hoàn thành chương trình bài toán 1 và 2 đã nêu ở đầu tiết.
- Giải bài tập 5a, 6 sgk/51
- Xem trước phần ví dụ của nội dung cấu trúc lặp có số lần biết trước
bđếm:= <gtrị đầu>
bđếm<=gtrị cuối
Câu lệnh lặp bđếm :=bđếm + 1
Đ
S
bđếm:= <gtrị cuối>
bđếm>=gtrị đầu
Câu lệnh lặp bđếm :=bđếm - 1
Đ
S
Trang 35§10: CẤU TRÚC LẶP
I MỤC TIÊU
1 Kiến thức
- Biết được ý nghĩa của cấu trúc lặp có số lần lặp chưa biết trước
- Biết được cấu trúc chung của lệnh lặp While trong NNLT Pascal
2 Học sinh : Lặp với số lần biết trước
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: (15 phút) Tìm hiểu ý nghĩa của cấu trúc lặp có số lần chưa biết trước
GV: -Sự khác nhau của bài toán này với bài toán đã giải
ở tiết trước?
- Lặp bao nhiêu lần?
- Lặp đến khi nào?
HS: -Bài trước: cho giới hạn N
Bài này: cho giới hạn S
- Chưa xác định được ngay
- Cho đến khi điều kiện 1 <0.001
+N
Tóm lại, qua 2 ví dụ trên ta thấy có 1 dạng toán có sự lặp
lại của câu lệnh nhưng không biết được số lần lặp Cần
có 1 cấu trúc điều khiển lặp lại 1 công việc nhất định khi
thõa mãn 1 điều kiện nào đó
2 Hoạt động 2: (25 phút) Tìm hiểu cấu trúc lệnh lặp While trong NNLT Pascal
1. Y/cầu hs n/cứu sgk và cho biết cấu trúc chung của
- Điều kiện để lặp lại trong bài toán 2 là gì?
3 Câu lệnh While …Do
Cấu trúc:
While <điều kiện> Do <lệnh cần lặp>;
Sơ đồ thực hiện:
Trang 36- Trong bài toán 2 lệnh cần lặp là gì?
Dựa vào cấu trúc, cho biết máy thực hiện tính <điều
kiện> trước hay <lệnh cần lặp> trước?
- Sự khác nhau trong lệnh cần lặp của For và While là gì?
HS Suy nghĩ và trả lời:
Tính điều kiện trước, thực hiện lệnh lặp sau
- Trong While phải có lệnh thay đổi biến chỉ số
2 Y/cầu hs vẽ sơ đồ thực hiện lên bảng
HS Lên bảng vẽ sơ đồ thực hiện của lệnh While.
- Nhắc lại cấu trúc câu lệnh lặp While
2 Câu hỏi, bài tập về nhà
- Giải bài tập 5b, 7, 8 sgk trang 51
- Đọc lại bài lệnh rẽ nhánh IF và làm các bài tập liên quan chuẩn bị cho tiết sau thực hành
điều kiện
lệnh cần lặp
S Đ
Trang 37§10: CẤU TRÚC LẶP
I MỤC TIÊU
1 Kiến thức
- Biết được ý nghĩa của cấu trúc lặp có số lần lặp chưa biết trước
- Biết được cấu trúc chung của lệnh lặp While trong NNLT Pascal
2 Học sinh : Lặp với số lần biết trước
III HOẠT ĐỘNG DẠY HỌC
1 Ổn định lớp :
2 Kiểm tra bài cũ(5 phút)
Trình bày cấu trúc lặp While Do? Lấy ví dụ?
3 Bài mới :
Hoạt động 1: (35 phút) Rèn luyện kĩ năng vận dụng lệnh lặp While
1 Trở lại bài toán 2
- Đã xác định <điều kiện>, <lệnh cần lặp> hãy viết câu
1hs lên bảng trình bày, hs khác N/xét Đúng–Sai, bổ sung
* Ghi nhớ những phần sửa chữa của gviên
- Chia lớp theo từng bàn Y/cầu hs từng bàn thảo luận và
viết chương trình hoàn thiện
- Cho 1 hs lên bảng trình bày
- Gọi 1- 2hs khác n/xét, đánh giá
* Chính xác hóa chương trình cho cả lớp (chỉnh sửa lại
chtrình của hs)
2 Nêu nội dung ví dụ 2
Phân tích để xác định <điều kiện> và <lệnh cần lặp>
Hỏi:
- Điều kiện để tiếp tục lặp là gì?
Gợi ý: Điều kiện: M<>N
Trang 38- Y/cầu hs viết chương trình hoàn thiện bài toán ở nhà.
Củng cố: Hãy nêu 2 câu hỏi cần đặt ra khi gặp bài toán
dạng này?
IV ĐÁNH GIÁ CUỐI BÀI (5phút)
1 Nội dung đã học : - Nhắc lại cấu trúc câu lệnh lặp While
2 Câu hỏi, bài tập về nhà
- Giải bài tập 5b, 7, 8 sgk trang 51
- Đọc lại bài lệnh rẽ nhánh IF và làm các bài tập liên quan chuẩn bị cho tiết sau thực hành
Trang 392 Kiểm tra bài cũ(7 phút)
Trình bày các dạng cấu trúc câu lệnh lặp với số lần biết trước?
3 Bài mới :
Hoạt động 1: (15 phút) Rèn luyện kĩ năng vận dụng câu lệnh For và câu lệnh rẽ nhánh If
Dẫn dắt: Từ bài toán KTBC ở trên, nếu ta y/cầu tính và đưa ra
màn hình tổng các số chẵn và tổng các số lẻ trong phạm vi từ a
đến b
- Nội dung (sửa lại nội dung đề bài toán)
Y/cầu hs phân tích đề bài và trả lời câu hỏi
- So sánh với bài toán trước thì có gì khác?
-Lắng nghe, phân tích bài toán và trả lời
Bài 1: Viết CT nhập vào 2 số
nguyên dương a, b (a<b), tính
và đưa ra màn hình tổng các số chẵn và tổng các số lẻ trong phạm vi từ a đến b
Var a, b, i , S1, S2 : longint; Begin
’ Tong le: ’,S2); Readln
End.
Trang 40Hoạt động 2: (20 phút) Tiếp tục vận dụng câu lệnh lặp For để giải quyết một bài toán đơn giản.
1 Nêu đề bài toán (Nội dung)
- Cách tính tiền gửi tiết kiệm hàng tháng như thế nào?
Tl: Với số tiền S, sau mỗi tháng sẽ có lãi là: 0.015*S
Số tiền này sẽ cộng vào số tiền ban đầu để tính lãi cho tháng tiếp
- Xác định giá trị đầu và giá trị cuối của câu lệnh For để thực
hiện việc lặp trên?
2 Thảo luận và tự viết chương trình
Quan sát chtrình của giáo viên và ghi nhớ
3 (Nếu còn thời gian)
Hỏi sau 12 tháng gửi (không rút tiền lãi hàng tháng), ông ta
được số tiền nhiều hơn số tiền ban đầu là bao nhiêu?
Ta phải sửa lại chtrình trên như thế nào?
3 Suy nghĩ và trả lời
Bài 2: Ông Ba có số tiền là S,
ông gửi tiết kiệm ngân hàng với lãi suất 1.5%/tháng Hỏi sau 12 tháng gửi (không rút tiền lãi hàng tháng), ông ta được số tiền
la: ’,S:8:3); Readln
End.
IV ĐÁNH GIÁ CUỐI BÀI (3phút)
Câu hỏi, bài tập về nhà
Làm một số bài trong sách bài tập Tin học 11: 3.23, 3.29; 3.31
Xem trước phần nội dung cấu trúc lặp với số lần chưa biết trước While