Đáp án HSG Tin học lớp 9 cấp huyện Krông Ana, Đắk Lắk 2014-2015 - Học Toàn Tập

5 54 0
Đáp án HSG Tin học lớp 9 cấp huyện Krông Ana, Đắk Lắk 2014-2015 - Học Toàn Tập

Đang tải... (xem toàn văn)

Thông tin tài liệu

Em hãy viết chương trình tính tổng các phần tử nằm trên đường chéo chính của ma trận... Em hãy tìm dãy số đặc biệt dài nhất bắt đầu từ N[r]

(1)

PHỊNG GD&ĐT KRƠNG ANA ĐỀ THI HỌC SINH GIỎI CẤP HUYỆN KHÓA NGÀY 09/02/2015

MÔN: TIN HỌC Thời gian làm bài: 150 phút

ĐÁP ÁN VÀ HƯỚNG DẪN CHẤM Yêu cầu chung:

- Chương trình chạy cho kết đúng (có thể làm theo cách khác đáp án): khai báo đầy đủ, trình bày có cấu trúc rõ ràng cho điểm tối đa Không khai báo biến trừ 0.25 điểm

- Chương trình cho kết sai: Chỉ chấm phần ý của thuật tốn, ý đúng cho điểm khơng vượt q 50% số điểm của câu

Bài 1: (4,0 điểm) Cho toán cổ sau:

Trăm trâu trăm cỏ Trâu đứng ăn năm Trâu nằm ăn ba Lụ khụ trâu già Ba bó

Viết chương trình tính đưa hình số trâu loại

Chương trình tham khảo Điểm

{Goi x = trau dung y = trau nam z = trau gia.} program BAI_1;

uses crt;

var x,y,z: byte;

1.0 Begin

clrscr;

for x:= to 20 {x nhan gia tri tu den 20} for y:=1 to 33 {x nhan gia tri tu den 33} begin

z:= 100 - x - y; if z mod = then

if x*5 + y*3 + z/3 = 100 then begin

writeln('So trau dung: ',x:3); writeln('So trau nam : ',y:3); writeln('So trau gia : ',z:3); end;

end; readln end

1.0

2.0

Kết chương trình

(2)

Trâu đứng 12

Trâu nằm 18 11

Trâu già 78 81 84

Bài 2: (5,0 điểm) Tổng đường chéo

Cho ma trận vng NxN (1 < N <= 100) phần tử Em viết chương trình tính tổng phần tử nằm đường chéo của ma trận

Chương trình tham khảo Điểm

Program Bai_2; uses crt;

var Tong_CC,i,j,n:integer;

A:array[1 100,1 100] of integer; 1.0 Begin

Clrscr;

repeat

write('nhap so hang,so cot n:='); readln(n);

until (n > 1) and (N <=100);

1.0

writeln('Nhap gia tri hang, cot'); for i:=1 to n

for j:=1 to n Begin

write('a[',i,',',j,']:= '); readln(a[i,j]); end;

writeln('Mang vua nhap la:'); for i:=1 to n

begin

for j:=1 to n write(a[i,j]:4); writeln;

end;

1.0

0.5

Tong_CC:=0; Begin

for i:=1 to n

for j:=1 to n if i=j then

Tong_CC:=Tong_CC+A[i,j];

Writeln('Tong cac phan tu duong cheo chinh la: ',Tong_CC);

end; Readln; End

1.0

0.5

(3)

Tong cac phan tu duong cheo chinh la:

Test 2: N =

12 20 15 Kết Tong_CC: 24 10

4 Test 3: N =

4

6 10 18 Kết Tong_CC: 43 25 30 16 15

11 12 17 18 Test 3: N =

1

6 10 Kết Tong_CC: 28

2 10

Bài 3: (5,0 điểm) Cực tiểu địa phương

Xét dãy số nguyên Aa a1, 2, aN  3N35 Số ai gọi Cực tiểu địa

phương thỏa mãn điều kiện sau:

- i1 a1a2;

- aiai1 aiai1,i2,3, ,N1;

- iN aNaN1;

Viết chương trình đếm đưa hình số lượng cực tiểu địa phương vị trí cực tiểu địa phương dãy

Chương trình tham khảo Điểm

uses crt;

var A:Array[1 100]of Integer;

i,n,dem:integer; 0.5

Begin clrscr; Repeat

Write('Nhap N:= '); Readln(n); Until (N>=3) And (N<=35);

1.0

Writeln('Nhap gia tri phan tu cua day:'); For i:=1 to n

begin

Write('a[',i,']= '); readln(a[i]); end;

write('Day vua nhap:');

For i:=1 to n write(a[i]:6);

1.0

write('Vi tri cac so cuc tieu: '); dem:=0;

(4)

Begin

dem:=dem +1; write(1); end;

for i:=2 to n -

if (a[i] < a[i-1])and (a[i] < a[i+1]) then begin

dem:=dem+1; write(i:3); end;

if a[n] < a[n-1] then Begin

dem:=dem + 1; write(n:3); end;

write('So luong cuc tieu dia phuong day la:',dem:3);

readln End

1.0

1.0

0.5

Bộ Test thử

Nhập N= Nhập dãy số Kết thông báo

2 Nhap N =

50 Nhap N =

4

Day vua nhap la:

Vi tri cac so cuc tieu day:

So luong cuc tieu dia phuong day la:

Day vua nhap la:

Vi tri cac so cuc tieu day:

So luong cuc tieu dia phuong day la: 10 15 10

16 30

Day vua nhap la: 10 15 10 16 Vi tri cac so cuc tieu day: So luong cuc tieu dia phuong day la: Bài 4: (6,0 điểm) Dãy số đặc biệt

Dãy số A1, A2, , AN gọi dãy số đặc biệt thoả mãn điều kiện:

 Là dãy số giảm dần;

 Với Ai Ai số nguyên tố ước của số từ A1

đến Ai-1

Em tìm dãy số đặc biệt dài N Yêu cầu:

- Dữ liệu : Nhập từ bàn phím số nguyên dương N (1< N < 100)

- Kết quả: Đưa hình dãy số tìm được, số ghi cách dấu cách

Chương trình tham khảo Điểm

Uses crt;

var i,n,d,k,l,t,tg: integer;

a,b:array[1 100] of integer; 0.5 function nto(x:integer):boolean;

(5)

kt:boolean; begin

kt:= true;

if x = then kt:=false else

for j:=2 to x div

if x mod j = then kt:=false; nto:=kt;

end;

0.5

1.0

Begin Clrscr; Repeat

write('Nhap N= '); readln(n);

Until (N > 1)and (N < 100); l:=1;

for i:=1 to n

if (nto(i)=true)or(n mod i =0) then begin

b[l]:=i; l:=l+1; end;

0.5

1.0

for k:=l-1 downto for t:=1 to k-1 if b[t] < b[t+1] then begin

tg:=b[t];

b[t]:=b[t+1]; b[t+1]:=tg; end;

write'Day dac biet la: ');

for d:=1 to l-1 write(b[d]:3); Readln

end

1.0

1.0

0.5

Bộ Test thử

Nhập N= Kết thơng báo hình Day dac biet la:

9 Day dac biet la: 12 Day dac biet la: 12 11 17 Day dac biet la: 17 13 11

20 Day dac biet la: 20 19 17 13 11 10

Ngày đăng: 23/02/2021, 20:03

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan