Đề thi HSG Tin 9 tỉnh Bình Định năm 2014-2015
Gửi bởi: Nguyễn Minh Lệ 27 tháng 10 2021 lúc 22:49:23 | Được cập nhật: 27 tháng 4 lúc 12:20:20 | IP: 14.165.7.152 Kiểu file: DOC | Lượt xem: 110 | Lượt Download: 3 | File size: 0.057856 Mb
Nội dung tài liệu
Tải xuống
Link tài liệu:
Các tài liệu liên quan
- Đề thi học kì 2 Tin 9 trường THCS Nguyễn Chí Thanh năm 2021-2022
- Đề thi học kì 1 Tin 9 trường THPT Phan Châu Trinh năm 2021-2022
- Đề thi học kì 2 Tin 9 trường PTDTBT - THCS Liên xã La Êê- Chơ Chun năm 2021-2022
- Đề thi học kì 1 Tin 9 trường THCS Đông Hưng A năm 2021-2022
- Đề thi học kì 1 Tin 9 trường THCS Đức Lân năm 2021-2022
- Đề thi học kì 2 Tin 9 trường THCS Nhơn Bình năm 2019-2020
- Đề thi giữa kì 1 Tin 9 trường THCS Thị trấn Thới Lai năm 2020-2021
- Đề thi giữa kì 1 Tin 9 trường THCS Thị trấn Thới Lai năm 2020-2021
- Đề thi giữa kì 1 Tin 7 trường THCS Phú Xuân năm 2020-2021
- Đề thi học kì 2 Tin 9 trường THCS Bắc Lệnh năm 2020-2021
Có thể bạn quan tâm
Thông tin tài liệu
SỞ GIÁO DỤC ĐÀO TẠO
BÌNH ĐỊNH
ĐỀ CHÍNH THỨC
KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH LỚP 9 THCS
KHÓA NGÀY: 18-3-2015
Môn thi: TIN HỌC
Thời gian: 150 phút (không kể thời gian phát đề)
Ngày thi: 18/3/2015
Tổng quan bài thi:
Bài
Tên bài
Tên tệp
chương trình
1
Liên phân số
LIENPS.PAS
2
3
Số nguyên tố cùng nhau
Tìm đường hái quả
NTCN.PAS
HAIQUA.PAS
Tên tệp
dữ liệu vào
Nhập từ
bàn phím
NTCN.INP
HAIQUA.INP
Tên tệp
dữ liệu ra
Xuất trên
màn hình
NTCN.OUT
HAIQUA.OUT
Bài 1: Liên phân số (7,0 điểm):
Số hữu tỉ dương a/b luôn được biểu diễn dưới dạng một liên phân số hữu hạn:
Liên phân số này ký hiệu là [q 0,q1,q2,...,qn], trong đó q00; q1,q2,...,qn là những số nguyên
dương; qn>1; n gọi là độ dài của liên phân số.
Hãy viết chương trình biến đổi một phân số a/b thành liên phân số hữu hạn.
Dữ liệu vào là hai số nguyên dương a, b nhập từ bàn phím để biểu diễn phân số a/b.
Dữ liệu ra là một dòng gồm các số q0,q1,q2,...,qn biểu diễn dạng liên phân số của phân số a/b. Các số
viết cách nhau ít nhất một khoảng cách.
Ví dụ:
Input
Output
a=7
122
b=5
Bài 2: Số nguyên tố cùng nhau: (7,0 điểm):
Hai số nguyên dương được gọi là nguyên tố cùng nhau nếu ước số chung lớn nhất của chúng
bằng 1.
Cho N số nguyên dương A1,A2,...,AN. Gọi M là giá trị lớn nhất trong các số A1,A2,...,AN.
Viết chương trình tìm số nguyên dương X lớn nhất không vượt quá M mà X nguyên tố cùng
nhau với tất cả các số A1,A2,...,AN.
Dữ liệu vào là tệp NTCN.Inp có cấu trúc như sau:
- Dòng đầu là số nguyên dương N (N100).
- N dòng tiếp theo, mỗi dòng chứa một giá trị tương ứng A1,A2,...,AN (Ai1000;i=1,2,...,N).
Dữ liệu ra là tệp NTCN.Out chứa số nguyên X tìm được thỏa mãn điều kiện của bài toán.
Ví dụ:
NTCN.Inp
NTCN.Out
3
13
4
12
15
Bài 3: Tìm đường hái quả (6,0 điểm):
Một khu vườn hình chữ nhật kích thước MxN được chia thành các ô vuông đơn vị để
trồng một loại cây ăn quả. Trên mỗi ô thì số quả tương ứng có thể hái được là A[i,j]
(1iM; 1jN).
Một người khách dạo qua vườn và hái tất cả các quả trên những ô đi qua. Vị trí xuất phát từ ô
[1,1] và kết thúc tại ô [M,N] với hành trình là sang ô chung cạnh theo hướng tăng của i hoặc j
(sang phải hoặc đi xuống – như hình vẽ). Hãy viết chương trình tìm lộ trình đi của người đó để
hái được nhiều quả nhất.
1
3
5
7
2
7
9
4
2
2
2
3
1
6
7
7
4
6
2
5
Dữ liệu vào là tệp HAIQUA.INP có cấu trúc như sau:
- Dòng đầu tiên là hai số M, N nguyên dương cách nhau một khoảng cách (0
0 do
Begin
r:=x mod y;
x:=y;
y:=r;
End;
Uc:=x;
End;
Procedure Psrg;
Var m:Word;
Begin
m:=Uc(a,b);
a:=a div m;
b:=b div m;
End;
Procedure Xuli;
Begin
k:=0;
Repeat
If a>b then
Begin
q[k]:= a div b;
a:= a mod b;
End
Else
Begin
q[k]:= b div a;
b:= b mod a;
End;
inc(k);
Until (a=1) or (b=1);
If a1 then q[k]:=a
Else q[k]:=b;
For i:=0 to k do
Write(q[i],' ');
End;
Begin
Clrscr;
Repeat
Write('Nhap a: '); Readln(a);
Write('Nhap b: '); Readln(b);
Until (a>0) and (b>0);
Psrg;
If a<=b then Write(0,' ',b)
Else Xuli;
Readln
End.
Câu 2: NTCN.Pas:
Uses
Type
Const
Crt;
mmc=Array[1..100] of Word;
fi='D:\Ntcn.Inp';
fo='D:\Ntcn.Out';
Var
i,n,m:Byte;
a:mmc;
f,g:Text;
Function Uc(x,y:Word):Boolean;
Var r:Word;
Begin
While y0 do
Begin
r:=x mod y;
x:=y;
y:=r;
End;
If x=1 then Uc:=True
Else Uc:=False;
End;
Function mUc(c:mmc;k:Byte;m:Word):Boolean;
Var i:Byte;
kt:Boolean;
Begin
Kt:=True;
For i:=1 to k do
Kt:=(Uc(m,c[i]) and Kt);
mUc:=Kt;
End;
Function Max(c:mmc;k:Byte):Word;
Var
i:Byte;
m:Word;
Begin
m:=a[1];
For i:=2 to k do
If ma[i,j+1] then
Begin
inc(i);
max:=max+a[i,j];
b[k]:=a[i,j];
End
Else
Begin
If a[i+2,j]>a[i,j+2] then
Begin
inc(i);
max:=max+a[i,j];
b[k]:=a[i,j];
End
Else
inc(j);
max:=max+a[i,j];
b[k]:=a[i,j];
End;
End;
Dec(k);
Assign(g,fo);
Rewrite(g);
Writeln(g,max);
For i:=1 to k do
Write(g,b[i],' ');
Close(g);
End.
Lưu ý:
1. Chưa Test đủ các trường hợp: a[i+h,j] và a[i,j+k] (1