Đề thi chọn học sinh giỏi cấp huyện năm học 2012-2013 môn thi: tin học
Bài 1: (3 điểm)
Viết chương trình nhập thời gian làm việc là x giây, chuyển đổi và đưa ra màn hình số giấy trên ra giờ, phút, giây.
Bài 2: (5 điểm)
Viết chương trình cho phép phân loại tam giác khi biết số đo ba cạnh.
Yêu cầu:
Dữ liệu vào: Số đo ba cạnh của tam giác.
Dữ liệu ra: Ghi rõ loại tam giác: Đều, Vuông cân, Cân, Vuông, Thường. Các khẳng định không dư. Ví dụ: Đã khẳng định là tam giác đều thì không cần khẳng định là tam giác cân.
PHÒNG GD & ĐT SƠN DƯƠNG TRƯỜNG THCS HỒNG LẠC ĐỀ THI CHỌN HỌC SINH GIỎI CẤP HUYỆN NĂM HỌC 2012-2013 Môn thi: TIN HỌC Thời gian làm bài 150 phút (Không kể thời gian giao đề) Bài 1: (3 điểm) Viết chương trình nhập thời gian làm việc là x giây, chuyển đổi và đưa ra màn hình số giấy trên ra giờ, phút, giây. Bài 2: (5 điểm) Viết chương trình cho phép phân loại tam giác khi biết số đo ba cạnh. Yêu cầu: Dữ liệu vào: Số đo ba cạnh của tam giác. Dữ liệu ra: Ghi rõ loại tam giác: Đều, Vuông cân, Cân, Vuông, Thường. Các khẳng định không dư. Ví dụ: Đã khẳng định là tam giác đều thì không cần khẳng định là tam giác cân. Bài 3 (7điểm) Cho mảng một chiều gồm n phần tử (n nhập từ bàn phím, n <=100) là số nguyên. Hãy viết chương trình nhập giá trị cho các phần tử của mảng và: a. Tính tổng các phần tử là số nguyên tố của mảng. b. Tìm phần tử lớn nhất của mảng. c. Sắp xếp mảng theo chiều tăng dần. Bài 4: (5 điểm) Cho trước một xâu kí tự bất kì. Xâu gồm các phần tử là chữ cái tiếng anh từ 'a' đến 'z' và dấu cách. Viết chương trình chuẩn hoá xâu (xâu chuẩn hoá là xâu không có dấu cách ở đầu và cuối xâu, giữa các từ cách nhau đúng một dấu cách). Ví dụ: Cho xau= " nguyen thi ha " Kết quả in ra : "Nguyen Thi Ha" _____________________________________ PHÒNG GD & ĐT SƠN DƯƠNG TRƯỜNG THCS HỒNG LẠC ĐÁP ÁN VÀ BIỂU ĐIỂM ĐỀ THI CHỌN HỌC SINH GIỎI CẤP HUYỆN Môn: TIN HỌC Bài 1 (3 điểm) program bai1; uses crt; var t,h,s,p,x: integer; 0.5 Begin Clrscr; Writeln('Nhap so giay lam viec');readln(x); t:= x; h:= x div 3600; x:= x mod 3600; p:= x div 60; s:= x mod 60; 2 Writeln(t,' giay doi thanh ',h,' gio ', p,' phut ', s,' giay'); readln; end. 0.5 Bài 2 (5 điểm) Program bai2; uses crt; var a,b,c: real; begin 0,5 (*Nhập ba cạnh của tam giác:*) clrscr; write('Nhap a = '); readln(a); write('Nhap b = '); readln(b); write('Nhap c = '); readln(c); 0,5 (*Kiểm tra điều kiện số đo ba cạnh một tam giác:*) if (a+b < c) or (a+c < b) or (b+c < a) then writeln('Khong phai số đo ba canh mot tam giac') else 1 (*Kiểm tra điều kiện tam giác đều:*) if (a = b) and (b = c) then writeln('La tam giac deu') else 1 (*Kiểm tra điều kiện tam giác cân, vuông cân:*) if (a = b) or (b = c) or (a = c) then if (a*a = b*b+c*c) or (b*b = c*c+a*a) or (c*c= a*a+b*b)then writeln('La tam giac vuong can') else writeln('La tam giac can') else 1 (*Kiểm tra điều kiện tam giác vuông:*) if (a*a = b*b+c*c) or (b*b = c*c+a*a) or (c*c= a*a+b*b) then writeln('La tam giac vuong') else (*Còn lại là tam giác thường:*) writeln('La tam giac thường') End. 1 Bài 3 (7điểm) program bai3; uses crt; var a:array[1..100] of integer; kt,s,n,i,j,max,tg:integer; 0,5 Begin Clrscr; repeat write('Nhap so phan tu cho mang n='); Readln(n); until (n>0) and (n<=100); 0,5 for i:=1 to n do begin write('Nhap gia tri cho phan tu a[',i,']='); readln(a[i]); end; 1,5 i:=1; kt:=0; for i:=1 to n do begin for j:=2 to a[i] div 2 do if a[i] mod j = 0 then kt:=kt+1; if kt=0 then s:=s+a[i]; kt:=0; end; 1,5 max:=a[1]; for i:=2 to n do if a[i]>max then max:=a[i]; for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then begin tg:=a[i]; a[i]:=a[j]; a[j]:=tg; end; 2 writeln('Tong cac phan tu duong cua mang s=',s); writeln('Phan tu lon nhat cua mang la : ',max); writeln('Mang sau khi sap xep la : '); for i:=1 to n do write(a[i]); readln; end. 1 Bài 4: (5 điểm) Program bai4; Uses crt; var st:string; l,i:integer; 0,5 Begin clrscr; write('Nhap mot xau can chuan hoa: '); readln(st); while st[1]=' 'do delete(st,1,1); l:=length(st); 1 while st[l]=' 'do begin delete(st,l,1); l:=length(st); end; 1 l:=length(st); i:=1; repeat if( st[i]=' ') and (st[i+1]=' ') then begin delete(st,i,1); i:=i-1; l:=length(st); end; inc(i); until i=l; 1,5 st[1]:=upcase(st[1]); for i:=1 to l-1 do if (st[i]=' ') and (st[i+1]' ') then st[i+1]:=upcase(st[i+1]); writeln('xau sau khi da chuan hoa : ', st); readln; end. 1 Ngày 08 tháng 12 năm 2012 Giáo viên ra đề Vũ Thị Hồng Nhung
File đính kèm:
- De thi hsg tin 9 - hong lac 2012-2013.doc