ĐỀ THI CHỌN HỌC SINH GIỎI LỚP Năm học 2010-2011 MÔN THI: TIN HỌC Thời gian: 90 phút (làm trực tiếp máy) PHÒNG GIÁO DỤC VÀ ĐÀO TẠO QUẢNG NINH Câu (3,0 điểm): Viết chương trình nhập vào bốn số nguyên tìm số lớn số Câu (3,5 điểm): Viết chương trình tính tích số tự nhiên liên tiếp (đọc giai thừa n, viết n! quy ước: 0! = 1; 1! =1) Câu (4,0 điểm): Viết chương trình nhập vào dãy số nguyên có n phần tử Sắp xếp dãy theo thứ tự tăng dần in kết hình Nhập số x bất kì, đếm số lần xuất dãy *Lưu ý: Thí sinh sau làm xong lưu lại thành tệp có tên: Ho_va_ten_SBD.pas Ví dụ thí sinh: Nguyễn Văn Hùng; số báo danh 12 lưu lại tệp có tên là: nguyen_van_hung_12.pas HƯỚNG DẪN CHẤM HSG MÔN TIN HỌC Câu (3,0 điểm): program Tim_so_lon_nhat; uses crt; Var a,b,c,d,Max1,Max2,Max: Integer; Begin Clrscr; Writeln ('Nhap vao bon so: '); Write ('a= '); Readln(a); Write ('b= '); Readln(b); Write ('c= '); Readln(c); Write ('d= '); Readln(d); If a>b then Max1:=a; Else Max1:=b; If c>d then Max2:=c; Else Max2:=d; If Max1>Max2 then Max:=Max1; Else Max:=Max2; Writeln ('so lon nhat bon so la: '); Writeln (Max:10); Readln; end Câu (3,0 điểm): Program tinh_giai_thua; Uses crt; Var n,i: integer; Giaithua: longint; begin clrscr; Write ('Nhap vao gia tri n: '); Readln(n); If (n=0) then giaithua:=1 Else Begin giaithua:=1; For i:=1 to n giaithua:=giaithua*i; end; Writeln('giai thua cua: ',n,' la: ',giaithua); Readln; End Câu (4,0 điểm): Program Day_so; Uses Crt; Var t,n,i,j, x, dem:integer; a: array [1 20] of integer; Begin clrscr; Writeln('Sap xep day so;'); write('Nhap so phan tu cua day n ='); Readln(n); For i:=1 to n Begin Write('a[',i,']='); Readln (a[i]); end; For i:= to n-1 For j:=i+1 to n If a[i]>a[j] then Begin t:=a[i]; a[i]:=a[j]; a[j]:=t; End; Writeln('Day sau sap xep la:'); For i:=1 to n Writeln(a[i]:3); {Nhap vao mot so dem so lan xuat hien} Write('Nhap vao so x='); Readln(x); dem:=0; For i:=1 to n if a[i]=x then dem:=dem+1; Write('So lan xuat hien cua ',x,' la:', dem); Readln; end ... Program tinh_giai_thua; Uses crt; Var n,i: integer; Giaithua: longint; begin clrscr; Write ('Nhap vao gia tri n: '); Readln(n); If (n=0) then giaithua:=1 Else Begin giaithua:=1; For i:=1 to n giaithua:=giaithua*i;.. .H ỚNG DẪN CHẤM HSG MÔN TIN H C Câu (3,0 điểm): program Tim_so_lon_nhat; uses crt; Var a,b,c,d,Max1,Max2,Max: Integer; Begin Clrscr; Writeln ('Nhap vao bon so: '); Write... i:=1 to n Writeln(a[i]:3); {Nhap vao mot so dem so lan xuat hien} Write('Nhap vao so x='); Readln(x); dem:=0; For i:=1 to n if a[i]=x then dem:=dem+1; Write('So lan xuat hien cua ',x,' la:', dem);