intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đề thi chọn học sinh giỏi môn Tin học lớp 12 năm học 2012-2013 – Sở Giáo dục và Đào tạo Ninh Bình (Đề chính thức)

Chia sẻ: _ _ | Ngày: | Loại File: DOC | Số trang:18

27
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đề thi chọn học sinh giỏi môn Tin học lớp 12 năm học 2012-2013 – Sở Giáo dục và Đào tạo Ninh Bình (Đề chính thức) dành cho các em học sinh trong quá trình ôn luyện, luyện thi vượt qua các đội tuyển chọn học sinh giỏi gặt hái nhiều thành công.

Chủ đề:
Lưu

Nội dung Text: Đề thi chọn học sinh giỏi môn Tin học lớp 12 năm học 2012-2013 – Sở Giáo dục và Đào tạo Ninh Bình (Đề chính thức)

  1. SỞ GD&ĐT NINH BÌNH ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 12 THPT  Kỳ thi thứ nhất ­ Năm học 2012 – 2013 ĐỀ THI CHÍNH THỨC MÔN: TIN HỌC Ngày thi: 09/10/2012 (Thời gian làm bài:180 phút ) Đề thi gồm 04 câu, trong 02 trang Tổng quan đề thi: Câu Tên file bài làm Tên file Input Tên file Otput Thời gian chạy 1 NUMBER.PAS NUMBER.INP NUMBER.OUT 1 giây/test 2 GOMBI.PAS GOMBI.INP GOMBI.OUT 1 giây/test 3 TRIANGLE.PAS TRIANGLE.INP TRIANGLE.OUT 2 giây/test 4 PASCAL.PAS PASCAL.INP PASCAL.OUT 1 giây/test Ghi chú: Thí sinh phải đặt tên file bài làm, file Input, file Output theo quy định như trên. Câu 1: 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, đoạn đầu tiên của dãy sẽ là: 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: Cho trong file NUMBER.INP gồm một nguyên dương N (N 
  2. Yêu cầu: Xác định số tam giác cân có ba đỉnh là ba điểm trong số n điểm đã cho. Dữ liệu: Cho trong file TRIANGLE.INP: Dòng đầu tiên chứa số nguyên n. Dòng thứ i trong n dòng sau chứa 2 số nguyên xi và yi. Kết quả: Ghi ra file TRIANGLE.OUT số tam giác cân tìm được. Ví dụ: TRIANGLE.INP TRIANGLE.OUT 4 4 0 0 1 1 1 0 0 1 Chú ý: Trong 60% số test có n 
  3. 3 4 3 2 8 8 11 Chú ý: Trong 40 % số test có n 
  4. HƯỚNG DẪN CHẤM THI CHỌN HỌC SINH GIỎI LỚP 12 THPT  Kỳ thi thứ nhất ­ Năm học 2012 – 2013 MÔN: TIN HỌC Chấm bằng chương trình tự động AMM2: Câu 1: 10 test, mỗi test đúng cho 0,5 điểm. Câu2:  10 test, mỗi test đúng cho 0,5 điểm. Câu3:  10 test đầu, mỗi test đúng cho 0,3 điểm. 10 test sau, mỗi test đúng cho 0,2 điểm. Câu 4: 10 test, mỗi test đúng cho 0,5 điểm. Bài 1: Const      fi  ='number.inp';               fo  ='number.out';        cs:array[1..8] of longint = (9, 180, 2700, 36000, 450000, 5400000, 63000000, 720000000); Var   n : longint;           f,g :text; Function num(n:longint):char;   var k, so, mu : longint;        s : string; Begin     k:=1; mu:=1;     while (k
  5. begin     assign(f,fi);     reset(f);        readln(f,n,m);        for i:=1 to m do        readln(f,u[i],v[i]);     close(f);     for i:=1 to n do cha[i]:=­1; end; procedure  Join(u,v:longint); begin     While cha[u]>0 do u:=cha[u];     While cha[v]>0 do v:=cha[v];     if u = v then exit;     if cha[u]
  6.       n,d:integer;       tong:extended; procedure doc; var i:integer; begin   assign(f,fi);  reset(f);   readln(f,n);     for i:=1 to n do       readln(f,a[i].x,a[i].y);   close(f); end; function truoc(t1,t2:td):boolean; begin   truoc:=true;    if t1.y
  7.              kc[dau]:=kc[cuoi];              kc[cuoi]:=tg;              dau:=dau+1;              cuoi:=cuoi­1;            end;     until dau>cuoi;    if l1 then         begin           qsort(1,d);           tinh(kc);         end;     end;
  8. end; procedure loaitru; var i,j,l,r,m,d,c,u:integer;     look:td;     nb:boolean; begin   for i:=1 to n do    for j:=i+1 to n do     begin       if ((a[i].x+a[j].x) mod 2=0) and ((a[i].y+a[j].y) mod 2=0) then         begin           look.x:=(a[i].x+a[j].x) div 2;           look.y:=(a[i].y+a[j].y) div 2;           l:=1;  r:=n;             while llook.y) or ((a[m].y=look.y) and (a[m].x>look.x))                   then r:=m­1 else                  if (a[m].y
  9.    sobit:=0;    for i:=0 to 31 do    if (1 shl i)and n 0 then inc(sobit);    write(g,1 shl sobit); close(f); close(g); end.
  10. SỞ GD&ĐT NINH BÌNH ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 12 THPT  Kỳ thi thứ nhất ­ Năm học 2012 – 2013 ĐỀ THI CHÍNH THỨC MÔN: TIN HỌC Ngày thi: 10/10/2012 (Thời gian làm bài: 180 phút) Đề thi gồm 04 câu, trong 02 trang Tổng quan đề thi: Câu Tên file bài làm Tên file Input Tên file Otput Thời gian chạy 1 TOUR.PAS TOUR.INP TOUR.OUT 1 giây/test 2 HAIVAN.PAS HAIVAN.INP HAIVAN.OUT 1 giây/test 3 FROG.PAS FROG.INP FROG.OUT 1 giây/test 4 EC.PAS EC.INP EC.OUT 1 giây/test Câu 1: Thăm quan.         Có N đoàn khách du lịch được đánh số từ 1 đến N đang chờ Công ty du lịch Ninh Bình đưa đi   thăm quan theo hợp đồng. Đoàn thứ  i sẽ  đi tới thăm quan  ở  địa điểm cách trụ  sở  Công ty d i  km.  Công ty có M xe khách (N≤ M) đánh số từ 1 tới M, xe thứ j có mức tiêu thụ xăng là vj lít/km.  Yêu cầu: Hãy chọn N xe và bố  trí để  đưa các đoàn đến địa điểm thăm quan, mỗi xe chỉ  phục vụ  một đoàn, sao cho tổng lượng xăng cần phải sử dụng là ít nhất. Dữ liệu: Cho trong file TOUR.INP Dòng 1 chứa hai số nguyên N, M ( N≤ M ≤ 500). Dòng 2 chứa N số nguyên dương d1, d2,..., dN (di 
  11. Nếu không có xe nào phạm luật thì mỗi dòng ghi một số 0. Ví dụ:  HAIVAN.INP HAIVAN.OUT Giải thích 5 4 Xe 2, 3, 4, 5 ra không đúng thứ tự 1 2 3 4 5 3 Xe 3, 4, 5  đã vượt xe 2 1 4 5 3 2 Chú ý: Trong 60% số test có n 
  12. EC.INP EC.OUT 4    3 2 2    2 4    ­2 7    2 8    1 Chú ý: Trong 60% số test tất cả các cọc thẳng hàng và đều nằm trên trục Ox với n ≤ 1000, R ≤  100, các tọa độ nhỏ hơn 104. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­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:.......................................................................................................
  13. HƯỚNG DẪN CHẤM THI CHỌN HỌC SINH GIỎI LỚP 12 THPT  Kỳ thi thứ nhất ­ Năm học 2012 – 2013 MÔN: TIN HỌC Chấm bằng chương trình tự động AMM2: Câu 1: 10 test, mỗi test đúng cho 0,5 điểm. Câu2:  10 test, mỗi test đúng cho 0,5 điểm. Câu3:  10 test, mỗi test đúng cho 0,5 điểm. Câu 4: 10 test, mỗi test đúng cho 0,5 điểm. Bài 1  const   finp = 'TOUR.INP';   fout = 'TOUR.OUT'; var   n, m: Integer;   Val, Pos: array[1..2, 1..8000] of Integer; {=================================================} procedure ReadInput; var   i: Integer;   hf: Text; begin   Assign(hf, finp);   Reset(hf);   Readln(hf, n, m);   for i := 1 to n do Read(hf, Val[1, i]);   Readln(hf);   for i := 1 to m do Read(hf, Val[2, i]);   Close(hf);   for i := 1 to m do   begin     Pos[1, i] := i;     Pos[2, i] := i;   end; end; {=================================================} procedure QuickSort(t, l, r: Integer); var   x, tg, i, j: Integer; begin   x := Val[t, (l + r) div 2];   i := l; j := r;   repeat     while Val[t, i]  x do Dec(j);     if i 
  14.       Tg := Pos[t, i]; Pos[t, i] := Pos[t, j]; Pos[t, j] := Tg;       Inc(i); Dec(j);     end;   until i > j;   if i  l then QuickSort(t, l, j); end; {=================================================} procedure WriteOutput; var   i: Integer;   Sum: LongInt;   hf: Text; begin   Sum := 0;   for i := 1 to n do Inc(Sum, Val[1, n ­ i + 1] * Val[2, i]);   for i := 1 to n do Val[1, Pos[1, n ­ i + 1]] := Pos[2, i];   Assign(hf, fout);   Rewrite(hf);   Writeln(hf, Sum);   for i := 1 to n do Writeln(hf, Val[1, i]);   Close(hf); end; begin   ReadInput;   QuickSort(1, 1, n);   QuickSort(2, 1, m);   WriteOutput; end. Bài 2: const fi = 'HAIVAN.INP';       fo = 'HAIVAN.OUT';       nmax = 100005; Var v,r:array[1..nmax] of longint;     vipham:array[1..nmax]of boolean;    n,k,m:longint; procedure nhap; var f:text;     i,j:longint; begin    assign(f,fi);    reset(f);       readln(f,n);       for i:=1 to n do read(f,v[i]);       readln(f);       for j:=1 to n do read(f,r[j]);    close(f); end;
  15. procedure xuly; Var i,j:longint;     f:text; begin     k:=0;     for i:=1 to n do      if v[i]r[i] then inc(k);     fillchar(vipham,sizeof(vipham),false);     m:=0;     j:=0;     for i:=1 to n do        if vipham[v[i]]=false then        Repeat           inc(j);           if r[j]v[i] then              begin                inc(m);                vipham[r[j]]:=true;              end;        Until r[j] = v[i];     assign(f,fo);         rewrite(f);         writeln(f,k);         writeln(f,m);     close(f); end; Begin    nhap;    xuly; end. Bài 3: const fi='frog.inp';        fo='frog.out';  var   f:text;        n,k,a,b:longint;        p:array[1..100000]of longint;        hd,truoc,d:array[1..100000]of longint;        dau:array[1..100000]of boolean;    procedure nhap;    var i:longint;     begin      assign(f,fi);      reset(f);       readln(f,n,k,a,b);       for i:=1 to k do        readln(f,p[i]);      close(f);     end;    procedure chuanbi;
  16.     begin      fillchar(truoc,sizeof(truoc),0);      fillchar(dau,sizeof(dau),false);      dau[a]:=true;     end;    procedure xuli;     var i,d,c,u,s:longint;      begin       d:=1;       c:=1;       hd[1]:=a; d[a]:=0;        while d0) and (u+p[i]
  17. const fi = 'EC.INP';       fo = 'EC.OUT';       nmax = 100005; Type diem = record       x,y:longint;       end; var  n,R,kq:longint;      A,D:array[1..nmax] of diem; procedure nhap; var f:text;     i,j:longint; begin     assign(f,fi);     reset(f);         readln(f,n,r);         for i:=1 to n do readln(f,a[i].x,a[i].y);     close(f); end; procedure  chuanbi; var i:longint;     le,ri:real; begin     for i:=1 to n do     begin        le:=a[i].x ­ sqrt(sqr(r)­sqr(a[i].y));        ri:=a[i].x + sqrt(sqr(r)­sqr(a[i].y));        if le =r then exit;     i:=l; j:=r;     k:=d[l+random(r­l+1)].y;     Repeat     while d[i].yk do dec(j);     if ij;     Sort(l,j);     Sort(i,r); end;
  18. procedure xuly; var diemcuoi,i:longint;     f:text; begin    diemcuoi:=­1;    kq:=0;    For i:=1 to n do      if d[i].x>diemcuoi then      begin          inc(kq);          diemcuoi:= d[i].y;      end;    assign(f,fo);    rewrite(f);       write(f,kq);    close(f); end; begin    nhap;    chuanbi;    Sort(1,n);    Xuly; end.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2