1. Trang chủ
  2. » Giáo án - Bài giảng

Đề và đáp án thi HSG trường môn Tin 11

5 3,3K 103

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 63,5 KB

Nội dung

SỞ GD&ĐT HÀ TĨNH TRƯỜNG THPT CẨM BÌNH (Đề thi có 2 trang) ĐỀ THI CHỌN HỌC SINH GIỎI TRƯỜNG LỚP 11 THPT NĂM HỌC 2010-2011 Môn thi: Tin học Thời gian: 150 phút( không kể thời gian giao đề) Sử dụng ngôn ngữ lập trình PASCAL lập chương trình giải các bài toán sau đây: (Bài làm bài 1, bài 2, bài 3 ghi vào các tệp tương ứng BAI1.PAS, BAI2.PAS, BAI3.PAS) Bài 1: Phần tử yên ngựa Cho bảng A kích thước MxN. Phần tử Aij được gọi là phần tử yên ngựa nếu nó là phần tử nhỏ nhất trong hàng của nó đồng thời là phần tử lớn nhất trong cột của nó. Dữ liệu vào: Lưu trong tệp yenngua.inp có cấu trúc: - 2 dòng đầu tiên chứa 2 số nguyên M, N là kích thước của bảng A. - Các dòng tiếp theo là các giá trị của bảng A Dữ liệu ra: Lưu trong tệp yenngua.out có cấu trúc: - Nếu có phần tử yên ngựa: + Dòng đầu tiên ghi ‘co phan tu yen ngua’ + Dòng thứ hai ghi giá trị của phần tử yên ngựa - Nếu không có phần tử yên ngựa: một dòng ghi ‘khong co phan tu yen ngua’. Ví dụ: yenngua.inp yenngua.out 3 3 15 3 9 55 4 6 76 1 2 ‘co phan tu yen ngua’ 4 Bài 2 - Số siêu nguyên tố Số siêu nguyên tố là số nguyên tố mà khi bỏ một số tuỳ ý các chữ số bên phải của nó thì phần còn lại vẫn tạo thành một số nguyên tố. Ví dụ 7331 là một số siêu nguyên tố có 4 chữ số vì 733, 73, 7 cũng là các số nguyên tố. Nhiệm vụ của bạn là viết chương trình nhập dữ liệu vào là một số nguyên N (0< N <10) và đưa ra kết quả là một số siêu nguyên tố có N chữ số cùng số lượng của chúng. Ví dụ khi chạy chương trình: Nhap so N: 4↵ 1 Cac so sieu nguyen to có 4 chu so la: 2333 2339 2393 2399 2939 3119 3137 3733 3739 3793 3797 5939 7193 7331 7333 7393 Tat ca co 16 so_ Bài 3 - Chữ số thứ N Khi viết các số tự nhiên tăng dần từ 1, 2, 3,… liên tiếp nhau, ta nhận được một dãy các chữ số thập phân vô hạn, ví dụ: 1234567891011121314151617181920 Yêu cầu: Hãy tìm chữ số thứ N của dãy số vô hạn trên. Dữ liệu vào từ file ‘Number.inp’ gồm một số dòng, mỗi dòng ghi một số nguyên dương N (N<10 9 ). Kết quả ra file ’Number.out’, với mỗi số N đọc được từ file Number.inp, ghi trên dòng tương ứng chữ số thứ N của dãy. Ví dụ: Number.inp Number.out 5 10 54 5 1 3 2 SỞ GD&ĐT HÀ TĨNH TRƯỜNG THPT CẨM BÌNH (Đề thi có 2 trang) ĐÁP ÁN VÀ BIỂU ĐIỂM ĐỀ THI CHỌN HỌC SINH GIỎI TRƯỜNG LỚP 11 THPT NĂM HỌC 2010-2011 Môn thi: Tin học Thời gian: 150 phút( không kể thời gian giao đề) 1đ 3đ 3đ Bài 1 - Phần tử yên ngựa ( 8đ) const Inp = 'Bai30.INP'; Out = 'Bai30.OUT'; MaxLongInt = 2147483647; var Min, Max: array[1 5000] of LongInt; m, n: Integer; {************************************} procedure ReadInput; var i, j, k: Integer; hf: Text; begin Assign(hf, Inp); Reset(hf); Readln(hf, m, n); for i := 1 to m do Min[i] := MaxLongInt; for j := 1 to n do Max[j] := -MaxLongInt; for i := 1 to m do begin for j := 1 to n do begin Read(hf, k); if Min[i] > k then Min[i] := k; if Max[j] < k then Max[j] := k; end; Readln(hf); end; Close(hf); end; {************************************} procedure WriteOutput; var i, j: Integer; Result: Boolean; hf: Text; begin Result := False; Assign(hf, Out); Rewrite(hf); 3 1đ Writeln(hf, 'Cac phan tu yen ngua la: '); for i := 1 to m do for j := 1 to n do if Min[i] = Max[j] then begin Result := True; Write(hf, '(', i, ',', j, '); '); end; if not Result then begin Rewrite(hf); Write(hf, 'Khong co phan tu yen ngua'); end; Close(hf); end; {************************************} Begin ReadInput; WriteOutput; End. 1đ 2đ 3đ Bài 2 - Số siêu nguyên tố (6đ) Program Bai2; var a,b: array [1 100] of longint; N,i,k,ka,kb,cs: byte; (************************************) Function Prime(N: longint): boolean; Var i: longint; Begin If (N=0) or (N=1) then Prime:=false Else Begin i:=2; While (N mod i <> 0) and (i <= Sqrt(N)) do Inc(i); If i > Sqrt(N) then Prime:=true Else Prime:=false; End; End; (************************************) BEGIN Write ('Nhap N: '); Readln (N); ka:=1; a[ka]:=0; For i:=1 to N do Begin Kb:=0; For k:=1 to ka do For cs:=0 to 9 do 4 If Prime(a[k]*10+cs) then Begin Inc(kb); b[kb]:=a[k]*10+cs; end; ka:=kb; For k:=1 to ka do a[k]:=b[k]; end; For k:=1 to ka do Write(a[k]:10); Writeln; Writeln('Co tat ca',ka,'so sieu nguyen to co',N,'chu so.'); Readln; END. 0.5đ 5đ 0.5đ Bài 3 - Chữ số thứ N (6đ) Program Bai3; Uses crt; Var k: longInt; (* *) Function chuso(NN: longInt):char; Var st:string[10]; dem,M:longInt; Begin dem:=0; M:=1; Repeat str(M,st); dem := dem+length(st); inc(M); Until dem >= NN; chuso := st[length(st) - (dem - NN)] (* *) BEGIN clrscr;; write('Nhap k:'); Readln(k); Writeln('Chu so thu', k,'cua day vo han cac so nguyen khong am'); write('123456789101112 la:', chu so(k)); Readln; END. 5 . TĨNH TRƯỜNG THPT CẨM BÌNH (Đề thi có 2 trang) ĐÁP ÁN VÀ BIỂU ĐIỂM ĐỀ THI CHỌN HỌC SINH GIỎI TRƯỜNG LỚP 11 THPT NĂM HỌC 2010-2 011 Môn thi: Tin học Thời gian: 150 phút( không kể thời gian giao đề) 1đ 3đ 3đ Bài. GD&ĐT HÀ TĨNH TRƯỜNG THPT CẨM BÌNH (Đề thi có 2 trang) ĐỀ THI CHỌN HỌC SINH GIỎI TRƯỜNG LỚP 11 THPT NĂM HỌC 2010-2 011 Môn thi: Tin học Thời gian: 150 phút( không kể thời gian giao đề) Sử dụng. một dãy các chữ số thập phân vô hạn, ví dụ: 1234567891 0111 21314151617181920 Yêu cầu: Hãy tìm chữ số thứ N của dãy số vô hạn trên. Dữ liệu vào từ file ‘Number.inp’ gồm một số dòng, mỗi dòng ghi

Ngày đăng: 29/05/2015, 09:00

TỪ KHÓA LIÊN QUAN

w