6 điểm: Em hãy sử dụng phần mềm Scratch để thực hiện các công việc sau: a Vẽ hình ở bên phải.. Bộ 3 số thỏa mãn tính chất này được gọi là bộ số Pytago.. c Tìm ước chung lớn nhất của tấ
Trang 1PHÒNG GD&ĐT TP LÀO CAI
TRƯỜNG THCS LÝ TỰ TRỌNG
ĐỀ THI CHỌN HSG LỚP 9 CẤP TRƯỜNG
NĂM HỌC 2018 - 2019 Môn: Tin học
(Thời gian làm bài 150 phút không kể thời gian giao đề )
(Đề thi có 01 trang)
Câu 1 (6 điểm): Em hãy sử dụng phần mềm
Scratch để thực hiện các công việc sau:
a) Vẽ hình ở bên phải
b) Nhập vào một số nguyên 𝑁, tính tổng các chữ
số tạo thành nó?
Ví dụ: với 𝑁=123 thì in ra tổng các chữ số bằng 6;
với 𝑁=12345 thì in ra tổng các chữ số bằng 15
c) In ra số đảo ngược của một số vừa nhập vào:
Ví dụ: Nhập vào số 123 thì in ra số 321
Câu 2 (4 điểm): Nhập vào từ bàn phím một số nguyên dương 𝑁, sau đó nhập một dãy có 𝑁 số nguyên dương 𝑎1, 𝑎2, 𝑎3, … 𝑎𝑁 (𝑁 ≤ 100, 0 ≤ 𝑎𝑖 ≤ 9) Em hãy
sử dụng tất cả các số trong dãy vừa nhập để in ra số nguyên dương lớn nhất, bé nhất
có thể tạo thành từ các số trên?
Ví dụ: Nhập vào dãy số: 1, 0, 0, 2, 3, 4, 9, 1, 9 là số lớn nhất là: 994321100, số
bé nhất là: 100123499
Câu 3 (6 điểm): Nhập vào từ bàn phím một số nguyên dương 𝑁, sau đó nhập một dãy có 𝑁 số nguyên dương: 𝑎1, 𝑎2, 𝑎3, … 𝑎𝑁 (3 ≤ 𝑁 ≤ 100)
a) Đếm xem trong dãy trên có bao nhiêu số nguyên tố?
b) Đếm xem trong dãy trên có bao nhiêu bộ 3 số 𝑎𝑖, 𝑎𝑗, 𝑎𝑘(𝑖 ≠ 𝑗 ≠ 𝑘) thỏa mãn
𝑎𝑖2+ 𝑎𝑗2 = 𝑎𝑘2 Bộ 3 số thỏa mãn tính chất này được gọi là bộ số Pytago
c) Tìm ước chung lớn nhất của tất cả các số trong dãy trên
Câu 4 (4 điểm): Có một con ốc sên bò lên một chiếc cọc cao 𝐻, cứ vào ngày
lẻ thì: ban ngày nó bò lên một đoạn có độ dài 𝑎1, ban đêm nó lại bò xuống một đoạn
độ dài 𝑏1; còn vào ngày chẵn thì: ban ngày nó bò lên một đoạn có độ dài 𝑎2, ban đêm nó lại bò xuống một đoạn độ dài 𝑏2 Hỏi sau bao nhiêu ngày thì nó bò lên đến đỉnh cọc Biết 𝐻, 𝑎1, 𝑏1, 𝑎2, 𝑏2 là các số nguyên dương được nhập vào từ bàn phím thỏa mãn: 𝑎1≥ 𝑏1; 𝑎2 ≥ 𝑏2; 𝐻 ≥ 𝑎1; 𝐻 ≥ 𝑎2 và ngày đầu tiên là ngày lẻ
Ví dụ: 𝐻 = 10; 𝑎1= 4; 𝑏1 = 2; 𝑎2 = 3; 𝑏2 = 2 thì sau 5 ngày con ốc sên lên được đến đỉnh cọc
-HẾT -
Họ và tên học sinh: SBD:
ĐỀ CHÍNH THỨC
Trang 2PHÒNG GD&ĐT TP LÀO CAI
TRƯỜNG THCS LÝ TỰ TRỌNG
HDC THI CHỌN HSG LỚP 9 CẤP TRƯỜNG
NĂM HỌC 2018 - 2019 Môn: Tin học
Nguyên tắc chấm:
- Dựa theo bài làm của học sinh để cho điểm,
- Chấm cả ý tưởng về thuật toán của học sinh trong trường hợp chương trình chưa hoàn thiện
- Học sinh giải bằng cách khác, tuy nhiên cho cùng kết quả đúng cuối cùng vẫn cho đủ số điểm thành phần
- Dữ liệu nhập vào để kiểm tra chương trình phải đảm bảo chính xác, không bắt bí học sinh, do vậy học sinh không cần phải kiểm tra tính hợp lệ của
dữ liệu nhập vào
Bài 1: Chấm dựa theo chương trình chạy của học sinh
Bài 2:
var a:array[1 100] of integer;
n,i,j:integer;
procedure sapxep();
var i,j,tg:integer;
begin
for i:=1 to n do
for j:=i+1 to n do
if (a[i]>a[j]) then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
end;
1,5đ
BEGIN
write('Nhap so chu so N= ');
readln(n);
for i:=1 to n do
begin
write('Nhap so hang thu ',i, ': ');
readln(a[i]);
end;
0,5 đ
sapxep();
write('So lon nhat duoc tao thanh la: ');
for i:=n downto 1 do
write(a[i]);
writeln;
i:=1;
0,5 đ
HDC CHÍNH THỨC
Trang 3while (a[i]=0) do inc(i);
if (a[1]=0) then
begin
a[1]:=a[i]; a[i]:=0;
end;
write('So be nhat duoc tao thanh la: ');
for i:=1 to n do write(a[i]);
readln
END
1,5 đ
Bài 3:
var n,i,j,k,uc,demNguyento,demPytago:integer;
a:array[1 100] of integer;
procedure sapxep();
var i,j,tg:integer;
begin
for i:=1 to n do
for j:=i+1 to n do
if (a[i]>a[j]) then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
end;
1,0 đ
function ktnt(n:integer):boolean;
var i,dem:integer;
begin
dem:=0;
for i:=1 to n do
if (n mod i=0) then inc(dem);
if (dem=2) then ktnt:=true else ktnt:=false;
end;
1,0đ
function ucln(a,b:integer): integer;
var i:integer;
begin
for i:=1 to a do
if (a mod i =0) and (b mod i=0) then ucln:=i;
end;
1,0 đ
BEGIN
write('Nhap so chu so N= ');
readln(n);
for i:=1 to n do
begin
write('Nhap so hang thu ',i,': ');
readln(a[i]);
end;
demNguyento:=0;
demPytago:=0;
for i:=1 to n do
if (ktnt(a[i])) then inc(demNguyento);
writeln('Day so vua nhap co: ',demNguyento,' so nguyen to');
1,0đ
Trang 4sapxep();
demPytago:=0;
for i:=1 to n-2 do
for j:=i+1 to n-1 do
for k:=j+1 to n do
if (a[i]*a[i]+a[j]*a[j]=a[k]*a[k]) then inc(demPytago);
writeln('Day so vua nhap co: ',demPytago,' bo so Pytago');
1,0đ
uc:=ucln(a[1],a[2]);
for i:=3 to n do
uc:=ucln(uc,a[i]);
writeln('Uoc chung lon nhat cua day so tren la: ',uc);
readln;
END
1,0đ
Bài 4:
var h,a1,a2,b1,b2,songay,docao:integer;
BEGIN
write('Nhap du lieu vao theo thu tu H, a1, a2, b1, b2: ');
readln(H, a1, b1, a2, b2);
docao:=0;
songay:=1;
0,5đ
while (docao<h) do
begin
if (songay mod 2=1) then
if (docao+a1>=H) then break
else
begin
docao:=docao+a1-b1;
inc(songay);
end;
1,5đ
if (songay mod 2=0) then
if (docao+a2>=H) then break
else
begin
docao:=docao+a2-b2;
inc(songay);
end;
end;
1,5đ
writeln;
write('So ngay de oc sen leo len den dinh co la: ',songay);
readln;
END
0,5đ