Tải bản đầy đủ (.doc) (21 trang)

Bồi dưỡng HSG tin 8

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 (270.01 KB, 21 trang )

Bài 1: Nhập vào 2 cạnh của một hình chữ nhật. In ra màn hình diện tích và
chu vi của nó.
Program hcn;
Uses crt;
Var a,b,s,c:real;
Begin
Clrscr;
Writeln(‘Tinh chu vi va dien tich hcn’);
Write(‘nhap chieu dai:’); Readln(a);
Write(‘nhap chieu rong:’); Readln(b);
S:=a*b;
C:=(a+b)*2;
Writeln(‘Dien tich hinh chu nhat la:’,S);
Writeln(‘Chu vi hinh chu nhat la:’,C);
Readln;
End.
Bài 2:Nhập vào bán kính của hình tròn.In ra màn hình diện tích và chu vi của
nó.
Program hinh_tron;
Uses crt;
Var R, S, P: real;
Const pi=3.14;
Begin
Clrscr;
Writeln(‘Dien tich va chu vi hinh tron:’);
Write(‘nhap ban kinh:’); Readln(R);
S:=pi*R*R;
P:=2*pi*R;
Writeln(‘dien tich cua hinh tron la:’,S);
Writeln(‘chu vi cua hinh tron la:’,P);
Readln;


End.
B à i 3 :

Tính tam

giác: Nhập vào

ba
số a,b,c bất kì
. Kiểm

tra xem nó có thể là

độ
dài ba cạnh hay

không,

nếu

không

thì in

ra

màn

hình


' Khong la ba

canh cua

mot tam

giac'. Ngược
lại
, thì in diện tích, chu vi của tam giác

ra
màn

hình.
Program Tam_giac;
Uses crt;
Var a,b,c,s,p:real;
Begin
Clrscr;
Writeln(‘bai toan tam giac’);
Write(‘nhap a=’); Readln(a);
Write(‘nhap b=’); Readln(b);
Write(‘nhap c=’); Readln(c);
If ((a+b)>c) and ((b+c)>a) and ((a+c)>b) then
Begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
BOÀI DÖÔÕNG HSG Tin hoc 8
1
Writeln(‘chu vi tam giac:’,2*p);

Writeln(‘dien tich hinh tam giac:’,s);
End;
Else
Writeln(a,b,c khong phai la 3 canh cua tam giac’);
Readln;
End.
B à i 4 : Viết chương

trình giải

p
hươ
ng

trình

bậc 1 (ax

+

b =
0)
Program

GIAI_PHUONG_TRINH_BAC_NHAT;
Uses crt;
Var a,b,x:real;
Begin
Clrscr;
Writeln(‘giai phuong trinh bac nhat:ax+b=0’);

Write(‘nhap a=’); Readln(a);
Write(‘nhap b=’); Readln(b);
If (a=0)then
If (b=0) then
Writeln(‘phuong trinh co vo so nghiem’);
Else
Writeln(‘phuong trinh vo nghiem’);
Else
Writeln(‘phuong trinh co nghiem x=’,-b/a);
Readln;
End.
B à i 5 : Viết chương

trình giải bất

phương

trình bậc 1 (ax

+

b
>
=
0)
Program

BAT_PHUONG_TRINH_BACI;
Uses crt;
Var a,b:real;

Begin
Clrscr;
Writeln(‘giai bat Phuong trinh bac nhat’);
Write(‘nhap a=’); Readln(a);
Write(‘nhapb=’); Readln(b);
If a<>0 then
If a>0 then writeln(‘bat phuong trinh co nghiem:x>=’,-b/a);
Else writeln(‘bat phuong trinh co nghiem:x<=’-b/a);
Else
If b>=0 then
Writeln(‘bat phuong trinh co vo so nghiem’);
Else writeln(‘bat phuong trinh vo nghiem’);
Readln;
End.
B à

i

6:
Viết chương trình nhập sử dụng 2 biến X và Y để lưu 2 số nhập từ bàn phím,sau
đó hoán đổi giá trị của 2 biến cho nhau(x, y có giá trị tăng dần)
Cách 1:

Program hoan_doi;
uses crt;
var X,Y,Z: real;
begin
BOÀI DÖÔÕNG HSG Tin hoc 8
2
clrscr;

write('Nhap so X = '); readln(Y);
write('Nhap so Y = '); readln(Y);
if X>Y then
begin
Z:=X;
X:=Y;
Y:=Z;
End;
writeln(X,’ ’,Y);
readln
end.
Cách 2:

Program hoan_doi;
uses crt;
var X,Y,Z: real;
begin
clrscr;
write('Nhap so X = '); readln(Y);
write('Nhap so Y = '); readln(Y);
if X<=Y then
begin
X:=X+Y;
Y:=X-Y;
X:=X-Y;
End;
writeln(X,’ ’,Y);
readln
end.
Bài7:Viết chương trình nhập 3 số thực a,b,c từ bàn phím vào máy tính,sau đó

kiểm tra 3 số đó có thể là 3 cạnh của tam giác đều,tam giác cân hoặc tam giác
vuông hay không và ghi kết quả ra màn hình.
program Sap_xep;
uses crt;
var A, B, C, X: integer;
begin
clrscr;
write('Nhap so A: '); readln(A);
write('Nhap so B: '); readln(B);
write('Nhap so C: '); readln(C);
if (A+B<C) or (B+C<A) or (A+C<B)
then writeln('Day khong la ba canh cua mot tam giac') else
if (A*A=B*B+C*C) or (B*B=A*A+C*C) or (C*C=A*A+B*B)
then writeln('Day la ba canh cua tam giac vuong') else
if (A=B) and(B=C) and (A=C)
then writeln('Day la ba canh cua tam giac deu') else
if (A=B) or (B=C) or (C=A)
then writeln('Day la ba canh cua tam giac can') else
writeln('Day chi la ba canh cua tam giac thuong');
readln;
end.
BOÀI DÖÔÕNG HSG Tin hoc 8
3
Bài8: Viết chưong trình nhập 1 số tự nhiên vào máy tính và ghi ra màn hình kết
quả số đã nhập là 1 số chẳn hay lẽ.
Program chan_le;
Uses crt;
Var n:real;
Begin
Clrscr;

Write(‘nhap so n=’); readln(n);
If (n mod 2)= 0 then write(‘n la so chan’)
Else write(‘n la so le);
Readln;
End.
Bài 9: Tìm giá trị lớn nhất trong 4 số a,b,c,d(a,b,c,d được nhập từ bàn phím)
Program Tim_so_lon_nhat;
Uses crt;
Var a,b,c,d,max:real;
Begin
Clrscr;
Writeln(‘Tim so lon nhat trong 4 so a,b,c,d’);
Write(‘nhap so a=’);readln(a);
Write(‘nhap so b=’);readln(b);
Wtite(‘nhap so c=’);readln(c);
Write(‘nhap so d=’);readln(d);
Max:=a;
If b>max then max:=b;
If c>max then max:=c;
If d>max then max:=d;
Writeln(‘so lon nhat la’:,max:4:2);
Readln;
End.
Bài 10:Vieát chöông trình giaûi phöông trình tuyeán tính:

ax

+

by


=

m


cx

+

dy

=

n
Program giai_he_hai_an;
Uses crt;
Var a,b,c,d,m,n:real;
dx,dy,dd:real;
begin
clrscr;
Writeln(‘giai he hai an:’);
Write('Nhap

a=');readln(a);
Write('Nhap

b=');readln(b);
Write('Nhap


c=');readln(c);
Write('Nhap

m=');readln(m);
Write('Nhap

n=');readln(n);
dd:=a*d-b*c;
BOÀI DÖÔÕNG HSG Tin hoc 8
4
dx:=m*d-b*n;
dy:=a*n-c*m;
if dd=0 then
if(dx=0) and(dy=0) then
writeln(‘he vo so nghiem hoac vo nghiem’)
else
writeln(‘he vo nghiem’)
else
Begin
Write(‘he co nghiem:’);
Writeln(‘x=’,dx/dd,’va y=’,dy/dd);
End;
Readln;
End.
Bài 11:Nhập vào tâm và bán kính của 1 đường tròn.Sau đó nhập vào
một điểm A(x,y) bất kì và kiểm tra xem nó có thuộc đường tròn hay
không?
Program

KIEMTRADIEMTHUOCDUONGTRON;

Uses crt;
Var

x0,y0,xa,ya,d,r:real;
Begin
Writeln(‘kiem tra diem thuoc duong tron:’);
Write(‘nhap ban kinh r=’);readln(r);
Write(‘nhap toa do tam duong tron=’);readln(x0,y0);
Write(‘nhap toa do diem A=’);readln(xa,ya);
d:=sqrt(sqr(xa-x0)+sqr(ya-y0));
if r=d then
writeln(‘diem A nam tren duong tron’)
else
if d>r then writeln(‘diem A nam ngoai duong tron’)
else writeln(‘diem A nam trong duong tron);
Readln;
End.
Bài 12: Viết chương trình tính x
y
(với x,y là số thực)
Proram XluyY;
Uses crt;
Var x,y,z:real;
Begin
Writeln(tinh x luy thua y);
Write(‘nhap x=’);readln(x);
Write(‘nhap y=’);readln(y);
If x>0 then
Begin
Z:=exp(y*ln(x));

Writeln(‘x^y=’,z);
End;
Else
Writeln(‘khong tinh duoc vi x la so am’);
BỒI DƯỢNG HSG Tin hoc 8
5
Readln;
End.
Bài 13:Vieát chöông trình tính x
n
Program tinh_x_luy_thua_n;
Uses crt;
Var I,n,x:integer;
Lt:real;
Begin
Clrscr;
Writeln(‘tinh x luy thua n);
Write(‘nhap x=’); readln(x);
Write(‘nhap n=’); readln(n);
Lt:=1;
For i:=1 to n do
Lt:=lt*x;
Writeln(x,’^’,n,’=’,lt:4:2);
Readln;
End.
Bài 14: Vieát chöông trình tính n!
Program tinh_n_luy_thua;
Uses crt;
Var I,n,gt:integer;
Begin

Clrscr;
Writeln(‘tinh n giai thua:’);
Writeln(‘nhap n=’);readln(n);
Gt:=1;
For i:=1 to n do
Gt:=gt*i;
Writeln(n,’!=’,gt);
Readln;
End.
Bài 15: Vieát chöông trình nhập vào 1 số nguyên dương x. Hãy xác định số x có chia hết
cho 3 hay không?
Program Chia_het_3;
Uses crt;
Var x:integer;
Begin
Clrscr;
Write(‘nhap x=’); readln(x);
If (x mod 3)= 0 then
Writeln(‘x chia het cho 3:’)
Else writeln(‘x khong chia het cho 3:’);
Readln;
End.
BOÀI DÖÔÕNG HSG Tin hoc 8
6
Bài 16: Vieát chöông trình nhập chiều dài,chiều rộng hình chữ nhật,bán kính hình tròn.
So sánh diện tích của hình chữ nhật và hình tròn.
Program so_sánh;
Uses crt;
Var a,b,r,s1,s2:real;
Const pi=3.14;

Begin
Clrscr;
Writeln(‘so sánh dien tich hcn & hinh tron’);
Write(‘nhap chieu dai=’);readln(a);
Write(‘nhap chieu rong=’);readln(b);
Write(‘nhap ban kinh hinh tron=’); readln(r);
S1:=a*b;
S2:=r*r*3.14;
If s1>s2 then writeln(‘dien tich hinh chu nhat lon hon hinh
tron’)
Else writeln(‘dien tich hinh tron lon hon hinh chu nhat’);
Readln;
End.
Bài 17: Vieát chöông trình tính điểm trung bình của 1 học sinh ,dữ liệu nhập vào là
ĐTBHKI,ĐTBHKII. In ra màn hình ĐTBCN của học sinh đó với
ĐTBCN=(ĐTBHKI+ĐTBHKII*2)/3,và xếp loại học lực biết:
+ ĐTBCN <5 ,xếp loại: Yếu.
+ 5=< ĐTBCN<6.5,xếp loại: Tbình.
+ 6.5=<ĐTBCN<8,xếp loại: Khá.
+ ĐTBCN>=8,xếp loại: Giỏi.
Program xep_loai;
Uses crt;
Var ĐTBHKI,ĐTBHKII,ĐTBCN:real;
Begin
Clrscr;
Write(‘nhap ĐTBHKI
=’); readln(ĐTBHKI);
Write(‘nhap ĐTBHKII=’); readln(ĐTBHKII);
ĐTBCN:=(ĐTBHKI+ĐTBHKII*2)/3;
If ĐTBCN < 5 then writeln(‘xep loai=’Yeu’);

If 5=<ĐTBCN<6.5 then writeln(‘xep loai=’Tbinh’);
If 6.5=<ĐTBCN<8 then wrtieln(‘xep loai=’Kha’)
Else writeln(‘xep loai=’Gioi’);
Readln;
End.
Bài 18: Vieát chöông trình nhập vào bán kính r1 và r2 của 2 đường tròn và khoảng cách
giữa 2 tâm đường tròn là d(với r1,r2,d>0). Xác định vị trí tương đối giữa 2 đường tròn(cắt
nhau, tiếp xúc nhau hay không cắt nhau)
Program bai18;
Uses crt;
Var r1,r2,d:real;
BOÀI DÖÔÕNG HSG Tin hoc 8
7
Begin
Clrscr;
Writeln(‘vi tri tuong doi giua 2 duong tron’);
Write(‘nhap ban kinh duong tron 1,r1=’); readln(r1);
Write(‘nhap ban kinh duong tron 2,r2=’); readln(r2);
Write(‘nhap khoang cach giua 2 tam duong tron d=’); readln(d);
If r1+r2=d then writeln(‘hai duong tron tiep xuc ngoai’);
If r1+r2>d then writeln(‘hai duong tron cat nhau’);
If r1+r2<d then writeln(‘hai duong tron khong cat nhau’);
Readln;
End.
Bài 19: Viết chương trình nhập n số nguyên. Đếm các số vừa chia hết cho 2 vừa
chia hết 3. Xuất kết quả ra màn hình.
Program bai19;
Uses crt;
Var i,n,dem:integer;
X;real;

Begin
Clrscr;
Write(‘nhap so luong so’); readln(n);
Dem:=0;
For i:=1 to n do
Begin
Write(‘nhap so thu tu’,i);readln(x);
If (x mod 2=0) and(x mod 3=0) then
Dem:=dem+1;
End;
Writeln(‘so luong cac so chia het cho 2 va 3 la:’dem);
Readln;
End.
Bài 20: Viết chương trình tính tích của 10 số tự nhiên đầu tiên.
{ Dùng while do… }
Program tich;
Uses crt;
Const n=10;
Var i, tich:integer;
Begin
Clrscr;
Tich:=1;
i:=1;
while i<=n do
begin
tich:=tich*i;
i:=i+1;
end;
writeln(‘tich cua 10 so tu nhien dau tien la=’,tich);
readln;

BỒI DƯỢNG HSG Tin hoc 8
8
End.
{ Dùng For do… }
Program tich;
Uses crt;
Var i,n:integer;
Begin
Clrscr;
Tich:=1;
For i:=1 to 10 do
begin
tich:=tich*i;
i:=i+1;
end;
writeln(‘tich cua 10 so tu nhien dau tien la=’,tich);
readln;
End.
Bài 21: Viết chương trình tính tổng của 100 số tự nhiên đầu tiên.
{ Dùng while do… }
Program tong;
Uses crt;
Const n=100;
Var i, tong:integer;
Begin
Clrscr;
Tong:=0;
i:=1;
while i<=n do
begin

tong:=tong+i;
i:=i+1;
end;
writeln(‘tong cua 100 so tu nhien dau tien la=’,tong);
readln;
End.
{ Dùng For do… }
Program tong;
Uses crt;
Var i,n:integer;
Begin
Clrscr;
Tong:=0;
For i:=1 to 100 do
begin
tong:=tong+i;
i:=i+1;
End;
Writeln(‘tong cua 100 so tu nhien dau tien la=’,tong);
BỒI DƯỢNG HSG Tin hoc 8
9
Readln;
End.

Câu 1:
Nêu cú pháp của câu lệnh điều kiện dạng đầy đủ trong Pascal?
Câu 2: Cho các câu lệnh sau:
a) if (15 mod 2) = 0 then X:= X + 1
b) if X > 5 then X:= X + 1;
Giá tri của X là bao nhiêu nếu giá trị của X trước đó là 2.

Câu 3 : Các câu lệnh Pascal sau đây được viết đúng hay sai?
a) if x:= 5 then a = b;
b) if x > 4; then a:= b;
c) if x > 4 then a:=b; m:=n;
d) if x > 4 then a:=b; else m:=n;
Câu 4 : Trong chương trình Turbo Pascal, tổ hợp phím Alt + F9 dùng để:
a/ Dịch chương trình. c/ Lưu chương trình.
b/ Chạy chương trình. d/ Khởi động chương trình
Câu 5 : Trong chương trình Turbo Pascal từ khoá dùng để khai báo tên chương trình là:
a/ uses. b/ Begin c/ Program. d/ End
BOÀI DÖÔÕNG HSG Tin hoc 8
10
Câu 6 : Khởi động Turbo Pascal bằng cách:
a) Nháy đúp chuột vào biểu tượng trên màn hình nền.
b) Nháy đúp chuột vào biểu tượng trên màn hình nền.
c) Nháy đúp chuột vào tên tệp Turbo.exe trong thư mục chứa tệp này.
d) Cà hai cách ở hai câu a và c.
Câu 7 : Trong các tên sau, tên nào là hợp lệ trong ngôn ngữ Pascal:
a/ Dien tich; b/ Begin; c/ Tamthoi; d/ 5-Hoa-hong;
Câu 8 : Những tên có ý nghĩa được xác định từ trước và không được phép sử dụng cho mục đích
khác được gọi là:
a/ Tên có sẵn. b/ Tên riêng. c/ Từ khóa. d/ Biến.
Câu 9: Háy khoanh tròn những đáp án đúng. Trong những câu sau
a. Cấu trúc lệnh lặp là : for…to…do;
b. Cấu trúc lệnh lặp là : for…to…do
c. Cấu trúc lệnh lặp là : for…to…do.
d. Cấu trúc lệnh lặp là : do…to…for.
Câu 10: Điền (đúng), (Sai). Sau mỗi câu sau
a. Cấu trúc lệnh lặp là : for ( giá trị đầu) to ( giá trị cuối) do;
b. Cấu trúc lệnh lặp là : for ( giá trị cuối) to ( giá trị đầu) do;

c. Cấu trúc lệnh lặp là : do ( giá trị cuối) to ( giá trị đầu) for;
d. Cấu trúc lệnh lặp là : do ( giá trị đầu) to ( giá trị cuối) for;
Câu 11: Các câu lệnh pascal sau có hợp lý không
a. For i = 1 to 100 do writeln(‘A’)
b. For i = 1.9 to 1 do writeln(‘A’)
c. For i = 10 to 1 do writeln(‘A’)
d. For i = 1 to 10.8 do writeln(‘A’)
Câu 12: Điền vào những chỗ trỗng trong mỗi câu sau.
a. while…… là câu lệnh lặp với số lần chưa biết trước trong pascal.
b. Câu lệnh lặp While do có dạng While< … > do<… >;
Câu 13: Chọn câu đúng:
A. for i:= 1 to 10; do x:= x + 1;
B. for i:= 10 to 1 do x:= x + 1;
C. for i:= 1 to 10 do x:= x + 1;
D. for i:= 1 to 10 for j:= 1 to 10 do x:= x + 1;
Câu 14: Trong câu lệnh lặp for i:=1 to 100 do begin … end; câu lệnh ghép được thực hiện bao
nhiêu lần ( hay bao nhiêu vòng lặp được thực hiện)?
a/ 100 lần. b/ 1 lần. c/ Không lần nào. d/ 99 lần.
Câu 15: Cách khai báo biến mảng nào trong Pascal sau đây đúng?
A. x: array [1 . . . 100] of integer;
B. y: array [1 . . 100] of integer;
C. z: array [1 . . n] of real;
D. t: array [1 : 100] of integer;
Câu 16: Dưới đây là đọan chương trình Pascal:
For i:= 0 to 10 do
Begin
…………
End;
Sau khi thực hiện đọan chương trình trên, giá trị của i là:
BOÀI DÖÔÕNG HSG Tin hoc 8

11
A. 0
B. 10
C. 11
D. Không xác định
Câu 17: Hãy tìm hiểu đoạn chương trình sau đây:
x:= 0; tong:= 0;
While tong <=20 do
Begin
Writeln (tong);
Tong:= tong + 1;
End;
x:= tong;
Sau khi đọan chương trình trên được thực hiện, giá trị của x bằng bao nhiêu?
A. 20
B. 21
C. Không xác định được.
D. 0
Câu 18: Trong các câu lệnh lặp Pascal sau đây, câu nào đúng
A. While i:= 1 do t:=10;
B. While x<=y ; do Writeln (‘y khong nho hon x’) ;
C. While 1 = 1; do Writeln (‘Dung’) ;
D. While (n mod i<> 0) do i:= i+ 1 ;
Câu 19: Để khai báo biến mảng kiểu số nguyên trong Pascal có dạng:
Var <tên biến mảng>:array [<chỉ số đầu> <chỉ số cuối>] of integer;
Trong đó:
A. Chỉ số đầu = chỉ số cuối
B. Chỉ số đầu > chỉ số cuối
C. Chỉ số đầu < chỉ số cuối
D. Chỉ số đầu <> chỉ số cuối

Câu 20: Ghép mỗi ý ở cột A với một ý ở cột B để được khẳng định đúng.
Cột A Cột B Đáp án
1/ Câu lệnh lặp với số lần cho
trước trong Pascal là
a/ 1 - ……
2/ Ta có thể thay câu lệnh For …
do bằng câu lệnh
b/ While … do 2 - ……
3/
c/ For … do
3 - ……
Câu 21 Phát biểu nào sau đây là đúng ?
A. Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó
cho đến khi một điều kiện nào đó được thoả mãn.
B. Chỉ ngôn ngữ lập trình Pascal mới có các câu lệnh lặp để thể hiện cấu trúc lặp.
C. Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh for…do
Câu 22 : Lệnh lặp nào sau đây là đúng?
A. For <biến đếm>= <giá trị đầu> to <giá trị cuôí> do <câu lệnh>.
B. For <biến đếm>:= <giá trị đầu> to <giá trị cuôí> do <câu lệnh>.
C. For <biến đếm>:= <giá trị cuôí> downto <giá trị đầu> do <câu lệnh>.
BOÀI DÖÔÕNG HSG Tin hoc 8
12
D. For <biến đếm>: <giá trị cuôí> downto <giá trị đầu> do <câu lệnh>.
Câu 23 : Câu lệnh pascal nào sau đây là hợp lệ?
A. For i:=100 to 1 do writeln(‘A’);
B. For i:=1.5 to 10.5 do writeln(‘A’);
C. For i= 1 to 10 do writeln(‘A’);
D. For i:= 1 to 10 do writeln(‘A’);
Câu 24 : Pascal sử dụng câu lệnh lặp nào sau đây để lặp với số lần chưa biết trước?
a/ For…do; b/While…do; c/ If then; d/ If…then…else;

Câu 25 : Câu lệnh lặp while…do có dạng đúng là:
A. While <điều kiện> <câu lệnh> do;
B. While <câu lệnh> <câu lệnh> do;
C. While do <điều kiện> <câu lệnh>;
D. While <điều kiện> do <câu lệnh>;
Câu 26 : Em được học vẽ hình với phần mềm nào?
a/ Pascal; b/ Geogebra; c/ Mario; d/ Finger Break out;
Câu 27 : Chương trình pascal sau sẽ in ra màn hình nội dung gì?
Program vidu;
Var i: integer;
BEGIN
For i:=1 to 10 do
Writeln(‘Day la lan lap thu ‘,i);
Readln;
END.
A. 1 câu “Day la lan lap thu i”;
B. 1 câu “Day la lan lap thu ‘, i”;
C. 10 “Day la lan lap thu ‘, i”;
D. 10 câu Day la lan lap thu i” với i theo thứ tự từ 1->10;
Câu 28: Xem ví dụ sau trong pascal:
Uses crt;
Var i:integer;
Begin
Clrscr;
I:=1
while i<15 do
begin
Writeln(‘0’);
i:=i+1
End;

Readln;
End.
Ví dụ trên ghi ra màn hình bao nhiêu chữ số 0?
A. 1;
B. 15;
C. 115;
D. 14;
Câu 29: Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần biết trước và câu lệnh lặp với số
lần chưa biết trước?
BOÀI DÖÔÕNG HSG Tin hoc 8
13
Câu 30 : Hãy chỉ ra lỗi trong các câu lệnh sau và viết lại cho đúng:
a) X:= 8; while x:=8 do x:= x+3;
b) X:= 8; while x = 8 do x = x+3;
c) S:= 0; n:= 1; while S <= 8 do n:= n+1; S:= S+n;
Câu 31. Để tìm giá trị lớn nhất của 2 số a, b thì ta viết:
a) Max:=a;If b>Max then Max:=b;
b) If (a>b) then Max:=a;If (b>a) then Max:=b;
c) Max:=b;If a>Max then Max:=a;
d) Cả 3 câu đều đúng.
Câu 32. Biến a được nhận các giá trị là 0 ; -1 ; 1 ; 2,3 . Ta có thể khai báo a thuộc kiểu dữ
liệu nào?
a. Integer b. Char
c. Real d. Integer và Longint
Câu 33. If Then Else là:
a. Vòng lặp xác định b. Vòng lặp không xác định
c. Câu lệnh điều kiện d. Một khai báo
Câu 34. Kiểu dữ liệu Integer có giá trị lớn nhất là
a. 32768 b. 32767
c. 2 tỉ d. -32768 +32767

Câu 35. a là biến dữ liệu kiểu số nguyên. Muốn xuất giá trị của a
2
thì ta viết
a. Writeln('a*a') b. Readln(' a*a ')
c. Writeln(a*a) d. Writwln(a
2)
Câu 36. IF a>8 THEN b:=3 ELSE b:=5; Khi a nhận giá trị là 0 thì b nhận giá trị nào?
a. 0 b. 5 c. 8 d. 3
Câu 37. Khi soạn thảo xong chương trình Pascal, ta muốn lưu chương trình lại thì ta nhấn phím:
a. F9 b. Ctrl + F9 c. F2 d. Ctrl + F2
Câu 38. Khi soạn thảo xong một chương trình Pascal, ta muốn kiểm tra xem có lỗi gì không thì ta
nhấn phím:
a. F9 b. F3 c. F2 d. F1
Câu 39. Khi một chương trình Pascal hết lỗi, ta muốn chạy chương trình thì nhấn phím:
a. F9 b. Ctrl + F9 c. F2 d. Ctrl + F2
Câu 40. Viết biểu thức toán a
3
-b
3
sang Pascal thì ta viết là:
a. a
3
-b
3
b. a*a*a-b*b*b
c. a.a.a-b.b.b d. aaa-bbb
Câu 41 : Để thực hiện phép tính tổng của hai số nguyên a và b ta thực hiện như sau :
a. Tong=a+b; b. Tong:=a+b;
c. Tong:a+b; d. Tong(a+b);
Câu 42: Câu lệnh điều kiện dạng đầy đủ là:

a. If < đk > then < câu lệnh 1> Else <câu lệnh 2>;
b. If <đk > then < câu lệnh>;
c. If <đk> then < câu lệnh 1>,<câu lệnh 2>;
d. Cả a,b,c đều sai.
Câu 43: Điền dấu x vào ô lựa chọn (1 điểm)
Nội dung Đúng Sai
a) Lệnh khai báo tên chương trình trong ngôn ngữ lập trình Pascal
là Begin.
b) Chương trình máy tính là một dãy các lệnh mà máy tính có thể
BOÀI DÖÔÕNG HSG Tin hoc 8
14
hiểu và thực hiện được.
c) Ngôn ngữ dùng để viết các chương trình máy tính được gọi là
ngôn ngữ lập trình.
d) Cấu trúc chung của chương trình bắt buộc phải có phần khai báo.
Câu 44: Khoanh tròn vào chữ cái đứng trước đáp án đúng trong các câu sau:
Câu 1: Máy tính có thể hiểu trực tiếp ngôn ngữ nào trong các ngôn ngữ dưới đây?
A. Ngôn ngữ tự nhiên B. Ngôn ngữ lập trình
C. Ngôn ngữ máy D. Ngôn ngữ …
Câu 46: Trong ngôn ngữ lập trình Pascal, từ không phải từ khóa là:
A. Uses B. Program C. End D. Computer
Câu 47 : Dãy kí tự 20n10 thuộc kiểu dữ liệu
A. String B. Integer C. Real D. Char
Câu 48 : Tên hợp lệ trong ngôn ngữ Pascal là:
A. 16abc; B. Hinh thang; C. D15; D. Program;
Câu 49 : Từ khóa để khai báo biến trong ngôn ngữ lập trình Pascal là:
A. Const B. Var C. Real D. End
Câu 49: Để chạy một chương trình Pascal ta nhấn tổ hợp phím
A. Ctrl+F9 B. Alt+F9 C. Shitf+F9 D. Ctrl+Shift+F9
Câu 50 : Cấu trúc chung hợp lý của một chương trình Pascal là:

A. Begin -> Program -> End. B. Program -> End -> Begin.
C. End -> Program -> Begin. D. Program -> Begin -> End.
Câu 51 : Phần nguyên trong phép chia của hai số nguyên 16 và 5 là:
A. 16 div 5 = 1 B. 16 mod 5 = 1 C. 16 div 5 = 3 D. 16 mod 5 = 3
Câu 52 : A được khai báo là biến với kiểu dữ liệu số nguyên, X là biến với kiểu dữ liệu xâu. Phép
gán hợp lệ là:
A. A:= 4.5; B. X:= ‘1234’; C. X:= 57; D. A:= ‘LamDong’;
Câu 53 : Trong Pascal khai báo nào sau đây là đúng:
A. Var hs : real; B. Var 5hs : real; C. Const hs : real; D. Var S = 24;
Câu 54 . Cho các câu lệnh sau hay chỉ ra câu lệnh đúng:
a. for i:=1 to 10; do x:=x+1 c. for i:=1 to 10 do x:=x+1
b. for i:=10 to 1 do x:=x+1. d. for i:= 1 to 10 for j:=1 to 10 do x:=x+1
Câu 55. Cho đoạn chương trình sau:
x:=0; tong:=0;
while tong<=20 do
begin
writeln(tong);
tong:=tong+1;
end;
x:=tong;
Sau khi đoạn chương trình trên được thực hiện, giá trị của x bằng bao nhiêu ?
a. 20 b. 21 c. không xác định được d. 0
Câu 56 . Cấu trúc của câu lệnh rẽ nhánh IF – THEN (dạng đủ) là:
A) If <điều kiện> then <câu lệnh1> else <câu lệnh 2>;
B) If <điều kiện> then <câu lệnh1>;
C) If <câu lệnh 1> then <điều kiện> else <câu lệnh 2>;
BOÀI DÖÔÕNG HSG Tin hoc 8
15
D) If <câu lệnh> then <điều kiện>;
Câu 57 . Biểu thức nào dưới đây có thể dùng làm điều kiện trong câu lệnh rẽ nhánh (IF. .

THEN. . )
a. 2*x+m
b. m>n
c. sqr(m)
d. x:=m
Câu 58 Lệnh nào dưới đây viết đúng về câu lệnh gán :
a. x : = 15;
b. x := 15
c. x = 15
d. x : 15
Câu 59. Chương trình sau cho kết quả là gi ?
Program vd;
Var a, b,: real; x,: integer ;
Begin readln(a, b);
If a>b then x:=a else x:=b;
Write(x);
End.
a. xuất ra màn hình số nhỏ nhất trong 2 số a, b đã nhập
b. xuất ra màn hình số lớn nhất trong 2 số a, b đã nhập
c. chương trình không thực hiện được do lỗi khai báo kiểu dữ liệu
d. đảo giá trị của 2 biến a, b cho nhau
Câu 60 . Ví dụ nào dưới đây không diễn tả những hoạt động được lặp đi lặp lại trong cuộc
sống?
a. Hàng ngày em đặt đồng hồ báo thức lúc 6 giờ để dậy sớm tập thể dục
b. Mỗi lần khởi động máy tính của em sẽ thực hiện cùng các hoạt động kiểm tra các thành phần
của máy tính,sau đó khởi động hệ điều hành theo 1 trình tự đã được quy định trước
c. 1 ngày đi học 1 lần
d. Làm 1 bài thơ
Câu 61 : Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
s:=0;

for i:=1 to 10 do s := s+i;
writeln(s);
Kết quả in lên màn hình là :
a s = 11 b s = 55 c s = 101 d s = 100
Câu 62 : Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
s:=0;
for i:=1 to 8 do s := s+2*i;
writeln(s);
Kết quả in lên màn hình là :
a s = 72 b s = 100 c s = 101 d s = 55
Câu 63 : Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
s:=1;
for i:=1 to 5 do s := s *i;
writeln(s);
Kết quả in lên màn hình là :
BOÀI DÖÔÕNG HSG Tin hoc 8
16
a s = 72 b s = 101 c s = 55 d s = 120
Câu 64 : Các câu lệnh Pascal nào sau hợp lệ :
a) for i:=100 to 1 do writeln(‘A’)
b) for i:= 1.5 to 10.5 do writeln(‘A’)
c) for i:= 1 to 10 do writeln(‘A’)
d) for i:=1 to 10 do writeln(‘A’);
Câu 65 : Sau khi thực hiện đoạn chương trình sau, giá trị của biến k bằng bao nhiêu?
k: = 0;
For i:= 1 to 3 do k:= k + 2;
A/ k = 8 B/ k = 6 C/ k = 5 D/ k = 2
Câu 66 : Hãy cho biết số lần lặp của câu lệnh for sau đây: “for i:=1 to 5 do … ”
A/ 4 lần B/ 3 lần C/ 6 lần D/ 5 lần
Câu 67 : Tìm câu lệnh hợp lệ trong các câu lệnh sau:

A/ for i:= 10 to 1 do Writeln(‘O’);
B/ for i:= 1.5 to 5.6 do Writeln(‘O’);
C/ for i:= 1 to 10 do Writeln(‘O’);
D/ for i:= 1 to 10 do; Writeln(‘O’);
Câu 68 : Câu lệnh Gotoxy(5,7) có tác dụng:
A/ đưa con trỏ chuột về hàng 5, cột7.
B/ đưa con trỏ chuột về vị trí cột 5 của hàng hiện tại
C/ đưa con trỏ chuột về cột 7 của hàng hiện tại.
D/ đưa con trỏ chuột về cột 5, hàng 7.
Câu 69 : Từ nào sau đây không phải từ khoá?
a) SQRT b) Begin
c) Var d) Program
Câu 70: Từ nào sau đây không phải tên chuẩn?
a) ABS b) SQR
c) Program d)Byte
Câu 71: Câu lệnh nào sau đây là khai báo hằng:
a) Const n = 20; b) Const n : 20;
c) Const n := 20; d) Const n 20;
Câu 72 : Tên nào sau đây là do người lập trình đặt:
a) Var b) Real
c) End d) n
Câu 73 : Khai báo nào sau đây đúng:
a) Program V D; b) Program Vi_du;
c) Program VD d) Program: V_D;
Câu 74 : Câu lệnh nào sau đây là câu lệnh gán?
a) x = 5 b) x: 5
c) x and 5 d) x:= x +5;
Câu 75: Câu lệnh nào sau đây dùng để nhập một số từ bàn phím vào biến x?
a) Writeln(‘Nhập x = ’); b) Write(x);
c) Writeln(x); d) Readln(x);

Câu 76 : Câu lệnh nào sau đây dùng để in giá trị lưu trong biến x ra màn hình?
a) Writeln(x); b) Write(x);
c) Write(x: 3); d) Cả A, B, C đều đúng
Câu 77 : Hãy đọc đoạn chương trình sau:
BOÀI DÖÔÕNG HSG Tin hoc 8
17
s:=0;
for i:= 1 to 5 do s:= s + i;
Sau khi thực hiện xong, kết quả s bằng:
a) 15 b) 5 c) 0 d) Kết quả khác
Câu 78 : Hãy đọc đoạn chương trình sau:
s:=1;
for i:= 1 to 5 do s:= s * i;
Sau khi thực hiện xong, kết quả s bằng:
a) 5 b) 120 c) 0 d) Kết quả khác
Câu 79 : Hãy đọc đoạn chương trình sau:
if (a+b)*(a+b) <=100 then s:=(a+b)*(a+b)
else s:= 2*a*b;
Khi nhập a = 5, b = 6 thì kết quả s bằng:
a) 121 b) 49 c) 60 d) Kết quả khác
Câu 80 : Hãy đọc đoạn chương trình sau:
if (a+b)*(a+b) <=100 then s:=(a+b)*(a+b)
else s:= 2*a*b;
Khi nhập a = 5, b = 2 thì kết quả s bằng:
a) 121 b) 49 c) 20 d)Kết quả khác
Câu 81 : Hãy đọc đoạn chương trình sau:
s:=0;
for i:= 1 to 5 do s:= s * i;
Sau khi thực hiện xong, kết quả s bằng:
a) 0 b) 15

c) 120 d) Kết quả khác
Câu 82 : Hãy đọc đoạn chương trình sau:
if (a >= b then s:=(a+b)*sqrt(a - b)
else s:= a*b;
Khi nhập a = 5, b = 1 thì kết quả s bằng:
a) 5 b) 12
c) 24 d) Kết quả khác
Câu 83 : Hãy đọc đoạn chương trình sau:
if (a >= b then s:=(a+b)*sqrt(a - b)
else s:= a*b;
Khi nhập a = 1, b = 5 thì kết quả s bằng:
a) 12 b)- 24
c) 5 d) Kết quả khác
Câu 84: Hãy đọc đoạn chương trình sau:
if (a >= b then s:=(a+b)*sqrt(a - b)
else s:= a*b;
Khi nhập a = 1, b = 1 thì kết quả s bằng:
a) 0 b) 5
c) 1 d) Kết quả khác
Câu 85: Cho đoạn chương trình sau:
n:=5; i:=1;s:= 0;
While (i < = n) do
begin
BOÀI DÖÔÕNG HSG Tin hoc 8
18
s:=s+i;
i:=i+1;
end;
Sau khi thực hiện xong đoạn chương trình trên ta được kết quả là:
a) 1 b) 5

c) 15 d) Kết quả khác
Câu 86 : Trong các biểu diễn sau đây, biểu diễn nào không phải là hằng trong Pascal:
a) 5.5 b) ‘HOA’ c) V5 d) ‘55’
Câu 87 : Câu nào sau đây đúng khi nói về biến:
a) Biến là đại lượng do người lập trình đặt
b) Biến có giá trị không đổi trong suốt quá trình thực hiện chương trình
c) Có một số biến có sẵn trong chương trình, không cần khai báo
d) Tên biến có độ dài tùy ý
Câu 88 : Chương trình dịch dùng để làm gì?
a) Để chuyển chương trình từ ngôn ngữ máy sang ngôn ngữ bậc cao
b) Để chuyển chương trình từ ngôn ngữ bậc cao sang hợp ngữ
c) Để chuyển chương trình từ ngôn ngữ bậc cao sang ngôn ngữ máy
d) Để chuyển chương trình từ ngôn ngữ máy sang hợp ngữ
Câu 89 : Biểu thức
22
)12()12( yyxx −+−
trong toán học được biểu diễn trong Pascal là:
a) sqr(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1) b) sqr((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
c) sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)) d) sqrt[(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)]
Câu 90: Cú pháp của câu lệnh gán trong Pascal là:
a) Var <tên biến>: <kiểu dữ liệu>; b) <tên biến> := <giá trị>;
c) const <tên hằng> = <giá trị>; d) uses <tên thư viện>;
Câu 91 : Trong Pascal, muốn dịch chương trình ta dùng tổ hợp phím nào sau đây:
a) Alt + F9 b) Ctrl + F9 c) Alt + F3 d) Ctrl + S
Câu 92: Số biến có thể khai báo tối đa trong một chương trình là bao nhiêu ?
A. Chỉ một biến cho mỗi kiểu dữ liệu. B. 10 biến.
C. Chỉ hạn chế bởi dung lượng bộ nhớ. D. Không giới hạn.
Câu 93 : Khi ta khai báo một biến :
A. Máy tính dành riêng một phần bộ nhớ để lưu trữ giá trị của biến trong suốt quá trình hoạt
động của chương trình.

B. Máy tự động in ra tên của biến.
C. Biến đó phải được sử dụng trong chương trình.
D. Không được sử dụng biến đó trong chương chình.
Câu 94 : Biến được khai báo với kiểu dữ liệu số thực có thể lưu các giá trị nào trong các giá trị
dưới đây :
A. Một số nguyên bất kì.
B. Một số thực (có thể là số nguyên) trong phạm vi cho phép.
C. Một số thực bất kì.
D. Một dãy các chữ và số.
Câu 95 : Chọn câu lệnh Pascal hợp lệ trong các câu sau :
A. If x : = a + b then x : = x + 1;
B. If a > b then max = a;
C. If a > b then max : = a ; else max : = b;
D. If 5 = 6 then x : = 100;
Câu 96 : Gán giá trị của X bằng 5. Sau khi cho máy thực hiện câu lệnh
BOÀI DÖÔÕNG HSG Tin hoc 8
19
If X mod 3 = 2 then X := X + 1;
thì giá trị của X sẽ là bao nhiêu ?
A. 6 B. 5
C. 7 D. 4
Câu 97: Trong câu lệnh lặp :
For i : = 1 to 10 do begin … end ;
câu lệnh ghép được thực hiện bao nhiêu lần ? (nói cách khác, bao nhiêu vòng lặp được thực
hiện ?)
A. Không lần nào. B. 1 lần.
C. 2 lần. D. 10 lần.
Câu 98: Dưới đây là một đoạn chương trình Pascal :
For i : = 0 to 10 do
Begin

…….
End.
Sau khi thực hiện đoạn chương trình trên, giá trị của i là :
A. 0 B. 10.
C. 11. D. Không xác định.
Câu 99 : Sau khi thực hiện đoạn chương trình Pascal :
For i : = 1 to m do
Begin
y : = x
x : = y - 1
End.
chúng ta sẽ nhận được kết quả nào dưới đây ?
A. x = x – m ; B. x = i – m;.
C. x : = x – i ; D. i = 0 và x = y – 1;
Câu 100 : Đoạn lệnh sau đây :
So : = 1;
While So < 10 do writeln(So);
So : = So + 1
sẽ cho kết quả gì ?
A. In ra các số từ 1 đến 9;
B. In ra các số từ 1 đến 10;
C. In ra vô hạn các số 1, mỗi số viết trên một dòng;
D. Không phương án nào đúng.
Câu 101 : Hãy tìm hiểu đoạn chương trình sau đây :
X : = 0 ; Tong : = 0 ;
While tong < = 20 do
Begin
Writeln(tong);
Tong : = tong + 1;
End;

X : = tong;
Sau khi đoạn chương trình trên được thực hiện, giá trị của x bằng bao nhiêu ?
A. 20. B. 21.
C. Không xác định được. D. 0.
BOÀI DÖÔÕNG HSG Tin hoc 8
20
BOÀI DÖÔÕNG HSG Tin hoc 8
21

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

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