Đề thi học sinh giỏi môn Tin học lớp 9 cấp trường năm 2019-2020 có đáp án - Trường THCS Nguyễn Trãi dành cho các bạn học sinh lớp 9 và quý thầy cô tham khảo giúp các bạn học sinh có thêm tài liệu chuẩn bị ôn tập cho kì thi học sinh giỏi sắp tới được tốt hơn cũng như giúp quý thầy cô nâng cao kỹ năng biên soạn đề thi của mình. Mời các thầy cô và các bạn tham khảo.
Trang 1TRƯỜNG THCS NGUYỄN TRÃI ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 9 THCS
NĂM HỌC 2019-2020 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 04 câu, trong 01 trang
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)
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 ?
BÀI 4: XÉT ĐIỂM THI VÀO CẤP 3 :
Nhập điểm văn , toán , ngoại ngữ( điểm các môn nằm trong khoảng 0 đến 10)
Tính điểm trung bình của 3 môn đó để xét vào cấp 3:
Nếu điểm trung bình>= 8 Thì đậu vào “THPT NGUYEN VONG 1”
Nếu điểm trung bình 5=<DTB< 8 thì đậu vào “ THPT NGUYEN VONG 2”
Ngược lại bạn vào “TTGDTX TAN KY”
Trang 2ĐÁP ÁN
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<>b và b<>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
Làm chương trình trên ngôn ngữ c++
#include <iostream>
using namespace std;
int main()
cin >>a>>b>>c;
if ((a + b) > c && (b + c) > a && (a + c) > b) { cout << "Day la ba canh cua mot tam giac" << endl;
if (a == b && b == c) cout << "Tam giac nay la tam giac deu" << endl;
else if ((a == b) || (b == c) || (a == c))
cout << "Tam giac nay la tam giac can" << endl;
else
cout << "Tam giac nay la tam giac thuong" << endl; } else
cout << "Day khong phai la ba canh cua mot tam giac!" << endl;
return 0;}
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
#include<iostream>
#include<math.h>
using namespace std;
int main()
{ int s,n,i;
cin>>n;
for (i=1;i<= n;i++)
if(i % 2==0) s=s+i;
else s=s-i;
cout<<"Tong s= "<<s;
return 0; }
Bài 3
Trang 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
Chương trình c++
#include<iostream>
#include<math.h>
using namespace std;
int main()
{ int a[200] ;
int i, n, x, dem ;
cout<<"Nhap so phan tu cua day n= ";
cin>>n;
for (i=1;i<= n;i++)
{cin>>a[i];}
cout<<"Nhap gia tri x= "; cin>>x;
dem=0;
for (i=1;i<= n;i++) if(a[i]==x) dem=dem+1;
cout<<"So phan tu "<<x<<" xuat hien trong day la "<<dem;
return 0;}
Bài 4:
#include<iostream>
#include<math.h>
using namespace std;
int main()
{ float van,toan,anh;
cout<<"nhapdiem"<<endl;
cin>>van>>toan>>anh;
if((van>=10||van<0)&&(toan>=10||toan<0)&&(anh>=10||anh<0))
cout<<"diem k hop le";
cout<<" nhap lai:";
cin>>van>>toan>>anh;
int diemtb=(van+toan+anh)/3;
if((diemtb>=8) && (diemtb<=10))
cout<<"THPT NGUYEN VONG 1";
if((5<=diemtb) && (diemtb<8))
cout<<"THPT NGUYEN VONG 2";
else if(diemtb<5)
cout<<"TTGDTX TAN KY";
return 0;}