Đề thi môn Tin học - Kỳ thi chọn học sinh giỏi Lớp 9 THCS - Năm học 2017-2018 - Trường THCS Gia Vân (có đáp án)

Đề thi môn Tin học - Kỳ thi chọn học sinh giỏi Lớp 9 THCS - Năm học 2017-2018 - Trường THCS Gia Vân (có đáp án)

BÀI 1. GIẢI VÀ BIỆN LUẬN (7 điểm)

 Viết chương trình nhập vào 3 số nguyên a, b, c. Kiểm tra xem 3 số đó có thỏa mãn:

 - Là 3 cạnh của 1 tam giác thường

 - Là 3 cạnh của 1 tam giác cân

 - Là 3 cạnh của 1 tam giác đều

 - Không là 3 cạnh của 1 tam giác

BÀI 2. TÍNH TỔNG (7 điểm)

 Viết chương trình tính tổng S=-1+2-3+ .+(-1)n.n, với n là số nguyên dương được nhập từ bàn phím.

BÀI 3. ĐẾM PHẦN TỬ CÓ GIÁ TRỊ X XUẤT HIỆN TRONG MẢNG (6 điểm)

 Viết chương trình nhập vào một dãy các số nguyên và nhập giá trị x, rồi đếm xem trong dãy có mặt bao nhiêu số x ?

 

doc 4 trang hapham91 3583
Bạn đang xem tài liệu "Đề thi môn Tin học - Kỳ thi chọn học sinh giỏi Lớp 9 THCS - Năm học 2017-2018 - Trường THCS Gia Vân (có đáp án)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG THCS GIA VÂN
 ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 9 THCS
 NĂM HỌC 2017-2018
 Môn: TIN HỌC
Thời gian làm bài :150 phút (không kể thời gian giao đề)
Đề thi gồm 03 câu, trong 01 trang
Tổng quan đề thi:
TÊN CHƯƠNG TRÌNH
BÀI 1
XET_TAMGIAC.PAS
BÀI 2
TINHTONG.PAS
BÀI 3
DEMPHANTUX.PAS
Lưu ý: 
	Thí sinh bắt buộc phải viêt tên chương trình như trên (ví dụ: program giai_bl;).
Nêu ý tưởng, thuật toán và viết chương trình pascal cho các yêu cầu sau:
BÀI 1. GIẢI VÀ BIỆN LUẬN (7 điểm)
	Viết chương trình nhập vào 3 số nguyên a, b, c. Kiểm tra xem 3 số đó có thỏa mãn:
	- Là 3 cạnh của 1 tam giác thường
	- Là 3 cạnh của 1 tam giác cân
	- Là 3 cạnh của 1 tam giác đều
	- Không là 3 cạnh của 1 tam giác 
BÀI 2. TÍNH TỔNG (7 điểm)
	Viết chương trình tính tổng S=-1+2-3+ .+(-1)n.n, với n là số nguyên dương được nhập từ bàn phím.
BÀI 3. ĐẾM PHẦN TỬ CÓ GIÁ TRỊ X XUẤT HIỆN TRONG MẢNG (6 điểm)
	Viết chương trình nhập vào một dãy các số nguyên và nhập giá trị x, rồi đếm xem trong dãy có mặt bao nhiêu số x ?
HẾT
Họ và tên thí sinh :....................................................... Số báo danh ........................................
Họ và tên, chữ ký: 	Giám thị 1:................................................................................................
Giám thị 2:..........................................................................................
TRƯỜNG THCS GIA VÂN
HƯỚNG DẪN CHẤM 
ĐỀ THI HỌC SINH GIỎI LỚP 9
Năm học 2017 - 2018
MÔN: TIN HỌC
 ( Hướng dẫn này gồm 3 trang)
I. Đáp án và thang điểm
- Ý tưởng thuật toán đúng cho 02 điểm.
- Thuật toán đúng cho 02 điểm.
- Viết chương trình đúng cho 03 điểm.
- Riêng câu 3 viết chương trình đúng cho 02 điểm 
- Chương trình Pascal chấm từ trên xuống. Đúng đến đâu cho điểm đến đó. Tùy từng trường hợp thống nhất cho điểm.
II. Tóm tắt ý tưởng, thuật toán, chương trình nguồn.
Bài 1. 
- Ý tưởng thuật toán. 
Xét các trường hợp của a, b và c:
- Nếu a>0 và b>0 và c>0 và (a+b>c) và (b+c>a) và (a+b>c), trong đó:
+ Nếu a=b và b=c thì a, b, c là ba cạnh của tam giác đều.
+ Nếu a=b hoặc b=c hoặc c=a thì a, b, c là ba cạnh của tam giác cân.
+ Ngược lại a c và c<>a là ba cạnh tam giác thường.
- Ngược lại a, b, c không là ba cạnh của tam giác.
- Thuật toán.
	- Bước 1: Nhập a và nhập b và nhập c 
	- Bước 2: Kiểm tra các trường hợp của a, b và c:
	- Nếu a>0 và b>0 và c>0 và (a+b>c) và (b+c>a) và (a+b>c), trong đó:
+ Nếu a=b và b=c thì a, b, c là ba cạnh của tam giác đều.
+ Nếu a=b hoặc b=c hoặc c=a thì a, b, c là ba cạnh của tam giác cân.
+ Ngược lại a c và c<>a là ba cạnh tam giác thường.
- Ngược lại a, b, c không là ba cạnh của tam giác.
	- Bước 3: Đưa ra kết luận rồi kết thúc. 
- Chương trình nguồn.
Program Xet_Tamgiac; 
Uses Crt;
Var a,b,c:Integer;
Begin
Clrscr;
Write('Nhap a= '); Readln(a);
Write('Nhap b= '); Readln(b);
Write('Nhap c= '); Readln(c);
If (a>0) and (b>0) and (c>0) and (a+b>c) and (b+c>a) and (a+b>c) then
If (a=b) and (b=c) then writeln('a, b, c la ba canh cua tam giac deu')
Else
 	 	If (a=b) or (b=c) or (a=c) then writeln(''a, b, c la ba canh cua tam giac can')
 	Else writeln(''a, b, c la ba canh cua tam giac thuong');
Else writeln(''a, b, c la ba canh cua tam giac');
 Readln
End.
Bài 2. 
- Ý tưởng thuật toán.
+ Tạo một biến tổng s = 0
+ Nhập n
	+ Cho một biến i chạy từ 1 đến n. Nếu i mod 2=0 thì s=s+i, ngược lại s=s-i
	+ In biến tổng s ra màn hình
- Thuật toán.
	+ Bước 1: Nhập số nguyên n 
	+ Bước 2: s←0, i←1
	+ Bước 3: Kiểm tra i với n. Nếu i<= n thì
	- Bước 3.1: Nếu i mod 2=0 thì s=s+i
- Bước 3.2: Ngược lại s=s-i
- Bước 3.5: i←i+1
- Bước 3.6: Quay lại bước 3
	+ Bước 4: In biến tổng s ra màn hình và kết thúc.
	- Chương trình nguồn.
Program TINHTONG;
Uses Crt;
Var s,i,n:Integer;
Begin
Clrscr;
 	Write('Nhap n= ');
 	Readln(n);
 	s:=0;
 	For i:=1 to n do
 	If (i mod 2)=0 then s:=s+i
 	Else s:=s-i;
 	Writeln('Tong s= ',s);
 	Readln
End.
Bài 3. 
- Ý tưởng thuật toán.
	+ Gán một biến dem=0 
	+ Nhập số lượng phần tử n của mảng a
	+ Cho một biến i chạy từ đầu mảng đến cuối mảng. Khi chạy đến đâu thì nhập giá trị đến đó.
	+ Nhập giá trị x
	+ Biến i chạy từ 1 đến n nếu a[i]=x thì biến dem=dem+1
	+ In mảng vừa nhập ra màn hình
	+ In biến “dem” ra màn hình
- Thuật toán.
	+ Bước 1: Nhập số lượng phần tử n, nhập các phần tử a[i] trong mảng a
	+ Bước 2: Nhập giá trị cho x
	+ Bước 3: dem ←0, i←1
	+ Bước 4: Kiểm tra i và n, nếu i<= n thì 
	- Bước 4.1: Kiểm tra a[i]: Nếu a[i]=x thì dem=dem+1
	 	- Bước 4.2: i←i+1
	- Bước 4.3: Quay lại bước 3.
	+ Bước 4: In ra mảng vừa nhập, in đếm và kết thúc
- Chương trình nguồn. 
Program Demphantux;
Uses Crt;
Var a:array[1..100] of integer;
i, n, x, dem : integer;
Begin
Clrscr;
Write(‘Nhap so phan tu cua day n= ');
Readln(n);
For i:=1 to n do
Begin
Write('a[',i,'] = ');
Readln(a[i]);
End;
Write(‘Nhap gia tri x= ');
Readln(x);
dem:=0;
For i:=1 to n do if a[i]=x then dem:=dem+1;
Writeln(‘So phan tu ’,x,’ xuat hien trong day la', dem);
Readln
End.

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

  • docde_thi_mon_tin_hoc_ky_thi_chon_hoc_sinh_gioi_lop_9_thcs_nam.doc