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

nội dung ôn tập tin học lớp 11

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

ƠN TẬP 11
VIẾT CHƯƠNG TRÌNH GIẢI BÀI TỐN SAU
TRONG SÁCH BÀI TẬP TIN 11
PHẦN 1: LÝ THUYẾT
1. CẤU TRÚC RẼ NHÁNH
2. CẤU TRÚC LẶP
PHẦN 2: BÀI TẬP

Bài 1: Bài tập 3.34: SỐ FIBONAXI)
1. Tìm hiểu đề bài:
 Dữ liệu vào: Khơng có.
 Dữ liệu ra: Tệp văn bản FIBO.DAT gồm 45 dòng. Mỗi dòng là một số Fibonaccy.
2. Xây dựng ý tưởng giải thuật:
 Sử dụng vòng lặp While… Do
 Sơ đồ khối của thuật toán:

Bài 2: Bài tập 5.9:
3. Tìm hiểu đề bài:
 Dữ liệu vào: Số n là số tháng mà đoàn thám hiểm quay lại đảo.
 Dữ liệu ra: Số thỏ trên đảo sau n tháng.
4. Xây dựng ý tưởng giải thuật: Dựa vào tính chất của dãy số Fibonacci.
 Sử dụng vòng lặp While… Do

- Trang 1 -


 Sơ đồ thuật tốn:

5. Trình bày lời giải:

- Trang 2 -




Bài 3: Bài 5.41:
1. Tìm hiểu đề bài:

- Input: Tệp văn bản DUONGI.TXT.
- Output: Khoảng cách của nhóm so với trại.
2. Ý tưởng giải thuật:
- Do chỉ cần biết được khoảng cách của nhóm so với trại nên ta gắn vào hướng đi
của nhóm theo một hệ trục toạ độ: Gốc là trại, chiều dương trục Ox là hướng
Đông, chiều dương trục Oy là hướng Bắc.
- Dùng biến tạm h để tính toạ độ của nhóm với quy ước rẽ trái h giảm đi 1, rẽ phải
h tăng lên 1.

1
2
h
3

4

 x  x; y  y  1
 x  x  1; y  y
 x  x; y  y  1
 x  x  1; y  y

3. Trình bày lời giải:

- Trang 3 -



Bài 4: Bài 319(sbt trang 21):
Cho ba số nguyên p, q, r(#0) .Kiểm tra ba số này, theo thứ tự nhập vào có tạo thành một cấp
số nhân hay khơng. Viết chương trình thực hiện yêu cầu trên.
Bước 1:
Input: bộ ba số p, q, r
Output: kiểm tra xem day p, q, r có là cấp số nhân khơng.
Bước 2:
Sơđồ khối:
Begin
Nhập p, q, r

q/p=r/q

Thông báo phải

Thông báo không phải

End.

Bước 3:viết chương trình
program bai319_bt11;
var p, q, r:integer;
Begin
repeat
writeln('nhap ba so nguyen p, q, r de kiem tra');
readln(p, q, r);
until( q<>0) and( p<>0)and (r<>0);
if q/p=r/q then writeln(p, ' ', q, ' ', r, ': la cap so nhan')
else

writeln(p, ' ', q, ' ', r, ': khong phai cap so nhan');
readln;
end.
Bước 4
Mở rộng cho hs giải các bài toán tương tự như kiểm tra cấp số cộng không, trong trường hợp
lớn hơn 3 số làm thế nào? Xác định số hạng tiếp theo nếu đây là cấp số nhân (số cộng).
Bài 5: Bài 440(sbt trang 45):Hãy lập trình
-Nhập một xâu bất kì từ bàn phím.
-Chuẩn hóa xâu theo quy tắc sau:
+xóa các dấu cách ở đầu xâu nếu có;
+xóa các dấu cách ở cuối xâu nếu có;
+thay dãy nhiêu dấu cách liên tiếp bằng một dấu cách.
-đưa kết quả đã chuẩn hóa ra màn hình.
- Trang 4 -


Bước 1:
Input: nhập một xâu s
Output:Đưa ra xâu s chuẩn ..
Bước 2:
B1.nhập xâu s;
B2 .xóa trong xâu s đi 1 kí tự nếu có hai kí tự trắng liền nhau.
B3 kiểm tra kí tự đầu và cuối nếu chúng là kí tự trắng thì xóa.
B4.đưa lần lươt s[i] ra màn hình đến hết.
B5. kết thúc
Bước 3:viết chương trình
program chuanhoaxau;
var s:string;
i:integer;
Begin

writeln('nhap vao mot xau ');
readln(s);
for i:=1 to length(s) do
write(s[i]);
while pos(' ', s)<>0 do
delete(s, pos(' ', s), 1);
if s[1]=' 'then delete(s, 1, 1);
if s[length(s)]=' ' then delete(s, length(s), 1);
writeln('xau sau khi duoc chuan hoa la ');
for i:=1 to length(s) do
write(s[i]);
readln;
end.
Bước 4
Mở rộng cho hs giải các bài toán tương tự như kiểm tra có một từ cần tìm , bổ xung từ vào
xâu, xóa một từ trong xâu. Đảo xâu.....

- Trang 5 -


Bài 6: Bài 3.34:Tuổi cha hiện nay là B và tuổi con là C (0nhân và gia đình B-C>=19). Viết chương trình kiểm tra xem tuổi cha có gấp đơi tuổi con hay
khơng, nếu đúng thì đưa ra màn hình câu thông báo ‘HIEN NAY TUOI CHA GAP ĐOI TUOI
CON’, trong trường hợp ngược lại, hãy tính số năm N mà trước đó hoặc sau đó tuổi cha gấp đơi
tuổi con và đưa câu thông báo dạng ‘N NĂM TRƯỚC ĐÂY TUỔI CHA GẤP ĐÔI TUỔI CON’
hoặc ‘SAU N NĂM TUỔI CHA SẼ GẤP ĐƠI TUỔI CON’
VÍ DU, với B=59, C=29 thì in ra câu thơng báo sẻ là:
SAU 1 NĂM NỮA TUÔI CHA SE GẤP ĐÔI TUỔI CON
B1:input:nhập B, C;
Output: đưa ra màn hình câu thơng báo tuổi cha gấp đôi tuổi con, sau N năm tuổi cha gáp đôi tuổi

con hoặc trước đó N năm tuổi cha gấp đơi tuổi con
var b, c, n, k:integer;
B2: Ý tưởng:sử dụng câu lệnh if , nếu b=2*c thì thơng báo ra màn hình HIỆN NAY TUỎI CHA
GẤP ĐƠI TUỔI CON, cịn nếu b-2*c>0 thì thơng báo “SAU N=b-2*c TUỔI CHA SẺ GẤP ĐƠI
TUỔI CON’, cịn nếu b-2*c<0 thì thơng báo ‘N NĂM TRƯỚC ĐĨ TUỔI CHA GẤP ĐƠI TUỔI
CON
B3:SƠ ĐỒ KHỐI:
Begin

Sau N năm t ổi cha s
ẻ g ấp đ ôi tuôi con
NHAP B,

C

B>C>0
B-C>19

N:=B-2*C

B:=2*C

B>2*C

N=2*C-B

Tr ư ớc đ ó N N ĂM TU ỔI
CHA G ẤP ĐÔI TU ỔI CON

END


- Trang 6 -


B4:CHƯƠNG TRÌNH
begin
repeat
writeln('nhap tuoi cha');readln(b);
writeln('nhap tuoi con');readln(c);
if(b-c<19) or(c<0) or (bwriteln('ban phai nhap lai');
until(c>0) and (c<b) and (b-c>=19);
if b=2*c then writeln('hien tuoi cha gap doi tuoi con')
else
if b>2*c then
writeln('sau', b-2*c, 'nam tuoi cha se gap doi tuoi')
else
k:=2*c-b;
write(2*c-b, 'nam truoc day tuoi cha gap doi tuoi con');
readln;
end.
Bài 7: Bài 3.21: Viết đoạn chương trình dùng câu lệnh IF tính:
x + y nếu x > 1 và y > 1
x – y nếu x > 1 và y <= 1
- x + y nếu x <= 1 và y > 0
- x - y nếu x <1 và y <=0
Bài giải:
 Bước 1: Xác định Input, Output
- Input: x,y;
- Output: v;

 Bước 2: Ý tưởng thuật toán:
B1: Đọc giá trị x, y nhập vào
B2: Xét giá trị x,y
- Tính v:
 V := x + y nếu x > 1 và y > 1. Chuyển qua bước 3;
 V := x – y nếu x > 1 và y <= 1;Chuyển qua bước 3;
 V := - x + y nếu x <= 1 và y > 0;Chuyển qua bước 3;
 V := - x - y nếu x <1 và y <=0;Chuyển qua bước 3;
B3: In giá trị của v
 Bước 3: Chương trình
v:=

If (x > 1) and (y > 1) then v:=x + y
Else
If (x > 1) and (y <= 1) then v:=x - y
Else
If (x <= 1) and (y <=0 ) then v:=x + y
Else v:= - x – y;

- Trang 7 -


Writeln(‘ Gia tri cua ham la ‘,v);
Hoặc:
If (x > 1) and (y > 1) then v:=x + y ;
If (x > 1) and (y <= 1) then v:=x + y ;
If (x <= 1) and (y >0) then v:=x + y ;
If (x <= 1) and (y <=0) then v:=x + y ;

 Bước 4:Thiết kế bài tập tương tự:

Tính giá trị của y
x – 1 nếu x>=1;
Y= x+ 1 nếu (x>=0) và (x<1)
– x – 1 nếu (x<0)

Bài 8: Bài 3.18:
Bước 1: Xác định Input, Output
Input: m,n,k
Output:
Nếu là cấp số cộng thì gấp đơi giá trị mỗi số
Nếu khơng thì giảm mỗi số một đơn vị
Bước 2: Ý tưởng giải thuật
Kiểm tra điều kiện k+m=n*2?
Nếu điều kiện đúng thì nhân đơi mỗi số, nếu sai thì giảm mỗi số một đơn vị
Sơ đồ khối:
Begin

Nhập m,n,k

m+k=n*2

F

T
m:=m*2;
n:=n*2;
k:=k*2;

m:=m-1;
n:=n-1;

k:=k-1;

In m,n,k

End

- Trang 8 -


Bước 3: Chương trình
Var m,n,k:integer;
Begin
Write('Nhap 3 so m,n,k');
Readln(m,n,k);
If m+k=n*2 then
Begin
m:=m*2;
n:=n*2;
k:=k*2;
End
Else
Begin
m:=m-1;
n:=n-1;
k:=k-1;
End;
Write('Gia tri m,n,k sau khi kiem trala:',m:3,n:3,k:3);
Readln;
End.
Bước 4:

Bộ test:
Giá trị m,n,k
Kiểm tra
Giá trị m,n,k sau khi kiểm tra
3, 6, 9
Là cấp số cộng
6, 12, 18
3, 4, 7
Không phải là cấp số cộng 2, 3, 6
Bài tập tương tự: Nhập vào 3 số a, b, c, kiểm tra xem có phải a, b, c tạo thành cấp số nhân
không? Nếu là cấp số cộng thì thơng báo đồng thời gấp đơi mỗi số. Ngược lại thì giảm mỗi
số 2 đơn vị.
Bài 9: Bài 4.20
Bước 1: Xác định Input, Output
Input: Nhập xâu bất kì
Output: Chuẩn hóa xâu
Bước 2: Ý tưởng giải thuật
- Dùng lệnh while s[1]=' ' do delete(s,1,1) để xóa các kí tự trắng đầu xâu
- Dùng lệnh while s[length(s)]=' ' do delete(s,length(s),1) để xóa các kí tự trắng cuối
xâu
- Dùng lệnh while pos(' ',s)<>0 do delete(s,pos(' ',s),1) để xóa những kí tự trắng liền
nhau ở giữa xâu

- Trang 9 -


Sơ đồ khối:

Begin


Nhập xâu s

F

s[1]=#32

T
delete(s,1,1);

F

s[length(s)]=#32

T
delete(s,length(s),1);

F

Pos(‘ ‘,s)<>0

T
delete(s,pos(‘ ‘,s),1;

In xâu s

End

- Trang 10 -



Bước 3: Chương trình
Var s:string;
Begin
Writeln('Nhap xau bat ki:');
readln(s);
while s[1]=' ' do
delete(s,1,1);
while s[length(s)]=' ' do
delete(s,length(s),1);
while pos(' ',s)<>0 do
delete(s,pos(' ',s),1);
Writeln('xau sau khi chuan hoa: ',s);
Readln;
End.
Bước 4:
- Bộ test:
Nhập xâu
Xâu sau khi chuẩn hóa
Phan
Thị
Bình
Phan Thị Bình
- Xây dựng bài tốn tương đương:
Nhập xâu bất kì, đếm số từ có trong xâu ( từ là tập hợp các kí tự kết thúc bằng dấu
cách)

- Trang 11 -


Bài 10: Bài 3.40 Nhập vào bàn phím số nguyên dương N (0

màn hình tổng bình phương các chử số của N. Ví dụ, với N=125, tổng bình phương các chử
số cảu nó sẽ là 12+22+52=30.
Phân tích bài tốn
Bước 1. Tìm hiểu đề bài
- Input: N nguyên dương (0- Output: tổng bình phương các chử số của N.
- Tổng bình phương các chử số bằng tổng bình phương của tất cả các chử số có mặt
trong số đó.
Bước 2. Xây dựng ý tưởng giải thật
- Để tính tổng binh phương các chử số thì ta phải lấy ra được các chử số của số đó.
- Cách lấy các chử số trong một số:kết hợp hai toán tử MOD và DIV ta sẽ lần lượt lấy
được từng số dư trong từng hàng đơn vị, chục, trăm, nghìn...
- Bình phương chúng lên rồi cộng dồn vào biến tổng sẽ cho ta kết quả cần tính.
- Sơ đồ khối
Begin

Nhập N

Tong:=0

N>0

In tong

Du:= N mod 10;
Tong:= tong + sqt(du);
N:= N div 10;

Bước 3. Viết chương trình
Var N:longint;

Tong:interger;
Du:byte;
Begin
Repeat
Write (‘ Nhap N= ‘); Readln (N);
If (N≤0) or(N≥2.exp(9*ln(10))) Then write(‘ Nhap lai N ’);
Until (N>0) and (N<2.109)
- Trang 12 -

End


Tong:=0;
White N>0 do
Begin
Du:= N mod 10;
Tong:=Tong + sqr(du);
N:=N div 10;
End;
Writeln (‘ Tong binh phuong cac so cua ‘,N, ‘ la: ‘, Tong’);
Readln;
End.
 Chú ý:
- Điều kiện ràng buộc đầu vào của N (N>0) and (N<2.109).
- Điều kiện lặp N>0 chứ khơng phải là N≥0. Vì khi N=0 thì phải dừng lặp, các câu lệnh
dưới khơng có ý nghĩa nữa.
- Kiểu dữ liệu: N là longint (vì 0chỉ nhận giá trị từ 0..9)
Bước 4. Nghiên cứu về lời giải
- Xây dựng bộ text

STT
N
du
Tong

-

1

125

0

0

2

125

5

25

3

12

2

29


4

1

1

30

5

0

Mở rộng bài tốn: có thể thay vịng lặp While...do bằng vịng lặp Repeat...until.
Lớp bài tốn tương đương
+ Nhập số N nguyên dương và cho biết N có bao nhiêu chử số, tính tổng các chử số
đó?
+ Phân tích số thành tích của các thừa số nguyên tố.
+ Viết hàm Dao_so(N) để cho ra số nghịch đảo của số đó?

- Trang 13 -


Bài 11: Bài 3.16 (Sách bài tập Tin Hoc 11)
Lập trình nhập từ bàn phím hai số ngun khác nhau m và n, thay số nhỏ hơn bằng hiệu của
số lớn với số bé, thay số lớn hơn bằng tổng của hai số ban đầu. Đưa ra các giá trị mới của m
và n ra màn hình
Giải:
* Tìm hiểu đề bài:
In put: m,n

Out put: giá trị mới của m,n.
* Ý tưởng giải thuật:
-Bước 1: Nhập vào m, n từ bàn phím
-Bước 2: Nếu m>n thì
Tg:=m;
m:=m+n;
n:=tg-n;

Nếu n>m thi
Tg:=n;
n:= n+m;
m:=tg-m;
-Bước 3: Đưa ra màn hình giá trị mới của m và n.
-Bước 4: Kết thúc.
Sơ đồ khối:
Be gin
Nhập m,n.
Đ
m>=n
S
Tg:=m;
m:= n-m;
n:=tg+n

Tg:=n;
n:= m-n;
m:=tg+m

In ra m, n


End

* Thuật toán:
var m,n,tg:integer;
- Trang 14 -


begin
write('Nhap vao 2 so m,n:');readln(m,n);
if m>n then
begin
tg:=n;
n:=m-n;
m:=tg+m;
end
else
begin
tg:=m;
m:=n-m;
n:=tg+n;
end;
writeln('gia tri moi cua m la:',m);
writeln('gia tri moi cua n la:',n);
readln;
end.

- Trang 15 -


NỘI DUNG ÔN TẬP –TRẮC NGHIỆM TIN 11THÁNG 3-2020

1. Trong ngơn ngữ lập trình Pascal, đoạn chương trình sau thực hiện
cơng việc gì?
d:=0;
for i:=1 to length(s) do
if s[i]=’ ‘ then d:=d+1; {‘’ là khoảng trắng};
A. Xóa các dấu khoảng trắng trong xâu s;
B. Đếm số ký tự có trong xâu s;
C. Xóa đi các chữ số có trong xâu s;
D. Xóa đi chữ số đầu tiên trong xâu s;
2. Trong ngơn ngữ lập trình Pascal, để xóa ký tự đầu tiên của xâu ký tự S
ta viết:
A. delete(s,1,1);
B. delete(s,1,i); {i là biến có giá trị bất kỳ}
C. delete(s, length(s),1);
D. delete( 1,S,1);
3. Trong ngơn ngữ lập trình Pascal, để tìm vị trí xuất hiện đầu tiên của
xâu ‘hoa’ trong xâu s ta có thể viết bằng cách nào trong các cách sau?
A. S1:=’hoa’; I:=pos(s1,’hoa’);
B. I:=pos(s,’hoa’);
C. I:=pos(’hoa’,s);
D. I:=pos(‘hoa’,’hoa’);
4. Trong ngôn ngữ lập trình Pascal, đoạn chươn trình sau thực hiện cơng
việc nào trong các công việc sau:
i:=pos(‘ ‘,S); {‘ ’ là 2 dấu cách}
While i<>0 do
Begin
Delete(s,i,1);
i:=pos(‘ ‘, s);
End;
A. Xóa hai dấu cách liên tiếp nhau đầu tiên trong xâu;

B. Xóa đi một trong 2 dấu cách đầu tiên trong xâu;
C. Xóa các dấu cách trong xâu s để s khơng cịn 2 dấu cách liền
nhau;
D. Xóa các dấu cách liền nhau cuối cùng trong xâu;

1


5. Trong ngơn ngữ lập trình Pascal, đoạn chương trình sau đây làm cơng
việc gì?
I:=pos (‘’,X);
While i<>0 do
Begin
Delete(x,I,1);
I:=Pos(‘’,X);
End;
A. Xóa tất cả các dấu cách trong xâu x;
B. Xóa tất cả các dấu cách bên trái của xâu x;
C. Xóa tất cả các dấu cách bên phải của xâu x;
D. Xóa tất cả các dấu cách ở hai đầu của xâu x;
6. Trong ngơn ngữ lập trình Pascal, để in một xâu ra màn hình theo thứ
tự ngược lại giữa các ký tự trong xâu (Ví dụ ‘abcd’ thì in ra là ‘dcba’),
đoạn chương trình nào sau đây thực hiện việc này?
A. For i:=1 to length(s) do write(s[i]);
B. For i:=1 to length(s) downto write(s[i]);
C. For i:=1 to length(s) do write(s);
D. For i:=1 to length(s) div 2 do write(s[i]);
7. Trong ngôn ngữ lập trình Pascal, với xâu ký tự ta có thể:
A. So sánh hai xâu ký tự;
B. So sánh hai xâu ký tự, gán biến xâu cho biến xâu và gán một ký

tự cho biến xâu;
C. Gán biến xâu cho biến xâu và gán một ký tự cho biến xâu;
D. So sánh và gán một biến xâu cho biến xâu.
8. Trong ngơn ngữ lập trình Pascal, hai xâu ký tự được so sánh dựa trên:
A. Mã của từng ký tự trong các xâu lần lượt từ trái sang phải;
B. Độ dài tối đa của hai xâu;
C. Độ dài thực sự của hai xâu;
D. Số lượng các ký tự khác nhau trong 2 xâu;
9. Trong ngơn ngữ lập trình Pascal, hàm Upcase(ch) cho kết quả là:
A. Chữ cái in hoa tương ứng với ch;
B. Xâu ch toàn chữ thương;
C. Xâu ch toàn chữ hoa;
D. Biến ch thành chữ thường;
10. Trong ngôn ngữ lập trình Pascal, xâu ký tự là gì?
A. Mảng các ký tự;
B. Dãy các ký tự trong bảng mã ASCII;
2


C. Tập hợp các chữ cái trong bảng chữ cái tiếng anh;
D. Tập hợp các chữ cái và các chữ số trong bảng chữ cái tiếng anh;
11. Trong ngôn ngữ lập trình Pascal cách khai báo xâu ký tự nào sau đây
là đúng:
A. S: file of String;
B. S: file of char;
C. S: String;
D. S: Strings[255];
12. Trong ngơn ngữ lập trình Pascal, xâu ký tự có tối đa là:
A. 8 Ký tự
B. 256 ký tự

C. 16 Ký tự
D. 255 ký tự
13. Trong ngơn ngữ lập trình Pascal xâu ký tự khơng chứa ký tự nào gọi
là:
A. Xâu trắng;
B. Xâu không;
C. Xâu rỗng;
D. Không phải là xâu ký tự
14. Trong ngôn ngữ lập trình Pascal phần tử đầu tiên của xâu ký tự mang
chỉ số là:
A. 0
B. 1
C. Do người lập trình khai báo
D. Khơng có chỉ số
15. Trong ngơn ngữ lập trình Pascal, khai báo nào trong các khai báo sau
là sai khi khai báo xâu ký tự.
A. S: String;
B. X1: String[100];
C. S: String[256];
D. X1:String[1];
16. Trong ngơn ngữ lập trình Pascal, thủ tục Delete(c,a,b) thực hiện cơng
việc gì trong các cơng việc sau:
A. Xóa trong xâu c a ký tự bắt đâu từ vị trí b;
B. Xóa trong xâu a b ký tự bắt đâu từ vị trí b;
C. Xóa trong xâu c b ký tự bắt đâu từ vị trí a;
D. Xóa trong xâu b c ký tự bắt đâu từ vị trí a;

3



17. Trong ngơn ngữ lập trình Pascal, thủ tục Insert(S1,S2,n) thực hiện
cơng việc gì?
A. Chèn thêm xâu S1 vào xâu S2 bắt đầu từ vị trí n của S1;
B. Chèn thêm xâu S1 vào xâu S2 bắt đầu từ vị trí n của S2;
C. Chèn thêm xâu S2 vào xâu S1 bắt đầu từ vị trí n của S1;
D. Chèn thêm xâu S2 vào xâu S2 bắt đầu từ vị trí n của S1;
18. Trong ngơn ngữ lập trình Pascal, hàm length(s) cho kết quả gì?
A. Độ dài xâu S khi khai báo;
B. Số ký tự hiện có trong xâu S khơng tính các khoảng trắng(Ký tự
trắng, khoảng cách);
C. Số các ký tự của xâu khơng tính dấu cách cuối cùng;
D. Số ký tự hiện có của xâu S;
19. Trong ngơn ngữ lập trình Pascal sau khi thực hiện đoạn chương trình
sau, giá trị của biến S là:
S:=’Ha Noi mua thu’;
Delete(S,7,8);
Insert(‘Mua thu’,S,1);
A. Ha Noi Mua thu;
B. Mua thu Ha Noi mua thu;
C. Mua thu Ha Noi;
D. Ha Noi;
20. Trong ngôn ngữ lập trình Pascal, thủ tục chèn xâu S1 vào xâu S2 bắt
đầu từ vị trí vt được viết:
A. Insert(vt,S1,S2);
B. Insert(S1,S2,vt);
C. Insert(S1,vt,S2);
D. Insert(S2,S1,vt);
21. Dữ liệu kiểu tệp
A. Được lưu trữ trên ROM;
B. Chỉ được lưu trữ trên RAM;

C. Chỉ được lưu trữ trên đĩa cứng;
D. Được lưu trữ trên bộ nhớ ngoài;
22. Dữ liệu kiểu tệp:
A. Sẽ bị mất hểt khi tắt máy;
B. Sẽ bị mất hết khi mất điện đột ngột;
C. Không bị mất khi tắt máy hoặc mất điện;
D. Vẫn giữ nguyên trên ROM khi tắt máy hoặc cúp điện;
4


23. Số lượng phần tử trong tệp
A. Không được lớn hơn 128;
B. Không được lớn hơn 255;
C. Phải được khai báo trước;
D. Không bị giới hạn mà chỉ phụ thuộc vào dung lượng đĩa;
24. Trong Pascal, để khai báo tệp văn bản ta sử dụng cú pháp
A. var <tên tệp>:text;
B. <tên biến tệp>:text;
C. var <tên tệp>: String;
D. var <tên biến tệp>: String;
25. Trong Pascal để khai báo hai biến tệp văn bản f1, f2 ta viết như sau:
A. var f1 f2:text;
B. var f1;f2:text;
C. var f1,f2:text;
D. var f1:f2: text;
26. Để thao tác với tệp
A. ta có thể gán tên tệp cho tên biến tệp, hoặc sử dụng trực tiếp tên
tệp cũng được;
B. ta nhất thiết phải gán tên tệp cho tên biến tệp;
C. ta nên sử dụng trực tiếp tên tệp trong chương trình;

D. ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình;
27. Để gán tên tệp cho tên biến tệp ta sử dụng câu lệnh:
A. <tên biến tệp>:=<tên tệp>;
B. <tên tệp>:=<tên biến tệp>;
C.asign(<tên biến tệp>:=<tên tệp>);
D. asign(<tên tệp>:=<tên biến tệp>);
28. Để gán tệp kq.txt cho biến tệp f1 ta sử dụng câu lệnh
A. f1:=‘kq.txt’:
B. kq.txt=f1;
C. assign(‘kq.txt’,f1);
D. assign(f1,’kq.txt’);
29. Trong Pascal, mở tệp để đọc dữ liệu ta sủ dụng thủ tục:
A. reset(<tên tệp>);
B. reset(<tên biến tệp>);
C. rewrite(<tên tệp>);
D. rewrite(<tên biến tệp>);
30. Vị trí của con trỏ tệp sau lời gọi thủ tục reset
A. nằm ở đầu tệp;
5


B. nằm ở cuối tệp;
C. nằm ở giữa tệp;
D. nằm ngẩu nhiên bất kỳ vị trí nào;
31. để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục sau:
A. read(<tên tệp>,<danh sách kết quả>);
B. read(<tên biến tệp>,<danh sách kết quả>);
D. write(<tên tệp>,<danh sách kết quả>);
C. write(<tên biến tệp>,<danh sách kết quả>);
32. để đọc dữ liệu từ tệp văn bản ta có thể sử dụng thủ tục sau:

A. read(<tên tệp>,<danh sách kết quả>);
B. read(<tên biến tệp>,<danh sách kết quả>);
D. write(<tên tệp>,<danh sách kết quả>);
C. write(<tên biến tệp>,<danh sách kết quả>);
33. Trong Pascal để đóng tệp ta dùng thủ tục
A. Close(<tên biến tệp>);
B. Close(<tên tệp>);
C. Stop(<tên biến tệp>);
D. Stop(<tên tệp>);

6



×