Câu hỏi 3Viế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... Khai báo biến toàn bộ Viết chương trình
Trang 1ÔN TẬP
TIN HỌC 11 – THI HỌC KỲ 2
(Tiếp theo)
Trang 3Câ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?
Trả Lời:
b Mở tệp để đọc dữ liệu:
RESET (<biến tệp>);
Trang 4Câ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?
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>);
Trang 5Câ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
Trang 6Program 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ộ
Viết chương trình hoán đổi vị trí 2 biến x
và y
Khai báo biến tạm
Khai báo biến cục bộ
Xác định giá trị cho 2 biến toàn bộ
Hiện giá trị 2 biến toàn bộ lên màn hình Gọi thủ tục Hoán đổi
Xuất kết quả sau khi hoán đổi Dừng chương trình xem kết quả
var x,y :integer
Trang 7Program 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 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
ở đâu?
Trang 8Câ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
Trang 9Program 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ì
sao?
Chương trình này
có gì cần lưu ý?
Biến x không đặt trong khai báo biến Var
Kết quả khi chạy chương trình
a ko đổi
Nhập :
a =
a = 5 5 và b = 10
Xuất :
a =
a = 5 5 và b = 5 và b = 5
Trang 10Câu hỏi 5
Viết chương trình tính giai thừa ( n! ) có sử dụng hàm -
Function
Trang 11Program 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ộ
Viết chương trình tính giai thừa và trả về giá trị
Khai báo biến chạy và biến tính giai
thừa
Khai báo biến cục bộ
Gọi hàm tính Giai thừa
Dừng chương trình xem kết
quả
m : integer
Nhập hoặc xác định giá trị cần tính giai
thừa
Trang 12Program 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 ở
đâu?
Thiếu khai báo biến
toàn bộ Thiếu kiểu dữ liệu
trả về
Thiếu trả về giá trị
Thiếu gọi hàm Giai
thừa
Program TínhGiaithua;
End;
Begin
Write(‘Ban nhap so n = ‘); Readln(n); hoặc n:=10;
Readln;
End.
Readln;
End.
Trang 13Câ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.
Trang 14Program 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
Nhập vào họ tên học sinh thứ nhất
Nhập vào họ tên học sinh thứ nhất
Nhập vào họ tên học sinh thứ hai
Nhập vào họ tên học sinh thứ hai
So sánh độ dài 2 xâu Xuất kết quả
Dừng chương trình xem kết quả
Trang 15Câu 7 :
Viết chương trình nhập vào họ và tên của hai học sinh
- 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
Trang 16Program 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
Nhập vào họ tên học sinh thứ nhất
Nhập vào họ tên học sinh thứ nhất
Nhập vào họ tên học sinh thứ hai
Nhập vào họ tên học sinh thứ hai
So sánh kí tự đầu xâu 1 và kí tự cuối xâu 2 Xuất 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 của xâu 2
Trang 17Câ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
Trang 18Program 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
Nhập vào họ tên học sinh thứ nhất
Nhập vào họ tên học sinh thứ nhất
Nhập vào họ tên học sinh thứ hai
Nhập vào họ tên học sinh thứ hai
So sánh 2 kí tự cuối của 2 xâu Xuất 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 của 2 xâu