de thi thu HSG tin hoc

5 118 0
de thi thu HSG tin hoc

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

Thông tin tài liệu

Trờng THPT Nguyễn Huệ Năm học 2008 - 2009 Đề thi chän häc sinh giái cÊp trêng M«n: Tin häc 12 Thời gian làm bài: 150 phút Câu Viết chơng trình đọc tệp có tên SN.Dat chứa 100 số nguyên đợc chia thành 10 hàng 10 cột số có giá trị tuyệt đối không vợt 1000 Đa hình yêu cầu sau: - Các số nguyên tố (nếu có tệp), mối hàng đợc phép in 10 số số cách dấu cách - Các số hoàn hảo (nếu có tệp), hàng đợc phép in 10 số số cách dấu cách - Kết đa vào tệp NT.DAT số nguyên tố, đa vào tệp HH.DAT số hoàn hảo Trên tệp dòng ghi 10 số (Biết số hoàn hảo số mà tổng ớc nã b»ng chÝnh nã VD = 3+2+1 vËy sè số hoàn hảo) Câu Ngời ta xâu N viên đá quý kích thớc giống nhâu thành vòng đeo cổ (5 N 120) , viên có màu số màu đợc đánh số từ đến Để tăng tính độc đáo cho vòng trang sức quý này, ngời ta định lắp khoá đeo vào vị trí cho mở vòng ta đợc dây đá quý có tính chất: không phụ thuộc vào việc cầm đầu dây bên tay phải đầu bên tay trái, ta đợc chuỗi hạt giống nhau, tức viên đá thứ i từ trái sang có màu j không phụ thuộc vào cách cầm Xâu S: 2 2 2 3 5 3 Cách đặt khoá thứ 1: Cách đặt khoá thứ 2: 2 2 3 3 2 3 2 5 3 2 2 3 Yêu cầu: - Nhập liệu vào từ bàn phím số lợng hạt kim cơng thứ tự hạt để xâu vào chuỗi hạt - Tìm vị trí để đặt khoá thoả mãn yêu cầu Câu Trong hệ trục toạ độ Oxy cho N đờng tròn có tâm O1, O2,, ON , bán kính R Hệ đờng tròn đợc gọi chuẩn nếu đờng tròn đôi không chồng lên nhau(hai đờng tròn tiếp xúc nhau) Viết chơng trình kiểm tra hệ đờng tròn có chuẩn hay không? Dữ liệu: cho File INP.DAT + Dòng 1: ghi số N số lợng đờng tròn bán kính R + N dòng dòng ghi hai số nguyên xi yi toạ độ Oi Dữ liệu số nguyên, số nghi dòng cách dấu cách Ví dụ: - INP.DAT Kết quả: - INP.DAT Kết quả: 53 Hệ đờng tròn 10 Hệ kh«ng chuÈn chuÈn: 00 00 11 06 10 10 10 20 -9 -8 -2 -10 - HÕt -Giám thị không giải thích thêm Học sinh làm máy tính câu chơng trình lu vào đĩa mền Đề thi chọn học sinh giỏi trờng Năm học 2008 2009 Đáp án biểu điểm Câu 6đ Khai báo biến hợp lệ, tổ chức đọc liệu từ tệp đúng, song kết sai : 1đ Đọc tệp SN.DAT đa số nguyên tố hình ghi vào tệp NT.DAT : 2,5đ Đọc tệp SN.DAT đa số hoàn hảo hình ghi vào tệp HH.DAT : 2,5đ Câu 7đ Khai báo biến hợp lệ, nhập đợc liệu từ bàn phím, song kết sai : 2đ Chỉ đợc vị trí đặt khoá : 5đ Câu đ Khai báo biến hợp lệ, tổ chức đọc liệu từ tệp đúng, song kết sai : 2đ Thuật toán NNLT Pascal thể thuật toán cho kết : đ Lời giả cụ thể cho toán nh sau: (Các toán đợc viêt NNLT Pascal) Bµi 1: Program bai1; Uses Crt; Var A,b,c: Array[1 100] of integer; N,i,j ,M,t,tong,k,l : Integer; f1,f,f2: text; Begin clrscr; Assign(f,'C:\sn.dat'); reset(f); Readln(f,N,M); i:=0; {$I+}; if IOresult 0 then halt; for i:=1 to N Begin for j:=1 to M read(f,a[(i-1)*N+j]); readln(f); End; close(f); Assign(f1,'C:\HH.dat'); rewrite(f1); t:=0; WRITELN('KET QUA DOC TEP:'); For i:=1 to N Begin for j:=1 to M Begin tong:=0; write(A[(i-1)*N+j]:3); for k:=1 to A[(i-1)*N+j]-1 if A[(i-1)*N+j] mod k =0 then tong:=tong+k; if tong=A[(i-1)*N+j] then begin t:=t+1; c[t]:=A[(i-1)*N+j] ; write(f1,c[t]:5); if t mod 10 =0 then writeln(f1); end; end; writeln; End; Writeln('CAC SO HOAN HAO LA'); Assign(f2,'C:\NT.dat'); rewrite(f2); for i:=1 to t begin Write(c[i]:3); if i mod 10 = then writeln; end; l:=0; For i:=1 to N Begin for j:=1 to M if abs(A[(i-1)*N+j])>1 then Begin t:=2; k:= TRUNc(SQRT(A[(i-1)*N+j])); While (A[(i-1)*N+j] mod t0)and (tk then begin l:=l+1; B[l]:=A[(i-1)*N+j] ; write(f2,B[l]:2); if l mod 10 =0 then writeln(f2); end; end; End; Writeln('CAC SO NGUYEN TO LA:'); for i:=1 to L begin write(b[i]:3); if i mod 10 = then writeln; end; close(f1); close(f2); Readln End Bµi Program cau2; Uses crt; Var A:array[1 50] of string; ct:array[1 9]of byte; i,j,n:byte; s,p:string[120]; h:string[240]; Begin clrscr; write('So vien da quy: '); readln(n); write('So chi thi mau: '); readln(s); h:=s+s; for i:=1 to 2*n begin a[i]:=copy(h,i,n); h:=s+s; end; writeln('cac vi tri co then lap:'); for j:=1 to 2*n begin p:=''; for i:=n downto p:=p+a[j][i]; if p=a[j] then writeln('giua ',j-1,' va ',j); end; readln end Bµi Program bai_3; Uses Crt; Var n: Byte; R,i,j : Integer; C: Array[1 2,1 100] of integer; Procedure nhap; Var f: text; Begin Assign(f, ‘INP.Dat’); Reset(f); Readln(f,n,R); Fillchar(C,sizeOf(C),0); For i:=1 to N Readln(f, C[1,i], C[2,i]); Close(f); End; Funtion Kiemtra: Boolean; Begin Clrscr; Kiemtra:=false; If sqr(C[1,i] – C[2,i]) + sqr(C[1,i] – C[2,j])

Ngày đăng: 21/01/2019, 16:08

Từ khóa liên quan

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

Tài liệu liên quan