HSG Sơn Động 2011-2012
Chia sẻ bởi Lã Văn Lĩnh |
Ngày 16/10/2018 |
44
Chia sẻ tài liệu: HSG Sơn Động 2011-2012 thuộc Tin học 9
Nội dung tài liệu:
PHONG GD&ĐT SƠN ĐỘNG
KỲ THI OLYMPIC TIN HỌC KHÔNG CHUYÊN
NĂM 2012
THI OLYMPIC TIN HỌC
KHÔNG CHUYÊN
KHỐI THCS
Ngày thi: 27/11/2012
_____________________________________
ĐÁP ÁN VÀ HƯỚNG DẪN CHẤM
I. Phần thi trắc nghiệm:
Mỗi đáp án đúng được 1 điểm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
C
D
B
A
A
D
C
C
D
C
C
D
B
A
D
D
D
D
B
A
II. Phần thi thực hành:
Bài 1: Sử dụng 5 bộ Test, mỗi Test đúng được 5 điểm (25 điểm)
Chương trình:
Program Bai1;
Uses CRT;
Var a,b,c,cv, dt, p: read;
Begin
Clrscr;
Writeln(`Nhap do dai canh a: ‘);Readln(a);
Writeln(`Nhap do dai canh b: ‘);Readln(b);
Writeln(`Nhap do dai canh c: ‘);Readln(c);
cv:= a+b+c;
p:=(a+b+c)/2;
dt:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln(‘Chu vi tam giac la: ‘,cv:0:4) ;
Writeln(‘Dien tich tam giac la: ‘,dt:0:4);
Writeln(‘Duong cao canh thu 1 la: ‘,dt*2/a:0:4);
Writeln(‘Duong cao canh thu 2 la: ‘,dt*2/b:0:4);
Writeln(‘Duong cao canh thu 3 la: ‘,dt*2/c:0:4);
If (a=b) or (a=c) or (b =c) then writeln(‘Tam giac can’);
If (a*a =b*b+c*c) or (b*b=a*a+c*c) or (c*c=a*a+b*b) then
Writeln(‘Tam giac vuong’);
Readln;
End.
Bài 2: (25 điểm)
Chương trình:
Program Bai2;
Uses crt;
Var s:array[1..2000] of integer;
i:integer;
Begin
Clrscr;
for i:=0 to 1999 do s[i]:=i+1;
s[2000]:=1;
i:=1;
repeat
s[i]:=s[s[i]];
i:=s[i];
until
s[i]=i;
writeln(i);
readln;
End.
Bài 3: (15 điểm)
Chương trình:
Program Bai3;
Uses crt;
Var s: string;
Function mahoa(x : char) : char;
Var vtri : byte;
Begin
If upcase(x) in [`A`..`Z`] then
Begin
vtri := ord(upcase(x))-ord(`A`);
vtri := vtri+5;
mahoa := char( vtri mod 26+ord(`A`));
End
Else mahoa := x;
End;
Procedure mahoatu(s1 : string);
Var i : byte;
Begin
For i := 1 to length(s1) do write(mahoa(s1[i]));
Writeln;
End;
BEGIN
Clrscr;
Write(`Nhap tu can ma hoa: `); readln(s);
Write(`Ket qua ma hoa la: `) ;
mahoatu(S);
Rreadln
END.
KỲ THI OLYMPIC TIN HỌC KHÔNG CHUYÊN
NĂM 2012
THI OLYMPIC TIN HỌC
KHÔNG CHUYÊN
KHỐI THCS
Ngày thi: 27/11/2012
_____________________________________
ĐÁP ÁN VÀ HƯỚNG DẪN CHẤM
I. Phần thi trắc nghiệm:
Mỗi đáp án đúng được 1 điểm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
C
D
B
A
A
D
C
C
D
C
C
D
B
A
D
D
D
D
B
A
II. Phần thi thực hành:
Bài 1: Sử dụng 5 bộ Test, mỗi Test đúng được 5 điểm (25 điểm)
Chương trình:
Program Bai1;
Uses CRT;
Var a,b,c,cv, dt, p: read;
Begin
Clrscr;
Writeln(`Nhap do dai canh a: ‘);Readln(a);
Writeln(`Nhap do dai canh b: ‘);Readln(b);
Writeln(`Nhap do dai canh c: ‘);Readln(c);
cv:= a+b+c;
p:=(a+b+c)/2;
dt:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln(‘Chu vi tam giac la: ‘,cv:0:4) ;
Writeln(‘Dien tich tam giac la: ‘,dt:0:4);
Writeln(‘Duong cao canh thu 1 la: ‘,dt*2/a:0:4);
Writeln(‘Duong cao canh thu 2 la: ‘,dt*2/b:0:4);
Writeln(‘Duong cao canh thu 3 la: ‘,dt*2/c:0:4);
If (a=b) or (a=c) or (b =c) then writeln(‘Tam giac can’);
If (a*a =b*b+c*c) or (b*b=a*a+c*c) or (c*c=a*a+b*b) then
Writeln(‘Tam giac vuong’);
Readln;
End.
Bài 2: (25 điểm)
Chương trình:
Program Bai2;
Uses crt;
Var s:array[1..2000] of integer;
i:integer;
Begin
Clrscr;
for i:=0 to 1999 do s[i]:=i+1;
s[2000]:=1;
i:=1;
repeat
s[i]:=s[s[i]];
i:=s[i];
until
s[i]=i;
writeln(i);
readln;
End.
Bài 3: (15 điểm)
Chương trình:
Program Bai3;
Uses crt;
Var s: string;
Function mahoa(x : char) : char;
Var vtri : byte;
Begin
If upcase(x) in [`A`..`Z`] then
Begin
vtri := ord(upcase(x))-ord(`A`);
vtri := vtri+5;
mahoa := char( vtri mod 26+ord(`A`));
End
Else mahoa := x;
End;
Procedure mahoatu(s1 : string);
Var i : byte;
Begin
For i := 1 to length(s1) do write(mahoa(s1[i]));
Writeln;
End;
BEGIN
Clrscr;
Write(`Nhap tu can ma hoa: `); readln(s);
Write(`Ket qua ma hoa la: `) ;
mahoatu(S);
Rreadln
END.
* 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ẻ: Lã Văn Lĩnh
Dung lượng: 27,51KB|
Lượt tài: 0
Loại file: rar
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)