Về kỹ năng: - Biết diễn đạt đúng câu lệnh, soạn được chương trình giải các bài toán đơn giản áp dụng các loại cấu trúc điều kiện nêu trên.. Nhắc lại cấu trúc câu lệnh Rèn luyện kỹ năng
Trang 1TiÕt 15: BÀI TẬP VÀ THỰC HÀNH 2
A MỤC TIÊU:
1.Về kiến thức:
Học sinh sau tiết học sẽ:
− Xây dựng chương trình có cấu trúc rẽ nhánh
− Làm quen với các công cụ hiệu chỉnh chương trình
2 Kiểm tra bài cũ: trong quá trình giảng bài
3 Giảng bài mới:
GV: Vừa qua chúng ta đã làm quen và
tìm hiểu với cấu trúc rẽ nhánh, vậy em
nào có thể nhắc lại Câu lệnh if-then
được không?
HS: Trả lời theo câu hỏi của giáo viên.
GV: Nhắc lại đầy đủ cấu trúc của lệnh
Trang 2GV: Yêu cầu các em nhìn vào chương
trinh trong sách và gõ vào máy
GV: Sau khi đánh xong yêu cầu các em
lưu chương trình với tên PITAGO
thì giáo viên hướng dẫn học sinh cách
nhập liên tiếp ba giá trị a= 3, b= 4, c=
5 Các giá trị cách nhau bằng dấu cách
hoặc phím Enter.
GV: Yêu cầu các em để ý giai đoạn rẽ
nhánh của bài toán và nhập ba giá trị a,
b, c khác để thấy rõ ràng hơn.
HS: Thực hành và quan sát cấu trúc rẽ
nhánh.
GV: Sau khi đã quan sát quá trình rẽ
nhánh in ra kết quả trên màn hình, vậy
để sao biết giá trị a2, b2, c2 bây giờ?
GV: Chúng ta chọn thẻ Debug để chọn
mục Watch, sau khi cửa sổ Watch xuất
hiện ta ấn phím Crtl+ F7 hoặc chon
add watch… trong Debug để add các
giá trị a2, b2, c2 vào để xem kết quả.
Vừa giảng vừa thực hành mẫu cho các
em xem kỉ.
GV: Nhấn F7 để theo dõi quá trình thực
hiện từng dòng lệnh và xem giá trị của
cửa sổ hiện thời để các cửa sổ hiện ra
phần thông tin cần theo dõi không bị
o “Ba so da nhap khong la bo so Pi-ta-go”
Bước 4: Kết thúc quá trình giải
Trang 3thao tác nhu trên.
HS: Làm theo yêu cầu của giáo viên để
writeln('ba so nhap la so Pi_ta_go')
else
writeln('ba so nhap khong la
so Pi_ta_go');
readln end.
a) Lưu chương trình với tên PITAGO
lên đĩa.
b) Nhấn phím F7 để thực hiện từng câu
lệnh chương trình, nhập các giá trị a=3,b=4,c= 5.
c) Vào bảng chọn Debug mở cửa sổ
hiệu chỉnh để xem giá trị của a2, b2, c2 d) Nhấn phím F7 để thực hiện những
câu lệnh tính các giá trị nói trên, so sánh với kết quả a2=9, b2=16, c2=25.
Trang 41000, c = 800 không? Và tìm ra lời giải thích.
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ủ độngtrong giải quyết các bài tập
Rèn luyện tư duy khoa học, tư duy logic
B 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.
Gợi mở và thuyết trình
D Tiến trình bài dạy:
Hoạt động 1: Kiểm tra bài cũ Hoạt động của HS Hoạt động của GV Ghi bảng
Câu hỏi 1: Trình bày cấu trúc câu lệnh rẽ nhánh và cấu trúc lặp ?
Hoạt động 2: Giải bài tập 4
Câu hỏi 1: Sử dụng lệnh If này gồm mấy nhánh ? Câu hỏi 2: Hàm lấy giá trị tuyệt đối của biểu thức hay biến ?
Hoạt động của HS Hoạt động của GV Ghi bảng
HĐTP1:
NS:20/11/2010
NG:22/11/2010
DL:11A1-11A7
Trang 5- GV gọi 1 HS lên bảnggiải câu 4b)
- GV đặt H2
- GV nhận xét và đánh giá
then z:= sqrt(x) + sqrt(y) Else
If y>=x then z:= x+y Else z:= 0.5;
Câu 4b)
If (sqr(x-a) + sqr(y-b)) <=sqr(r) then z:=abs(x)+abs(y)
Else z:= x+y;
Hoạt động 3: Giải bài tập 5
Câu hỏi 1: Hãy khai triển biểu thức Y =∑
Câu hỏi 2: Nhìn vào công thức khai triển, em hãy cho biết n lấy giá trị trong đoạn nào ? Câu hỏi 3: Em hãy thử đưa ra phương pháp tính Y ?
Câu hỏi 4: Sử sụng cấu trúc điều khiển lặp nào là phù hợp ?
Hoạt động của HS Hoạt động của GV Ghi bảng
- 1 HS lên bảng trình bày H1
- 1 HS trả lời H2
- 1 HS trả lời H3
-1 HS trả lời H4
- 1 HS lên bảng giải bài 5a
- Các HS còn lại theo dõi và
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); writeln(y:14:6); readln;
End
4 Củng cố
Nắm được những nội dung đã học:
- Có 2 cấu trúc lặp:
Trang 6- Hiểu khái niệm rẽ nhánh và lặp trong lập trình.
- Biết sử dụng các câu lệnh thực hiện rẽ nhánh và lặp của Pascal
- Bước đầu hình thành khái niệm lặp trình có cấu trúc
2 Về kỹ năng:
- Biết diễn đạt đúng câu lệnh, soạn được chương trình giải các bài toán đơn giản
áp dụng các loại cấu trúc điều kiện nêu trên
- Bước đầu có khả năng phân tích bài toán đơn giản để chọn kiểu cấu trúc điều
kiển phù hợp với tình huống
- Biết tạo câu lệnh ghép khi cần thiết
3 Về thái độ:
- Ham thích môn học, có tính kỷ luật cao và tính thần làm việc theo nhóm
- Tiếp tục rèn luyện các phẩm chất cần thiết của người lập trình như: xem xét vấn
đề một cách cẩn thận, chu đáo, sáng tạo, không thỏa mãn với các kết quả ban đầu đạt
được,…
B Chu ẩ n b ị :
II Phương pháp, phương tiện dạy học
- Phương pháp: thuyết trình, vấn đáp
- Phương tiện: máy chiếu, máy tính
III Tiến trình bài dạy
1 Kiểm tra bài cũ:
Có thể dùng câu lệnh While…do thay cho câu lệnh for…do được không ? giải thích
2 Giảng bài mới:
-Gọi học sinh nhắc lại câu
lệnh if dạng thiếu và dạng
đầy đủ
-Hướng dẫn học sinh sử
dụng lệnh if để giải quyết
if y>=x then z:=x+y else z:=0.5;
b/ if (sqr(x-a)+sqr(y-b))<=sqr(r)then
z:=abs(x)+abs(y) else z:=x+y;
Câu 5 b:
NS:27/11/2010
NG:29/11/2010
DL:11A1-11A7
Trang 7-Hướng dẫn học sinh làm
bài tập 5b
-Hướng dẫn học sinh tóm
tắt bài toán: 30 con vừa gà
và chó, tổng cộng có 100
chân Số lượng chó có tối
đa là bao nhiêu?
-Ta sẽ sử dụng câu lệnh for
và if để giải bài toán này
-Hướng dẫn học sinh sử
dụng câu lệnh while để làm
ga:=36-cho;
If ga+2*cho=50 then Write(‘Ga:’,ga,’Cho:’,cho);
Trang 8Thang:=0;
While tiengui<tienrut do begin
- Biết khỏi niệm LT.
- Biết chức năng, vai trũ của LT trong học tập và cuộc sống.
- Hiểu cỏc chức năng chớnh của LT
C Nội dung đề:
I phần trắc nghiệm: (4 điểm)
Khoanh tròn phơng án A, B, C, D mà em cho là đúng nhất.
Câu 1: Cách khai báo biến nào đúng trong các cách khai báo sau:
A Var: x,i: integer; B Var <x,y>: Real;
Câu 2: Để tính diện tích S của hình tròn có bán kính r, cách khai báo S nào dới đây là
đúng?
Câu 3: Cấu trúc câu lệnh rẽ nhánh dạng thiếu là:
A If <câu lệnh> then <điều kiện>; B If <điều kiện> then <câu
lệnh>;
C If<câu lệnh1> then <câu lệnh 2>; D If<điều kiện 1> then <điều
kiện 2>;
Câu 4: Khi thực hiện câu lệnh While – do, sẽ thoát khỏi vòng lặp khi:
Cõu 5: Xột chương trỡnh sau:
Var a,b: integer;
Trang 9A khai báo biến B khai báo thư viện
C khai báo tên chương trình D khai báo hằng
Câu 8: Trong trường hợp nào thì xử dụng câu lệnh While – Do
A Lặp với số lần biết trước B Lặp với số lần biết trước dạng tiến
C Lặp với số lần chưa biết trước C Lặp với số lần biết trước dạng lùi
II PhÇn tù luËn: (6 ®iĨm)
Câu 1 (2đ): Viết lại các biểu thức tốn học sau sang dạng biểu diễn tương ứng trong Pascal:
a) ax2 +bx+1 b)
y x
y x
−+
Câu2 (3đ): Viết chương trình giải phương trình bậc 1 (ax + b = 0)
D Đáp án:
I Trắc nghiệm: 4đ ( mỗi phương phương án đúng 0,5đ)
II PhÇn tù luËn: (6 ®iĨm)
Câu 1 (2đ): Viết lại các biểu thức tốn học sau sang dạng biểu diễn tương ứng trong Pascal:
a) ax2 +bx+1
a*sqr(x)+b*x+1 b)
y x
y x
Trang 10Tiết 19: CẤU TRÚC LẶP (tiếp)
3 Tư duy ,thái độ:
-Rèn luyện phẩm chất cho người lặp trình
B Chuẩn bị của giáo viên và học sinh:
GV: Tổ chức cho học sinh tiếp thu kiến thức
HS:Chuẩn bị bài mới
C Phương pháp:
Thuyết trình,diễn giải,vấn đáp
D Hoạt động dạy học:
2 Kiểm tra bài cũ
- HS1: Thế nào là câu lệnh lặp? Có mấy dạng câu lệnh lăp?
HS2: Sửa l ại CT sau sao cho đ úngProgram tong;
Var i,S: integer;
BeginS:=0;
For i:= 20 downto 1 do S: = S + i;
Write (‘ Tong cac so nguyen tu 1 den 20 la:’);
Writeln(S);
Readln;
End
3 Nội dung dạy học:
HOẠT ĐỘNG CỦA HS HOẠT ĐỘNG CỦA GV GHI BẢNG
+ H1: -Có thể xây dựng thuậttoán Tổng _2 như sau để giảibài toán 2 GV trình bày +H2:Theo thuật toán việc lặplại số lần chưa biết trước cóđược kết thúc không?
B3:N:=N+1;
NS:11/12/2010
NG:13/12/2010
DL:11A1-11A7
Trang 11rồi quay lai bước 1,Ngược lại
Để mô tả cấu trúc lặp nhưvậy,Pascal dùng câu lệnhwhile-do có dạng:
-Hsinh xem sơ đồ (hình 7)+H3:-VD1:Cho HS viếtchương trình của bài toán -VD2:(SGK/47)Hãy xây dựng thuật toán tìmUCLN(đã học lớp 10)
GV nhận xét và hoànchỉnh.HS trình bày chươngtrình
Nhu vậy, việc lặp lại số lầnchưa biết trước sẽ được kếtthúc khi điều kiện cho trướcđược thoả mãn
While <điều kiện> do <câulệnh>;
Tronh đó:-Điều kiện là biểuthức logic;
-Câu lệnh là 1câu đơn hoặc ghép
4 Cũng cố:
Nhắc lại 1 số khái niệm mới
Nhắc lại cấu trúc câu lệnh
Rèn luyện kỹ năng vận dụng và linh hoạt trong việc lựa chọn cấu trúc rẽ nhánh
và cấu trúc lặp để giải quyết bài toán đặt ra
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ảiquyết các bài tập
- Rèn luyện tư duy khoa học, tư duy logic
B Chuẩn bị của giáo viên và học sinh:
i GV: - Soạn giáo án.
HS: - Học bài cũ và chuẩn bị bài tập.
Gi¸o viªn: Bïi §¨ng Khoa trêng THPT Mï Cang Ch¶i – Yªn B¸i
NS:18/12/2010
NG:20/12/2010
DL:11A1-11A3
Trang 12C. Phương pháp dạy học:
Gợi mở và thuyết trình
D.Tiến trình bài dạy:
1 Ổn định lớp
2 Kiểm tra bài cũ
Câu hỏi 1: Trình bày cấu trúc câu lệnh rẽ nhánh và cấu trúc lặp ?
3 Bài mới
Hoạt động 1: Giải bài tập 4
Câu hỏi 1: Sử dụng lệnh If này gồm mấy nhánh ?
Câu hỏi 2: Hàm lấy giá trị tuyệt đối của biểu thức hay biến ?
Hoạt động của HS Hoạt động của GV Ghi bảng
- 1 HS lên bảng giải câu 4a)
Hoạt động 2: Giải bài tập 5
Câu hỏi 1: Hãy khai triển biểu thức Y =∑
Câu hỏi 2: Nhìn vào công thức khai triển, em hãy cho biết n lấy giá trị trong đoạn nào ?
Câu hỏi 3: Em hãy thử đưa ra phương pháp tính Y ?
Câu hỏi 4: Sử sụng cấu trúc điều khiển lặp nào là phù hợp ?
Hoạt động của HS Hoạt động của GV Ghi bảng
33
22
1
+++
Câu 5a) Uses crt;
Var y: real;
n: byte;
Begin Clrscr;
y:=0;
Trang 13for n:=1 to 50 do y:= y + n/(n+1); writeln(y:14:6); readln;
5 Dặn dò: Làm các bài tập còn lại trong SGK trang 51
TiÕt 21-22: KiÓu m¶ng vµ biÕn cã chØ sè
A Mục tiêu:
- Về kiến thức:
+ Nắm được khái niệm mảng 1 chiều
+ Nắm được quy tắc mà NNLT xây dựng và sử dụng mảng một chiều
- Về kỹ năng:
+ Nhận biết được các thành phần trong khai báo kiểu mảng một chiều
+ Nhận biết được định danh của một phần tử kiểu mảng một chiều xuất hiện trongmột chương trình
+ Biết cách khai báo mảng đơn giản và chỉ số kiểu miền con của kiểu nguyên
- Về tư duy, thái độ:
+ Có tư duy đúng đắn trong việc áp dụng mảng 1 chiều để giải các bài toán đơngiản
B Chuẩn bị của gv, hs:+ Giáo viên: Sgk, sbt, sgv, tranh sơ đồ.
Trang 14TiÕt 21: Hoạt động 1: Tìm hiểu về sự cần thiết của chương IV(Kiểu dữ liệu có cấu
- GV nêu lên sự cần thiếtphải có kiểu dl có cấutrúc
- Tìm hiểu về mảng 1chiều
- Hãy trình bày ý tưởng đểgiải bài toán trên
- Ta có thể viết ct bằng NNPascal như sau:
-Nếu ta viết bằng mảng 1chi ều:
Type a = array[1 max] of real;
Var ndo:a; d,i,n: byte; t,tb: real;
BeginWriteln('Nhap so ngay: ');
Readln(n);
T:=0; d:=0;
For i:=1 to n do Begin
Trang 15Gi¸o ¸n tin häc 11
H/động của hs H/động của gv N ội dung ghi bảng
-So s ánh 2 ch/tr trên-Thế nào là mảng 1 chiều?
Writeln('Nhap vao nhiet do cuangay thu ',i,':');Readln(ndo[i]);
- Hãy khai báo mảng trong
vd trên bằng cách khai báotrực tiếp
- Để tham chiếu đến nh/độcủa thứ 2 ta viết ndo[2]
B/Khai báo:
Cách 1: Khai báo trực tiếp:
Var <tên biến mảng>: array[kiểu chỉ số] of
+ Kiểu phần tử là kiểu dl của các phần tửcủa mảng
Hoạt động 3:
Gi¸o viªn: Bïi §¨ng Khoa trêng THPT Mï Cang Ch¶i – Yªn B¸i
Trang 16Hoạt động của GV Hoạt động của HS Ghi bảng
hiểu những đoạn câu
lệnh trong thuật toán ở
vd2 sgk trang 57
• Sắp xếp và đổi chỗ cácphần tử liên tiếp nếu chúngngược thứ tự nhau
• Input:dãy số đã cho(chưa sắp xếp )
Output: đưa ra dãy số đã sắpxếp
• Theo dõi Sgk/57
Vidụ 1: Sắp xếp dãy sốnguyên bằng phương pháptrao đổi
hiểu những đoạn câu
lệnh trong thuật toán
tìm kiếm nhị phân ở ví
dụ 3 SGK trang 58
• Chia đôi 1 mảng đã sắpxếp rồi so sánh phần tửgiữa lớn hơn hay nhỏ hơngiá trị A cần tìm ở bênphải hay bên trái của mảng
• Trả lời câu hỏi của giáoviên
1 Input :
2 Output:
• Xem Sgk trang 58
Ví dụ 2 : Tìm kiếm nhị phân Sgk trang 58
TiÕt 22: Hoạt động4:
Hoạt động của Giáo viên Hoạt động của Học sinh Ghi bảng
Trang 17- Gọi HS lên bảng ghi lại cách
khai báo biến mảng một chiều?
- GV treo bảng phụ có hình minh
họa bảng cửu chương và đưa ra
câu hỏi: Làm thế nào để in ra một
bảng cửu chương có dạng như thế
này?
- Để giải quyết vấn đề này, trước
hết chúng ta sẽ đi tìm hiểu thế nào
là mảng hai chiều
- HS lên bảng trả bài cũ
- HS đứng tại chỗ trả lờicâu hỏi
- HS lên bảng trả lời
- HS theo dõi và suy nghĩcâu hỏi của GV đưa ra
- HS lắng nghe
* Hoạt động 5: Tìm hiểu về kiểu mảng hai chiều
Hoạt động của Giáo viên Hoạt động của Học sinh Ghi bảng
- Sử dụng kiến thức về mảng một
chiều, các em hãy đưa ra cách sử
dụng kiểu mảng đó để lưu trữ
bảng cửa chương này?
- Với cách lưu trữ như vậy thì ta
phải khai báo bao nhiêu biến
- Khai báo 9 biến mảngmột chiều
- Khai báo nhiều biến,viết chương trình nhậpxuất dữ liệu dài
- HS chú ý lắng nghe
- HS đứng tại chỗ trả lờicâu hỏi
- HS đứng tại chỗ trả lờicâu hỏi
2/ Kiểu mảng hai chiều:
- Mảng hai chiều là mảng mộtchiều mà mỗi phần tử là mảngmột chiều
- Các yếu tố xây dựng mảng haichiều:
+ Tên kiểu mảng hai chiều.+ Số lượng phần tử của mỗichiều
Gi¸o viªn: Bïi §¨ng Khoa trêng THPT Mï Cang Ch¶i – Yªn B¸i
Trang 18- Bây giờ chúng ta sẽ đi tìm hiểu
cách khai bái kiểu mảng hai chiều
như thế nào?
- Tương tự như kiểu mảng một
chiều, em nào có thể lên bảng viết
cách khai báo kiểu mảng hai chiều
trong ngôn ngữ Pascal?
- GV đưa ra ví dụ và yêu cầu HS
chỉ ra đâu là chỉ số của mảng, số
dòng, số cột và kiểu của mỗi phần
tử trong mảng?
- HS theo dõi và lắngnghe
- HS lên bảng trả lời câuhỏi
- HS trả lời:
+ Chỉ số của mảng: 1 9,1 10
+ Số dòng: 9; số cột: 10+ Kiểu: số nguyên
+ Kiểu dữ liệu của phần tử.+ Cách khai báo biến
+ Cách tham chiếu đến phần tử
a/ Khai báo:
- Cách 1: Khai báo trực tiếp.Var <tên biến mảng> : array[kiểu chỉ số hàng, kiểu chỉ sốcột] of <kiểu phần tử>;
- Cách 2: Khai báo gián tiếp.Type <tên kiểu mảng> = array[kiểu chỉ số hàng, kiểu chỉ sốcột] of <kiểu phần tử>;
Var <tên biến mảng> : <tênkiểu mảng>;
* Ví dụ:
- Cách 1:
Var A : array [1 9,1 10] ofInteger;
- Cách 2:
Type bang = [1 9,1 10]
Hoạt động của Giáo viên Hoạt động của Học sinh Ghi bảng
- Gọi một vài HS lên bảng cho ví
dụ và yêu cầu các em chỉ ra đâu là
* Hoạt động 6: Rèn luyện kĩ năng sử dụng kiểu mảng hai chiều.
Hoạt động của Giáo viên Hoạt động của Học sinh Ghi bảng
Trang 19HS thấy được kết quả của nó.
- Yêu cầu HS đặt ra 1 số câu hỏi
- HS giải thích
- HS thực hiện chươngtrình và đưa ra kết quả
- HS chú ý theo dõi
- HS quan sát và chú ýnhững giải thích của GV
- HS đặt ra các câu hỏithắc mắc
4 Củng cố
Gọi HS nhắc lại:
- Tạo kiểu mảng hai chiều
- Khai báo biến mảng hai chiều
- Biết được một kiểu dữ liệu mới là kiểu mảng hai chiều
- Biết được cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu đến từng
phần tử của mảng
2 Về kĩ năng:
- Nhận biết được các thành phần trong khai báo kiểu mảng hai chiều
- Nhận biết được định danh của một phần tử mảng hai chiều xuất hiện trong một
chương trình Cách tham chiếu đến một phần tử của mảng hai chiều
- Viết được khai báo mảng hai chiều với các chỉ số thuộc kiểu nguyên
3 Về tư duy và thái độ:
- Xây dựng lòng yêu thích giải toán bằng lập trình trên máy tính
Gi¸o viªn: Bïi §¨ng Khoa trêng THPT Mï Cang Ch¶i – Yªn B¸i
NS:28/12/2010
NG:30/12/2010
DL:11A1,2,3