Lưu ý: - Mỗi bài tập có nhiều cách giải, nếu HS có cac cách giải khác nhau ta chỉ xét kết quả.[r]
(1)SỞ GD & ĐT QUẢNG NGÃI ĐÁP ÁN ĐỀ THI HỌC SINH GIỎI CẤP TRƯỜNG TRƯỜNG THPT TRẦN QUANG DIỆU MÔN: TIN HỌC LỚP 11 – NĂM HỌC 2010 -2011 Thời gian: 120 phút Bµi 1: (7 đ) Var A:array[1 10,1 10] of integer; Max:integer; N,i,j: Byte; Begin Write('Moi nhap N='); Readln(N); Writeln('Moi nhap cac phan tu mang:'); For i:=1 to N For j:=1 to N Begin write('A[',i,',',j,',',']'); readln(A[i,j]) End; Max:=A[1,1]; Write('Cac phan tu tren duong cheo chinh: '); For i:=1 to N For j:=1 to N Begin if i=j then write(a[i,j],' '); if Max<A[i,j] then Max:=A[i,j]; end; Writeln; Writeln('Gia tri lon nhat= ',Max); Write('Vi tri: '); For i:=1 to N For j:=1 to N If A[i,j]=Max then write('(',i,',',j,')'); Readln End Bµi 2: (4 đ) Var A:array[1 50] of integer; S:integer; N,i,dau, cuoi: Byte; Begin Write('Moi nhap N='); Readln(N); Writeln('Moi nhap cac phan tu mang:'); For i:=1 to N Begin write('A[',i,']='); readln(A[i]) ; End; S:=0; i:=1; While A[i]<>0 i:=i+1; Dau:=i; i:=N; While A[i]<>0 i:=i-1; Cuoi:=i; For i:=dau to cuoi S:=S+A[i]; (2) Writeln('Tong cac so giua so 0= ',S); Readln End Bµi 3: (4 đ) Var St:String; dem: Array[‘A’ ’Z’] Of Byte; i:Byte; ch:Char; Begin Write(‘Nhap xau St: ‘); Readln(St); {Khởi tạo mảng} For ch:=’A’ To ‘Z’ Do dem[ch]:=0; {Duyệt xâu} For i:=1 To Length(St) Do If Upcase(St[i]) IN [‘A’ ’Z’] Then Inc(dem[Upcase(St[i])]); {Liệt kê các ký tự màn hình} For ch:=’A’ To ‘Z’ Do If dem[ch]>0 Then Writeln(ch,’ : ’,dem[ch]); Readln; End Bµi 4: (5 đ) Var R,S,i,j,d:Word; T:Word; Begin Write('Moi nhap R, S:'); Readln(R,S); Write('Cac so hoan thien: '); d:=0; For i:=R to S Begin T:=0; For j:=1 to i-1 if i mod j=0 then T:=T+j; if T=i then Begin d:=d+1; write(i,' '); end; End; If d=0 then Write('khong tim thay'); Readln; End Lưu ý: - Mỗi bài tập có nhiều cách giải, HS có cac cách giải khác ta xét kết ========o0o======== (3)