Thi hoc sinh gioi tin pgdhoian

Chia sẻ bởi Trần Trung Đức | Ngày 06/11/2018 | 33

Chia sẻ tài liệu: thi hoc sinh gioi tin pgdhoian thuộc Tin học 9

Nội dung tài liệu:

UBND THÀNH PHỐ HỘI AN
PHÒNG GIÁO DỤC& ĐÀO TẠO
----------
ĐỀ CHÍNH THỨC
ĐỀ THI HỌC SINH GIỎI NĂM HỌC 2010-2011
Môn: Tin học 9
Thời gian làm bài: 150 phút
(Không kể thời gian giao đề)

Bài 1: Hoán vị ( 3 điểm)
Tên file bài làm là: bailam1.pas
Viết chương trình liệt kê tất cả các hoán vị của tập {1, 2, ..., n}
Ví dụ : Khi nhập dữ liệu vào là 3
Dữ liệu xuất ra của các hoán vị là
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
Bài 2: Số nguyên tố ( 3 điểm)
( 3 điểm ) Tên file bài làm là: bailam2.pas
Với mỗi số tự nhiên N ( 1 ( N ( 1000). Tìm các số tự nhiên M ( N thoả mãn:
+/ M là một số nguyên tố.
+/ Tổng các chữ số của M cũng là một số nguyên tố.
Yêu cầu: Nhập số tự nhiên N (1 ( N ( 1000). Thông báo số lượng các số tự nhiên M thỏa mãn các yêu cầu trên, đó là các số nào?
Dữ liệu vào Số tự nhiên N
Dữ liệu ra Dòng 1: Ghi các số M thỏa mãn yêu cầu
Dòng 2: Số lượng các số tự nhiên M thỏa mãn
Ví dụ: Dữ liệu vào 10
Dữ liệu ra
2 3 5 7
4
Bài 3 :Số bền( 4 điểm)
Tên file bài làm là: bailam3.pas
Năm 1973, nhà Toán học Neil Sloan đưa ra khái niệm độ bền của một số nguyên không âm N như sau:
Nếu N có một chữ số thì độ bền của N bằng 0.
Nếu N có từ 2 chữ số trở lên thì độ bền của N bằng độ bền của số nguyên là tích các chữ số của N cộng 1.
Cho N, tính độ bền của N.
Dữ liệu vào từ file văn bản: sobent.inp
Dòng 1: Số nguyên N (0 ≤ N ≤ 2.000.000.000).
Kết quả ghi ra file văn bản: soben..out
Dòng 1: Số nguyên là độ bền của N.
Ví dụ
soben.inp
soben.out
Giải thích

99
2
Doben(99)=Doben(81)+1=Doben(8)+1+1=0+1+1=2

-----------------------------o0o-----------------------------------
Cán bộ coi thi không giải thích gì thêm.

HƯỚNG DẪN CHẤM TIN HỌC 9 NĂM HỌC 2010-2011

Đáp án bài 1: ( 3 đ)

program hoanvi;
uses Crt;
var
kt:array[1..50] of boolean;n:byte;
x:array[1..50] of byte;
-----------------------------------------> 0,5đ
procedure try(j:byte);var k,i:byte;
begin
for i:=1 to n do
if kt[i] then
begin
x[j]:=i;
kt[i]:=false;
if j=n then
begin
for k:=1 to n do write(x[k]:4);
writeln;
end
else try(j+1);
kt[i]:=true;
end;
end;
------------------------------------------> 1 đ
procedure lietke(n:byte);var i:byte;
begin
for i:=1 to n do kt[i]:=true;
try(1);
end;
-------------------------------------------> 1đ
begin
writeln(`nhap so chu so can hoan vi`);
readln(n);
writeln(`cac hoan vi la:`);
lietke(n);
readln;
end.
--------------------------------------------> 0,5 đ
===================================================
Đáp án bài 2 ( 3 đ)
Program bai2;
Var m,n,i,j,k,d:Longint;
Function nto(n:Longint):Longint;
Var i:Longint;
Begin
d:=0;
For i:=2 to n div 2 do
If N mod i = 0 then Inc(d);
If (d=0)and(n<>1) then nto:=n;
End;
---------------------------------------------------------> 0,75 đ
Function Sum(m:Longint):Longint;
Var s:Longint;

Begin
s:=0;
Repeat
s:=s+ m mod 10;
m:= m div 10;
Until m=0;
Sum:=s;
End;
---------------------------------------------------------> 0,75 đ
Procedure XULI;
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Trần Trung Đức
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)