+) Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước. +) Biết sửa lỗi và viết được chương trình một số bài toán cơ bản. Giáo viên: Soạn bài, đọc tài liệu tham khảoù, dung cu day[r]
(1)Ngày soạn: Ngày dạy: Tiết 53
BÀI TẬP I Mục tiêu:
+) Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước ngơn ngữ lập trình;
+) Biết ngơn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để dẫn máy tính thực lặp lặp lại công việc đến điều kiện thoả mãn;
+) Hiểu hoạt động câu lệnh lặp với số lần chưa biết trước +) Biết sửa lỗi viết chương trình số tốn II
Chuẩn bị :
1 Giáo viên: Soạn bài, đọc tài liệu tham khảoù, dung cu day học 2 Học sinh: Đọc trước bài, làm tập, dụng cụ học tập III Tiến trình tiết dạy:
1 Ổn định tổ chức lớp: - Kiển tra sĩ số:
2 Kiểm tra cũ: - Kiểm tra việc chuẩn bị nhà học sinh
3 Dạy mới:
HOẠT ĐỘNG CỦA THẦY VÀ TRÒ KIẾN THỨC CẦN ĐẠT
Hoạt động 1: Nhắc lại kiến thức lệnh lặp Gv: Cho HS làm tập 2:
? Hãy phát biểu khác biệt câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước
HS: Trả lời yêu cầu GV
Bài tập 2:
+) Như tên gọi nó, câu lệnh lặp với số lần lặp cho trước thị cho máy tính thực lệnh nhóm lệnh với số lần xác định từ trước, với câu lệnh lặp với số lần lặp chưa biết trước số lần lặp chưa xác định trước
+) Trong câu lệnh lặp với số lần cho trước, điều kiện giá trị biến đếm có giá trị nguyên đạt giá trị lớn hay chưa, câu lệnh lặp với số lần lặp chưa biết trước, điều kiện tổng quát nhiều, kiểm tra giá trị số thực, điều kiện tổng qt khác, ví dụ số có chia hết cho hay không,
(2)được kiểm tra Nếu điều kiện thỏa mãn, câu lệnh mới thực Do có trường hợp câu lệnh hồn tồn khơng thực
Hoạt động 2: HS làm tập SGK GV: Hướng dẫn HS làm tập
+) Hãy tìm hiểu thuật tốn sau cho biết thực thuật tốn, máy tính vòng lặp? Khi kết thúc, giá trị S bằng bao nhiêu? Viết chương trình Pascal thể thuật tốn đó!
a) Thuật tốn
Bước 1 S 10, x 0.5
Bước 2 Nếu S 5.2, chuyển tới bước
Bước 3 S S x quay lại bước Bước 4 Thơng báo S và kết thúc thuật tốn
b) Thuật toán
Bước 1 S 10, n
Bước 2 Nếu S ≥ 10, chuyển tới bước
Bước 3 n n + 3, S Sn quay lại bước
Bước 4 Thơng báo S và kết thúc thuật tốn
Cho nhận xét em!
Bài 3:
a) Thuật tốn 1: 10 vịng lặp thực Khi kết thúc thuật toán S = 5.0 Đoạn chương trình Pascal tương ứng:
S:=10; x:=0.5;
while S>5.2 S:=S-x; writeln(S);
b) Thuật tốn 2: Khơng vịng lặp thực từ đầu điều kiện không thỏa mãn nên bước bị bỏ qua S = 10 kết thúc thuật tốn Đoạn chương trình Pascal tương ứng:
S:=10; n:=0; while S<10 do
begin n:=n+3; S:=S-n end;
writeln(S);
Nhận xét: Trong thuật toán chương trình trên, điều kiện kiểm tra trước bước lặp thực Do điều kiện không thỏa mãn từ đầu, bước lặp bị bỏ qua Điều đặc biệt câu lệnh lặp while do
4./ Hướng dẫn nhà:
Xem lại làm, làm tiếp lại, tiết sau làm tiếp dạng BT
Ngày soạn:5/03/2012 Ngày dạy: 7/03/2012 Tiết 54
(3)I./ Mục tiêu
- Hs vận dụng kiến thức học vào làm tập - Hs nghiêm túc làm kiểm tra
II./ Chuẩn bị
GV: Phiếu kiểm tra
HS: Học chuẩn bị cho tiết kiểm tra III./ Nội dung kiểm tra
1 Kiểm tra sĩ số Kiểm tra Câu 1: (3điểm)
Nêu khác biệt câu lệnh lặp với số lần biết trước câu lệnh lặp với số lần chưa biết trước?
Câu 2: (3 điểm)
Chương trình Pascal sau thực hoạt động nào?Hãy giải thích hoạt động?
Program bài_2; Var i:integer; Begin
For i:=1 to 1000 do; End
Câu 3: (4 điểm)
Em viết chương trình tính tích N số tự nhiên đầu tiên.( sử dụng câu lệnh lặp While )
ĐÁP ÁN
……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… Ngày soạn: /03/2012
Ngày giảng: /03/2012 Tiết 55
(4)- Làm quen với việc khai báo sử dụng biến mảng - Ôn luyện cách sử dụng câu lệnh lặp for
- Củng cố kĩ đọc, hiểu chỉnh sửa chương trình II.Chuẩn bị GV, HS
1 Chuẩn bị GV:Giáo án máy chiếu Chuẩn bị HS:đò dùng học tập III Trọng tâm:
Biết dãy số, mảng, cấu trúc khai báo mảng vận dụng mảng IV Tiến trình lên lớp:
Ổn định lớp : kiểm tra lớp 2.Kiểm tra cũ:
3 Bài mới:
Hoạt động giáo viên học sinh Nội dung
HĐ 1: Tìm hiểu dãy số biến mảng - GV: yêu cầu HS đọc ví dụ 1
- GV:Ví dụ Pascal ta cần nhiều câu lệnh khai báo nhập liệu dạng sau đây, câu lệnh tương ứng với điểm học sinh
Var Diem_1, Diem_2, Diem_3, : real; Read(Diem_1);Read(Diem_2),
Read(Diem_3);
Giả sử lưu nhiều liệu có liên quan với (như Diem_1, Diem_2, Diem_3, trên) biến đánh "số thứ tự" cho giá trị đó, ta sử dụng quy luật tăng hay giảm "số thứ tự" vài câu lệnh lặp để xử lí liệu cách đơn giản hơn, chẳng hạn: Với i = đến 50: nhập Diem_i;
Với i = đến 50: so sánh Max với Diem_i; Từ hai ví dụ trên, thấy
Hình 41
Sau mảng khai báo, làm việc với phần tử làm việc với biến thông thường gán giá trị, đọc giá trị thực tính tốn với giá trị
Ví dụ cho thấy rằng, gán giá trị, đọc giá trị tính tốn với giá trị phần tử biến mảng thông qua số tương ứng phần tử Chẳng hạn, câu lệnh Diem[i] phần tử thứ i biến mảng Diem
1,
Dãy số biến mảng
Ví dụ Giả sử cần viết chương trình nhập điểm kiểm tra học sinh lớp sau in hình điểm số cao Vì biến lưu giá trị nhất, để nhập điểm so sánh chúng, ta cần sử dụng nhiều biến, biến cho học sinh
Dữ liệu kiểu mảng tập hợp hữu hạn phần tử có thứ tự, phần tử có kiểu liệu, gọi kiểu phần tử Việc thứ tự thực cách gán cho phần tử số:
Khi khai báo biến có kiểu liệu kiểu mảng, biến gọi biến mảng
Giá trị biến mảng mảng, tức dãy số (số nguyên, số thực) có thứ tự, số giá trị biến thành phần tương ứng
HĐ2: Ví dụ biến mảng - GV: Để làm việc với dãy số nguyên hay
2.Ví dụ biến mảng
(5)số thực, phải khai báo biến mảng có kiểu tương ứng phần khai báo chương trình
- GV: Cách khai báo đơn giản biến mảng ngôn ngữ Pascal sau:
var Chieucao: array[1 50] of real; var Tuoi: array[21 80] of integer;
Với câu lệnh thứ nhất, ta khai báo biến có tên Chieucao gồm 50 phần tử, phần tử biến có kiểu số thực Với câu lệnh khai báo thứ hai, ta có biến Tuoi gồm 60 phần tử (từ 21 đến 80) có kiểu số nguyên
Cách khai báo sử dụng biến mảng có lợi gì?
Trước hết, thay nhiều câu lệnh nhập in liệu hình câu lệnh lặp Chẳng hạn, ta viết
để nhập điểm học sinh Thay phải viết 50 câu lệnh khai báo 50 câu lệnh nhập, ta cần viết hai câu lệnh đủ kết đạt
Ta cịn sử dụng biến mảng cách hiệu xử lí liệu Để so sánh
điểm học sinh với giá trị đó, ta cần câu lệnh lặp, chẳng hạn
Điều giúp tiết kiệm nhiều thời gian công sức viết chương trình
Hơn nữa, học sinh có nhiều điểm theo mơn học: điểm Tốn, điểm Văn, điểm Lí, Để xử lí đồng thời loại điểm này, ta khai báo nhiều biến mảng:
Khi đó, ta xử lí điểm thi học sinh cụ thể (ví dụ tính điểm trung bình Lan, tính điểm cao Châu, ) tính điểm trung bình lớp,
như sau:
Tên mảng : array[<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu> ;
trong số đầu số cuối hai số nguyên biểu thức nguyên thoả mãn số đầu ≤ số cuối kiểu liệu integer real
Cách khai báo biến mảng các ngôn ngữ lập trình khác nhau, nhưng ln cần rõ: tên biến mảng, số lượng phần tử, kiểu liệu chung phần tử
Ví dụ Tiếp tục với ví dụ 1, thay khai báo biến Diem_1, Diem_2, Diem_3, để lưu điểm số học sinh, ta khai báo biến mảng Diem sau:
var Diem: array[1 50] of real; For i:=1 to 50 readln(Diem[i]); For i:=1 to 50
if Diem[i]>8.0 then writeln('Gioi'); var DiemToan: array[1 50] of real; var DiemVan: array[1 50] of real; var DiemLi: array[1 50] of real; hay
var DiemToan, DiemVan, DiemLi: array[1 50] of real;
Nhập giỏ trị cho biến mảng:
-Gỏn trực tiếp lệnh gỏn: vớ dụ: A[1] := 8, A[2] := 9.5.
-hoặc nhập liệu từ bàn phím câu lệnh lặp:
for i := to readln(a[i])
*viết hỡnh điểm số lớn
For i:=1 to 50 if Diem[i] >= 9 then
writeln(Diem[i]);
Tiết 2
(6)Gv đưa thuật tốn tìm Max dãy số nguyên
được nhập vào từ bàn phím
Học sinh đọc nghiên cứu tìm hiểu ý nghĩa câu lệnh chương trình Trong chương trình này, lưu ý điểm sau: Số tối đa phần tử mảng (cịn gọi kích thước mảng) phải khai báo số cụ thể (ở 100, số số nhập vào sau nhỏ nhiều so với 100)
y/c hs đọc ghi nhớ (sgk)
3: Tìm giá trị lớn nhỏ dãy số
Ví dụ Viết chương trình nhập N số ngun từ bàn phím in hình số nhỏ số lớn N nhập từ bàn phím (sgk)
Thuật toỏn tỡm Max dóy số nguyờn nhập từ bàn phớm sau:
Bước Nhập N dóy A1, , An Bước Max A1
Bước Lần lượt gán giá trị từ đến N cho i Với giỏ trị i thỡ thực hiện: Nếu Max <Ai thỡ MaxAi
Bước Đưa hỡnh giỏ trị Max kết thỳc
viết câu lệnh thực bước nhập N, nhập phần tử mảng, tỡm Max, in Max hỡnh
program P_Max; Var
i, N, Max : integer;
A: array[1 100] of integer; Begin
{Nhap N}
write('Hay nhap dai cua day so, N ='); readln(N);
{Nhap day so}
writeln('Nhap cac phan tu cua day so:'); For i:=1 to N do
Begin
write('a[',i,']='); readln(a[i]); End;
{Tim Max} Max:=a[1];
for i:=2 to n doif Max<a[i] then Max:=a[i];
{Hien thi Max man hinh} write('So lon nhat la Max = ',Max);
readln; End.
Ghi nhớ(sgk/79) 4 Củng cố:
(7)b) lỗi số cuối số thực
c)chỉ số đầu chi số cuối phải số nguyên Bài sgk
5 Dặn dò, hướng dẫn học sinh học tập nhà: Học xem trước nội dung thự hành
ôn lại làm câu hỏi 1, 2, 3, trang 79 Sgk V Rỳt kinh nghiệm
Ngày soạn: /03/2012 Ngày dạy: /03/2012 Tiết 57
BÀI TẬP I Mục tiêu:
+) Biết nhu cầu cần sử dụng biến mảng ngơn ngữ lập trình;
+) Biết ngơn ngữ lập trình dùng biến mảng để thay cho nhiều câu lệnh nhập in liệu len hình, sử lí liệu
II
Chuẩn bị :
(8)Củng cố lại kiến thức học : biến mảng làm vài tập để rèn luyện kĩ
IV Tiến trình tiết dạy:
1 Ổn định tổ chức lớp: - Kiểm tra sĩ số: Kiểm tra cũ: -
1 Hãy nêu cấu trúc khai bào biến mảng ?
Trả lời : Tên mảng : array[<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu> ;
3 Dạy mới:
HOẠT ĐỘNG CỦA THẦY VÀ TRÒ KIẾN THỨC CẦN ĐẠT
Hoạt động 1: Nhắc lại kiến thức biến mảng Gv: Cho HS làm tập 1:
? Hãy nêu lợi ích việc sử dụng biến mảng chương trình?
HS: Trả lời yêu cầu GV Gv: Cho Hs làm tập
“Có thể xem biến mảng biến tạo từ nhiều biến có kiểu, tên nhất” ? Phát biểu hay sai?
Bài tập 1
+) Sử dụng biến mảng chương trình giúp cho việc viết chương trình ngán gọn dẽ dàng
+) Sử dụng biến mảng câu lệnh lặp thay cho nhiều câu lệnh nhập in liệu lên hình, việc sử lý liệu
Bài tập 3
“Có thể xem biến mảng biến tạo từ nhiều biến có kiểu, tên nhất”
Phát biểu
Hoạt động 2: HS làm tập SGK (79)
? Em nhắc lại khai báo biến mảng ta cần ý điểm gì? HS: Khi khai báo biến mảng ta cần ý:
- Phải khai báo rõ tên biến mảng - Chỉ số đầu <= số cuối phải
có giá trị nguyên, ta cần khai báo rõ số lượng phần tử mảng
- Chỉ rõ kiểu liệu chung mảng
GV: Hướng dẫn HS làm tập
GV: hướng dẫn học sinh làm Câu lệnh sau MT có thực hay không?
Var N: integer
A: array[1 N] of real;
Bài 2:
a) Var X: Array[10,13] of Integer;
Khai báo sai số đầu số cuối cách dấu “ ”
b) Var X: Array[5 10.5] of Integer;
Khai báo sai số đầu số cuối phải số nguyên
c) Var X: Array[3.4 4.8] of Integer;
Khai báo sai số đầu số cuối phải số nguyên
d) Var X: Array[10 1] of Integer;
Khai báo sai số đầu phải nhỏ số cuối
e) Var X: Array[4 10] of Integer; Khai báo
Bài 4:
(9)4./ Củng cố hướng dẫn nhà: - Học lại cú pháp khai báo biến mảng
- Xem lại làm, làm tiếp lại, tiết sau làm tiếp dạng BT
V Rút kinh nghiệm:
Ngày soạn: Ngày dạy: Tiết: 58
Bài thực hành 6.
Xử lý dãy số chương trình (T1)
I Mục tiêu:
- Biết lựa chọn biến mảng phù hợp với tình cụ thể - Rèn luyện kĩ khai báo, sử dụng biến
- Rèn luyện khả đọc chương trình
- Biết vai trị việc kết hợp cấu trúc điều khiển II Chuẩn bị:
GV: Soạn bài, đọc tài liệu tham khảo, phòng may
HS: Xem lại học trước, xem trước nhà, dụng cụ học tập III Trọng tâm :
Củng cố lại kiến thức học : biến mảng làm vài tập để rèn luyện kĩ
IV Tiến trình tiết dạy: 1./ Ổn định lớp
(10)Hoạt động GV Nội dung Hoạt động 1: Học sinh làm tập 1
GV: yêu cầu HS làm 1:
Viết chương trình sử dụng biến mảng để nhập điểm bạn lớp, sau in nàm hình số bạn đạt loại giỏi, khá, trung bình
HS: Chú ý theo giõi GV: hướng dẫn:
a) Mô tả thuật tốn chương trình, biến dự định sử dụng kiểu chúng
b) Gõ chương trình vào máy HS: Thực làm máy: GV: Yêu cầu:
c) Đọc tìm hiểu ý nghĩa câu lệnh Dịch chương trình sửa lỗi, có Chạy chương trình với liệu gõ từ bàn phím kiểm tra kết nhận
HS: Chú ý để thực
Bài 1:
Viết chương trình sử dụng biến mảng để nhập điểm bạn lớp, sau in nàm hình số bạn đạt loại giỏi, khá, trung bình
Chương trình SGK-80
Hoạt động 2: Học sinh thực hành máy GV: Nêu lỗi cần ý có HS
trong lúc thực hành
GV: Nhắc lại điều cần ý sử dụng bién mảng
Tiết 2.
Hoạt động GV Hoạt động HS
Hoạt động 1: Học sinh làm tập 1 GV yêu cầu HS làm tập 2:
Bổ sung chỉnh sửa chương trình để nhập hai loại điểm Toán ngữ văn bạn sau in hình điểm trung bình bạn lớp GV: Hướng dẫn:
a) Đọc tìm hiểu ý nghĩa câu lệnh chương trình
b) Gõ, dịch chạy thử chương trình với vài độ xác khác
HS thực máy tính:
Bài 2:
Bổ sung chỉnh sửa chương trình để nhập hai loại điểm Tốn ngữ văn bạn sau in hình điểm trung bình bạn lớp Chương trình SGK
(11)GV: Nêu lỗi cần ý có HS lúc thực hành
GV: Nêu lỗi cần ý có HS lúc thực hành
GV: Nhắc lại điều cần ý sử dụng bién mảng
4./ Củng cố hướng dẩn nhà.
- Chú ý lỗi thực hành máy, cần ý cách sử dung biến mãng, cách sửa lỗi lập trình sai
- Về nhà thực hành lại thực hành Chuẩn bị V Rút kinh nghiệm: