Đề thi chọn đội tuyển dự thi Quốc Gia THPT năm 2014 tỉnh Đăk Lăk môn tin

13 319 1
Đề thi chọn đội tuyển dự thi Quốc Gia THPT năm 2014 tỉnh Đăk Lăk môn tin

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang 1 SỞ GIÁO DỤC VÀ ĐÀO TẠO KỲ THI LẬP ĐỘI TUYỂN DỰ THI QUỐC GIA TỈNH ĐẮK LẮK NĂM HỌC 2013 - 2014 ĐỀ CHÍNH THỨC MÔN: TIN HỌC (Đề thi gồm 02 trang) (Thời gian làm bài 180 phút, không kể giao đề) Ngày thi: 24/10/2013 Đề thi này gồm 02 trang (Thời gian làm bài 180 phút, không kể thời gian giao đề) Bài File bài làm Dữ liệu vào Kết quả Bài 1 - Từ đối xứng BAI1.PAS BAI1.INP BAI1.OUT Bài 2 - Biểu thức zero BAI2.PAS BAI2.INP BAI2.OUT Bài 3 - Tam giác số BAI3.PAS BAI3.INP BAI3.OUT Bài 1(6 điểm) - Từ đối xứng Hai từ được gọi là đối xứng nếu từ này là từ đảo ngược của từ kia. Cho file BAI1.INP mỗi dòng chứa một xâu ký tự. Hãy in ra số từ phân biệt có từ đối xứng ở trong mỗi dòng. Kết quả in ra file BAI1.OUT, mỗi dòng ghi số từ phân biệt có từ đối xứng. Nếu không có ghi kết quả là số 0. Ví dụ: BAI1.INP BAI1.OUT a 0 ab ab cd ba cd ba dc dc 2 tom la mot loai dong vat 1 Bài 2(7 điểm) - Biểu thức zero. Cho một số tự nhiên N ≤ 9. Dãy số được tạo thành gồm các chữ số từ 1 đến N theo thứ tự đó. Hãy điền vào các dấu + , - , hoặc là không điền dấu nào cả để tạo thành biểu thức có kết quả thu được bằng 0. Hãy viết chương trình tìm tất cả các khả năng có thể. Dữ liệu vào: Lấy từ file văn bản BAI2.INP với một dòng ghi số N. Dữ liệu ra: Ghi vào file văn bản có tên BAI2.OUT có cấu trúc như sau: - Dòng đầu ghi số lượng kết quả tìm được. - Các dòng sau mỗi dòng ghi một kết quả tìm được. Ví dụ BAI2.INP BAI2.OUT 7 6 1-2-3-4-5+6+7 = 0 1-2+3+4-5+6-7 = 0 1-23-45+67 = 0 1-23+4+5+6+7 = 0 1+2-3-4+5+6-7 = 0 1+2-3+4-5-6+7 = 0 Trang 2 Bài 3( 7 điểm) - Tam giác số Hình sau mô tả một tam giác số có số hàng N=5: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 Đi từ đỉnh (số 7) đến đáy tam giác bằng một đường gấp khúc, mỗi bước chỉ được đi từ số ở hàng trên xuống một trong hai số đứng kề bên phải hay bên trái ở hàng dưới, và cộng các số trên đường đi lại ta được một tổng. Ví dụ: đường đi 7 8 1 4 6 có tổng là S=26, đường đi 7 3 1 7 5 có tổng là S=23 Trong hình trên, tổng Smax=30 theo đường đi 7 3 8 7 5 là tổng lớn nhất trong tất cả các tổng. Nhiệm vụ của bạn là viết chương trình nhận dữ liệu vào là một tam giác số chứa trong text file BAI3.INP và đưa ra kết quả là giá trị của tổng Smax. Dữ liệu: cho trong file văn bản BAI3.INP: - Dòng thứ 1: có duy nhất 1 số N là số hàng của tam giác số (0<N<100). - N dòng tiếp theo, từ dòng thứ 2 đến dòng thứ N+1: dòng thứ i có (i-1) số cách nhau bởi dấu trống (space). Kết quả: Ghi ra file văn bản BAI3.OUT. Ví dụ: BAI3.INP BAI3.OUT 5 30 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 Hết  Thí sinh không được sử dụng tài liệu.  Giám thị không giải thích gì thêm. Họ và tên thí sinh…………………… ……………… Số báo danh……… Trang 1 SỞ GIÁO DỤC VÀ ĐÀO TẠO KỲ THI LẬP ĐỘI TUYỂN DỰ THI QUỐC GIA TỈNH ĐẮK LẮK NĂM HỌC 2013 - 2014 HƯỚNG DẪN CHẤM MÔN: TIN HỌC (Hướng dẫn chấm gồm 4 trang) Ngày thi: 24/10/2013 I. Phần chương trình nguồn BÀI 1 –TỪ ĐỐI XỨNG var f,g:text;st:string; Function tudao(st:string):string; Var i:integer;st1:string; Begin st1:=''; For i:=length(st) downto 1 do st1:=st1+st[i]; tudao:=st1; End; Function demtudx(st:string):integer; Var dem:integer;tu,tu1:string; Begin dem:=0; st:=st+' '; While length(st)>1 do Begin While st[1]=' ' do delete(st,1,1); tu:=copy(st,1,pos(' ',st)); if st<>'' then st:=' '+st; tu:=' '+tu; While pos(tu,st)>0 do delete(st,pos(tu,st),length(tu)-1); tu1:=tudao(tu); If (pos(tu1,st)>0) and (st[pos(tu1,st)+length(tu1)-1]=' ') then inc(dem); demtudx:=dem; End; end; procedure xuly; Var st:string; Begin Assign(f,'bai1.inp'); Reset(f); Assign(g,'bai1.out'); Rewrite(g); While not eof(f) do Begin Readln(f,st); Writeln(g,demtudx(st)); End; Trang 2 Close(f); Close(g); End; Begin xuly; End. BÀI 2 – Biểu thức zero Program Zero_sum; Type MangStr = array[1 15] of string; Const Fi ='BAI2.INP'; Fo ='BAI2.OUT'; Dau : array[1 3] of string[1] = ('-','+',''); S : array[1 9] of char =('1','2','3','4','5','6','7','8','9'); ChuSo = ['1' '9']; Var N,k,dem: byte; D : array[2 9] of string[1]; F : Text; St : String; M : MangStr; Procedure Write_out; Var i : byte; Begin Assign(F,Fo); Rewrite(F); Writeln(F,dem); For i:= 1 to dem do writeln(F,M[i],' = 0'); Close(F); Halt; End; Procedure Read_inp; Begin Assign(F,Fi); Reset(F); Read(F,N); Close(F); If N < 3 then write_out; End; Function DocSo(S : String): longint; Var M : longint; t : byte; Begin M:= 0; t:= 0; If S[k] in ['+','-'] then begin t:= k; Inc(k); end; While (k<= length(S)) and (s[k] in ChuSo) do begin m:= m*10 + ord(s[k]) - ord('0'); Inc(k); end; Trang 3 If (t <> 0) and (S[t] = '-') then DocSo:= -M else DocSo:= M; End; Procedure Test; Var St : string; i : byte; T : longint; Begin St:= '1'; k:= 1; T:= 0; For i:= 2 to N do St:= St + D[i] + S[i]; While k < length(St) + 1 do T:= T + DocSo(St); If T = 0 then begin Inc(dem); M[dem]:= St; end; End; Procedure Try(i: byte); Var j : byte; Begin For j:= 1 to 3 do begin D[i]:= Dau[j]; If i = N then Test else try(i+1); end; End; BEGIN Read_inp; Try(2); Write_out; END. BÀI 3 – TAM GIÁC SỐ { QUY HOẠCH ĐỘNG} Program bai3; Uses crt; Type mang = array[1 100,1 100] of integer; Var f:text; i,j,n:integer; a,b:mang; Procedure Input; Begin clrscr; Assign(f,'bai3.inp'); reset(f); readln(f,n); for j:=1 to n do begin for i:=2 to j+1 do read(f,a[j,i]); end; Trang 4 close(f); end; { } Function Max(m,n:integer):integer; Begin if n>m then Max:=n else Max:=m; end; { } Procedure MakeArrayOfQHD; Begin b[1,2]:=a[1,2]; for j:=1 to n do b[j,1]:=-maxint; for i:=3 to n do b[1,i]:=-maxint; for j:=2 to n do begin for i:=2 to j+1 do b[j,i]:=a[j,i]+max(b[j-1,i],b[j-1,i-1]); end; end; { } Procedure FindMax; var max:integer; Begin max:=b[n,1]; for i:=2 to n do if b[n,i]>max then max:=b[n,i]; assign(f,'bai3.out');rewrite(f); write(f,max); close(f); end; { } BEGIN Input; makearrayofQHD; FindMax; END. II. Hướng dẫn chấm. Bài 1: 3 Test, mỗi test đúng cho 2 điểm. Bài 2: 3 Test, mỗi test đúng cho 2 điểm + 1 điểm test mẫu ví dụ. Bài 3: 3 Test, mỗi test đúng cho 2 điểm + 1 điểm test mẫu ví dụ Chú ý: Kết quả có thể có nhiều phương án khác nhau do đó yêu cầu giám khảo xem xét kỹ khi chấm bài. Hết Trang 1 SỞ GIÁO DỤC VÀ ĐÀO TẠO KỲ THI LẬP ĐỘI TUYỂN DỰ THI QUỐC GIA TỈNH ĐẮK LẮK NĂM HỌC 2013 - 2014 ĐỀ CHÍNH THỨC MÔN: TIN HỌC (Đề thi gồm 02 trang) (Thời gian làm bài 180 phút, không kể giao đề) Ngày thi: 25/10/2013 Đề thi này gồm 02 trang (Thời gian làm bài 180 phút, không kể thời gian giao đề) Bài File bài làm Dữ liệu vào Kết quả Bài 1: - Biến đổi xâu BAI1.PAS BAI1.INP BAI1.OUT Bài 2: - Đội cờ BAI2.PAS BAI2.INP BAI2.OUT Bài 1(10 điểm) - Biến đổi xâu. Cho xâu kí tự U = u 1 u 2 …u n , trong đó u i  {a,b,c} = X (i=1,2,…,n). Các phép biến đổi sau đây (đánh số thứ tự từ 1 đến 9) cho phép thay thế hai kí tự liên tiếp nhau trong xâu đã cho bởi một kí tự: 1) aa  x 1 2) ab  x 2 3) ac  x 3 4) ba  x 4 5) bb  x 5 6) bc  x 6 7) ca  x 7 8) cb  x 8 9) cc  x 9 Trong đó x i  X, i=1,2, ,9. Cần tìm cách áp dụng lần lượt các phép toán biến đổi đã có để chuyển xâu U về một kí tự định trước w  X. Dữ liệu vào: cho trong file văn bản BAI1.INP: - Dòng đầu ghi số n. - N dòng tiếp theo mỗi dòng chứa một kí tự của xâu U theo thứ tự từ u 1 đến u n . - Dòng thứ i trong số 9 dòng tiếp theo chứa chữ cái x i , i=1,2, ,9. - Dòng cuối cùng chứa chữ cái w. Kết quả tìm được ghi ra file văn bản BAI1.OUT theo quy cách sau: - Dòng đầu tiên ghi số lượng phép biến đổi M cần áp dụng để chuyển xâu U thành chữ cái w, dòng này ghi số 0 nếu không tìm được phép biến đổi như vậy. - Nếu có thể biến đổi xâu đã cho về một kí tự thì dòng thứ i trong số M dòng tiếp theo ghi số thứ tự của phép biến đổi cần sử dụng và các chỉ số của hai kí tự liên tiếp nhau trong xâu đang biến đổi cần thay thế bằng một kí tự. Ví dụ: BAI1.INP BAI1.OUT 5 b b b b a b b a c 4 4 4 5 5 1 2 5 1 2 6 1 2 Trang 2 b a a c c a Dãy biến đổi có thể mô tả trong sơ đồ sau: (w = a) bbbba (4)  bbbc (5)  bbc (5)  bc (6)  a Bài 2(10 điểm) - Đội cờ . Có hai đội cờ vua A và B thi đấu với nhau. Mỗi đội cờ cử ra n kỳ thủ, mỗi kỳ thủ của đội B chỉ đấu một trận và chỉ đấu với một kỳ thủ của đội A và ngược lại. Vậy có tất cả n trận đấu. Đội nào thắng được 2 điểm, hoà được 1 điểm và thua được 0 điểm. Cho đội B được quyền chọn cặp thi đấu. Yêu cầu: Lập trình để đội B chọn được các cặp thi đấu sao cho tổng số điểm của đội B là cao nhất, cho biết trình độ của cầu thủ thứ i của đội A và B lần lượt là a[i] và b[i] (i=1,2,…,n) và giả sử trong thi đấu, hai kỳ thủ có trình độ ngang nhau sẽ hoà và kỳ thủ nào có trình độ cao hơn sẽ thắng. Dữ liệu: Ghi trên file văn bản BAI2.INP gồm n+1 dòng:  Dòng đầu tiên ghi số nguyên dương n, 1≤n≤1000  Dòng thứ i+1 ghi 2 số nguyên a[i], b[i] (1≤a[i], b[i]≤100) cách nhau ít nhất một khoảng trắng. Kết quả: Ghi ra file văn bản BAI2.OUT gồm n+1 dòng  Dòng đầu ghi số nguyên T là tổng số điểm cao nhất mà đội B có thể đạt được.  Dòng thứ i+1 (1≤i≤n) ghi số nguyên dương x[i] (1≤x[i]≤n) với x[i] là số thứ tự của kỳ thủ đội B phải thi đấu với kỳ thủ thứ i của đội A để tổng số điểm của đội B đạt được là T Ví dụ: BAI2.INP BAI2.OUT 4 7 8 5 6 4 3 9 4 5 1 2 4 3 Hết  Thí sinh không được sử dụng tài liệu.  Giám thị không giải thích gì thêm. Họ và tên thí sinh…………………… ……………… Số báo danh……… Trang 1 SỞ GIÁO DỤC VÀ ĐÀO TẠO KỲ THI LẬP ĐỘI TUYỂN DỰ THI QUỐC GIA TỈNH ĐẮK LẮK NĂM HỌC 2013 - 2014 HƯỚNG DẪN CHẤM MÔN: TIN HỌC (Hướng dẫn chấm gồm có 5 trang) Ngày thi: 25/10/2013 I. Phần chương trình nguồn Bài 1: program biendoixau; {$B-,Q+,R+} {$M 65500,0,655360} const maxN = 20; fi = 'BAI1.INP' ; fo = 'BAI1.OUT'; bd: array[1 9] of string[2]= ('aa','ab','ac','ba','bb', 'bc','ca','cb','cc'); type sN= string[maxN]; s9= string[9]; mang= array[1 maxN] of byte; var a, vt: mang; m,n: byte; u: sN; x: s9; w: char; f: text; procedure khoitao; var i:byte; begin assign(f,fi); reset(f); readln(f,n); u:= ''; x:= ''; m:= n-1; for i:=1 to n do begin readln(f,w); u:=u+w; end; for i:=1 to 9 do begin readln(f,w); x:=x+w; end; read(f,w); close(f); end; procedure check; var t,i,kt: byte; s:sN; begin s:= u; for i:=1 to m do begin t:= pos(bd[a[i]],s); if t = 0 then exit; vt[i]:= t; delete(s,t,2); insert(x[a[i]],s,t); end; if pos(w,s) > 0 then begin writeln(f,m); Trang 2 for i:= 1 to m do writeln(f,a[i],' ',vt[i], ' ',vt[i]+1); close(f);halt; end; end; procedure tim(i:byte); var j:byte; begin if i>m then check else for j:=1 to 9 do begin a[i]:= j; tim(i+1); end; end; procedure xuly; begin assign(f,fo); rewrite(f); tim(1); write(f,0); close(f); end; BEGIN khoitao; xuly; END. BÀI 2: program doico; const tfi = 'BAI2.INP'; tfo = 'BAI2.OUT'; maxN = 1000; var fi, fo : text; N : integer; dd,x,a,b,csA,csB : array[1 maxN] of integer; DiemMax : integer; procedure Docdl; var i: integer; begin assign(fi,tfi); reset(fi); readln(fi,N); for i:=1 to N do read(fi,a[i],b[i]); close(fi); end; procedure Doi(var u,v: integer); var w: integer; begin w:=u; u:=v; v:=w; end; procedure SortA(k,l: integer); . TẠO KỲ THI LẬP ĐỘI TUYỂN DỰ THI QUỐC GIA TỈNH ĐẮK LẮK NĂM HỌC 2013 - 2014 ĐỀ CHÍNH THỨC MÔN: TIN HỌC (Đề thi gồm 02 trang) (Thời gian làm bài 180 phút, không kể giao đề) Ngày thi: 24/10/2013. TẠO KỲ THI LẬP ĐỘI TUYỂN DỰ THI QUỐC GIA TỈNH ĐẮK LẮK NĂM HỌC 2013 - 2014 ĐỀ CHÍNH THỨC MÔN: TIN HỌC (Đề thi gồm 02 trang) (Thời gian làm bài 180 phút, không kể giao đề) Ngày thi: 25/10/2013. SỞ GIÁO DỤC VÀ ĐÀO TẠO KỲ THI LẬP ĐỘI TUYỂN DỰ THI QUỐC GIA TỈNH ĐẮK LẮK NĂM HỌC 2013 - 2014 HƯỚNG DẪN CHẤM MÔN: TIN HỌC (Hướng dẫn chấm gồm 4 trang) Ngày thi: 24/10/2013 I. Phần chương

Ngày đăng: 28/07/2015, 09:23

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan