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

bộ giáo dục và đào tạo kì thi chọn học sinh giỏi quốc gia lớp 12 thpt năm học 2003 2004 môn tin học bảng b thời gian 180 phút không kể thời gian giao đề ngày thi 12032004 tổng quan bài thi ngày th

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 (173.45 KB, 3 trang )

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

<b>BỘ GIÁO DỤC VÀ ĐÀO TẠO </b> <b>KÌ THI CHỌN HỌC SINH GIỎI QUỐC GIA</b>
<b> LỚP 12 THPT NĂM HỌC 2003-2004</b>


Môn: Tin học - Bảng B


Thời gian: 180 phút (<i>Không kể thời gian giao đề</i>)
Ngày thi: 12/03/2004


<b>TỔNG QUAN BÀI THI NGÀY THỨ HAI BẢNG B</b>


Tên bài Tên chương trình File dữ liệu vào File kết quả
BÀI 3 Phân tích chơng trình <b>ANALYS.PAS</b> <b>ANALYS.INP</b> <b>ANALYS.OUT</b>


BI 4 Phộp chia đơi <b>BISECTION.PAS BISECTION.INP BISECTION.OUT</b>


<i><b>Hãy lập trình giải các bài tốn sau:</b></i>


<b>Bµi 3. Phân tích chương trình</b> <i><b> Tên chương trình: ANALYS .PAS</b></i>


Trong việc phân tích chơng trình, cần phát hiện xem đoạn mã nguồn của chơng trình có chứa các
câu lệnh mà không khi nào đợc thực hiện hay không (những câu lệnh nh vậy để ngắn gọn ta gọi là
câu lệnh thừa). Sự có mặt của các câu lệnh thừa thờng mách bảo là chơng trình cịn lỗi. Do đó trong
chơng trình dịch của tất cả các ngơn ngữ lập trình ln có mơđun kiểm tra sự có mặt của các câu
lệnh thừa. Bạn cần viết chơng trỡnh thc hin cụng vic ca mụun ny.


<b>Dữ liệu:</b> Vào từ file văn bản ANALYS.INP gồm không quá 30000 dòng chứa dÃy thông báo là kết
quả của việc phân tích ngữ nghĩa dÃy câu lệnh trong mà nguồn của một chơng trình cho trớc. Mỗi
dòng chứa thông báo về câu lệnh tơng ứng trong chơng trình cho biết chơng trình sau khi thùc hiƯn
c©u lƯnh sÏ tiÕp tơc thùc hiƯn câu lệnh nào và có một trong ba dạng sau:


<b>NEXT</b>: thùc hiƯn c©u lƯnh kÕ tiÕp;



 <b>GOTO n1</b> với n1 là số nguyên dơng: thực hiện câu lệnh với chỉ số n1 (các câu lệnh trong


dóy lnh c đánh số bắt đầu từ 1);


 <b>JUMP n1 OR n2</b> với n1 và n2 là các số nguyên dơng: tùy thc ®iỊu kiƯn cã thĨ chun


đến thực hiện câu lệnh với chỉ số n1 hoặc câu lệnh với chỉ số n2.


Các chỉ số trong các thông báo đợc phân tách với các từ khố (<b>GOTO,JUMP,OR</b>) bởi ít nhất một
dấu cách. Chơng trình bắt đầu thực hiện từ câu lệnh với ch s 1.


<b>Kết quả:</b> Ghi ra file văn bản ANALYS .OUT:


 Dòng đầu tiên ghi số nguyên k là số lợng câu lệnh thừa trong chơng trình đã cho.


 Nếu k>0 thì mỗi dịng trong số k dịng tiếp theo chứa chỉ số của một câu lệnh thừa. Các chỉ
số đợc đa ra theo thứ tự tăng dần


<i><b>VÝ dô:</b></i>


<b>ANALYS.INP</b> <b>ANALYS.OUT</b>
<b>NEXT</b>


<b>JUMP 4 OR 6</b>
<b>NEXT</b>
<b>GOTO 3</b>
<b>NEXT</b>
<b>GOTO 8</b>
<b>NEXT</b>


<b>NEXT</b>
<b>2</b>
<b>5</b>
<b>7</b>


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

<b>Bài 4. Phép chia đơi</b> <i><b>Tên chương trình: BISECTION.PAS </b></i>
Ta gọi phép chia đôi tam giác theo cạnh dài nhất là việc dựng đường trung tuyến xuống cạnh có độ
dài lớn nhất của tam giác (nếu có nhiều cạnh có cùng độ dài lớn nhất thì chọn tuỳ ý một trong số
chúng) chia tam giác ra thành hai tam giác. Cho tam giác T0,0. Thực hiện phép chia đôi tam giác
T0,0 theo cạnh dài nhất ta thu được hai tam giác T1,0 và T1,1. Đối với hai tam giác vừa thu được T1,0
và T1,1 ta lại áp dụng phép chia đôi theo cạnh dài nhất và nhận được 4 tam giác T2,0, T2,1, T2,2 và


T2,3

. Hai lần phân chia vừa nêu được minh hoạ trong hình 1.



T0,0


Hình 1 Hình 2


Lặp lại quá trình phân chia tam giác này đến lần thứ <i>n</i> ta nhận được tập <i>n</i> gồm 2<i>n</i> tam


giác <i>Tn,j</i> ,<i> j</i> = 0, 1, ..., 2<i>n</i>-1. Các tam giác trong tập <i>n</i> có thể phân thành các lớp đồng dạng như sau:


Hai tam giác trong <i>n</i> thuộc cùng một lớp đồng dạng nếu chúng là đồng dạng với nhau.


<b>Ví dụ: Nếu áp dụng q trình phân chia trên đối với tam giác đều đến lần thứ ba, ta thu được ba</b>
lớp đồng dạng. Mỗi tam giác trong tập 3 sẽ đồng dạng với một trong ba tam giác được tơ đậm
trong hình 2.


Nhắc lại: trong tam giác ABC, gọi M là trung điểm của BC, ta có
2AM2<sub> = AB</sub>2<sub> + AC</sub>2<sub> – BC</sub>2<sub>/2.</sub>



<b>Yêu cầu: Hãy xác định số lớp đồng dạng của tập các tam giác thu được sau lần phân chia thứ </b><i>n</i>.
<b>Dữ liệu: Vào từ file văn bản BISECTION.INP chứa bốn số nguyên </b><i>a, b, c</i> và <i>n</i> (2  <i>n</i>  300)
được ghi cách nhau bởi dấu cách, theo thứ tự là độ dài của ba cạnh của tam giác và số lần thực
hiện phép chia tam giác.


<b>Kết quả: Ghi ra file văn bản BISECTION.OUT số lượng lớp đồng dạng của tập các tam giác thu</b>
được sau lần phân chia thứ <i>n</i>.


Ví dụ:



<b>BISECTION.INP</b> <b>BISECTION.OUT</b>


<b>10 10 10 5 </b> <b>3</b>


<i><b>__________________________________________</b></i>
<i><b>Ghi chú: </b></i>


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

<!--links-->

×