Câu1: Hãy viết chương trình nhấn một phím bất kỳ từ bàn phím và thông báo là vừa nhập phím gì.. Câu2: Viết chương trình taïo moät maûng soá nguyeân goàm n phaàn töû nhoû hôn 1000.[r]
(1)Phòng GD& ĐT Thị xã Gia Nghĩa Đề thi học sinh giỏi THCS năm học 2008-2009 Trường THCS Nguyễn Tất Thành Môn: Tin học
I Đề ra:
Câu1: Hãy viết chương trình nhấn phím từ bàn phím thơng báo vừa nhập phím gì?
Câu2: Viết chương trình tạo mảng số nguyên gồm n phần tử nhỏ 1000 Sắp xếp mảng theo tứ tự tăng dần giảm dần
C
âu 3: Viết chương trình giải hai tốn cổ: 100 trâu 100 bó cỏ vừa gà vừa chó 36 100 chân?
Câu 4: a)Viết chương trình để nhập số tự nhiên từ bàn phím in hình số có phải số Py- tap-go hay không Số n số Py- ta-go n>=3 n2= (n-1)2+(n-2)2?
b) Viết chương trình nhập ba số tự nhiên a,b,c từ bàn phím in hình thơng báo chúng có số Py-ta- go hay không?
Câu 5: Viết chương trình tìm ước chung lớn bội chung nhỏ hai số nhập vào từ bàn phím? Cõu 6: L ập tr ìn h tìm s è cã b a ch ÷ s è ví i đ iu k in g iá tr ị c a sè ® ã b »n g tỉ n g lËp p h n g ch ữ s ố cđ a n ã.
Câu 7: Gọi abcd số có chữ số Hãy lập chương trình tìm tất số có chữ số thỏa mãn biểu thức: abcd=(ab + cd)2
Ví dụ: số 2025=(20 + 25)2.
Câu 8: L Ëp tr ìn h đ a r a h ìn h b ản g cử u ch n g có d ¹n g :
1
2 18
9 18 81
b »n g h c¸ch
C
âu : Viết chương trình nhập vào tháng, năm cho biết tháng có ngày?
Câu 10 : Viết chương trình tính điểm trung bình mơn Tốn, Lý , Hố theo hệ số 2,1,1 sau xếp loại sau:
a. Loại Giỏi : ĐTB >= 8.0 khơng có mơn 6,5 b. Loại Khá : 6.5=<ĐTB < 8.0 khơng có mơn
c. Loại Trung bình : 5.0 =<ĐTB < 6.5 khơng có mơn 3.5 d. Loại Yếu : Còn lại
II Đáp án- Biểu điểm: Câu 1:
Program doc_phim; Uses crt;
Var kt:char; Begin Clrscr;
Writeln(‘ moi ban hay nhap vào mot phim bat ky’); Kt: readkey;
(2)Writeln(‘Ban vua nhap vao la ki tu in hoa’) Else
If(kt>=’a’) and (kt<=’z’) then
Writeln(‘Ban vua nhap vao la ki tu in thuong’) Else
If (kt>=0) and (kt<=9) then
Writeln(‘Ban vua nhap vao la ki tu so’) Else
Writeln(‘Ban vua nhap vao ki tu la cac ki tu khac’); Readln;
End
-Câu 2:
const n=10; var i,j,tam:integer; a:array[1 n]of integer; begin
randomize;
for i:=1 to n a[i]:=random(1000); for i:=1 to n-1
for j:=i+1 to n if a[i]<a[j] then begin
tam:=a[i]; a[i]:=a[j]; a[j]:=tam; end; for i:=1 to n writeln(a[i]); readln;
end
-Câu 3:
var d,n,g:integer; begin
for d:=1 to 20 for n:=1 to 33 for g:=1 to 98
if d*5+n*3+g=100 then
writeln('Trau dung:',d,' trau nam:',n,' trau gia:',g); readln;
end -var i,j:integer; begin
(3)for j:=1 to 50
if (i*4+j*2=100) and (i+j=36) then writeln(i,' cho, ',j,' ga.'); readln;
end
-Câu 4:
a) program pytago; uses crt;
var n:integer; begin
clrscr;
write(‘ nhap so n=’);readln(n);
if n<=2 then write(‘ so nhap vao khong hop le’) else
if n*n=(n-2)*(n-2)+(n-1)*(n-1) then write(n,’la so Py ta go’) else write(n,’ khong phai la so Py ta go’);
readln; end
b) program Bo_so_pitago; uses crt;
var a,b,c:integer; begin
clrscr;
write(‘Nhap so a=’);readln(a); write(‘Nhap so b=’);readln(b); write(‘Nhap so c=’);readln(c);
if (a*a=b*b+c*c) or(b*b=a*a+c*c) or*c*c=a*a+b*b) then write(a,’’,b,’’,c,’la bo so Py- ta –go’)
else
write(a,’’,b,’’,c,’khong phai la bo so Py- ta –go’); readln;
end
-Câu 5:
var a,b,min,max,ucln:integer; begin
write('moi nhap hai so can xac dinh: '); readln(a,b);
max:=a; min:=b;
if max mod min=0 then ucln:=min
else if mod max=0 then ucln:=max else
begin repeat
(4)else if max<min then min:=min-max; until max=min;
ucln:=min; end;
write('ucln ',ucln);
write('bcnn ',a*b/ucln:1:1); readln;
end
-Câu6:
Program bai1; uses crt; var
a,b,c,i:integer; Begin
clrscr;
For i:=100 to 999 begin
a:=i div 100;
b:=(i div 10) mod 10; c:=i mod 10;
if a*a*a+b*b*b+c*c*c=i then begin
Writeln('So ',i,' co gia tri bang tong lap phuong cac chu so cua no.'); end;
end; Readln; End
-Câu 7:
Program bonso;
Var haisodau, haisocuoi, i : integer; Begin
Writeln( ‘ cac so thoa man dieu kien gom co’); For i:=1000 to 9999
Begin
haisodau:=i Div 100;{lay so dau tien ab} haisocuoi:=i mod 100;{lay so cuoi cd} If i=SQR(haisodau + haisocuoi) then write(i:5);
End; Readln; End
C âu 8: program Bang_cuu_chuong;
Cách 1: Uses crt;
(5)Begin Clrscr;
For i:=1 to Begin
For j:=1 to
write(i*j:5);
writeln; writeln; End;readln; End.
Cách 2: Uses crt;
Var a:array[1 20,1 20] of integer; Begin
Clrscr;
For i:=1 to do For j:=1 to do A[I,j]:=i*j; For i:=1 to do Begin
For j:=1 to do Write(a[I,j]:4); Writeln; End; Readln; End.
-C
âu 9:
var n,t,ngay:integer; begin
write('nhap thang:');readln(t); write('nhap nam:');readln(n); case t of
1,3,5,7,8,10,12: ngay:=31; 4,6,9,11:ngay:=30;
2: if n mod = then :=29 else ngay:=28;
end;
writeln('Thang:',t,' nam:',n,' co: ',ngay,' ngay'); readln;
end.
-
-Câu 10:
program xep_loai_hoc_sinh; uses crt;
(6)xl:string; begin
write('moi nhap diem toan: '); readln(t);
write('moi nhap diem ly: '); readln(l);
write('moi nhap diem hoa: '); readln(h);
min:=l;
if min>t then min:=t; if min>h then min:=h; tbc:=(t*2+l+h)/4;
if (tbc>=8) and (min>=6.5) then xl:='Gioi'; else if (tbc>=6.5) and (min>=5)
then xl:=’Kha’;
else if (tbc>=5) and (min>=3.5) then xl:='Trung binh' else xl:='yeu';
writeln(‘Diem trung binh:’,tbc:0:1,’ Xep loai:’,xl); readln;
end.