Đề thi chọn học sinh giỏi cấp trường môn Tin học THCS - Năm học 2018-2019 - Trường TH và THCS Lão Hộ (Có đáp án)

docx 3 trang thaodu 3941
Bạn đang xem tài liệu "Đề thi chọn học sinh giỏi cấp trường môn Tin học THCS - Năm học 2018-2019 - Trường TH và THCS Lão Hộ (Có đáp án)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

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

  • docxde_thi_chon_hoc_sinh_gioi_cap_truong_mon_tin_hoc_thcs_nam_ho.docx

Nội dung text: Đề thi chọn học sinh giỏi cấp trường môn Tin học THCS - Năm học 2018-2019 - Trường TH và THCS Lão Hộ (Có đáp án)

  1. ĐỀ THI CHỌN HỌC SINH GIỎI - THCS CẤP TRƯỜNG TRƯỜNG TH & THCS LÃO HỘ NĂM HỌC 2018- 2019 Môn: Tin học ĐỀ CHÍNH THỨC (Thời gian làm bài 120 phút không kể thời gian giao đề ) ( Đề thi có 01 trang ) Yêu cầu chung: Học sinh viết chương trình bằng ngôn ngữ Pascal. Tên các File chương trình được đặt là BAI1.PAS, BAI2.PAS, BAI3.PAS, BAI4.PAS, BAI5.PAS lưu trong thư mục có tên là số báo danh của thí sinh trên ổ cứng. Ví dụ: Do_Anh_Hao_01 Câu 1: (20 điểm) Chia hết Cho hai số nguyên dương m, n và số nguyên dương k. Đếm xem có bao nhiêu số tự nhiên trong đọan [m n] chia hết cho k Câu 2: (20 điểm) Viết chương trình giải quyết các yêu cầu sau: Một ngân hàng có mức huy động vốn với lãi suất hàng năm là 10%. Một người có số tiền là 10,000,000 đồng (Mười triệu đồng) và gửi tiết kiệm ở ngân hàng trên. Cứ sau mỗi năm tiền lãi được cộng gộp vào vốn để trở thành vốn mới để tính lãi cho năm sau. Hỏi để bao lâu ( bao nhiêu năm) người đó được 100,000,000 đồng (một trăm triệu đồng)? Lưu ý: Số tiền 100,000,000 đồng là số tiền ít nhất có được sau khi gộp lãi vào vốn, không nhất thiết là phải số tiền chính xác cần tìm. Câu 3: (20 điểm) Viết chương trình giải quyết yêu cầu sau: Trong một của hàng có các loại sơn 16kg, 17kg và 21kg. Một người khách cần mua 185kg. Hãy viết chương trình để tính và cho biết cần bán cho người khách nọ bao nhiêu thùng mỗi loại để không phải bán lẻ thùng nào. Câu 4: (20 điểm) Viết chương trình giải quyết yêu cầu sau: Viết chương trình nhập vào một số nguyên dương N, Với 2<=N<=100. In ra màn hình các số nguyên tố nhỏ hơn N và đếm xem có bao nhiêu số nguyên tố. Câu 5: (20 điểm) Viết chương trình theo các yêu cầu sau: - Nhập lần lượt dãy số gồm N số nguyên dương từ bàn phím (10<=N<=20). - Chương trình thông báo kết quả ra màn hình gồm : Chuỗi ban đầu, chuỗi số được sắp xếp theo chiều tăng dần của các số chẵn và chuỗi số được sắp xếp theo chiều giảm dần của các số lẻ. Ví dụ : - Moi ban nhap vao so N ( Với 10<=N<=20): 10 - Moi ban nhap lan luot day so gom 10 so la cac so nguyen dương: + So thu 1: 3 + So thu 2: 84 + So thu 3: 75 + So thu 4: 6 + So thu 5: 69 + So thu 6: 72 + So thu 7: 33 + So thu 8: 14 + So thu 9: 17 + So thu 10: 42 - Chuoi ban dau la: 3, 84, 75, 6, 69, 72, 33, 14, 17, 42 - Chuoi sau khi sap xep tang dan cua cac so chan la: 6, 14, 42, 72, 84 - Chuoi sau khi sap xep giam dan cua cac so le la: 75, 69, 33, 17, 3 ––––––––––––––––––– Hết –––––––––––––––––––– Họ và tên thí sinh SBD Chú ý: Cán bộ coi thi không giải thích gì thêm
  2. ĐÁP ÁN VÀ THANG ĐIỂM (Có thể làm bằng ccách khác) Bài 1: (20 điểm) var m,n,k,d,i:integer; begin repeat write('nhap doan m, n: '); readln(m,n); write('nhap so nguyen k: '); readln(k); if (m 0) and (n>0) and (k>0); for i:=m to n do if i mod k=0 then d:=d+1; writeln('co tat ca ',d,' trong doan', m,'den ',n,' chia het cho ',k); readln end. Bài 2: (20 điểm) var thang : Byte ; a , lai , b : Real ; BEGIN a:=10; b:=100; thang :=1 ; repeat lai := a * 10 / 100 ; a := a + lai ; thang := thang + 1 ; until a >= b ; writeln (' Ban phai gui tien trong ', thang div 12 , ' nam ', thang mod 12 ,' thang .') ; writeln (' Khi do so tien ban rut ra duoc la ', a ,',000,000 dong .') ; readln ; END . Bài 3: (20 điểm) Var t16,t17,t21:integer; Begin For t16 :=0 to 185 div 16 do For t17 :=0 to 185 div 17 do For t21 :=0 to 185 div 21 do If t16*16+t17*17+t21*21=185 then Writeln('ban so thung 16 kg la: ',t16,'so thung 17 kg la: ',t17,' so thung 21 kg la: ',t21); Readln End. Bài 4: (20 điểm) Var i,n,j,d : integer; Begin repeat Write ('Nhap n:');Readln(n); if (n 100) then writeln(' nhap lai'); until (n>=2) and (n<=100); Write ('Cac so nguyen to nho hon ',n,' la:'); For i:=2 to n-1 do Begin j:=2;
  3. While i mod j 20) then writeln(' nhap lai'); until (n>=10) and (n a[j] then Begin tg:=a[i]; a[i]:=a[j]; a[j]:=tg; End; WriteLn('Chuoi sau khi sap xep tang dan cac so chan la: :'); For i:=1 to n do if a[i] mod 2=0 then write(a[i],' '); writeln; For i:=1 to (n-1) do For j:=i+1 to n do If a[i] 0 then write(a[i],' '); ReadLn; End.