Kinh nghiệm bồi dưỡng học sinh giỏi môn Tin học 9

I. PHẦN MỞ ĐẦU

1) Lí do chọn đề tài:

- Đảng và Nhà nước đã vạch ra đường lối rất đúng đắn về “chiến lược con người” là

“nâng cao dân trí, đào tạo nhân l c, bồi dưỡng nhân tài”. Ngành giáo dục và đào tạo cũng

đang hướng tới phát triển tối đa những năng l c còn tiềm ẩn trong mỗi học sinh. Trong

các trường học hiện nay, việc phát triển bồi dưỡng học sinh giỏi góp phần đào tạo nhân tài

cho đất nước được xem là nhiệm vụ cần thiết và quan trọng. Nhiều năm qua tôi được s

tín nhiệm của trường đã tham gia bồi dưỡng học sinh giỏi môn tin học 9. Qua quá trình

bồi dưỡng, tôi luôn cố gắng tìm hiểu nội dung cơ bản và nâng cao, tìm ra phương pháp tối

ưu để cho công tác bồi dưỡng có hiệu quả nhất. Công tác bồi dưỡng học sinh giỏi là

nhiệm vụ nặng nề nhưng cũng rất vinh d cho giáo viên khi tham gia bồi dưỡng. Những

câu hỏi mà bất cứ ai khi tham gia bồi dưỡng học sinh giỏi cũng luôn đặt ra là: Làm thế

nào để các em lĩnh hội tốt các kiến thức khi tham gia ôn luyện? Làm thế nào để kết quả

đạt được tốt nhất? Làm thế nào để mang lại thành tích cho các em và mang lại vinh d

cho nhà trường? Từ những băn khoăn đó, bằng tất cả nỗ l c của bản thân, qua tìm tòi, trao

đổi và thảo luận với các đồng nghiệp, tôi xin chia sẻ kinh nghiệm với các đồng nghiệp về

để tài mà tôi đã nghiên cứu trong thời gian qua: "Kinh nghiệm bồi dƣỡng học sinh giỏi

môn tin học lớp 9". Mong cùng góp một phần nhỏ vào công tác bồi dưỡng học sinh giỏi

chung của trường, của huyện, để đội ngũ học sinh giỏi của trường, của huyện ta ngày

càng đạt kết quả cao hơn.

pdf31 trang | Chia sẻ: myhoa95 | Lượt xem: 7325 | Lượt tải: 4Download
Bạn đang xem 20 trang mẫu của tài liệu "Kinh nghiệm bồi dưỡng học sinh giỏi môn Tin học 9", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
1..100] of integer; 
 i,n,k:integer; 
begin 
 clrscr; 
 write('Nhap : ');readln(n); 
 for i:=1 to n do 
 begin 
 write('M[',i,']='); readln(M[i]); 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 18 
 end; 
 write('Vi tri chen: ');readln(k); 
 for i:=n+1 downto k+1 do M[i]:=M[i-1]; 
 write('Nhap so can chen: '); readln(M[k]); 
 for i:=1 to n+1 do write(M[i],', '); 
 readln 
end. 
Bài 7: Lập trình tính tích các số t nhiên từ 1 tới 10 . 
- Xác định bài toán: 
+ Input: 1, 2, 3, 4.., 10 
+ Output: 1*2*3*4* ..*10 
- Chương trình minh họa: 
Var i : Byte ; 
 p : word ; 
 BEGIN 
 p := 1; 
 For i := 1 to 10 Do 
 p := p * i ; 
 Write (' 1 * 2 * ... * 10 = ', p ) ; 
 Readln ; 
 END . 
Bài 8: Cho số t nhiên n, hãy lập trình để tính các tổng sau : 
a. 1 + 1/2
2
 + 1/3
2
 +  + 1/n2 
b. 1 + 1/2! + 1/3! +  + 1/n! 
a. Var n , i : Word ; 
 S : Real ; 
 BEGIN 
 Write (' Nhap n : ') ; Readln (n) ; 
 S := 0 ; 
 For i := 1 To n Do 
 S := S + 1 / sqr(i) ; 
 Writeln (' S = ', S:0:2) ; 
 Readln ; 
 END . 
b. Var n , i , j , p : Word ; 
 S : Real ; 
 BEGIN 
 Write (' Nhap n : ') ; Readln(n) ; 
 p := 1 ; 
 s := 0 ; 
 For i :=1 To n Do 
 Begin 
 p := p * i ; (* tính i *) 
 S := S + 1 / p ; 
 End ; 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 19 
 Writeln (' S = ', S:0:2) ; 
 Readln ; 
 END . 
Bài 9: Viết chương trình nhập một dãy số tối đa 100 số , sau đó in ra màn hình các số 
khác nhau . 
Uses Crt; 
 Var A : Array [1..100] Of Integer; 
 i , j , n : Integer ; 
 BEGIN 
 Clrscr ; 
 Write(' Do dai cua day so N = ') ; Readln (N) ; 
 For I := 1 To N Do 
 Begin 
 Write ('A[', i , ']= ') ; Readln ( A[i] ) ; 
 End ; 
 Writeln (' Cac so khac nhau la : ') ; Writeln ( A[1] ) ; 
 i := 2 ; 
 While i <= N Do 
 Begin 
 j := 1 ; 
 While ( j A[i] ) Do inc(j) ; 
 If j = i Then Writeln( A[i] ) ; 
 i :=i + 1 ; 
 End ; 
 Readln ; 
 END . 
Bài 10 : Viết chương trình nhập một dãy số tối đa 100 số , sau đó sắp xếp lại theo thứ t 
tăng dần . 
Program sapxep; 
Uses Crt; 
 Var A : Array [1..100] Of Integer ; 
 i , j , n , T : Integer ; 
 BEGIN 
 Clrscr ; 
 Write(' Do dai cua day so N = ') ; Readln (N) ; 
 Writeln (' Nhap day so : ') ; 
 For i := 1 To N Do 
 Begin 
 Write('A[', i ,'] = ') ; Readln ( A[i] ) ; 
 End ; 
 i := 1 ; 
 While (i <= n-1) Do 
 Begin 
 j := i+1; 
 While j<=n do 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 20 
 Begin 
 If A[j] < A[i] then 
 Begin 
 T := A[j]; 
 A[j ] := A[i]; 
 A[i] := T ; 
 End ; 
 j := j + 1; 
 End ; 
 i := i + 1; 
 End ; 
 Writeln(' Day sau khi sap xep : ') ; 
 For i := 1 To N Do Write(A[i] : 4) ; 
 Readln 
Bài 11: Viết chương trình tìm ƯSCLN của N số được nhập từ bàn phím . 
Program UCLN; 
Uses crt ; 
Var a : Array [1..100] Of Integer ; 
 n , i : Byte ; 
 d : integer ; 
BEGIN 
 Clrscr ; 
 Writeln (' Tim USCLN cua N so :') ; 
 Write (' Nhap so N : ') ; Readln(n) ; 
 Writeln ('Nhap ', N ,' so : ') ; 
 For i := 1 To n Do 
 Begin 
 Write(' So thu ', i ,' = ') ; Readln( a[i] ) ; 
 End ; 
 For i := 1 To n-1 Do 
 Repeat 
 d := a[i] ; 
 a[i] := a[ i+1 ] mod a[i] ; 
 a[i+1] := d ; 
 Until a[i] = 0 ; 
 Writeln (' USCLN cua ', N ,' so la : ', a[n] ) ; 
 Readln ; 
END . 
CHUYÊN ĐỀ 4: DỮ LIỆU KIỂU MẢNG: 
 Đối với mảng, do chương trình lớp 8 của chúng ta chỉ nghiên cứu mảng một chiều 
nên trong bài này tôi cũng chỉ giới thiệu một số bài tập tiêu biểu về mảng một chiều mà 
vẫn chưa đề cập đến mảng 2 chiều. 
Mảng (Array) là một tập hợp các phần tử cố định có cùng kiểu gọi là kiểu phần tử. Kiểu 
phần tử có thể là kiểu vô hướng, kiểu String, kiểu tập hợp, kiểu Record. 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 21 
a. Khai báo 
Cách 1: 
TYPE =ARRAY[chỉ số] OF ; 
VAR :; 
Cách 2: 
VAR :ARRAY[chỉ số] OF ; 
Trong đó chỉ số phải là một kiểu miền con, kiểu vô hướng liệt kê, kiểu char hoặc kiểu 
boolean. {Tuy nhiên. người ta thường dùng kiểu miền con các số nguyên là dễ hình dung 
nhất vì nó gần giống với khái niệm chỉ số trong toán học.} 
Ví dụ: 
TYPE Mangnguyen = Array[1..5] of Integer; 
 MangKytu = Array[Byte] of Char; 
VAR A: Mangnguyen; 
 C: MangKytu; 
Hoặc 
VAR A: Array[1..5] of Integer; 
 C: Array[Byte] of Char; 
b. Cách truy xuất 
{việc truy xuất đến từng phần tử của mảng đế xử lý dữ liệu cũng như việc ta gọi đến tên 
các lớp học của ta} 
Mỗi phần tử của mảng được truy xuất thông qua tên biến mảng cùng với chỉ số của mảng 
trong cặp dấu []. 
Ví dụ: A[1], A[2], 
Chú ý: Hai mảng A và B có cùng số phần tử và cùng kiểu phần tử, ta có thể thay toàn bộ 
phần tử A bởi các phần tử tương ứng của B bằng một phép gán A := B. 
Bài 1 : 
Lập phương trình tạo ra một mảng chứa bảng cửu chương . 
- Xác định bài toán: 
- Cách giải: 
Cho 2 vòng for chạy lồng nhau. Lấy các giá trị nhân với nhau. 
- Chương trình minh họa: 
Program BCC; 
 Uses Crt ; 
 Var a : Array[1..10, 2..9] Of Byte ; 
 i, j : Byte ; 
 BEGIN 
 Clrscr ; 
 For i := 1 To 10 Do 
 For j := 2 To 9 Do a[i, j] := i*j ; 
 Writeln(' Bang cuu chuong : ') ; Writeln ; 
 For i := 1 To 10 Do 
 For j := 2 to 9 do Write ( j:4 , 'x' , i:2 , '=' , a[i , j]:2) ; 
 Readln ; 
 END. 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 22 
Bài 2: Nhập vào mảng 1 chiều gồm 1 dãy số nguyên N phần tử. Hãy xóa các phần tử 
trùng nhau trong mảng và in kết quả ra màn hình. 
Ý tưởng: Duyệt mảng 1 chiều bằng 2 biến, nếu phát phát hiện phần tử nào trùng 
thì xóa phần tử ấy ra khỏi mảng. 
Program xoamang; 
 Const 
 Max=100; 
 Var 
 a:Array[1..Max] Of Integer; 
 i,j,k,n:Integer; 
Begin 
 Writeln('XOA BO CAC SO TRUNG NHAU'); 
 Writeln('------------------------'); 
 Writeln; 
 Write('-Nhap so phan tu mang: '); 
 Readln(n); 
 For i:=1 To N Do 
 Begin 
 Write('-Phan tu A[',i,']= '); 
 Readln(a[i]); 
 End; 
 i:=2; 
 While i <= N Do 
 Begin 
 j:=1; 
 While a[j] a[i] Do 
 j:=j+1; 
 If j < i Then 
 Begin 
 For k:=i to n-1 Do 
 a[k]:= a[k+1]; 
 n:=n-1; 
 End 
 Else 
 i:=i+1; 
 End; 
 Writeln; 
 Write('-Mang con lai: '); 
 For i:=1 to n Do 
 Write(a[i]:8); 
 Writeln; 
 Writeln(' Bam phim de ket thuc '); 
 Readln 
End. 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 23 
Bài 3: Viết CT nhập từ bàn phím mảng 1 chiều và xóa 1 phần tử của mảng có n phần tử. 
var 
 n,i,q,k,p:integer; 
 a,b:array [1..1000] of integer; 
begin 
 write('n= ');readln(n); 
 for i:=1 to n do 
 begin 
 write('a[',i,']= '); 
 readln(a[i]); 
 end; 
 write('Xoa pt co vi tri la: ');readln(p); 
 q:=0; 
 for i:=1 to n do 
 if qp then 
 begin 
 inc(q); 
 b[q]:=a[i]; 
 end; 
 writeln('Mang sau khi xoa la: '); 
 for i:=1 to q do 
 write(b[i],' '); 
 readln 
end. 
Bài 4: Viết chương trình nhập vào một mảng A gồm N số nguyên và nhập thêm vào một 
số nguyên X. 
var 
 n,i,q,k,p,:integer; 
 a,b:array [1..1000] of integer; 
begin 
 write('n= ');readln(n); 
 for i:=1 to n do 
 begin 
 write('a[',i,']= '); 
 readln(a[i]); 
 end; 
 write('-Chen pt va vi tri cua pt do: ');readln(k,p); 
 q:=0; 
 for i:=1 to n do 
 begin 
 inc(q); 
 if q=p then begin 
 b[q]:=k; 
 inc(q); 
 end; 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 24 
 b[q]:=a[i]; 
 end; 
 writeln('-Mang sau khi chen la: '); 
 for i:=1 to q do 
 write(b[i],' '); 
 readln 
end. 
Bài 5: Chương trình nhập mảng một chiều gồm n phần tử n<=100 kiểu nguyên rồi th c 
hiện 
a. Đếm số lượng phần tử dương cho kết quả ra màn hình 
b. Tính tổng các phần tử dương trong mảng. 
c. Tính trung bình các phần tử trong mảng. 
d. Tính trung bình các phần tử dương trong mảng 
e. Tìm vị trí đầu tiên của phần tử =k với k nhập từ bàn phím. 
f. Tìm vị trí phần tử =k với k nhập từ bàn phím, nếu có nhiều phần tử =k thì 
hiển thị ra màn hình tất cả vị trí phần tử=k đó. 
g. Đếm số lượng phần tử là nguyên tố trong mảng. 
h. Kiểm tra mảng vừa nhập có phải là cấp số cộng hay không? 
i. Sắp xếp mảng theo thứ t tăng dần các phần tử và hiển thị ra màn hình mảng 
tăng đó 
Prgram BAI_5; 
Uses crt; 
Var A : array[1..100] of integr; 
 i, k,demd, s, demnt, tg,n, d, dd,j : integer; 
 tb, tbm : real; 
Begin 
Clrscr; 
 Writeln(„nhap so luong phan tu cua mang‟); readln(n); 
 Writeln(„-------nhap mang-----------„); 
 For i :=1 to n do 
 Begin 
 Writeln(„nhap so hang thu‟, I, „A[„,I,‟]= „); 
 Readln(A[i]); 
 End; 
 demd :=0; 
 For i :=1 to n do if A[i]>0 then demd :=demd+1; 
 Writeln(„ so luong phan tu duong cua mang la‟, demd); 
 s :=0; 
 For i :=1 to n do if A[i]>0 then s :=s+ A[i]; 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 25 
 Writeln(„ tong cac phan tu duong cua mang la‟, s); 
 s :=0; 
 For i :=1 to n do s :=s+A[i]; 
 tbm :=s/n; 
 Writeln(„ trung binh cac phan tu cua mang la ‟, tbm : 6 : 2); 
 s :=0; demd :=0; 
 For i :=1 to n do 
 Begin 
 if A[i]>0 then s :=s+ A[i]; 
 demd :=d+1; 
 End; 
 tb :=s/demd; 
 Writeln(„ trung binh cac phan tu duong cua mang la ‟, tb : 6 : 2); 
 Writeln(„ nhap gia tri can tim vi tri ‟); readln(k); 
 J :=1; 
 While (jk) do j :=j+1; 
 If j> n then Writeln(„khong co gia tri ‟, k, ‟ trong mang‟) 
 Else Writeln(k, „ nam o vi tri thu ‟, j,‟ trong mang‟); 
 Writeln(„ nhap gia tri can tim vi tri ‟); readln(k); 
 J :=1; writeln(„cac vi tri xuat hien cua ‟,k,‟ trong mang la‟); 
 While (j<=n) do 
 Begin 
 If A[j]=k then write(j : 5); 
 j :=j+1; 
 end; 
Demnt :=0; 
For i:=1 to n do 
Begin 
j:=2; 
While( j0) do 
Begin 
J:=j+1; 
If j> A[i] - 1 then demnt :=demnt+1; 
End; 
Writeln(„ so luong phan tu la nguyen to la‟, demnt); 
d :=A[2]-A[1]; j:=3; 
While (j<=n) And (A[j]-A[j-1]=d) do j:=j+1; 
if j>n then Writeln(„ mang vua nhap la cap so cong‟) 
else Writeln(„ mang vua nhap khong phai la cap so cong‟); 
For i :=1 to n do 
For j :=i+1 to n-1 do 
If A[j]>A[j+1] then 
Begin {doi vi tri hai phan tu A[j] va A[j+1]} 
tg :=A[j]; 
A[j] :=A[j+1]; 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 26 
A[j+1] :=tg; 
End; 
Writeln(„mang sau khi duoc sap xep la‟); 
For i :=1 to n do write(A[i] : 5); 
Readln 
END. 
Bài 6: Viết chương trình nhập vào một mảng 1 chiều A có N phần tử các số nguyên 
(N<=100). Nhập 1 số nguyên X, kiểm tra X có trong mảng hay không? Nếu có cho biết vị 
trí của phần tử đó. 
Bài 7: Viết chương trình nhập vào một mảng 1 chiều A có N phần tử các số nguyên 
(N<=100). In ra màn hình 
Dòng 1 : Các số nguyên tố 
Dòng 2 : Các số không nguyên tố. 
Bài 8: Viết chương trình nhập vào một mảng một chiều A có N phần tử các số 
nguyên(N<=100). Kiểm tra các phần tử khác nhau trong mảng. 
Ví dụ : Nhập vào : 5 3 7 9 5 7 11 5 7 -2 5 8 -2 
In ra : 5 3 7 9 11 -2 4 8 
CHUYÊN ĐỀ 5: XÂU KÍ TỰ 
- Xâu kí t là một chuyên đề nâng cao trong bài viết này nhưng do quá trình bồi dưỡng 
củng như quá trình nghiên cứu tôi t nhận thấy chương trình này không quá khó hiểu với 
đối tượng học sinh của mình vì vậy tôi đã mạnh dạn đưa nội dung này vào bồi dưỡng và 
một số bài ra cũng đã có nội dung này. 
- Xâu ký t là dữ liệu bao gồm một dãy các ký t trong bảng mã ASSCII. 
a. Cách khai báo: 
Var: STRING[độ dài của xâu]; 
- Xâu ký t trong bộ nhớ nó chiếm số byte bằng số ký t c c đại được khai báo cộng với 
byte đầu tiên chứa số ký t hiện có của xâu. Độ dài tối đa của xâu ký t là 255. 
- Cách nhập/xuất: Cách đọc hay viết kiểu STRING cũng tương t như các kiểu dữ liệu 
khác, ta sử dụng các thủ tục READ, hoặc WRITE. 
Ví dụ: 
Readln(st); 
Writeln(st); 
- Truy cập từng phần tử của xâu ký t : tương t mảng 1 chiều: thông qua tên biến kiểu 
STRING và chỉ số của nó 
Ví dụ: 
St := 'Le Thanh Lam'; 
write(st[4]); 
-> Kết quả: cho ra chữ T. 
b. Các thao tác trên xâu ký t : 
1/ Phép cộng xâu: 
Ví dụ: 
st1:=‟Le‟; st2:=‟Thanh‟; St=st1 + st2; 
-> KQ: „Le Thanh‟ 
2/ Phép so sánh: 
- Hai xâu ký t có thể so sánh với nhau bằng các phép so sánh =, >, < 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 27 
Nguyên tắc so sánh th c hiện như sau, chúng sẽ đem từng ký t tương ứng với nhau để so 
sánh, xâu nào có ký t có số thứ t trong bảng mã ASCII lớn hơn thì xâu đó lớn hơn. 
Hai xâu ký t được gọi là bằng nhau khi chúng hoàn toàn giống nhau (có độ dài như 
nhau). 
Ví dụ: „FILENAME‟ = ‟FILENAME „ 
3/ Các thủ tục và hàm chuẩn xử lý xâu ký t 
* Hàm length(st): cho độ dài th c của xâu ký t 
ví dụ: st:=‟le thanh‟ thì LENGTH(st) cho bằng 8. 
* Thủ tục DELETE(st, pos, num): xóa num ký t trong xâu st kể từ vị trí pos 
Ví dụ: st= „FILENAME‟ 
Delete(st,5,4) lúc đó st cho ra là „FILE‟ 
* Thủ tục INSERT(obj, st, pos): Thủ tục cho kết quả bằng cách chèn xâu ký t có tên là 
Obj vàoxâu st tại vị trí pos, những ký t đứng sau pos sẽ được dời vềphía sau của xâu ký 
t obj. 
Ví dụ: obj:= „Thanh „ 
st:=‟Le Lam‟; 
INSERT(obj,st,4) lúc đó st=‟Le Thanh Lam‟; 
* Thủ tục STR(value, st): Thủ tục này th c hiện việc chuyển đối giá trị kiểu số(value) 
sang dạng xâu ký t và gán cho biến st. 
Ví dụ: n là một só nguyên có giá trị: n:=150; 
STR(n:5,st) sẽ cho kết quả xâu st là: st=‟ 150‟; 
* Thủ tục VAL(st, value,code) đối một xâu ký t st sang dạng số và gán cho biến value, 
nếu biến đối thành công thì code sẽ nhận giá trị bằng 0. ngược lại thì cho giá trị khác 
không 
Ví dụ: VAL(„123‟,value,code) lúc này code sẽ nhận giá trị bằng 0 và value=123 
* Hàm COPY(st, pos, num): sao chép trong xâu st, num ký t tại vị trí pos, 
Ví dụ: st=‟Le Thanh Lam‟ 
COPY(st,4,5) = „Thanh‟; 
* Hàm CONCAT(s1,s2,,sn): hàm cho ra 1 xâu mới bằng cách nối đuôi các xâu 
s1,s2,,sn lại với nhau. 
Ví dụ: CONCAT(„Le ‟,‟Thanh „, „Lam‟) = „Le Thanh Lam‟; 
* Hàm POS(st1,st2): hàm cho tavị trí tìm thấy đầu tiên của xâu s1 trong xâu s2. 
Ví dụ: POS(„Lam‟,„Le Thanh Lam‟) = 10; 
Bài 1: Viết chương trình nhập vào từ bàn phím một xâu kí t S và thông báo ra màn hình 
số lần xuất hiện của mổi chứ cái tiếng Anh trong S ( không phân biệt chữ hoa và chữ 
thường). 
Uses Crt; 
Var St:String; 
 dem: Array[„A‟..‟Z‟] Of Byte; 
 i:Byte; 
 ch:Char; 
Begin 
 Write(„Nhap xau St: „); Readln(St); 
 For ch:=‟A‟ To „Z‟ Do dem[ch]:=0; 
 For i:=1 To Length(St) Do 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 28 
 If Upcase(St[i]) IN [„A‟..‟Z‟] Then Inc(dem[Upcase(St[i])]); 
 For ch:=‟A‟ To „Z‟ Do 
 If dem[ch]>0 Then Writeln(ch,‟ : ‟,dem[ch]); 
 Readln; 
End. 
Bài 2: Viết chương trình nhập vào xâu, đưa ra xâu đảo theo từ. Ví dụ: đi xe đạp -> đạp xe 
đi. 
uses crt; 
var s:string; 
 x,y,z,t:byte; 
begin 
 write('Nhap vao mot xau: '); 
 readln(s); 
 z:=length(s); 
 for y:=length(s) downto 1 do 
 begin 
 if ((s[y]=' ')or(y=1)) then begin for t:=y to z do write(s[t]);z:=y end; 
 write(' '); 
 end; 
 readln; 
end. 
Bài 3: Viết ct nhập vào xâu có cả chữ và số, rồi cho xuất ra có bao nhiêu kí t chữ và bao 
nhiêu kí t số. 
var s: string;cs,cc,i: integer; 
begin 
 write('Nhap mot xau ky tu: '); 
 readln(s); 
 cs:=0; 
 cc:=0; 
 for i:=1 to length(s) do 
 begin 
 if (s[i] in ['0'..'9']) then cs:=cs+1; 
 if s[i] in ['A'..'Z'] + ['a'..'z'] then cc:=cc+1; 
 end; 
 write('So cac ki tu la chu so:',cs:2,' So cac ki tu la chu cai:',cc:4); 
 readln 
end. 
Bài 4: Viết chương trình nhập một xâu ký t St từ bàn phím và một ký t ch. In ra màn 
hình xâu St sau khi xóa hết các ký t ch trong xâu đó. 
var St:string; n:char; i:byte; 
begin 
writel(' Nhap chuoi : '); readln(st); 
write(' Nhap ki tu : '); readln(n); 
for i:=1 to length(st) do 
if st[i] = n then delete(st,i,1); 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 29 
writeln('Chuoi sau khi xoa: ',st); 
readln 
end. 
c) Điều kiện để thực hiện giải pháp – biện pháp: 
* Đối với giáo viên đƣợc phân công bồi dƣỡng học sinh giỏi: 
- Phải có tinh thần trách nhiệm cao, nhiệt tình với công việc. Tạo được niềm tin cho học 
sinh và cần phải gần gũi với học sinh. 
- Chọn đúng đối tượng học sinh giỏi cho bộ môn Tin học 
- Lập được kế hoạch bồi dưỡng. 
- Ngoài nghiên cứu những bộ đề, những sách nâng cao, mỗi giáo viên chúng ta cần lên 
mạng để tìm hiểu thêm thông tin liên quan đến bộ môn tin học, để có kế hoạch bồi dưỡng 
đạt kết quả tốt nhất. 
- Giáo viên chỉ định hướng cho học sinh giải và kiểm tra lại cách giải của học sinh. Giúp 
học sinh thấy được những sai sót của bản thân và t tìm cách khắc phục. 
- Mỗi giáo viên phải t xây d ng bộ đề bồi dưỡng học sinh giỏi bộ môn tin học. 
* Đối với học sinh: 
- Yêu thích bộ môn mình l a chọn. 
- Say mê tìm tòi, sáng tạo, có tư duy lôgíc. 
- Biết xây d ng cho bản thân kế hoạch ôn tập. 
- Không thụ động trong quá trình tiếp thu kiến thức. 
- T mình tìm ra cách giải trên s gợi ý của giáo viên 
d/ Kết quả khảo nghiệm, giá trị khoa học của vấn đề nghiêm cứu: 
- Với việc ứng dụng đề tài này vào việc bồi dưỡng học sinh giỏi, tôi cùng các trường đã 
khảo nghiệm ở học sinh, tôi thấy các em ngày càng yêu thích bộ môn tin học hơn tham 
gia vào đội tuyển học sinh giỏi ngày càng nhiều hơn và kết quả đội tuyển d thi đạt kết 
quả ngày càng cao hơn. Kết quả đội tuyển bộ môn Tin học của huyện d thi cấp tỉnh đạt 
như sau: 
+ Năm học 2012 – 2013 trường THCS Buôn Trấp có 05 em đạt giải cấp huyện, 03 em d 
thi cấp tỉnh và đạt 1 giải khuyến khích cấp tỉnh. 
+ Năm học 2013 – 2014 trường THCS Buôn Trấp có 05 em đạt giải cấp huyện, 02 em đạt 
giải khuyến khích cấp tỉnh. 
+ Năm học 2014-2015 trường THCS Buôn Trấp có 04 em đạt giải cấp huyện. 
4) Kết quả: 
- Qua so sánh kết quả học sinh giỏi của trường cũng như của Phòng giáo dục huyện trong 
những năm gần đây và những năm trước, tôi thấy đội tuyển học sinh giỏi đã tăng cả số 
lượng và chất lượng. 
III. KẾT LUẬN, KIẾN NGHỊ: 
1) Kết luận: 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 30 
 - Nhằm nâng cao hiệu quả và chất lượng trong công tác bồi dưỡng học sinh giỏi bộ môn 
tin học, giáo viên phải th c hiện chiến lược lâu dài, phải tìm kiếm được đối tượng học 
sinh có năng khiếu đặc biệt đối với bộ môn thông qua bài giảng với những câu hỏi và tình 
huống nhanh để phát hiện đối tượng có năng khiếu đặc biệt đó. 
- Người giáo viên phải có phương pháp giảng dạy sao cho lôi cuốn học sinh và tạo được 
s đam mê để chính các em yêu thích và khám phá môn học do các em l a chọn. 
- Qua nhiều năm áp dụng nội dung nghiên cứu này, chúng tôi nhận thấy số lượng học sinh 
tham gia trong các kỳ thi học sinh giỏi bộ môn tin học ngày càng nhiều, chất lượng của 
các em học sinh cũng được nâng lên rõ rệt. 
 2) Những kiến nghị đề xuất: 
* Đối với Phòng Giáo dục và Đào tạo: 
- Lãnh đạo phòng, lãnh đạo các trường nên tiếp tục duy trì công tác tổ chức thi học sinh 
giỏi môn tin học từ lớp 8, để giáo viên có cơ sở bồi dưỡng, học sinh xác định được hướng 
l a chọn cho bản thân. 
- Các đề thi học sinh giỏi huyện không nên tập trung vào một phần mà cần mở rộng kiến 
thức hơn. 
* Đối với các trƣờng: 
- Nên tổ chức chuyên đề bồi dưỡng học sinh giỏi ở các cụm trường với nhau, để trao đổi, 
học hỏi kinh nghiệm lẫn nhau. 
- Cần chú trọng hơn nữa công tác bồi dưỡng học sinh giỏi nói chung môn Tin học nói 
riêng. 
- Có chế độ động viên kịp thời những giáo viên có học sinh đạt kết quả cao trong các kì 
thi. 
* Đối với giáo viên: 
- Giáo viên cần đầu tư hơn về công tác chuyên môn, cũng như công tác bồi dưỡng học 
sinh giỏi bộ môn. 
- Mỗi giáo viên được phân công bồi dưỡng, nên có bộ đề cũng như kế hoạch bồi dưỡng cụ 
thể, để tránh thụ động trong quá trình bồi dưỡng. 
- Chỉ tạo ra khung để học sinh t hoàn thiện bài giải. 
* Tài liệu tham khảo: 
+ SGK tin học quyển 3, SGK tin học lớp 11 
+ Các bài tập Pascal nâng cao 
+ Sách hướng dẫn học tốt môn Pascal 
+ ... 
Krông Ana, ngày 12 tháng 03 năm 2015 
 Ngƣời viết đề tài: 
 Nguyễn Thị Thu Thủy 
Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9. 
 Trang 31 
NHẬN XÉT CỦA HỘI ĐỒNG SÁNG KIẾN: 
CHỦ TỊCH HỘI ĐỒNG SÁNG KIẾN 
 ( Ký tên, đóng dấu) 

File đính kèm:

  • pdfkinh_nghiem_boi_duong_hoc_sinh_gioi_mon_tin_hoc_9_2436.pdf