ÔN TẬP
ÔN TẬP
TIN HỌC 11 – THI HỌC KỲ 2
TIN HỌC 11 – THI HỌC KỲ 2
(Tiếp theo)
(Tiếp theo)
Câu hỏi 1: Trình bày các thao tác đọc
tệp?
a. Gắn tên tệp
ASSIGN(<biến tệp>,<tên tệp>);
b. Mở tệp để ghi kết quả:
REWRITE (<biến tệp>);
c. Thủ tục đọc dữ liệu từ tệp:
READ(<biến tệp>, <Danh sách
biến>);
READLN (<biến tệp>, <Danh sách
biến>);
d. Thủ tục đóng tệp
CLOSE(< tên biến tệp>)
Sai ở điểm nào?
Sai ở điểm nào?
Trả Lời:
Trả Lời:
b. Mở tệp để đọc dữ liệu:
RESET (<biến tệp>);
Câu hỏi 2: Trình bày các thao tác ghi
tệp?
a. Mở tệp để ghi kết quả:
REWRITE (<biến tệp>);
b. Gắn tên tệp
ASSIGN(<biến tệp>,<tên tệp>);
c. Thủ tục ghi dữ liệu ra tệp
WRITE(<biến tệp>, <Danh sách kết quả>);
WRITELN (<biến tệp>, <Danh sáchkết
quả>);
d. Thủ tục đóng tệp
CLOSE(< tên biến tệp>)
Sai ở điểm nào?
Sai ở điểm nào?
Trả Lời:
Trả Lời:
b. Mở tệp để ghi kết quả:
REWRITE (<biến tệp>);
a. Gắn tên tệp
ASSIGN(<biến tệp>,<tên tệp>);
Câu hỏi 3
Viết chương trình có thủ tục
hoán đổi vị trí của 2 biến a và b
thuộc kiểu số nguyên
Sau khi chạy chương trình cả
2 biến đều thay đổi
Program CT;
Var a,b :integer;
Procedure Hoan_Doi(
);
Var TG: integer;
Begin
TG : = x ;
x : = y ;
y : = TG ;
End;
Begin
a:=20 ; b:= 4;
Writeln( a : 6, b : 6);
Hoan_Doi(a,b);
Writeln(a: 6, b:6);
Readln;
End.
Khai báo biến toàn bộ
Khai báo biến toàn bộ
Viết chương trình hoán đổi vị trí 2 biến x
Viết chương trình hoán đổi vị trí 2 biến x
và y
và y
Khai báo biến tạm
Khai báo biến tạm
Khai báo biến cục bộ
Khai báo biến cục bộ
Xác định giá trị cho 2 biến
Xác định giá trị cho 2 biến
toàn bộ
toàn bộ
Hiện giá trị 2 biến toàn bộ lên màn
Hiện giá trị 2 biến toàn bộ lên màn
hình
hình
Gọi thủ tục Hoán đổi
Gọi thủ tục Hoán đổi
Xuất kết quả sau khi hoán đổi
Xuất kết quả sau khi hoán đổi
Dừng chương trình xem kết
Dừng chương trình xem kết
quả
quả
var x,y :integer
Program CT;
Var a,b :integer;
Begin
Procedure Hoan_Doi(var x,y
:integer);
Var GT: integer;
Begin
TG : = x ;
x : = y ;
y : = TG ;
End;
a:=5; b:=10;
Writeln( a : 6 , b : 6);
HoanDoi(A,B);
Writeln(a : 6 , b : 6);
Readln;
End.
Tên biến sai : là TG
Tên biến sai : là TG
Tên thủ tục sai, biến a, b không viết hoa
Tên thủ tục sai, biến a, b không viết hoa
Var TG: integer;
Hoan_Doi(a,b);
Chương trình sai
Chương trình sai
ở đâu?
ở đâu?
Câu hỏi 4
Viết chương trình có thủ tục
hoán đổi vị trí của 2 biến a và b
thuộc kiểu số nguyên
Sau khi chạy chương trình chỉ
có 1 biến biến thay đổi
Program CT;
Var a,b :integer;
Begin
Procedure
Hoan_Doi(var x,y
:integer);
Var TG: integer;
Begin
TG : = x ;
x : = y ;
y : = TG ;
End;
a:=5; b:=10;
Writeln( a : 6 , b : 6);
Hoan_Doi(a,b);
Writeln(a : 6 , b : 6);
Readln;
End.
Program CT;
Var a,b :integer;
Begin
Procedure
Hoan_Doi(x, var y
:integer);
Var TG: integer;
Begin
TG : = x ;
x : = y ;
y : = TG ;
End;
a:=5; b:=10;
Writeln( a : 6 , b : 6);
Hoan_Doi(a,b);
Writeln(a : 6 , b : 6);
Readln;
End.
Chọn chương trình đúng. Giải thích vì
Chọn chương trình đúng. Giải thích vì
sao?
sao?
Chương trình này
Chương trình này
có gì cần lưu ý?
có gì cần lưu ý?
Biến x không đặt
Biến x không đặt
trong khai báo biến
trong khai báo biến
Var
Var
Kết quả
Kết quả
khi chạy
khi chạy
chương trình
chương trình
a ko đổi
a ko đổi
Nhập :
Nhập :
a =
a =
5
5
và b = 10
và b = 10
Xuất :
Xuất :
a =
a =
5
5
và b =
và b =
5
5
Câu hỏi 5
Viết chương trình tính giai
thừa (n!) có sử dụng hàm -
Function
Program TínhGiaithua;
Var n : integer;
Function Giai_thua
( ) : Real;
Var i : integer;
gt : real;
Begin
gt := 1;
For i:=1 to m do
gt := gt * i;
giaithua := gt;
End;
Begin
Write(‘Ban nhap so n = ‘); Readln(n); hoặc
n:=10;
Giai_thua(n);
Readln;
End.
Khai báo biến toàn bộ
Khai báo biến toàn bộ
Viết chương trình tính giai thừa và trả về
Viết chương trình tính giai thừa và trả về
giá trị
giá trị
Khai báo biến chạy và biến tính giai
Khai báo biến chạy và biến tính giai
thừa
thừa
Khai báo biến cục bộ
Khai báo biến cục bộ
Gọi hàm tính Giai thừa
Gọi hàm tính Giai thừa
Dừng chương trình xem kết
Dừng chương trình xem kết
quả
quả
m : integer
Nhập hoặc xác định giá trị cần tính giai
Nhập hoặc xác định giá trị cần tính giai
thừa
thừa
Program TínhGiaithua;
Function Giai_thua (m : integer )
Var i : integer;
gt : real;
Begin
gt := 1;
For i:=1 to m do
gt := gt * i;
End;
Begin
Write(‘Ban nhap so n = ‘); Readln(n); hoặc
n:=10;
Readln;
End.
Var n : integer;
: Real;
giaithua := gt;
Giai_thua(n);
Chương trình sai ở
Chương trình sai ở
đâu?
đâu?
Thiếu khai báo biến
Thiếu khai báo biến
toàn bộ
toàn bộ
Thiếu kiểu dữ liệu
Thiếu kiểu dữ liệu
trả về
trả về
Thiếu trả về giá trị
Thiếu trả về giá trị
Thiếu gọi hàm Giai
Thiếu gọi hàm Giai
thừa
thừa
Program TínhGiaithua;
End;
Begin
Write(‘Ban nhap so n = ‘); Readln(n); hoặc n:=10;
Readln;
End.
Readln;
End.
Câu 6
Viết chương trình nhập vào
họ và tên của hai học sinh
Sau đó in ra màn hình họ
tên của học sinh có độ dài dài
hơn.
Nếu độ dài hai xâu bằng
nhau thì xuất ra xâu nhập sau.
Program bt;
Var a,b : String;
Begin
Writeln (‘ Nhap xau ho ten thu
nhat : ‘);
Readln(a);
Writeln (‘ Nhap xau ho ten thu
hai : ‘);
Readln(b);
If length(a) > length(b) then
Writeln(‘ Ket qua : ‘,a)
Else
Writeln(b);
Readln;
End.
Khai báo biến
Khai báo biến
Nhập vào họ tên học sinh thứ
Nhập vào họ tên học sinh thứ
nhất
nhất
Nhập vào họ tên học sinh thứ
Nhập vào họ tên học sinh thứ
hai
hai
So sánh độ dài 2 xâu
So sánh độ dài 2 xâu
Xuất kết quả
Xuất kết quả
Dừng chương trình xem kết quả
Dừng chương trình xem kết quả
Câu 7 :
Viết chương trình nhập vào họ và tên
của hai học sinh
Kiểm tra kí tự đầu tiên của xâu thứ 1 và
kí tự cuối cùng của xâu thứ 2 :
- Nếu giống nhau thì xuất ra dòng
chữ :
Trùng nhau
- Nếu không giống nhau thì xuất ra
câu :
Khác nhau
Program bt;
Var x : Byte;
a, b : String;
Begin
Writeln ( ‘Nhap xau thu nhat : ‘);
Readln (a);
Writeln ( ‘Nhap xau thu hai : ‘);
Readln (b);
x := length (b);
If a[1] = b[x] then
Writeln (‘ Trung nhau’)
else Writeln (‘Khac nhau’);
Readln;
End.
Khai báo biến
Khai báo biến
Nhập vào họ tên học sinh thứ
Nhập vào họ tên học sinh thứ
nhất
nhất
Nhập vào họ tên học sinh thứ
Nhập vào họ tên học sinh thứ
hai
hai
So sánh kí tự đầu xâu 1 và kí tự cuối xâu
So sánh kí tự đầu xâu 1 và kí tự cuối xâu
2
2
Xuất kết quả
Xuất kết quả
Dừng chương trình xem kết quả
Dừng chương trình xem kết quả
Xác định độ dài xâu 2 để biết vị trí cuối
Xác định độ dài xâu 2 để biết vị trí cuối
của xâu 2
của xâu 2
Câu 8 :
Viết chương trình nhập vào họ và
tên của hai học sinh
Kiểm tra 2 kí tự cuối của 2 xâu :
- Nếu giống nhau thì xuất ra dòng
chữ :
Trùng nhau
- Nếu không giống nhau thì xuất
ra câu :
Khác nhau
Program bt;
Var x,y : Byte;
a, b : String;
Begin
Writeln ( ‘Nhap xau thu nhat : ‘);
Readln (a);
Writeln ( ‘Nhap xau thu hai : ‘);
Readln (b);
x := length (a);
y := length (b);
If a[x] = b[y] then
Writeln (‘ Trung nhau’)
else Writeln (‘Khac nhau’);
Readln;
End.
Khai báo biến
Khai báo biến
Nhập vào họ tên học sinh thứ
Nhập vào họ tên học sinh thứ
nhất
nhất
Nhập vào họ tên học sinh thứ
Nhập vào họ tên học sinh thứ
hai
hai
So sánh 2 kí tự cuối của 2 xâu
So sánh 2 kí tự cuối của 2 xâu
Xuất kết quả
Xuất kết quả
Dừng chương trình xem kết quả
Dừng chương trình xem kết quả
Xác định độ dài xâu 2 để biết vị trí cuối
Xác định độ dài xâu 2 để biết vị trí cuối
của 2 xâu
của 2 xâu