Trường THCS Song Mai Họ tên: Dương Thị Thu Trang ĐỀ BÀI Câu 1: (40 điểm) In INRA.PAS Cho số nguyên dương N, kiểm tra số chẵn hay số lẻ Yêu cầu: Số nguyên dương N nằm thỏa mãn ≤ N ≤ 32000 Dữ liệu vào: Cho file văn INRA.INP có cấu trúc sau: - Dòng 1: Ghi số nguyên dương N Dữ liệu ra: Ghi a file văn INRA.OUT có cấu trúc sau - Dòng 1: Ghi số nguyên dương N số chẵn hay lẻ theo thứ tự từ trái sang phải ghi cách dấu cách Ví dụ: TIMSO.INP TIMSO.OUT 21 21 số lẻ Câu 2: (35 điểm) Tìm số TIMSO.PAS Cho số nguyên dương X, đảo ngược trật tự chữ số X ta thu số nguyên dương Y, Y gọi số đảo ngược X Ví dụ: X = 613 Y = 316 số đảo ngược X Số nguyên dương Y gọi số nguyên tố có hai ước số nó, số số nguyên tố Cho hai số nguyên dương P Q (1 ≤ P ≤ Q ≤ 2109; Q - P ≤ 105) Yêu cầu: Hãy tìm tất số nguyên dương X nằm thỏa mãn P ≤ X ≤ Q số đảo ngược số X số nguyên tố Dữ liệu vào: Cho file văn TIMSO.INP có cấu trúc sau: - Dòng 1: Ghi hai số nguyên dương P Q, hai số ghi cách dấu cách Dữ liệu ra: Ghi file văn TIMSO.OUT nhiều dòng, dòng ghi số ngun X tìm dược Ví dụ: TIMSO.INP TIMSO.OUT 10 19 11 13 14 16 17 Câu 3: (35 điểm) Tính tổng TONG.PAS Cho hai số nguyên dương M N, M có p chữ số N có q chữ số Yêu cầu: Tính tổng hai số M N Dữ liệu vào: Cho file văn TONG.INP có cấu trúc sau: - Dòng 1: Ghi số nguyên dương p số lượng chữ số M (1 ≤ p ≤ 30000) - Dòng 2: Ghi p chữ số M theo thứ tự từ trái sang phải, chữ số ghi cách dấu cách - Dòng 3: Ghi số nguyên dương q số lượng chữ số N (1 ≤ q ≤ 30000) - Dòng 4: Ghi q chữ số N theo thứ tự từ trái sang phải, chữ số ghi cách dấu cách Dữ liệu ra: Ghi file văn TONG.OUT theo cấu trúc sau: - Dòng 1: Ghi số nguyên dương k số lượng chữ số tổng tìm - Dòng 2: Ghi k chữ số tổng tìm theo thứ tự từ trái sang phải, chữ số ghi cách dấu cách Ví dụ: TONG.INP TONG.OUT 6 2 3 2 Hướng dẫn chấm Chương trình gợi ý: Câu 1: (40 điểm) In Program Tim_so; Const fi=' INRA.INP'; fo='INRA.OUT' ; Var N:integer; Procedure Read_Data; Var F:text; Begin Assign(f,fi); Reset(f); Read(f,N); Close(f); End; Procedure Write_Data; Var f:text; Begin Assign(f,fo); Rewrite(f); Write(fo,N); If (N mod = 0) then Write(fo,’ la so chan’) else Write(fo ,’ la so le’); Close(f); End; BEGIN Read_Data; Write_Data; END Câu 2: (35 điểm) Tìm số Program Tim_so; Const fi='TIMSO.INP'; fo='TIMSO.OUT' ; Var P,Q:longint; Time:Longint; Times:Longint absolute 0:$46C; Function NT(K:longint):Boolean; Var Can,i:Longint; Begin If (K=2) or (K=3) then Begin NT:=True;Exit; End; If (K0 then Begin Writeln(f,Top+1); Write(f,C^[0],' '); End Else Writeln(f,Top); For i:=1 to Top Write(f,C^[i], ' '); Close(f); Dispose(C); End; BEGIN Read_Data; Init; Process; Write_Data; END