- Dịch toàn bộ chương trình nguồn thành một ơng trình đích có thể thực hiện trên máy và có thể l-ch-ư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
Trang 1TỔ TIN HỌC - -
GIÁO ÁN TIN HỌC LƠP 11
Giảng viên : Nguyễn Hữu Thiện
TP.HCM - 09 /2014
Trang 2Giáo án Tin học 11 – năm học 2014-2015 GV: Nguyễn Hữu Thiện
Tiết PPCT : 1
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:
Kiến thức:
ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao
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
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:
Giáo viên: Một số ví dụ về ngôn ngữ lập trình
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:
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
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
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ônngữ 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ứcnăng chuyển đổi chương trình đợc viết bằng ngônngữ lập trình bậc cao sang ngôn ngữ máy
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
CHƯƠNG TRÌNH NGUỒN
CHƯƠNG TRÌNH DỊCH
CHƯƠNG TRÌNH ĐÍCH
Trang 3- Dịch toàn bộ chương trình nguồn thành một ơng trình đích có thể thực hiện trên máy và có thể l-
ch-ư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 theotrong chương trình nguồn
- Chuyển đổi câu lệnh đó thành một hay nhiều câulệnh tương ứng trong ngôn ngữ máy
- Thực hiện câu lệnh vừa chuyển đổi được4) 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?
5) BÀI TẬP VỀ NHÀ:
IV RÚT KINH NGHIỆM, BỔ SUNG:
Trang 4
Giáo án Tin học 11 – năm học 2014-2015 GV: Nguyễn Hữu Thiện
+ 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
- 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
- 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:
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ó)
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:
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
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
+ Để 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ồmcá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 5GV: Viết một số tên chuẩn
HS: Ghi bà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ố
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
…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êngthì phải khai báo
Ví dụ:
Trong Pascal: abs, sqr, sqrt, cos, sin,…
Trong C++: cin, cout, getchar
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ệnchươ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
IV RÚT KINH NGHIỆM, BỔ SUNG:
Trang 6
Giáo án Tin học 11 – năm học 2014-2015 GV: Nguyễn Hữu Thiện
+ 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 PHƯƠNG TIỆN DẠY HỌC:
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ó)
Học sinh: tham khảo trước tài liệu ở nhà.
III HOẠT ĐỘNG DẠY HỌ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
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 đúng quy
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>…
Phần thân:
Begin
{Dãy các câu lệnh};
End.
Trang 7HS: Lên bảng
GV: Nhận xét
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 khai báo hằng
HS: Lắng nghe
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ư sau:
- Họ tên học sinh là những thông tin ở dạng
* 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 đồ
* Khai báo biến: - Trong Pascal:
Var <danh sách biến>:<kiểu dữ liệu>;
Ví dụ: Giải phương trình bậc hai:
End
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À:
Trang 8Giáo án Tin học 11 – năm học 2014-2015 GV: Nguyễn Hữu Thiện
Cho một chương trình mẫu về nhà yêu cầu học sinh chỉ rõ từng thành phần của chương trình đó
Trang 9§4 MỘT SỐ KIỂU DỮ LIỆU CHUẨN
§5 KHAI BÁO BIẾN
I MỤC TIÊU
- Kiến thức:
+ Biết một số kiểu dữ liệu chuẩn: nguyên, thực, kí tự, lôgic và miền con
+ Hiểu được các khai báo biến
- 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
- 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ậptrình
II PHƯƠNG TIỆN DẠY HỌC:
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ĩ)
Học sinh: tham khảo trước tài liệu ở nhà.
III HOẠT ĐỘNG DẠY HỌ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 ở
GV: Thuyết trình đưa ra một số bổ sung sau:
- Ngơng 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
- Kiểu dữ liệu nào cũng cĩ miền giới hạn của
I Kiểu dữ liệu chuẩn
1 Kiểu nguyên Kiểu Số Byte Miền gi trị
Extended 10 3.4e- 4932 1.2e4932
3 Kiểu kí tự
Trang 10Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
nó Máy tính không thể lưu tất cả các số trên
trục số nhưng nó có thể lưu trữ với độ chính
xác cao
- 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 đó
- Trong lập trình nói trung thì kiểu kí tự
thường là tập kí tự trong bảng mã kí tự, mỗi kí
tự có một mã thập phân 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
máy biết phải dùng những chương trình nào
- Ví dụ 2: Để tính chu vi và diện tích của tam
giác cần khai báo các biến sau:
Var a, b, c, p, s, cv: Real;
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
- Tn 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
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 vigiá 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À: SGK
IV RÚT KINH NGHIỆM, BỔ SUNG:
Ngày soạn :
Tiết PPCT : 5
Bài 6 PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
Trang 111 Về kiến thức:
- Biết được khái niệm: phép tốn, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ
- Hiểu lệnh gán
- Biết được một số hàm thơng dụng trong Pascal
2 Về kỹ năng:
- Viết được lệnh gán
- Viết được cc biểu thức số học v logic với cc php tốn thơng dụng
3 Về 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
- Tạo sự ham muốn giải các bài tập bằng lập trình, trước mắt thấy được ích lợi của lập trình, phục vụ tínhtoán và giải được một số bài toán
II PHƯƠNG TIỆN DẠY HỌC:
Giáo viên: Soạn 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 ( nếu cĩ) 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.
2) Kiểm tra bài cũ ( 7 ‘)
Câu hỏi :
H1: Cấu trúc khai báo biến ntn? 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;
H2: - Đặt tên biến sao cho dễ gợi nhớ
- Không nên đặt tên quá dài hoặc quá ngắn
- Khi khai báo cần chú ý phạm vi kiểu dữ liệu
3) Giảng bài mới:
GV: Trong khi viết chương trình ta thường
phải thực hiện tính tốn, thực hiện các so sánh
để đưa ra quyết định xem làm việc gì? Trong
khi viết chương trình cĩ giống với ngơn ngữ
tự nhiên khơng?
GV: Tốn học cĩ những phép tốn nào?
HS: Đưa ra một số phép tốn thường dùng
* NLT Pascal sử dụng một số phép tốn sau:
- Với số nguyên: +, - , *, Div, Mod
Trang 12Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
- 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
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 lập trình.
GV: Cách viết các biểu thức này trong lập
trình có giống với cách viết trong toán học
hay không?
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 ngữ lập trì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 đến giá
trị của đối số và kiểu của giá trị trả về
Ví 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 NLT
Pascal
- Mỗi NLT có cách viết lệnh gán khác nhau
GV: Cần chú ý đến điều gì khi viết lệnh gán?
HS: Đưa ra ý kiến.
GV: phân tích câu trả lời của học sinh 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ếnhoặ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ẵnmột số hàm số học để tính một số giá trị thôngdụ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ố
- Đối số của hàm là một hay nhiều biểu thức sốhọc đặt trong dấu ngoặc () sau tên hàm
- 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ánhạng bất kỳ
Trang 13GV: 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
- 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);
X2:=(- b - sqrt(delta))/(2*a);
4) CỦNG CỐ : Các kiểu dữ liệu chuẩn: nguyên, thực, kí tự, lôgic Cách khai báo biến
5) BÀI TẬP VỀ NHÀ:
- Làm bài tập 1,2,3,4,5 sgk trang 35
- Xem trước bài:
Các thủ tục chuẩn vào/ra đơn giản Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình
IV RÚT KINH NGHIỆM, BỔ SUNG:
Ngày soạn :
Tiết PPCT : 6
§7 CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
§8 SOẠN THẢO, DỊCH, THỰC HIỆN, HIỆU CHỈNH CHƯƠNG TRÌNH
Trang 14Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
I MỤC TIÊU
1 Về Kiến thức:
- Biết các lệnh vào ra đơn giản để nhập thông tin từ bàn phím và đưa thông tin ra màn hình
- Biết các bước: soạn 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ínhhợ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:
Giáo viên: Soạn 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 ( nếu
có)
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ũ ( 7 ‘)
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:
1 Nêu vđ: 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?
Suy nghĩ, trả lời: phải nhập giá trị vào 3 biến
A, B, C Lệnhnhập:Readln(A,B,C);
Treo bảng chứa chtrình Pascal đơn giản có
lệnh nhập giá trị cho 3 biến
Hỏi: 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ự xuống dòng
(Enter)
Hỏi: Lệnh Read và Readln khác nhau như thế
nào?
- Suy nghĩ, trả lời : Read: …… Readln: ……
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
§7 CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN
* 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).
Trang 15Để 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
Giới thiệu một số tập tin cần thiết để Turbo
pascal có thể chạy được, hướng dẫn học sinh
khởi động Pascal trên máy tính Học sinh chú
ý lắng nghe và theo dõi hình minh họa
Giới thiệu các thành phần cơ bản của màn
hình soạn thảo (màn hình làm việc)
Giới thiệu một số thao tác thường dùng khi
soạn thảo, dịch, hiểu chỉnh, chương trình
Begin Clrscr;
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;
+ Lưu chương trình: F2 + Mở file đã có: F3 + Biên dịch chương trình: Alt+F9
+ Chạy chương trình: Ctrl+F9
+ Đóng cửa sổ chương trình: Alt+F3
+ Thoát khỏi TP: Alt+X
4) CỦNG CỐ : Trình bài một số thao tác thường dùng khi soạn thảo chương trình?
Khi viết read(x,y,z); write(‘x’,y,z); nó có ý nghĩa như thế nào?
5) BÀI TẬP VỀ NHÀ: So sánh sự giống nhau và khác nhau của các cặp lệnh write()/writeln()
và read()/readln()
- Làm bài tập 9, 10 sgk trang36
* Xem phụ lục B sgk: Trang 122: Môi trường Turbo Pascal Trang 136: Một số thông báo lỗi
IV RÚT KINH NGHIỆM, BỔ SUNG:
Trang 16
Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
- 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 soạn thảo, lưu, dịch, thực hiện chtrình
2 Kĩ năng
- Soạn 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:
1 Chiếu chtrình lên bảng Y/cầu hs thực hiện các nhiệm
Trang 17- 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
Writeln(’x1=’,x1:6:2,’ x2=’, x2:6:2);Readln
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 18Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
- 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 soạn thảo, lưu, dịch, thực hiện chtrình
2 Kĩ năng
- Soạn 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: (45 phút) Rèn luyện kĩ năng lập chương trình.
a Mục tiêu: Hs soạn, 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
- Soạn 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ácbì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
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 19KIỂM TRA 1 TIẾT
I MỤC TIÊU
1 Kiến thức: Củng cố các kiến thức về ngôn ngữ lập trình, cấu trúc chương trình, khai báo biến, các
biểu thức trong Pascal, các câu lệnh vào ra đơn giản
2 Kĩ năng: Viết được các biểu thức số học trong Toán học sang dạng tương ứng trong Pascal và
ngược lại, viết được chương trình đơn giản
3 Thái độ: Nghiêm túc trong khi làm bài
II ĐỒ DÙNG DẠY HỌC
1 Giáo viên: Đề kiểm tra, đáp án, biểu điểm cho các lớp
2 Học sinh: ôn lại các kiến thức đã học.
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: (5 phút) Ghi đề
Đề raCâu 1: (3 điểm) Biến là gì? Viết cấu trúc của khai báo biến trong Pascal và lấy ví dụ minh hoạ? Câu 2: (3 điểm) : Hãy viết các biểu thức toán học sau sang dạng tương ứng trong Pascal:
ĐÁP ÁN, BIỂU ĐIỂM, HƯỚNG DẪN CHẤM
Câu 1 :
Biến là đại lượng được đặt tên dùng để lưu trữ giá trị và giá trị của nó có thể
thay đổi trong quá trình thực hiện chương trình
Cấu trúc khai báo biến :
Var <danh sách biến> : <kiể dữ liệu>;
Ví dụ : Var a: integer;
1,5 điểm
1,0 điểm 0,5 điểm Câu 2:
a) x + y*z;
b) -1 <= cos(x) and cos(x) <= 1
c) Abs(x*x*x + sqrt(x+sqrt(x)))
1,0 điểm 1,0 điểm 1,0 điểm Câu 3:
IV ĐÁNH GIÁ CUỐI BÀI
1 Dặn dò về nhà
Xem trước bài: Cấu trúc rẽ nhánh, sgk trang 38
V RÚT KINH NGHIỆM, BỔ SUNG:
Trang 20
Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
Ngày soạn :
Tiết PPCT : 10, 11
CẤU TRÚC RẼ NHÁNH I.MỤC ĐÍCH YÊU CẦU:
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 đủ)
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
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:
2.Dạy bài mới:(30 - 37’)
Hoạt động của Giáo viên và Học sinh Nội dung
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 soạn 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á
Bước 3: Nếu b<>0 thì thông báo phươngtrì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:
Câu lệnh, câu lệnh 1, câu lệnh 2 (Câulệnh sau từ khoá THEN và ELSE là một
Trang 21b)Dạng đủ:
Câu hỏi: Sau THEN và ELSE có thể viết bao nhiêu
câu lệnh
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ó 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ở
-Nêu biểu thức đk có giá trị F thì thoát rakhỏi câu lệnh IF
-Nêu biểu thức đk có giá trị F thì thựchiện câu lệnh 2, rồi thoát ra khỏi câu lệnhIF
III.CÂU LỆNH GHÉP:
Khi sau THEN và sau ELSE có từ 2 câulệnh trở lên ta phải ghép chúng lại thànhmột nhóm nằm giữa 2 từ khoá BEGIN vàEND
1.Cú pháp:
BEGINCL1;
CL2;
CLnEND;
VAR a,b,c,x,x1,x2,delta:real;
BEGIN Write(‘nhap a,b,a’); readln(a,b,c);
Câu lệnh
Trang 22Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
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ở
ELSE IF delta=0 THEN Begin
X:=-b/2*a;
Writeln(‘phuong trinh co 1 nghiem la:’,x:8:2); End
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 songhiem’)
Else writeln(‘phuong trinh
vo nghiem’) Readln
- 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 23CẤU TRÚC LẶP (tiết 1/3)
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ũ(7 phút)
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: (20 phút)Tìm hiểu ý nghĩa cấu trúc lặp
Hoạt động của Giáo viên và Học sinh Nội Dung
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 đổ
i
a+ 1
- 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
Sơ đồ:
Trang 24Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
dữ liệu của chúng?
- để 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>
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
V RÚT KINH NGHIỆM, BỔ SUNG:
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 25CẤU TRÚC LẶP (tiết 2/3)
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
Hoạt động của Giáo viên và Học sinh Nội Dung
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
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
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
- Điều kiện để lặp lại trong bài toán 2 là gì?
- 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?
3 Câu lệnh While …Do
Trang 26Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
- 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ận xét đúng sai và bổ sung
* Chú ý lắng nghe và ghi nhớ
- Gọi hs khác nhận xét
* Treo sơ đồ mẫu và giải thích
IV ĐÁNH GIÁ CUỐI BÀI (5p)
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
V RÚT KINH NGHIỆM, BỔ SUNG:
điều kiện
lệnh cần lặp
S Đ
Trang 27CẤU TRÚC LẶP (tiết 3/3)
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
Hoạt động của Giáo viên và Học sinh Nội Dung
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 28Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
- 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
V RÚT KINH NGHIỆM, BỔ SUNG:
Trang 292 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
Hoạt động của Giáo viên và Học sinh Nội Dung
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ẻ trongphạm vi từ a đến b
Var a, b, i , S1, S2 : longint; Begin
’ Tong le: ’,S2); Readln
End.
Hoạ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.
Hoạt động của Giáo viên và Học sinh Nội Dung
1 Nêu đề bài toán (Nội dung) Bài 2: Ông Ba có số tiền là S,
Trang 30Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
- 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
ông gửi tiết kiệm ngân hàng vớilãi suất 1.5%/tháng Hỏi sau 12tháng gửi (không rút tiền lãihà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
V RÚT KINH NGHIỆM, BỔ SUNG:
Trang 31
BÀI THỰC HÀNH SỐ 2(t2)
I MỤC TIÊU
1 Kiến thức: Nắm được cấu trúc và sơ đồ thực hiện của cẩu trúc rẽ nhánh
2 Kĩ năng:
- Rèn luyện kĩ năng sử dụng cấu trúc rẽ nhánh trong việc lập trình giải một số ài toán cụ thể
- Làm quen với các công cụ phục vụ hiệu chỉnh chương trình
3 Thái độ: Tự giác, tích cực, chủ động trong thực hành
II ĐỒ DÙNG DẠY HỌC
1 Giáo viên: Phòng máy vi tính, Projector.
2 Học sinh: Sgk, sbt, bài tập đã viết ở nhà.
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: (35 phút) Làm quen với một chương trình và các công cụ hiệu chỉnh chtrình.
a Mục tiêu: Hs biết được nội dung chương trình và kết quả sau khi thực hiện chương trình Biết các
công cụ dùng để hiệu chỉnh chương trình khi cần thiết: thực hiện từng bước, xem kết quả trung gian
b Nội dung: Viết chtrình nhập vào 3 số nguyên dương a, b, c và kiểm tra xem chúng có phải là bộ
số Pitago hay không?
c Các bước tiến hành:
Hoạt động của Giáo viên và Học sinh Nội Dung
1 Gợi ý để hs nêu khái niệm bộ số Pitago.
1 Theo dõi dẫn dắt của gv để nêu khái niệm về bộ số Pitago:
tổng bình phương 2 số bằng bình phương số còn lại
2 Chiếu chương trình mẫu lên bảng Thực hiện mẫu các thao
tác: lưu, thực hiện từng lệnh chtrình, xem kết quả trung gian,
thực hiện chtrình và nhập dữ liệu
- Y/cầu hs gõ chtrình vào máy
- Y/cầu hs lưu chtrình theo hdẫn của sgk
2 Soạn chtrình vào máy.
Nhấn F2, gõ tên file, Enter
* Xem kết quả trung gian
+ Vào Debug\ Watches,
+ nhấn phím Insert xuất hiện cửa
sổ Add watch, nhập tên biến cần
theo dõi giá trị, rồi nhấn Enter (lặp
lại thao tác này nếu muốn cùng lúcxem giá trị nhiều biến)
2 Hoạt động 2: (45 phút )Rèn luyện kĩ năng lập trình hoàn thiện một bài toán
Trang 32Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
a Mục tiêu: Hs đọc hiểu đề, phân tích yêu cầu của đề Từ đó chọn được cấu trúc dữ liệu và lệnh phù
hợp để lập trình
b Nội dung: Viết chương trình tìm giá trị lớn nhất của 3 số a, b, c được nhập từ bàn phím.
c Các bước tiến hành:
Hoạt động của Giáo viên và Học sinh Nội Dung
1 Nêu nội dung, mục đích y/cầu của bài toán.
- Bước đầu tiên để giải bài toán?
- Y/cầu hs xác định các nội dung đó?
- Làm thế nào để xác định gtln của 3 số a, b, c? (Nêu các bước
tìm ra gtln)
- Y/cầu hs phát thảo thuật toán
- Qua thuật toán ta sẽ sử dụng cấu trúc nào để viết chương
trình?
HS Chú ý theo dõi vấn đề đặt ra của gv.
- Xác định Input, Output và thuật toán
2 Y/cầu hs gõ chương trình vào máy
Gviên tiếp cận từng máy tính để hướng dẫn và sửa sai
HS Độc lập từng nhóm soạn chtrình vào máy
Thông báo kết quả viết được
3 Y/cầu hs nhập dữ liệu
a = 23, b = 15, c = 23
HS Nhập dữ liệu theo test cảu gv và thông báo kết quả
4 Y/cầu hs tự xác định các bộ test khác để kiểm tra chtrình
Hs Tìm các bộ test khác và kiểm thử chtrình
Bài 2: Viết chương trình tìm giá
trị lớn nhất của 3 số a, b, c được nhập từ bàn phím
- Nhập a, b, c;
- Nếu a>b thì nếu a>c thì max:=a nglại max:=c
Nglại nếu b>c thì max:=b nglại max:=c;
- Đưa ra max.
IV ĐÁNH GIÁ CUỐI BÀI (5phút)
Câu hỏi, bài tập về nhà: chuẩn bị các bài tập sgk
Xem trước bài:
V RÚT KINH NGHIỆM, BỔ SUNG:
Trang 33
1 Chuẩn bị của giáo viên
- Máy chiếu qua đầu, bìa trong, sách giáo khoa
2 Chuẩn bị của học sinh.
- Sách giáo khoa, một số chương trình bài tập
III Hoạt động dạy – học
1 Hoạt động 1: Nhắc lại kiến thức cũ đã học.
a Mục tiêu:
- Học sinh nhớ lại được các kiến thức lí thuyết đã học
b Nội dung:
- Khái niệm về lập trình và ngôn ngữ lập trình
- Có hai loại chương trình dịch: Biên dịch và thông dịch
- Các thành phần của ngôn ngữ lập trình: Bảng chữ cái, cú pháp và ngữ nghĩa
- Các khái niệm: Tên, hằng và biến, chú thích
- Cấu trúc của chương trình Pascal: Phần khai báo và phần thân
- Các kiểu dữ liệu chuẩn: Số nguyên, số thực, kí tự, logic
Hoạt động của Giáo viên và Học sinh Nội Dung
Đặt câu hỏi gợi ý để học sinh tự nhắc lại
kiến thức đã học
HS Chú ý, theo dõi trả lời các câu hỏi
- Em hiểu như thế nào về lập trình và
ngôn ngữ lập trình?
- Các loại chương trình dịch?
- Các thành phần cơ bản của ngôn ngữ lập
trình?
- Các khái niệm trong ngôn ngữ lập trình?
- Cấu trúc chung của chương trình TP?
- Chức năng và sự thực hiện của lệnh gán?
- Nêu tên và chức năng của một số hàm số
- Khái niệm tên, hằng và biến, chú thích
- Gồm hai phần: Phần khai báo và phần thân
Trang 34Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
Viết chương tình nhập từ bàn phím một số nguyên dương N (1<=N<=100) và một dãy số A gồm
N số nguyên A1, A2, AN Các số A1 có giá trị tuyệt đối lớn hơn 1000 Hãy đưa ra màn hình số lượng các số dương và số lượng các số âm trong dãy
Nhóm 1: Nêu câu hỏi phân tích
Nhóm 2: Trả lời câu hỏi phân tích của nhóm 1
- Giáo viên góp ý bổ sung cho cả hai nhóm
2 rèn luyện kĩ năng lập trình
- Chia lớp thành hai nhóm
- Yêu cầu: Viết chương trình hoàn thiện lên bìa
trong
- Thu phiếu học tập, chiếu kết quả lên bảng Gọi
học sinh của nhóm khác nhận xét đánh giá và bổ
sung
3 Chuẩn hóa kiến thức bằng chương trình mẫu
của giáo viên Thực hiện chương trình, nhập dữ
liệu để học sinh thấy kết quả của chương trình
1 Quan sát, theo dõi đề bài và định hướng của giáo viên để xác định bài toán
- Nhóm 1:
+ Dữ liệu vào
+ Dữ liệu ra
+ Các nhiệm vụ chính phải thực hiện
- Nhóm 2:
+ Số N và N số nguyên
+ Số lượng số chẵn C và số lẻ L + 1 – Nhập dữ liệu
3 Theo dõi và ghi nhớ
IV ĐÁNH GIÁ CUỐI BÀI
1 Những nội dung đã học.
- Giáo viên yêu cầu học sinh nhắc lại một số nội dung chính đã được ôn tập trong tiết học
2 Câu hỏi và bìa tập về nhà: Chuẩn bị kiến thức cho tiết sau kiểm tra học kì 1: Xem lại toàn bộ cáckiến thức đã được ôn tập, đặc biệt chú trọng cấu trúc lặp và rẽ nhánh
Trang 35KIỂM TRA HỌC KỲ I I.MỤC ĐÍCH YÊU CẦU:
Kiến thức: Kiểm tra đánh giá kiến thức của HS sau khi hoc xong học kỳ I
Kỹ năng: Nắm được cấu trúc chương trình TP, cách khai báo các thành phần của chương
trình TP, cú pháp và chức năng của các câu lệnh trong TP làm bài kiểm tra trên giấy, các câu lệnh có cấu trúc và các kiểu dữ liệu có câu trú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: Đề kiểm tra GV phôtô
2.Hình thức : Tự luận
3.Sự chuẩn bị ở nhà: Các kiến thức HS đã học trong học kỳ I
III.TIẾN HÀNH BÀI DẠY:
2.Dạy bài mới:(30 - 37’)
Kiến thức cơ bản Hoạt động của Thầy và Trò I.PHÁT ĐỀ:
II.HƯỚNG DẪN HỌC SINH LÀM BÀI:
HS không cần viết lại đề bàiLàm các phần ngay trên tờ giấy HS đãchuẩn bị, ghi rõ làm đề nào
HS tiến hành làm bài tự luận
GV nhắc nhở để Hs làm bài nghiêm túc.Nếu HS nào vi phạm quy chế thi thì tùytheo mức độ vi phạm mà có hình thức
Trang 36Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
ĐÁP ÁN, BIỂU ĐIỂM, HƯỚNG DẪN CHẤM
Bài 1:
(3 điểm) Chương trình dịch có chức năng chuyển đổi chương trình được viết từ 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
Phân biệt Thông dịch và Biên dịch:
- Thông dịch : Thực hiện lăp lại tuần tự các bước : 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 vừa kiểm tra sang ngôn ngữ máy và thực hiện
- Biên dịch : 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 ngôn ngữ máy
1,0 điểm 1,0 điểm
if (x*x + y*y < 1 ) then if (y >= x) then z:= x + y else z:= 1.2
Hướng dẫn : Khai báo biến đúng được 0,5đ; gán giá trị ban đầu cho s
đúng được 0,5đ; sử dụng đúng vòng lăp For – do (While – do ) được 1,0đ
0,5 điểm
0,5 điểm1,0 điểm
Lưu ý : Trong quá trình làm bài học sinh có thể làm tắt một số bước, đáp án chi tiết là dành cho
những học sinh chưa giải đến kết quả cuối cùng Nếu học sinh có cách giải khác mà vẫn đúng yêu cầu của bài toán thì vẫn cho điểm tối đa
z =
Trang 374.Hướng dẫn học sinh về nhà:(2-3’)
Học các nội dung:Các nội dung đã ôn tập
Trang 38Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
3 Tư duy, Thái độ:
Rèn luyện ý thức tự giác học tập tích cực, ham thích tìm hiểu, chủ động trong giải quyết cácbài tập.Rèn luyện tư duy khoa học, tư duy logic
II Chuẩn bị của giáo viên và học sinh:
GV: - Soạn giáo án.
HS: - Học bài cũ và chuẩn bị bài tập.
III Tiến trình bài dạy:
1 Ổn định lớp :
2 Kiểm tra bài cũ (7phút)
Câu hỏi 1(H1): Viết cấu trúc câu lệnh rẽ nhánh và cấu trúc lặp trong Pascal và giải thíchcác thành phần?
Trả lời : -Rẽ nhánh
If <btđk > then <lệnh 1> else <lệnh 2>;
If <btđk > then <lệnh 1>;
- Lặp For
For <biến đếm>:= <giá trị đầu> To <giá trị cuối> Do <lệnh>;
For <biến đếm>:= <giá trị đầu> Downto <giá trị cuối> Do <lệnh>;
- Lặp While : While<điềukiện>Do<lệnh>;
3 Bài mới :
Hoạt động 1: (15 phút)Giải bài tập 4
Câu hỏi 1(H1): Sử dụng lệnh If này gồm mấy nhánh ?
Câu hỏi 2(H2): Hàm lấy giá trị tuyệt đối của biểu thức hay biến ?
HĐTP1:
- GV gọi 1 HS lên bảng giải câu 4a)
- 1 HS lên bảng giải câu 4a)
- GV gọi 1 HS lên bảng giải câu 4b)
- 1 HS lên bảng giải câu 4b)
Hoạt động 2: (20 phút) Giải bài tập 5
Câu hỏi 1(H1): Hãy khai triển biểu thức Y =∑
50
n n n
dưới dạng tường minh ?
Trang 39Câu hỏi 4(H4): Sử sụng cấu trúc điều khiển lặp nào là phù hợp ?
- GV gọi 1 HS lên bảng giải bài 5a)
- 1 HS lên bảng giải bài 5a
- GV yêu cầu các HS còn lại theo dõi và nhận xét
- Các HS còn lại theo dõi và nhận xét bổ sung (nếu có)
- GV nhận xét, hoàn chỉnh bài làm và đánh giá
Y =
51
504
33
22
1
+++
Câu 5a) Uses crt;
Var y: real;
n: byte;
Begin Clrscr;
y:=0;
for n:=1 to 50 do y:= y + n/(n+1);
4 Làm các bài tập còn lại trong SGK trang 51.
V RÚT KINH NGHIỆM, BỔ SUNG:
Trang 40
Giáo án Tin học 11 – năm học 2010 – 2011 GV: Nguyễn Hữu Thiện
Biết được một kiểu dữ liệu mới là kiểu mảng một chiều
Biết được một loại biến có chỉ số;
Biết cấu trúc tạo mảng một chiều, cách khai báo biến kiểu mảng một chiều
2 Kĩ năng
Biết được các thành phần trong khai báo kiểu mảng một chiều;
Biết được định danh của một phần tử kiểu mảng một chiều xuất hiện trong một chương trình;Biết cách khai báo mảng đơn giản với chỉ số miền con của kiểu nguyên;
Biết cách tham chiếu đến các phần tử của mảng một chiều
3 Tư duy và Thái độ: Tự giác, tích cực, chủ động và sáng tạo trong tìm kiếm tri thức.
2) Kiểm tra bài cũ: Thông qua
3) Giảng bài mới:
Hoạt động 1: (15 phút) Khởi động bài mới
Hoạt động của Giáo viên và Học sinh Nội Dung
1 Nêu bài toán mở đầu Y/cầu hs đọc, tìm hiểu chtrình giải
quyết bài toán đó Và trả lời các câu hỏi sau:
- Các biến: t1, …,t7 thể hiện các giá trị nào? Kiểu của các biến
đó thế nào?
- Biến dem dùng làm gì?
- 7 câu lệnh IF trong chương trình thực hiện việc gì?
TL: dem: để đếm số ngày tron tuần có nđộ lớn hơn nđộ trung
bình
TL: - Để kiểm tra lần lượt các ngày, nđộ ngày nào lớn hơn nđộ
trung bình
2 Mở rộng bài toán từ phạm vi một tuần sang phạm vi N ngày
(chẳng hạn một tháng hay một năm) thì chương trình trên có
hạn chế như thế nào?
TL: Bản chất thuật toán không có gì thay đổi nhưng việc viết
chương trình gặp khó khăn do cần dùng rất nhiều biến và đoạn
các câu lệnh tính toán khá dài.
3 Để khắc phục hạn chế trên người ta thường ghép chung 7
biến trên thành một dãy và đặt cho nó chung 1 tên và đánh cho
mỗi phần tử một chỉ số
4.Em hiểu như thế nào về mãng một chiều?
TL: Mảng một chiều là dãy hữu hạn các phận tử cùng kiểu dữ