Đề thi lập trình pascal

8 2.1K 43
Đề thi lập trình pascal

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

Thông tin tài liệu

Sở giáo dục và đào tạo Đề thi tuyển sinh lớp 10 thpt chuyên năm học 2008-2009 Tỉnh ninh bình Môn: Tin học Thời gian làm bài: 150 phút (không kể thời gian giao đề) (Đề thi gồm 03 bài trong 02 trang) Chú ý: Thí sinh phải đặt tên các files bài làm chính xác nh sau: Bài 1: (6 điểm) Cho số nguyên dơng N 10 000. - Kiểm tra xem N có phải là số nguyên tố hay không? - Nếu N không phải là số nguyên tố hãy chỉ ra xem có thể xoá đi đúng 1 chữ số của N để kết quả thu đợc là số nguyên tố hay không? Dữ liệu vào: In ra màn hình thông báo: N = và nhập N từ bàn phím. Dữ liệu ra: In kết quả ra màn hình, mỗi thông báo trên một dòng. - Nếu N là nguyên tố in ra thông báo: La so nguyen to. Nếu không, in ra: Khong la so nguyen to. - Trong trờng hợp cần phải xoá, nếu xoá đợc in ra: Xoa duoc: và in ra số thu đợc sau khi xoá, nếu không xoá đợc, in ra: Khong xoa duoc (nếu có nhiều cách xoá chỉ cần chỉ ra 1 cách). Ví dụ: Dữ liệu vào Dữ liệu ra N = 121 Khong la nguyen to Xoa duoc 11 Bài 2: (6 điểm) Một số nguyên dơng gọi là đối xứng thập phân nếu viết các chữ số của nó theo thứ tự ngợc lại thu đợc chính số đó, chẳng hạn 121 là số đối xứng thập phân. Một số nguyên dơng đợc gọi là đối xứng nhị phân nếu biểu diễn số đó trong hệ nhị phân và viết các chữ số trong hệ nhị phân của nó theo thứ tự ngợc lại thu đợc chính số đó (trong hệ nhị phân), chẳng hạn 21 = 10101 2 là số đối xứng nhị phân. Hãy liệt kê tất cả các số vừa đối xứng nhị phân vừa đối xứng thập phân trong đoạn [1; N], biết rằng 1 < N 10 000. Dữ liệu vào: In ra màn hình thông báo nhập: N = và nhập n từ bàn phím. Dữ liệu ra: In kết quả ra màn hình, thông báo: Tim duoc: và in ra danh sách các số tìm đợc, giữa 2 số ngăn cách nhau bằng một dấu cách (space). Ví dụ: Dữ liệu vào Dữ liệu ra N = 5 Tim duoc: 1 3 5 Bài Tên file 1 bai1.pas 2 bai2.pas 3 bai3.pas Trang 1 đề thi chính thức Bài 3: (8 điểm) Cho 2 dãy n số, 0<n1000: Dãy A: a 1 , a 2 ,, a n và dãy B: b 1 , b 2 ,, b n , trong đó 0a i , b i 255 (1in). - Kiểm tra các số trong cả hai dãy A và B có đôi một khác nhau hay không (tức là a i a j , b i b j và a i b j , i,j, 1i, jn). - Với một dãy số X: x 1 , x 2 ,, x n , ngời ta gọi dãy con liên tục của nó: x i , x i+1 ,, x i+k (1ii+kn) là một đoạn con độ dài k. Hãy tìm một đoạn con chung có độ dài lớn nhất của 2 dãy A và B. Dữ liệu vào: Nhập từ bàn phím. - In ra màn hình thông báo: n = và nhập n. - In ra màn hình thông báo yêu cầu nhập vào dãy số và nhập vào 2n số a 1 , a 2 ,, a n , b 1 , b 2 ,, b n , trong đó với mỗi số a i , cần in ra thông báo nhập: A[i] = , với mỗi số b i in ra thông báo nhập B[i] = . Dữ liệu ra: In kết quả ra màn hình, mỗi thông báo trên 1 dòng. - Nếu các số trong dãy cả hai dãy đôi một khác nhau in ra Phan biet. Nếu không, in ra Khong phan biet. - Nếu A và B có đoạn con chung in ra Doan con chung dai nhat: và in ra lần lợt các số trong đoạn con chung dài nhất, giữa 2 số ngăn cách nhau bởi một dấu cách (space). Nếu A và B không có đoạn con chung in ra Hai day khong co doan con chung Ví dụ: Dữ liệu vào Dữ liệu ra n = 5 Nhap day A: A[1] = 1 A[2] = 2 A[3] = 3 A[4] = 4 A[5] = 5 Nhap day B: B[1] = 1 B[2] = 3 B[3] = 4 B[4] = 5 B[5] = 5 Khong phan biet Doan con chung dai nhat: 3 4 5 ---------------Hết--------------- Họ và tên thí sinh: SBD: Số CMND: . Chữ ký giám thị 1: Chữ ký giám thị 2:. Trang 2 Sở giáo dục và đào tạo Đáp án đề thi t/s lớp 10 thpt chuyên năm học 2008-2009 Tỉnh ninh bình Môn: Tin học Thời gian làm bài: 150 phút (không kể thời gian giao đề) (Đáp án gồm 04 trang) Phần 1: Hớng dẫn chấm Chấm lần lợt từ bài 1 đến bài 3, mỗi bài cho điểm 1 trong 2 trờng hợp sau: Nếu chơng trình không chạy, không đa ra đợc output: Chấm mã nguồn: - Phần nhập đúng: 0.5 điểm - Chơng trình đủ dài (hơn 10 dòng), trình bày đẹp: thể hiện đúng cấu trúc lồng nhau của các khối lệnh, xuống dòng hợp lý: 0.5 điểm. Nếu chơng trình chạy, thực hiện đợc input và output (không nhất thiết phải đúng): 1 điểm Chấm test: - Chấm lần lợt các test, mỗi test cần thử ít nhất 2 lần. - Phần nào mà thí sinh luôn luôn in ra 1 kết quả hoặc kết quả không đơn định thì phần đó không cho điểm. Chú ý: - Thí sinh in ra các thông báo khác với đề bài nhng không có dấu hiệu đặc biệt (đánh dấu bài) vẫn cho điểm. - Kết quả của thí sinh có thể khác với đáp án nhng nếu đúng vẫn cho điểm. Bài 1: (6 điểm) file mã nguồn: bai1.pas Test: Test Input (N) Output Điểm 01 1 Khong la so nguyen to Khong xoa duoc 0.25 0.25 02 4 Khong la so nguyen to Khong xoa duoc 0.25 0.25 03 13 La so nguyen to 0.5 04 21 Khong la so nguyen to Khong xoa duoc 0.25 0.25 05 94 Khong la so nguyen to Khong xoa duoc 0.25 0.25 06 123 Khong la so nguyen to Xoa duoc 13 0.25 0.25 07 231 Khong la so nguyen to Xoa duoc 23 0.25 0.25 08 312 Khong la so nguyen to Xoa duoc 31 0.25 0.25 09 1997 La so nguyen to 0.5 10 1341 Khong la so nguyen to Xoa duoc 131 0.25 0.25 Bài 2: (6 điểm) file mã nguồn: bai2.pas Test: Test Input (N) Output Điểm 01 1 Tim duoc: 1 0.5 02 5 Tim duoc: 1 3 5 0.5 03 10 Tim duoc: 1 3 5 7 9 1 04 100 Tim duoc: 1 3 5 7 9 33 99 1 Trang 3 đề thi chính thức 05 1000 Tim duoc: 1 3 5 7 9 33 99 313 585 717 1 06 10000 Tim duoc: 1 3 5 7 9 33 99 313 585 717 7447 9009 1 Trang 4 Bµi 3: (8 ®iÓm) file m· nguån: bai3.pas Test: Test Input (N, d·y A, d·y B) Output §iÓm 01 1 5 5 Khong phan biet Doan con chung dai nhat: 5 0.25 0.25 02 2 1 2 3 4 Phan biet Hai day khong co doan con chung 0.25 0.25 03 2 1 2 2 1 Khong phan biet Doan con chung dai nhat: 1 0.25 0.25 04 3 1 2 3 4 5 6 Phan biet Hai day khong co doan con chung 0.25 0.25 05 3 1 2 3 4 5 4 Khong phan biet Hai day khong co doan con chung 0.25 0.25 06 3 1 2 3 4 2 5 Khong phan biet Doan con chung dai nhat: 2 0.25 0.25 07 5 1 2 3 4 5 1 3 4 5 5 Khong phan biet Doan con chung dai nhat: 3 4 5 0.5 0.5 08 5 1 2 3 4 5 5 2 3 4 1 Khong phan biet Doan con chung dai nhat: 2 3 4 0.5 0.5 09 5 1 2 3 4 5 3 4 5 1 2 Khong phan biet Doan con chung dai nhat: 3 4 5 0.5 0.5 10 6 1 2 1 2 1 2 1 2 2 2 1 2 Khong phan biet Doan con chung dai nhat: 2 1 2 0.5 0.5 PhÇn 2: Ch¬ng tr×nh mÉu Bµi 1: (6 ®iÓm) (************************************************ De thi tuyen sinh tin hoc 10 21/6/2008 Mon Tin hoc Bai 1 ************************************************) var N, q, tN, i: LongInt; Check: Boolean; BEGIN Write('N = '); ReadLn(N); tN := N; i := 0; repeat if i = 0 then begin tN := N; i := 1; end else begin tN := (N div (i*10)) * i + (N mod i); i := i*10; Trang 5 end; Check := tN > 1; for q:=2 to Trunc(Sqrt(tN)) do if tN mod q = 0 then begin Check := FALSE; break; end; if Check then break; until N div i = 0; if Check then begin if i = 1 then WriteLn('La so nguyen to') else begin WriteLn('Khong la so nguyen to'); WriteLn('Xoa duoc ', tN); end end else begin WriteLn('Khong la so nguyen to'); WriteLn('Khong xoa duoc'); end; END. Bµi 2: (6 ®iÓm) (************************************************ De thi tuyen sinh tin hoc 10 21/6/2008 Mon Tin hoc Bai 2 ************************************************) var A: array[1 100] of Byte; i, j: Word; N, xN, maxN, tmp: LongInt; Check: Boolean; BEGIN Write('N = '); ReadLn(maxN); Write('Tim duoc: '); for N:=1 to maxN do begin tmp := N; xN := 0; repeat xN := xN*10 + tmp mod 10; tmp := tmp div 10; until tmp = 0; Check := xN = N; if Check then begin tmp := N; i := 0; repeat Inc(i); A[i] := tmp mod 2; tmp := tmp div 2; until tmp = 0; for j:=1 to i div 2 do if A[j]<>A[i+1-j] then begin Check := FALSE; break; Trang 6 end; if Check then Write(N, ' '); end; end; END. Bµi 3: (8 ®iÓm) (************************************************ De thi tuyen sinh tin hoc 10 21/6/2008 Mon Tin hoc Bai 3 ************************************************) const MAX = 10000; var N: Integer; A, B: array[1 MAX] of Byte; i, j, l, iMax, jMax, lMax: Integer; M: array[Byte] of Boolean; Check: Boolean; BEGIN Write('N = '); ReadLn(N); Check := TRUE; FillChar(M, SizeOf(M), FALSE); for i:=1 to N do begin Write('A[', i, ']= '); ReadLn(A[i]); if M[A[i]] then Check := FALSE else M[A[i]] := TRUE; end; for i:=1 to N do begin Write('B[', i, ']= '); ReadLn(B[i]); if M[B[i]] then Check := FALSE else M[B[i]] := TRUE; end; if Check then WriteLn('Phan biet') else WriteLn('Khong phan biet'); lMax:=0; for i:=1 to N do for j:=1 to N do begin l:=0; while (i+l<=N) and (j+l<=N)and(A[i+l] = B[j+l]) do Inc(l); if l>lMax then begin lMax := l; iMax := i; jMax := j; end; end; if lMax = 0 then Write('Hai day khong co doan con chung') else begin Write('Doan con chung dai nhat: '); for l:=0 to lMax-1 do Trang 7 Write(A[iMax+l], ' '); end; END. ---------------HÕt--------------- Trang 8 . tạo Đề thi tuyển sinh lớp 10 thpt chuyên năm học 2008-2009 Tỉnh ninh bình Môn: Tin học Thời gian làm bài: 150 phút (không kể thời gian giao đề) (Đề thi. tạo Đáp án đề thi t/s lớp 10 thpt chuyên năm học 2008-2009 Tỉnh ninh bình Môn: Tin học Thời gian làm bài: 150 phút (không kể thời gian giao đề) (Đáp án

Ngày đăng: 13/09/2013, 22:10

Hình ảnh liên quan

Dữ liệu vào: In ra màn hình thông báo: “N =” và nhập N từ bàn phím. - Đề thi lập trình pascal

li.

ệu vào: In ra màn hình thông báo: “N =” và nhập N từ bàn phím Xem tại trang 1 của tài liệu.
Dữ liệu ra: In kết quả ra màn hình, mỗi thông báo trên một dòng. - Đề thi lập trình pascal

li.

ệu ra: In kết quả ra màn hình, mỗi thông báo trên một dòng Xem tại trang 1 của tài liệu.
- In ra màn hình thông báo: “n =” và nhập n. - Đề thi lập trình pascal

n.

ra màn hình thông báo: “n =” và nhập n Xem tại trang 2 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan