Tải bản đầy đủ (.docx) (3 trang)

De thi HSG Huyen Pascal

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (117.49 KB, 3 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

PHÒNG GD&ĐT
HẢI LĂNG


<b>ĐỀ THI CHỌN HSG CẤP HUYỆN NĂM HỌC 2008 – 2009</b>
Khóa ngày 22 tháng 5 năm 2009.


Môn thi: TIN HỌC


<i>Thời gian: 120 phút (không kể thời gian giao đề)</i>


TỔNG QUAN BÀI THI


<b>Tên bài</b> <b>Tên chương trình</b> <b>Dữ liệu vào</b> <b>Kết quả</b>


BÀI 1 Cạnh tam giác TAMGIAC Bàn phím Màn hình


BÀI 2 Chuẩn hóa xâu CH_XAU Bàn phím Màn hình


BÀI 3 Dãy lớn nhất DAYMAX Bàn phím Màn hình


<i><b>Em hãy dùng ngơn ngữ lập trình Pascal để lập trình giải các bài tốn sau:</b></i>
<i><b>Bài 1: Cạnh tam giác (3 điểm)</b></i>


Nhập vào ba số dương, kiểm tra xem chúng có thỏa mãn là ba cạnh của tam
giác hay khơng? Nếu thỏa mãn thì kiểm tra xem đó là tam giác gì? (tam giác thường,
<b>cân hay đều). Tính diện tích tam giác đó theo công thức: dt = (p(p-a)(p-b)(p-c)); với</b>
<b>p bằng nữa chu vi.</b>


<i><b>Bài 2: Chuẩn hóa xâu (4 điểm)</b></i>


<i>Nhập vào một câu (xâu ký tự); chuẩn hóa câu đó (nghĩa là đầu và cuối câu</i>


<i>khơng có ký tự trống, giữa các từ cách nhau chỉ đúng một ký tự trống). Đếm xem câu</i>
đó có mấy từ?


<i><b>Ví dụ: </b></i> INPUT (nhập vào): “ cong cha nhu nui Thai Son ”
OUTPUT (in ra): “cong cha nhu nui Thai Son”


<i>Cau nay co: 6 tu (câu này có 6 từ)</i>
<i><b>Bài 3: Dãy lớn nhất (3 điểm)</b></i>


Nhập một dãy số nguyên và lưu trong một mảng. Khơng dùng mảng trung gian
<i>hãy in ra màn hình dãy con tăng nghiêm ngặt (phần tử sau phải lớn hơn phần tử</i>
<i>trước) có tổng giá trị các phần tử lớn nhất.</i>


<i><b>Ví dụ: </b></i> INPUT (nhập vào): 1 3 2 8 10 12 7 29 6 3
OUTPUT (in ra): 7 29


……….. HẾT ………


<i>(Cán bộ coi thi khơng giải thích gì thêm!)</i>


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

PHỊNG GD&ĐT
HẢI LĂNG


<b>ĐỀ THI CHỌN HSG CẤP HUYỆN NĂM HỌC 2008 – 2009</b>
Khóa ngày 22 tháng 5 năm 2009.


Môn thi: TIN HỌC


<i>Thời gian: 120 phút (không kể thời gian giao đề)</i>
ĐÁP ÁN – HƯỚNG DẪN CHẤM:



<i><b>Bài 1: Cạnh tam giác (3 điểm)</b></i>
<i>Có thể đưa ra chương trình như sau:</i>


<b>CHƯƠNG TRÌNH</b> <b>THANG ĐIỂM</b>


Program TAMGIAC;
Var a, b, c: Real;
p, dt: Real;
Begin


Write('Nhap vao 3 so:'); Readln(a, b, c);
If (a+b>c) and(b+c>a) and(a+c>b)then
Begin


If (a=b) and(b=c) then


Writeln('TAM GIAC DEU') Else
If (a=b)or(b=c)or(a=c) then
Writeln('TAM GIAC CAN') Else
Writeln('TAM GIAC THUONG');
p:=(a+b+c)/2;


dt:= sqrt(p*(p-a)*(p-b)*(p-c));


Write(' Dien tich cua tam giac la:', dt:10:2);
End Else


Writeln('Khong thoa man 3 canh tam giac!!');
Readln;



End.


+ Khai báo đúng, đủ biến và
lệnh nhập dữ liệu: 0.5 điểm
+ Đưa ra đúng điều kiện thỏa
mản 3 cạnh tam giác: 0.5
điểm


+ Đưa ra đúng điều kiện thỏa
mản 3 cạnh tam giác: 0.5
điểm


+ Đưa ra đúng điều kiện thỏa
mản tam giác đều: 0.5 điểm
+ Đưa ra đúng điều kiện thỏa
mản tam giác cân: 0.5 điểm
+ Tính đúng diện tích: 0.5
điểm


<i><b>Bài 2: Chuẩn hóa xâu (4 điểm)</b></i>
<i>Có thể đưa ra chương trình như sau:</i>


<b>CHƯƠNG TRÌNH</b> <b>THANG ĐIỂM</b>


Program CH_XAU;


Var st: string; i, dem: integer;
Begin



Write('Nhap xau:'); Readln(st);


Writeln('Xau truoc khi chuan hoa la:', st);
While st[1]=' ' do Delete(st,1,1);


While st[length(st)]=' ' do Delete(st,length(st),1);
For i:=1 to length(st) do


If st[i]=' ' then


While st[i+1]=' ' do Delete(st,i+1,1);
Write('Xau chuan hoa la:', st);


+ Khai báo đúng, đủ biến và
lệnh nhập dữ liệu: 0.5 điểm
+ Xóa được tất cả các ký tự
trống đầu: 0.5 điểm


+ Xóa được tất cả các ký tự
trống cuối: 0.5 điểm


+ Xóa được tất cả các ký tự
trống ở giữa và chỉ để lại
một: 1.5 điểm.


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

For i:=1 to length(st) do


If st[i]=' ' then dem:=dem+1;


Writeln('= cau nay co ',dem+1, ' tu!!!');


Readln;


End.


<i><b>Bài 3: Dãy lớn nhất (3 điểm)</b></i>


<i>Có thể đưa ra chương trình như sau:</i>


<b>CHƯƠNG TRÌNH</b> <b>THANG ĐIỂM</b>


Program DAYMAX;


Var a:array[1..100] of integer;
spt,i, vt, max, n, tong: integer;
Begin


Write('Nhap so pt cua mang:'); Readln(spt);
For i:=1 to spt do


Begin


Write('A[',i,']='); Readln(a[i]);
End;


Write('Mang so da cho ban dau:');
For i:=1 to spt do Write(a[i]:3);
Writeln;


vt:=1; max:=a[1]; n:=1; tong:=a[1];
For i:=2 to spt do



Begin


If(a[i]>a[i-1]) then tong:=tong+a[i];
If(a[i]<=a[i-1]) or(i=spt) then


Begin


If tong>max then
Begin


max:=tong; vt:=n;
End;


n:=i; tong:=a[i];
End;


End;


Writeln(' Day con co tong lon nhat la:');
i:=vt;


Repeat


Write(a[i]:3); max:=max-a[i]; i:=i+1;
Until max=0;


Readln;
End.



+ Khai báo đúng, đủ biến và
lệnh nhập dữ liệu: 0.5 điểm
+ Có in ra mảng trước và dãy
cần tìm: 0.5 điểm


</div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×