Bài tập kiểu xâu
Chia sẻ bởi Thái Văn Thắng |
Ngày 10/05/2019 |
47
Chia sẻ tài liệu: bài tập kiểu xâu thuộc Tin học 11
Nội dung tài liệu:
1
Nêu cú pháp và chức năng của hàm copy và thủ tục delete? Cho ví dụ?
Hàm copy:
Cú pháp: copy(s, vt, n)
Chức năng: Cho giá trị là một xâu kí tự lấy trong xâu s, gồm n kí tự liên tiếp bắt đầu từ vị trí vt.
Ví dụ: s:=‘vu quang’; s1:=copy(s, 4, 5);
BÀI CŨ
s1:=‘quang’;
Thủ tục delete;
Cú pháp: delete(s, vt, n);
Chức năng: Thực hiện việc xóa đi trong biến xâu s gồm n kí tự liên tiếp bắt đầu từ vị trí vt.
Ví dụ: s:=‘hoa phuong vi’;
s:=‘hoa phuong’;
Delete(s, 11, 3);
BÀI TẬP (T1)
3
TRẮC NGHIỆM
Câu 1: Khai báo nào sau đây là đúng?
Var x:string[25]; C. Var x= string[40];
Var x:string[256]; D. Var x:string40;
Câu 2: Hãy cho biết độ dài của xâu S;
Với S:=‘tap the lop 11b8’?
8 B. 10 C. 16 D. 3
4
Câu 3: Cho s:=‘tap the lop 11b8’;
Với giá trị của xâu S ở trên, khi tham chiếu đến phần tử thứ 8 thì ta được kí tự nào?
A. ‘o’ B. ‘e’
C. ‘ ’ D. ‘l’
TRẮC NGHIỆM
5
TRẮC NGHIỆM
Cho S1:=‘hoc ’; S2:=‘pascal ’;
Câu 4: Để có được kết quả là: ‘hoc pascal rat de’ thì ta làm cách nào trong các cách sau:
S1+S2+ rat de; B. S1+S2+rat+de;
C. S1+S2+’rat’+’de’; D. S1+S2+’rat de’;
Câu 5: Nếu S:=S1+S2, độ dài của S là:
10 B.11
C. 9 D.12
6
TRẮC NGHIỆM
Câu 6: Cho xâu S:=‘tap the 11b8’; sau khi thực hiện hai lệnh:
S1:= Copy(S, 9, 4);
Write(S1);
- Kết quả in lên màn hình là:
A. S1:=‘11b8’; B. S1:=‘tap ‘;
C. S1:=‘the 11b8’; D. S1:=’11b’;
S1:=’11b8’;
7
TRẮC NGHIỆM
Câu 7: Cho xâu S và số nguyên k. Sau khi gán:
S:=‘Hoc sinh lop 11b8 nang dong’;
k := Pos(‘11b8’, S) ;
- Giá trị của k là :
A. k=13 B. k=11
C. k=12 D. k=14
Câu 8: Cho biến xâu S. Lệnh nào làm S có giá trị TRUE :
A. S:= `a` < `A`; B. S:= `Ab` = `ab`;
C. S:= `an` < `a`; D. S:= ‘AB` > ‘AC`;
8
Câu 9: Cho S là biến xâu, sau khi thực hiện bốn lệnh:
S:=‘ABCDEF’;
Delete(S,3,2);
Insert(‘XYZ’,S,2);
Write(S);
- Kết quả in lên màn hình là:
A. ‘ABXYZEF’; B. ‘AXYZBCDEF’;
C. ‘AXYZ’; D. ‘AXYZBEF’;
TRẮC NGHIỆM
S:=‘ABEF’;
S:=‘AXYZBEF’;
9
Câu 10: Khi chạy chương trình :
Var S: String;
i, k : integer;
Begin
S:=`ABCD`; k := Length(S);
For i:= k Downto 1 do write (S[i]);
End.
- Chương trình in ra :
A. ‘DCAB’ B. ‘ABCD’ C. ‘abcd’ D. ‘DCBA’
TRẮC NGHIỆM
10
Câu 11: Cho s1:=‘ PHU NU’; s2:=‘QUOC TE’;
Để được kết quả: s2:=‘QUOC TE PHU NU’ ta thực hiện:
s2:=insert(s1, s2, 6) ; B. s2:=insert(s1, s2, 7);
C. s2:=insert(s1, s2, 5); D. s2:=insert(s1, s2, 8);
TRẮC NGHIỆM
11
Ví dụ 1: Viết chương trình nhập từ bàn phím xâu s chưa chuẩn hóa, sau đó in ra màn hình xâu đã chuẩn hóa.
Ví dụ: s:=‘ le cong tuan anh ’; xâu chưa chuẩn hóa.
s1:= ‘le cong tuan anh’; xâu đã chuẩn hóa.
TỰ LUẬN
12
- Thuật toán:
B1: Nhập vào xâu s
B2: Xóa kí tự trắng:
B2.1: Trong khi s[1] = ` ` thì xóa đi kí tự trắng đó
B2.2: Trong khi s[length(s)] = ` ` thì xóa đi kí tự trắng đó
B2.3: Trong khi pos(` ` , s) > 0 thì xóa đi 1 kí tự trắng ở vị trí đó
B3: In xâu s đã chuẩn hóa
TỰ LUẬN
13
Chương trình:
var s:string;
begin
write(`nhap vao xau s=`);
readln(s);
{xoa ki tu trang dung dau xau va cuoi xau}
while s[1]=` ` do delete(s,1,1);
TỰ LUẬN
while s[length(s)]= ` ` do delete(s,length(s),1);
while pos(` `,s) > 0 do delete(s, pos(` `,s), 1);
writeln(`xau sau khi da chuan hoa la:`,s);
end.
14
Ví dụ 2: Viết chương trình nhập vào xâu họ tên, sau đó đưa ra màn hình xâu chứa tên.
- Thuật toán:
B1: Nhập xâu s
B2: n ← length(hoten); i ← n
B3: Trong khi hoten[i] <> ` ` thì i ← i – 1
B4: ten ← copy(hoten, i + 1, n – i)
B5: In kết quả, kết thúc.
TỰ LUẬN
15
Var hoten,ten:string[30];
n, i:integer;
begin
write(`nhap vao mot xau:`);
readln(hoten);
n:= length(hoten);
i:=n;
TỰ LUẬN
16
{ xac dinh vi tri cua ki tu trang dau tien ben phai cua xau}
while hoten[i] <> ` ` do i:= i - 1;
ten:= copy(hoten, i + 1, n - i);
writeln(`xau chua ten la:`, ten);
readln
end.
TỰ LUẬN
17
a. Củng cố:
- Nắm được chức năng các hàm và thủ tục.
- Vận dụng linh hoạt các hàm và thủ tục theo yêu cầu của bài toán.
b. Dặn dò:
- Đọc các ví dụ trong sách giáo khoa để hiểu rõ thêm một số hàm và thủ tục.
- Làm bài tập: Hãy cho biết số từ trong xâu S ở ví dụ 1 sau khi đã chuẩn hóa.
- Xem trước nội dung bài thực hành số 5.
3. CỦNG CỐ, DẶN DÒ
Nêu cú pháp và chức năng của hàm copy và thủ tục delete? Cho ví dụ?
Hàm copy:
Cú pháp: copy(s, vt, n)
Chức năng: Cho giá trị là một xâu kí tự lấy trong xâu s, gồm n kí tự liên tiếp bắt đầu từ vị trí vt.
Ví dụ: s:=‘vu quang’; s1:=copy(s, 4, 5);
BÀI CŨ
s1:=‘quang’;
Thủ tục delete;
Cú pháp: delete(s, vt, n);
Chức năng: Thực hiện việc xóa đi trong biến xâu s gồm n kí tự liên tiếp bắt đầu từ vị trí vt.
Ví dụ: s:=‘hoa phuong vi’;
s:=‘hoa phuong’;
Delete(s, 11, 3);
BÀI TẬP (T1)
3
TRẮC NGHIỆM
Câu 1: Khai báo nào sau đây là đúng?
Var x:string[25]; C. Var x= string[40];
Var x:string[256]; D. Var x:string40;
Câu 2: Hãy cho biết độ dài của xâu S;
Với S:=‘tap the lop 11b8’?
8 B. 10 C. 16 D. 3
4
Câu 3: Cho s:=‘tap the lop 11b8’;
Với giá trị của xâu S ở trên, khi tham chiếu đến phần tử thứ 8 thì ta được kí tự nào?
A. ‘o’ B. ‘e’
C. ‘ ’ D. ‘l’
TRẮC NGHIỆM
5
TRẮC NGHIỆM
Cho S1:=‘hoc ’; S2:=‘pascal ’;
Câu 4: Để có được kết quả là: ‘hoc pascal rat de’ thì ta làm cách nào trong các cách sau:
S1+S2+ rat de; B. S1+S2+rat+de;
C. S1+S2+’rat’+’de’; D. S1+S2+’rat de’;
Câu 5: Nếu S:=S1+S2, độ dài của S là:
10 B.11
C. 9 D.12
6
TRẮC NGHIỆM
Câu 6: Cho xâu S:=‘tap the 11b8’; sau khi thực hiện hai lệnh:
S1:= Copy(S, 9, 4);
Write(S1);
- Kết quả in lên màn hình là:
A. S1:=‘11b8’; B. S1:=‘tap ‘;
C. S1:=‘the 11b8’; D. S1:=’11b’;
S1:=’11b8’;
7
TRẮC NGHIỆM
Câu 7: Cho xâu S và số nguyên k. Sau khi gán:
S:=‘Hoc sinh lop 11b8 nang dong’;
k := Pos(‘11b8’, S) ;
- Giá trị của k là :
A. k=13 B. k=11
C. k=12 D. k=14
Câu 8: Cho biến xâu S. Lệnh nào làm S có giá trị TRUE :
A. S:= `a` < `A`; B. S:= `Ab` = `ab`;
C. S:= `an` < `a`; D. S:= ‘AB` > ‘AC`;
8
Câu 9: Cho S là biến xâu, sau khi thực hiện bốn lệnh:
S:=‘ABCDEF’;
Delete(S,3,2);
Insert(‘XYZ’,S,2);
Write(S);
- Kết quả in lên màn hình là:
A. ‘ABXYZEF’; B. ‘AXYZBCDEF’;
C. ‘AXYZ’; D. ‘AXYZBEF’;
TRẮC NGHIỆM
S:=‘ABEF’;
S:=‘AXYZBEF’;
9
Câu 10: Khi chạy chương trình :
Var S: String;
i, k : integer;
Begin
S:=`ABCD`; k := Length(S);
For i:= k Downto 1 do write (S[i]);
End.
- Chương trình in ra :
A. ‘DCAB’ B. ‘ABCD’ C. ‘abcd’ D. ‘DCBA’
TRẮC NGHIỆM
10
Câu 11: Cho s1:=‘ PHU NU’; s2:=‘QUOC TE’;
Để được kết quả: s2:=‘QUOC TE PHU NU’ ta thực hiện:
s2:=insert(s1, s2, 6) ; B. s2:=insert(s1, s2, 7);
C. s2:=insert(s1, s2, 5); D. s2:=insert(s1, s2, 8);
TRẮC NGHIỆM
11
Ví dụ 1: Viết chương trình nhập từ bàn phím xâu s chưa chuẩn hóa, sau đó in ra màn hình xâu đã chuẩn hóa.
Ví dụ: s:=‘ le cong tuan anh ’; xâu chưa chuẩn hóa.
s1:= ‘le cong tuan anh’; xâu đã chuẩn hóa.
TỰ LUẬN
12
- Thuật toán:
B1: Nhập vào xâu s
B2: Xóa kí tự trắng:
B2.1: Trong khi s[1] = ` ` thì xóa đi kí tự trắng đó
B2.2: Trong khi s[length(s)] = ` ` thì xóa đi kí tự trắng đó
B2.3: Trong khi pos(` ` , s) > 0 thì xóa đi 1 kí tự trắng ở vị trí đó
B3: In xâu s đã chuẩn hóa
TỰ LUẬN
13
Chương trình:
var s:string;
begin
write(`nhap vao xau s=`);
readln(s);
{xoa ki tu trang dung dau xau va cuoi xau}
while s[1]=` ` do delete(s,1,1);
TỰ LUẬN
while s[length(s)]= ` ` do delete(s,length(s),1);
while pos(` `,s) > 0 do delete(s, pos(` `,s), 1);
writeln(`xau sau khi da chuan hoa la:`,s);
end.
14
Ví dụ 2: Viết chương trình nhập vào xâu họ tên, sau đó đưa ra màn hình xâu chứa tên.
- Thuật toán:
B1: Nhập xâu s
B2: n ← length(hoten); i ← n
B3: Trong khi hoten[i] <> ` ` thì i ← i – 1
B4: ten ← copy(hoten, i + 1, n – i)
B5: In kết quả, kết thúc.
TỰ LUẬN
15
Var hoten,ten:string[30];
n, i:integer;
begin
write(`nhap vao mot xau:`);
readln(hoten);
n:= length(hoten);
i:=n;
TỰ LUẬN
16
{ xac dinh vi tri cua ki tu trang dau tien ben phai cua xau}
while hoten[i] <> ` ` do i:= i - 1;
ten:= copy(hoten, i + 1, n - i);
writeln(`xau chua ten la:`, ten);
readln
end.
TỰ LUẬN
17
a. Củng cố:
- Nắm được chức năng các hàm và thủ tục.
- Vận dụng linh hoạt các hàm và thủ tục theo yêu cầu của bài toán.
b. Dặn dò:
- Đọc các ví dụ trong sách giáo khoa để hiểu rõ thêm một số hàm và thủ tục.
- Làm bài tập: Hãy cho biết số từ trong xâu S ở ví dụ 1 sau khi đã chuẩn hóa.
- Xem trước nội dung bài thực hành số 5.
3. CỦNG CỐ, DẶN DÒ
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Thái Văn Thắng
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)