Đề thi học sinh giỏi Tin học lớp 9 (Có đáp án)

doc 6 trang Người đăng dothuong Lượt xem 12492Lượt tải 3 Download
Bạn đang xem tài liệu "Đề thi học sinh giỏi Tin học lớp 9 (Có đáp án)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Đề thi học sinh giỏi Tin học lớp 9 (Có đáp án)
Bài 1 (3 điểm) Tính tổng các số nguyên dương có trong một chuỗi. 
Yêu cầu:
- Chương trình cho phép nhập vào một chuỗi gồm nhiều ký tự và có ít nhất một số nguyên dương
- Xuất ra màn hình chuỗi đã nhập
- Xuất tổng các số nguyên dương có trong chuỗi
Ví dụ:
Input
Output
abcAcb90acgH3abcb12bdcnhag
Chuoi da nhap: abcAcb90acgH3abcb12bdcnhag
Tong cac so co trong chuoi: 105
bacDgfhrthg
Nhap sai! Yeu cau nhap lai:
Bài 2 (3,5điểm) Đếm số lần xuất hiện của các ký tự trong xâu
Yêu cầu: Nhập xâu ký tự bao gồm các chữ cái tiếng Anh. Hãy kiểm tra số lần xuất hiện của các ký tự trong xâu và ký tự xuất hiện nhiều lần nhất
Dữ liệu vào: 
Gồm 3 dòng, mỗi dòng chứa một xâu ký tự, độ dài xâu ký tự không vượt quá 100 ký tự.
Kết quả:
Ghi trên các dòng số lần xuất hiện của các ký tự trong xâu và ký tự xuất hiện nhiều lần nhất trong xâu đó
Ví dụ:
Input
Output
-aaaaAabb
- Ký tự “a” xuất hiện 6 lần trong xâu
- Ký tự “b” xuất hiện 2 lần trong xâu
- Ký tự “a” xuất hiện nhiều lần nhất
Bài 3 (3,5 điểm). Viết chương trình nhập vào một dãy số nguyên n phần tử, n nhập từ bàn phím.
Yêu cầu
- In ra màn hình dãy số vừa nhập xếp theo thứ tự tăng dần.
- In ra màn hình các số nguyên tố trong dãy số vừa nhập và đếm xem đã nhập vào bao nhiêu số nguyên tố.
Ví dụ:
Input
Output
N = 6
a[1]=3; a[2]=-12; a[3]=-789; a[4]=71; a[5]=8; a[6]=3456;
Mang sau khi sap xep: -789, -12, 3, 8, 71, 3456
Nhung so nguyen to trong mang 3 71
So phan tu la so nguyen to trong mang la: 2 
----- Hết-----
ĐÁP ÁN
MÃ CODE
Bài 1: 3đ
program bai1;
Uses crt;
Var
 st,s1,tam:string;
 i,n,e,tong:integer;
 kt:boolean;
BEGIN
 clrscr;
 kt:=false;
 repeat
 write('Nhap chuoi gom ky tu va so: '); readln(st);
 for i:=1 to length(st) do if st[i] in ['0'..'9'] then kt:=true;
 if kt = false then
 begin
 write('Nhap sai! Yeu cau nhap lai: '); readln(st)
 end;
 until kt=true;
 s1:=st;
 for i:=1 to length(s1) do if not(s1[i] in ['0'..'9']) then s1[i]:=#32;
 repeat
 delete(s1,pos(#32#32,s1),1);
 until pos(#32#32,s1) = 0;
 if s1[1]=#32 then delete(s1,1,1);
 if s1[length(s1)]=#32 then delete(s1,length(s1),1);
 tam:=''; s1:=s1+#32; tong:=0;
 for i:=1 to length(s1) do if s1[i]#32 then tam:=tam+s1[i] else 
begin
 val(tam,n,e);
 tong:=tong+n;
 tam:='';
 end;
 writeln('Chuoi da nhap: ',st);
 write('Tong cac so co trong chuoi: ', tong);
 readln
end.
Bài 2: 3,5đ
Program bai2;
var
 st:string;
 max,i,n:integer;
 ch:char;
 a:string;
 dem:array['A'..'Z'] of integer;
begin
clrscr;
writeln('xau can nhap la:'); readln(st) ;
for i:=1 to length(st) do
st[i]:=upcase(st[i]);
for ch:='A' to 'Z' do dem[ch]:=0;
for i:=1 to length(st) do
if (st[i]>='A') and (st[i]<='Z') then dem[st[i]]:=dem[st[i]]+1;
for ch:='A' to 'Z' do
if dem[ch]>=1 then
writeln('ki tu ',ch,' xuat hien ',dem[ch],' lan');
max:=0;
for ch:='A' to 'Z' do
if dem[ch]>=max then max:=dem[ch];
for ch:='A' to 'Z' do
if dem[ch]=max then
writeln('ki tu dai nhat co do dai la ’,max);
readln;
writeln;
end.
Bài 3 ( 3,5 điểm). 
 Chương trình tham khảo
Điểm
Uses crt;
Var
 A: Array[1..100] of Integer;
 n,i,j,dem: Byte;
 tg: Integer;
function NT(n:longint):boolean;
 var i:longint;
 Kt:boolean;
 begin
 Kt:=true;
 for i:=2 to round(sqrt(n)) do
 if n mod i=0 then Kt:=false;
 NT:=Kt;
 end;
Begin
 Write('Hay nhap vao so phan tu cua mang:');
 Readln(n);
 For i:= 1 to n do
 Begin
 Write('Nhap a[',i,']= '); Readln(a[i]);
 End;
 For i:= 1 to n-1 do
 For j:= i to n do
 If a[i]>a[j] then
 Begin
 	tg:= a[i];	
 a[i]:=a[j];	
 a[j]:= tg;
	 End;
 Writeln('Mang sau khi da sap xep la');
 For i:= 1 to n do Write(a[i]:3,’,’);
 Writeln;dem:=0;
Writeln('Nhung so nguyen to trong mang la');
For i:=1 to n do
 If (a[i]>=2) and NT(a[i]) then
 Begin
 Write(a[i]:7); dem:= dem+1;
 End;
 Writeln; Writeln('so phan tu la so nguyen to trong mang la:',dem) ;
Readln;
End.
 0,25
 0,75
 1,0
 0,5
 0,5
 0,25
 0,25
Ghi chú: Học sinh có thể không sử dụng chương trình con nhưng chạy đúng kết quả test vẫn cho điểm tối đa.
Bộ Test thử
N = 6;a[1]=3; a[2]=-12; a[3]=-789; a[4]=71; a[5]=8; a[6]=3456;
Mang sau khi sap xep: -789 -12 3 8 71 3456
Nhung so nguyen to trong mang 3 71
 So phan tu la so nguyen to trong mang la: 2 

Tài liệu đính kèm:

  • docDe_thi_hoc_sinh_gioi_tin_hoc.doc