Một số kinh nghiệm dạy tốt môn tin học lớp 11

pdf 31 trang Người đăng haibmt Lượt xem 3128Lượt tải 2 Download
Bạn đang xem 20 trang mẫu của tài liệu "Một số kinh nghiệm dạy tốt môn tin học lớp 11", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Một số kinh nghiệm dạy tốt môn tin học lớp 11
SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐĂK NÔNG 
TRƯỜNG THPT PHAN CHU TRINH 
---------- 
SÁNG KIẾN KINH NGHIỆM 
ĐỀ TÀI: 
“MỘT SỐ KINH NGHIỆM DẠY TỐT 
MÔN TIN HỌC LỚP 11” 
Môn: Tin học 
Tác giả: Vũ Đại Thanh 
Chức vụ: Phó hiệu trưởng 
Đơn vị công tác: Trường THPT Phan Chu Trinh 
CƯ JÚT – ĐĂK NÔNG, NĂM HỌC 2014 – 2015 
 LỜI CAM ĐOAN 
Tôi xin cam đoan : Đề tài sáng kiến kinh nghiệm “Một số kinh nghiệm dạy tốt 
môn Tin học lớp 11” là đề tài của riêng tôi. Không sao chép của ai, nội dung 
đề tài có tham khảo và sử dụng các tài liệu, thông tin được đăng tải trên các 
tạp chí và các trang web theo danh mục tài liệu tham khảo của đề tài. 
Các số liệu trong đề tài được sử dụng trung thực, không trùng lặp, nếu có 
sai sót gì trong quá trình trình bày thì xin được châm trước. 
 Cư Jút, ngày 20 tháng 01 năm 2015 
 Tác giả đề tài sáng kiến kinh nghiệm 
 Giáo viên 
 Vũ Đại Thanh 
 MỤC LỤC 
PHẦN I: MỞ ĐẦU ........................................................................................ 5 
I. LÍ DO CHỌN ĐỀ TÀI ....................................................................... 5 
II. MỤC ĐÍCH NGHIÊN CỨU .............................................................. 5 
III. ĐỐI TƯỢNG NGHIÊN CỨU ............................................................ 5 
IV. PHƯƠNG PHÁP NGHIÊN CỨU ...................................................... 5 
V. GIỚI HẠN PHẠM VI NGHIÊN CỨU ............................................... 6 
PHẦN II: NỘI DUNG .................................................................................... 7 
I. BÀI 9: CẤU TRÚC RẼ NHÁNH....................................................... 7 
1. Thực trạng của vấn đề ..................................................................... 7 
2. Các biện pháp đã tiến hành để giải quyết vấn đề ............................. 7 
3. Kết quả đạt được ............................................................................. 9 
II. BÀI 10: CẤU TRÚC LẶP ................................................................. 9 
1. Thực trạng của vấn đề ................................................................... 10 
2. Các biện pháp đã tiến hành để giải quyết vấn đề ........................... 10 
3. Kết quả đạt được ........................................................................... 14 
III. BÀI 11: KIỂU MẢNG ..................................................................... 14 
1. Thực trạng của vấn đề ................................................................... 15 
2. Các biện pháp đã tiến hành để giải quyết vấn đề ........................... 15 
3. Kết quả đạt được ........................................................................... 19 
IV. BÀI 12: KIỂU XÂU ........................................................................ 20 
1. Thực trạng của vấn đề ................................................................... 20 
2. Các biện pháp đã tiến hành để giải quyết vấn đề ........................... 20 
3. Kết quả đạt được ........................................................................... 23 
V. BÀI 16: VÍ DỤ LÀM VIỆC VỚI TỆP ............................................. 24 
1. Thực trạng của vấn đề ...................................................................... 24 
2. Các biện pháp đã tiến hành để giải quyết vấn đề .............................. 24 
3. Kết quả đạt được .............................................................................. 26 
VI. BÀI 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI ........................ 26 
1. Thực trạng của vấn đề ................................................................... 27 
2. Các biện pháp đã tiến hành để giải quyết vấn đề ........................... 27 
3. Kết quả đạt được ........................................................................... 28 
PHẦN III: KẾT LUẬN VÀ KIẾN NGHỊ ..................................................... 30 
I. KẾT LUẬN ..................................................................................... 30 
II. KIẾN NGHỊ ..................................................................................... 30 
TÀI LIỆU THAM KHẢO ............................................................................ 31 
 DANH MỤC KÝ HIỆU VIẾT TẮT VÀ THUẬT NGỮ 
STT Tên viết tắt và 
thuật ngữ 
Giải thích Trang xuất hiện 
1 ASCII American Standard Code for Information Interchange 19, 20 
2 GVCN Giáo viên chủ nhiệm 22 
3 nxb Nhà xuất bản 20 
4 QĐ Quyết định 7, 13 
5 SGK Sách giáo khoa 6, 8, 20, 21, 22 
5 
PHẦN I: MỞ ĐẦU 
I. LÍ DO CHỌN ĐỀ TÀI 
Đổi mới phương pháp dạy học (PPDH) là một yêu cầu tất yếu trong sự 
nghiệp đổi mới giáo dục – đào tạo của nước ta. Đây cũng đang là vấn đề cấp 
bách không chỉ được toàn ngành giáo dục quan tâm mà cũng là sự quan tâm 
trong đường lối lãnh đạo công tác giáo dục của Đảng, từng được ghi trong các 
Nghị quyết Trung ương 4 (khoá VII) và Nghị quyết Trung ương 2 (khoá 
VIII), Luật giáo dục. 
Trong chương trình dạy Tin học ở bậc THPT, đặc biệt là chương trình Tin 
học khối 11 rất khó cho Thầy Cô giáo cũng như học sinh, vì phải làm thế nào 
để học sinh có thể hiểu được ngôn ngữ lập trình, để từ đó có thể lựa chọn và 
thiết kế thuật toán. Đối với học sinh thì phải làm quen với lối suy nghĩ logic 
với sự hoạt động của máy tính, mà đây lại là một lối suy nghĩ hoàn toàn khác 
với các môn học khác. 
Với kinh nghiệm mười năm dạy môn Tin học ở bậc THPT, Tôi mạnh 
dạn viết đề tài sáng kiến kinh nghiệm “Một số kinh nghiệm dạy tốt môn Tin 
học lớp 11” để đồng nghiệp có dịp tham khảo, giúp giảng dạy môn Tin học 
lớp 11 được tốt hơn. 
II. MỤC ĐÍCH NGHIÊN CỨU 
Tìm hiểu về chất lượng bộ môn Tin học và tìm giải pháp nâng cao chất 
lượng trong dạy học. 
III. ĐỐI TƯỢNG NGHIÊN CỨU 
 Học sinh lớp 11 qua các năm học. 
 Nghiên cứu khái quát về Chương trình Tin học lớp 11. 
IV. PHƯƠNG PHÁP NGHIÊN CỨU 
 Xây dựng một số ví dụ đơn giản và bám sát mục tiêu môn học. 
6 
 Thử nghiệm câu hỏi bằng cách kiểm tra trên giấy và trên máy để đánh 
giá độ khó, độ phân biệt, độ giá trị của hệ thống câu hỏi, phân tích hệ 
thống câu hỏi tạo một bộ câu hỏi có chất lượng. 
V. GIỚI HẠN PHẠM VI NGHIÊN CỨU 
Chương trình Tin học lớp 11 của Bộ giáo dục và Đào tạo Việt Nam 
và Học sinh lớp 11 qua các năm học. 
7 
PHẦN II: NỘI DUNG 
I. BÀI 9: CẤU TRÚC RẼ NHÁNH 
A. Mục đích, yêu cầu 
- Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ). 
- Hiểu câu lệnh ghép. 
- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán 
đơn giản. 
- Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để 
thể hiện được thuật toán của một số bài toán đơn giản. 
B. Nội dung lên lớp. 
1. Thực trạng của vấn đề 
Đây là một trong 3 cấu trúc quan trọng trong Pascal, đặc biệt là câu 
lệnh if-then có 2 dạng thiếu và đủ. Hai dạng này phải có kinh nghiệm 
thực tế mới có thể hiểu hết ý nghĩa của 2 dạng này. 
2. Các biện pháp đã tiến hành để giải quyết vấn đề 
2.1. Câu lệnh if-then 
Do đó Tôi mạnh dạn thay thay 3 ví dụ trong sách giáo khoa trang 40 
bằng ví dụ sau: 
Viết chương trình tìm số lớn nhất trong 3 số nguyên a, b, c được 
nhập vào từ bàn phím. (ví dụ được lấy trong sách giáo khoa thí điểm 
năm 1997). 
Lưu ý là học sinh đã được học cấu trúc đầy đủ của chương trình 
Program tim_max; 
uses crt; 
var a,b,c,max : integer; 
begin 
 clrscr; 
 write('Nhap vao 3 so nguyen a,b,c: '); 
 readln(a,b,c); 
8 
 max:=a; 
 if b>max then max:=b; 
 if c>max then max:=c; 
 writeln('So lon nhat la: ',max); 
 readln 
end. 
 Rõ ràng với 1 ví dụ như trên, chúng ta giúp cho học sinh hiểu rõ hơn 
lệnh if-then dạng thiếu cần thiết như thế nào khi nào gặp các dạng thuật 
toán như trên. 
2.2. Câu lệnh ghép 
Để làm rõ hơn theo cú pháp thì sau các từ khóa then hoặc else 
phải là một câu lệnh. Nhưng trong nhiều trường hợp đòi hỏi phải có 
nhiều hơn một câu lệnh, thì ngôn ngữ lập trình cho phép gộp một dãy 
câu lệnh thành một câu lệnh ghép. Tôi mạnh dạn gộp ví dụ phần này 
với ví dụ 1 trang 41 SGK thành ví dụ sau: 
Viết chương trình giải phương trình bậc hai: 02  cbxax , với a≠0. 
 Trước khi giải thuật toán này, Tôi áp dụng kiến thức liên môn: ôn lại 
phương pháp giải phương trình bậc hai ở Toán học cho học sinh dễ 
hình dung ra giải thuật để em nào khá có thế tự làm được. 
Việc đầu tiên là tính: 
delta: d:=b*b-4*a*c 
Nếu d<0 phương trình vô nghiệm 
Nếu d=0 phương trình có nghiệm kép 
 x = -b/(2*a) 
Nếu d>0 phương trình có 2 nghiệm phân biệt là: 
 x1 = (-b+sqrt(d))/(2*a) 
 x2 = (-b-sqrt(d))/(2*a) 
Lệnh if-then dạng 
thiếu rất ý nghĩa 
trong trường hợp 
này. 
9 
 Sau khi gợi ý, Tôi cũng khuyến khích học sinh bằng cách cho học sinh 
tự làm trong 10 phút, nếu kiểm tra ai làm được sẽ cộng 1 điểm vào 
điểm 15 phút, chương trình đầy đủ như sau: 
Program giai_PT_bac2; 
var a,b,c : integer; 
 d: real; 
begin 
 write('Nhap vao a,b,c: '); 
 readln(a,b,c); 
 d:=b*b-4*a*c; 
 if d<0 then writeln('Phuong trinh vo nghiem') 
 else 
 if d=0 then writeln('Ph trinh co ngh kep x= ',-b/(2*a):0:1) 
 else 
 begin 
 writeln('Phuong trinh co 2 nghiem phan biet la:'); 
 writeln('x1=',(-b+sqrt(d))/(2*a):0:1); 
 writeln('x2=',(-b-sqrt(d))/(2*a):0:1); 
 end; 
 readln 
end. 
 Với ví dụ này, chúng ta giúp cho học sinh hiểu rõ hơn lệnh if-then lồng 
nhau khi gặp các dạng thuật toán như trên, đồng thời nắm được ý nghĩa 
câu lệnh ghép. 
3. Kết quả đạt được 
Việc đưa các ví dụ phù hợp, số học sinh nắm được bài là trên 80% 
II. BÀI 10: CẤU TRÚC LẶP 
Đối với §10 Tôi đã viết một sáng kiến kinh nghiệm với tên “Đổi mới 
phương pháp dạy học bài Cấu trúc lặp ở lớp 11” và đã đạt giải B cuộc thi 
sáng kiến kinh nghiệm cấp Tỉnh năm học 2009-2010 (theo QĐ số: 1128/QĐ-
SGD&ĐT ngày 10/11/2010 của Sở Giáo dục và Đào tạo tỉnh Đăk Nông) 
Tôi xin tóm tắt lại nội dung sáng kiến của mình như sau: 
A. Mục đích, yêu cầu 
- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán. 
Câu 
lệnh 
ghép 
10 
- Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần 
định trước. 
- Biết cách vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể. 
- Mô tả thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp. 
- Viết đúng các lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần 
lặp trước. 
- Viết được thuật toán của một số bài toán đơn giản. 
B. Nội dung lên lớp. 
1. Thực trạng của vấn đề 
Đối với §10 Cấu trúc lặp ở lớp 11, Tôi nhận thấy các ví dụ vẫn 
chưa phù hợp với mục đích yêu cầu của bài dạy, đặc biệt là giải thích 
thuật toán lại áp dụng kiến thức §4 Bài toán và Thuật toán ở lớp 10 làm 
cho học sinh rất khó tiếp thu. 
2. Các biện pháp đã tiến hành để giải quyết vấn đề 
Thay các ví dụ khó trong sách giáo khoa bằng các ví dụ đơn giản 
hơn, để giúp học sinh có thể nắm bắt dễ dàng chức năng của cấu trúc lặp. 
2.1. Lặp với số lần biết trước và câu lệnh for-do 
Tôi thay bài toán 1: Tính và đưa kết quả ra màn hình tổng (trang42, 
SGK) 
100
1...
2
1
1
11






aaaa
S 
Bằng bài toán: Tính và đưa kết quả ra màn hình tổng 
100...321 S 
 Nhận xét: Đối với các bài toán này chúng tôi dễ dàng đạt được mục tiêu 
kiến thức là: Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán, 
hiểu cấu trúc lặp với số lần biết trước, biết cách vận dụng đúng đắn 
từng loại cấu trúc lặp vào tình huống cụ thể, mô tả thuật toán của một 
số bài toán đơn giản có sử dụng lệnh lặp, viết đúng các lệnh lặp với số 
lần biết trước, viết được thuật toán của một số bài toán đơn giản. 
11 
 Thuật toán đưa ra cho bài toán trên: 
- Lặp dạng tiến: 
S0 = 0 
S1 = S0 + 1 
S2 = S1 + 2 
S3 = S2 + 3 
S100 = S99 + 100 
 Nhận xét: Bắt đầu tính từ S1, việc tính S Được lặp đi lặp lại 100 lần 
theo qui luật Si = Si-1 + i, với i chạy từ 1 đến 100. 
- Lặp dạng lùi: 
S101 = 0 
S100 = S101 + 100 
S99 = S100 + 99 
S98 = S99 + 98 
S1 = S2 + 1 
 Nhận xét: Bắt đầu tính từ S100, việc tính S Được lặp đi lặp lại 100 
lần theo qui luật Si = Si+1 + i, với i chạy từ 100 về 1 
 Chương trình cài đặt cho các thuật toán trên: 
- Lặp dạng tiến: 
Program Tong_1a; 
uses crt; 
100...321 S
Si = Si-1 + i 
i: 1 → 100 
1...9899100 S
Si = Si+1 + i 
i: 100 → 1 
12 
var S: word; 
 i : byte; 
begin 
 clrscr; 
 S:=0; 
 for i:=1 to 100 do 
 S:=S+i; 
 writeln('Tong S la: ',S); 
 readln 
end. 
- Lặp dạng lùi: 
Program Tong_1b; 
uses crt; 
var S: word; 
 i : byte; 
begin 
 clrscr; 
 S:=0; 
 for i:=100 downto 1 do 
 S:=S+i; 
 writeln('Tong S la: ',S); 
 readln 
end. 
 Nhận xét: 
 Đối với hai thuật toán này độ phức tạp được giảm đi rất nhiều, 
khi đó ta có thời gian nhiều để nói về chức năng của cấu trúc 
lặp for. 
 Ta cũng có thể gợi ý để học sinh làm việc theo nhóm để giải 
bài toán này 
13 
 Ở tiết Bài tập và thực hành 2 thì chúng tôi áp dụng ví dụ sau: Tính và 
đưa kết quả ra màn hình tổng 
NS ...321  
Program Tinh_tong; 
uses crt; 
var i,N : integer; 
 S : longint; 
begin 
 clrscr; 
 write('Nhap vao N '); 
 readln(N); 
 s:=0; 
 for i:=1 to N do 
 s:=s+i; 
 writeln('Tong s = ',s); 
 readln 
end. 
 Ghi chú: Ví dụ trên gần giống bài toán 1 và cũng là bài toán áp dụng 
đối với câu lệnh lặp với số lần chưa biết trước (câu lệnh While - do) 
2.2. Lặp với số lần chưa trước và câu lệnh while-do 
Tôi thay Bài toán 2: Tính và đưa kết quả ra màn hình tổng 
...1...
2
1
1
11







Naaaa
S 
Cho đến khi 0001,01 
 Na
Bằng bài toán: Tính và đưa kết quả ra màn hình tổng 
NS  ...321 
Program Tong_S; 
uses crt; 
var i,N : integer; 
14 
s:=0; 
for i:=1 to N do 
 s:=s+i; 
 S : longint; 
begin 
 clrscr; 
 write('Nhap vao N '); readln(N); 
 s:=0;i:=1; 
 while i<= N do 
begin 
s:=s+i; 
i:=i+1; 
 end; 
 writeln('Tong s = ',s); 
 readln 
end. 
 Nhận xét: Đây là cách tốt nhất để học sinh hiểu rõ câu lệnh while-
do, có thể so sánh sự giống nhau và khác nhau giữa lệnh for-do và 
while-do 
3. Kết quả đạt được 
Sau §10 Cấu trúc lặp có bài kiểm tra 1 tiết (tiết 18). 
 Đề kiểm tra (điển hình) như sau: 
1. Câu 1: Viết chương trình tìm số lớn nhất và nhỏ nhất trong 3 số 
nguyên a, b, c được nhập vào từ bàn phím. 
2. Câu 2: Viết chương trình tính tổng: 
n
S 1...
4
1
3
1
2
1
 (với n ≤50) 
 Kết quả những năm gần đây: Số học sinh đạt Trung bình trở lên là 
trên 75% 
III. BÀI 11: KIỂU MẢNG 
Đối với §11 Tôi đã viết một sáng kiến kinh nghiệm với tên “Đổi mới 
phương pháp dạy học bài Kiểu mảng ở lớp 11” và đã đạt giải C cuộc thi sáng 
15 
kiến kinh nghiệm cấp Tỉnh năm học 2011-2012 (theo QĐ số: 184/QĐ-
SGD&ĐT ngày 10/4/2012 của Sở Giáo dục và Đào tạo tỉnh Đăk Nông) 
Tôi xin tóm tắt lại nội dung sáng kiến của mình như sau: 
A. Mục đích, yêu cầu 
- Hiểu khái niệm kiểu mảng. 
- Hiểu cách khai báo kiểu của các phần tử và cách truy cập đến các 
phần tử của mảng. 
- Cài đặt được thuật toán của một số bài toán đơn giản với kiểu dữ liệu 
mảng. 
- Thực hiện được khai báo mảng, truy cập, tính toán các phần tử của 
mảng. 
- Nắm được các cách khai báo kiểu dữ liệu mảng. 
- Nhận biết được các thành phần trong khai báo kiểu dữ liệu mảng. 
B. Nội dung lên lớp 
1. Thực trạng của vấn đề 
Đối với §11 Kiểu mảng tôi nhận thấy việc dạy để học sinh hiểu được bài 
này là rất khó khăn, nếu chúng ta không biết liên kết các ví dụ, đặc biệt là 
giúp học sinh hiểu được kiểu mảng là gì, khi nào thì dùng kiểu mảng và sử 
dụng như thế nào. 
2. Các biện pháp đã tiến hành để giải quyết vấn đề 
2.1. Mảng một chiều 
a. Cách khai báo: 
 Cách 1 : Khai báo trực tiếp 
Var : Array[m1 . . m2] of ; 
Trong đó : m1, m2 có cùng kiểu dữ liệu xác định phạm vi của chỉ số. 
m1<=m2. 
Vd : VAR M:ARRAY[1 .. 5] of integer; 
Minh Họa: M 
1 2 3 4 5 
16 
Mảng M gồm 5 phần tử thuộc kiểu Integer ứng với các chỉ số 1,2,3,4,5 
nghĩa là : 
M[1], M[2], M[3], M[4], M[5]. 
 Cách 2: Khai báo gián tiếp 
Bước 1: Type = array[m1..m2] of ; 
Bước 2: Var : ; 
Vd : Type M=Array[1..5] of integer; 
 Var a:M; 
 Nhận xét: Các cách khai báo và ví dụ trên trực quan hơn và ngắn 
gọn hơn cách khai báo và các ví dụ trong Sách Giáo Khoa. 
b. Các ví dụ: 
 Ví dụ: viết chương trình nhập vào nhiệt độ (trung bình) của mỗi ngày 
trong tuần, tính và đưa ra màn hình nhiệt độ trung bình của cả tuần, và 
đếm số ngày có nhiệt độ cao hơn nhiệt độ trung bình. 
 Chương trình viết theo cách 1: 
Program Nhietdo_Tuan; 
Uses crt; 
Var t1,t2,t3,t4,t5,t6,t7,tb: real; 
 dem : byte; 
Begin 
 clrscr; 
 write('Nhap vao nhiet do cua 7 ngay: '); 
 readln(t1,t2,t3,t4,t5,t6,t7); 
 tb:=(t1+t2+t3+t4+t5+t6+t7)/7; 
 dem:=0; 
 if t1>tb then dem:=dem+1; 
 if t2>tb then dem:=dem+1; 
 if t3>tb then dem:=dem+1; 
 if t4>tb then dem:=dem+1; 
17 
 if t5>tb then dem:=dem+1; 
 if t6>tb then dem:=dem+1; 
 if t7>tb then dem:=dem+1; 
 writeln('Nhiet do trung binh tuan la: ',tb:8:1); 
 writeln('So ngay co nhiet do cao hon trung binh la: ',dem); 
 readln 
End. 
 Ghi chú: Có thể minh hoạ bằng hình ảnh sau 
 Các câu hỏi gợi mở: Từ ví dụ trên Tôi đưa ra các tình huống để dẫn dắt 
học sinh đến với một kiểu dữ liệu có cấu trúc đầu tiên, đó là “Kiểu 
mảng”: 
+ Tính nhiệt độ trung bình một tuần thì sử dụng mấy biến? (học 
sinh trả lời: 7 biến) 
+ Nếu tính nhiệt độ trung bình một tháng 30 ngày thì sử dụng mấy 
biến? (học sinh trả lời: 30 biến) 
+ Nếu tính nhiệt độ trung bình một năm 365 ngày thì sử dụng mấy 
biến? (học sinh trả lời: 365 biến) 
 Thế thì việc sử dụng các biến đơn trở nên phức tạp trong 
trường hợp sử dụng nhiều biến (có cùng kiểu dữ liệu). 
 Từ đó người ta đưa ra khái niệm kiểu mảng. 
 Chương trình viết theo cách 2: 
Program Nhietdo_Tuan; 
Uses crt; 
Var A : array[1..7] of real; 
 tong, tb : real; 
22oC 22.5oC 23oC 23.5oC 24oC 24.5oC 25oC 
T1 T2 T3 T4 T5 T6 T7 
23.5 3 
tb dem 
18 
 i, dem : byte; 
Begin 
 clrscr; 
 tong:=0; dem:=0; 
 for i:=1 to 7 do 
 begin 
 writeln('Nhap nhiet do ngay thu ',i,' '); 
 readln(A[i]); 
 tong:=tong+A[i]; 
 end; 
 tb:=tong/7; 
 writeln('Nhiet do trung binh cua ca tuan la: ',tb:8:1); 
 for i:=1 to 7 do 
 if A[i]>tb then dem:=dem+1; 
 writeln('So ngay co nhiet do cao hon TB la: ',dem); 
 readln; 
End. 
 Ghi chú: Có thể minh hoạ bằng hình ảnh sau 
Mảng A 
 So sánh 2 cách: 
Cách 1 Cách 2 
Program Nhietdo_Tuan; 
Uses crt; 
Var t1,t2,t3,t4,t5,t6,t7,tb: real; 
 dem : integer; 
Begin 
 clrscr; 
 write('Nhap vao nhiet do cua 7 ngay: '); 
 readln(t1,t2,t3,t4,t5,t6,t7); 
 tb:=(t1+t2+t3+t4+t5+t6+t7)/7; 
Program Nhietdo_Tuan; 
Uses crt; 
Var A : array[1..7] of real; 
 tong, tb : real; 
 i, dem : byte; 
Begin 
 clrscr; 
 tong:=0; dem:=0; 
 for i:=1 to 7 do 
22oC 22.5oC 23oC 23.5oC 24oC 24.5oC 25oC 
1 2 3 4 5 6 7 
164.5 23.5 3 
tong tb dem 
19 
 dem:=0; 
 if t1>tb then dem:=dem+1; 
 if t2>tb then dem:=dem+1; 
 if t3>tb then dem:=dem+1; 
 if t4>tb then dem:=dem+1; 
 if t5>tb then dem:=dem+1; 
 if t6>tb then dem:=dem+1; 
 if t7>tb then dem:=dem+1; 
 writeln('Nhiet do trung binh tuan la: ',tb:8:1); 
 writeln('So ngay co nh do cao hon TB la: ',dem); 
 readln 
End. 
 begin 
 writeln('Nhap nhiet do ngay thu ',i,' '); 
 readln(A[i]); 
 tong:=tong+A[i]; 
 end; 
 tb:=tong/7; 
 writeln('Nh do TB cua ca tuan la: ',tb:8:1); 
 for i:=1 to 7 do 
 if A[i]>tb then dem:=dem+1; 
 writeln('So ngay nh do cao hon TB la: ',dem); 
 readln; 
End. 
 Nhận xét: 
 Nếu mở rộng bài toán tính nhiệt độ trung bình một tháng 30 ngày và 
đếm xem có bao nhiêu ngày có nhiệt độ cao hơn nhiệt độ trung bình, 
thì: 
Cách 1: - Phải khai báo 30 biến đơn 
 - Sử dụng 30 lệnh if - then. 
Cách 2: - Chỉ cần khai báo 1 mảng gồm 30 phần tử 
 - Sử dụng lệnh for i:=1 to 30 do  
 Rõ ràng khi bài toán sử dụng nhiều biến đơn cùng kiểu dữ liệu, thì sử 
biến mảng sẽ thuận lợi hơn rất nhiều. 
2.2. Mảng hai chiều: 
Theo phân phối chương trình lớp 11, phần này được giảm tải, nên Tôi 
chỉ trình bày đối với học sinh khá để định hướng các em đi thi học si

Tài liệu đính kèm:

  • pdfSKKN_Tin_hoc_11.pdf