ĐỀ THI HỌC SINH GIỎI TIN HỌC – VÒNG THỜI GIAN: 150PHÚT NGÀY THI: 20/9/2008 Viết CT nhập vào số thực a, b, c Kiểm tra xem a, b, c có phải cạnh tam giác hay không? Kết xuất DUNG hay SAI hình Nếu cho biết tam giác ? (cân, vuông, đều,thường) tính diện tích tam giác Cho biết công thức tính diện tích tam giác theo ba cạnh nhö sau: S = p( p a)( p b)( p c) với p nửa chu vi tam giác Dữ liệu vào: số thực a,b,c Kết ra: Có phải cạnh tam giác không ? Nếu phải tam giác tính diện tích tam giác Ví dụ: Dữ liệu vào Dữ liệu DUNG - Tam giac vuong Dien tich: 6.00 5 11 SAI Tên tập tin: D:\THI\VONG1\Tamgiac.pas Viết chương trình vẽ hình ký tự tự chọn, xuất hình menu chọn cho phép người sử dụng chọn loại hình để vẽ sau: ’1 Vẽ hình chữ nhật rỗng.’ ’2 Vẽ tam giác vuông đặc đỉnh trên.’ ’3 Vẽ tam giác cân rỗng đỉnh trên.’ Dữ liệu vào: Nhập số lựa chọn hoặc 3, Nếu vẽ hình chữ nhật nhập chiều dài, chiều rộng; Nếu vẽ tam giác nhập chiều cao; nhập ký tự cần vẽ Kết ra: Hình vẽ với ký tự tự chọn Ví dụ: Dữ liệu vào Dữ liệu Ve hinh chu nhat rong Ve tam giac vuong dac dinh o tren Ve tam giac can rong dinh o tren Moi nhap lua chon: Nhap chieu cao: Nhap mot ky tu: @ @ @@ @@@ Tên tập tin: D:\THI\VONG1\vehinh.pas Viết chương trình in hình số từ x đến y số chẵn chia hết cho với x, y nhập từ bàn phím? Đếm xem có tất số? Dữ liệu vào: Số ngun x y (xc)and(a+c>b)and(b+c>a)then kq:=true; if kq then {kq=true, dung la tam giac thi moi lam cac lenh duoi} begin if (a*a=b*b+c*c)or(b*b=a*a+c*c)or(c*c=b*b+a*a)then ltg:='vuong' else if (a=b)and(b=c) then ltg:='deu' {Neu o phai tg deu thi moi xet den truong hop tg can} else if (a=b)or(a=c)or(c=b) then ltg:='can' else ltg:='thuong'; p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln('DUNG,tam giac ',ltg); writeln('Dien tich:',s:6:2); end else writeln('SAI'); readln; end BAI 2: VEHINH.PAS uses crt; var d,r,n,luachon,h,c:integer; ch:char; begin clrscr; writeln('1 Ve hinh chu nhat rong.'); writeln('2 Ve hinh tam giac vuong dac dinh o tren.'); writeln('3 Ve hinh tam giac can rong dinh o tren.'); write('Nhap lua chon:');readln(luachon); Write('Nhap ky tu de ve:');readln(ch); case luachon of 1: BEGIN write('Nhap chieu dai va chieu rong:'); readln(d,r); clrscr; for h:=1 to r begin for c:=1 to d if (c=1)or(h=1)or(h=r)or(c=d) then write(ch) else write(' '); writeln; end; END; 2: BEGIN write('Nhap chieu cao:');readln(n); clrscr; for h:=1 to n begin for c:=1 to n if (c