Bài 12. Kiểu xâu

Chia sẻ bởi Nguyễn Thị Ngọc Sương | Ngày 10/05/2019 | 47

Chia sẻ tài liệu: Bài 12. Kiểu xâu thuộc Tin học 11

Nội dung tài liệu:

Kiểm tra bài cũ
Câu 1: Nêu cách khai báo biến xâu?
Câu 2: Ý nghĩa của hàm length(a) là gì? Nếu a=‘tinhoc’ thì length(a)=?
Câu 3: Cho xâu a =‘pascal’ cho biết giá trị của:
a[1]=? a[2]=? a[length(a)]=?
Var :STRING[độ dài tối đa của xâu];
length(a)độ dài của xâu a – độ dài =6

Câu 3: Cho xâu a =‘pascal’, khi đó:
a[1]=‘p’ a[2]=‘a’ a[length(a)]=‘l’
Bài 12:
KIỂU XÂU
Viết chương trình nhập vào họ tên của hai người vào 2 biến xâu và đưa ra màn hình xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau.
VÍ DỤ 1: SGK/71
Em hãy xác định dữ liệu vào(Input) và dữ liệu ra(Output) của bài toán ?
VÍ DỤ 1: SGK/71
Input: họ tên 2 người (2 xâu a, b)
Output: xâu dài hơn hoặc xâu nhập sau nếu 2 xâu bằng nhau
Trong bài này cần sử dụng hàm và thủ tục nào ?
Dùng hàm length(s) để so sánh độ dài 2 xâu
Vd1
VÍ DỤ 1: SGK/71
Input: họ tên 2 người (2 xâu a, b)
Output: xâu dài hơn hoặc xâu nhập sau nếu 2 xâu bằng nhau
Demo VD1
Khi so sánh độ dài 2 xâu có mấy trường hợp xảy ra?
a
b
b
Độ dài (a)> độ dài (b) thì đưa ra
Độ dài (a)<độ dài (b) thì đưa ra
Độ dài (a) = độ dài (b) thì đưa ra
Vd1
VÍ DỤ 1: SGK/71
VÍ DỤ 1: SGK/71
Input: họ tên 2 người (2 xâu a, b)
Output: xâu ngắn hơn hoặc xâu nhập sau nếu 2 xâu bằng nhau
Với yêu cầu trên ta cần sửa chương trình lại như thế nào cho đúng?
Độ dài (a)> độ dài (b) thì đưa ra
Độ dài (a)<độ dài (b) thì đưa ra
Độ dài (a) = độ dài (b) thì đưa ra
b
a
b
Demo VD1
Vd1
VÍ DỤ 2: SGK/71
Input: 2 xâu a, b
Output: kí tự đầu của a trùng kí tự cuối của b
hoặc kí tự đầu của a không trùng kí tự cuối của b
Xác định input và output của bài toán
Kí tự đầu của xâu a ta viết ?
Kí tự cuối của xâu b ta viết ?
Demo VD2
a[1]
b[length(b)]
?
Vd1
Vd2
Vd1
Vd2
Vd3
VÍ DỤ 3: SGK/71
Input: xâu a
Output: xâu a được viết theo thứ tự ngược lại
Xác định input và output của bài toán
VD:
Input : ‘abcd’
Output: ’dcba’
Demo VD3
Vd1
Vd2
Vd3
VÍ DỤ 4: SGK/72
Input: xâu a
Output: xâu mới thu được bằng cách loại bỏ khoảng trắng của xâu a
Xác định input và output của bài toán
VD:
Input : ‘hoc tin hoc’
Output: ’hoctinhoc’
Demo VD3
Vd4
Vd1
Vd2
Vd3
VÍ DỤ 4: SGK/72

VD: Input : ‘hoc tin hoc’
Output: ’hoctinhoc’
Vd4
Cách 1:
Xóa trực tiếp các khoảng trắng của a
Xâu a là xâu cần tìm (a không còn khoảng trắng)
Cách 2:
Tạo xâu b từ a bằng cách lấy các kí tự khác khoảng trắng đưa vào b
Xâu b là xâu cần tìm
Cách 2:
Tạo xâu b từ a bằng cách lấy các kí tự khác khoảng trắng đưa vào b
Xâu b là xâu cần tìm
Vd1
Vd2
Vd3
VÍ DỤ 3: SGK/71

VD: Input : ‘hoc tin hoc’
Output: ’hoctinhoc’
Demo VD4
Vd4
Cách 2:
Tạo xâu b từ a bằng cách lấy các kí tự khác khoảng trắng đưa vào b
Khởi tạo xâu rỗng b: b:=‘’;
Duyệt từng kí tự của a, nếu a[i] <>’ ‘ thì đưa vào b: b:=b+a[i];
Vd1
Vd2
Vd3
Vd4
Củng cố
Câu 1: Chọn câu đúng nhất khi cần khai báo xâu a có tối đa 50 kí tự
a. Var a: string;
b. Var : string;
c. Var a: string[50];
d. Var
: string[50];
Vd1
Vd2
Vd3
Vd4
Củng cố
Câu 2: Cho a là biến xâu hãy cho biết ý nghĩa của các câu lệnh sau :
Readln(a); {1}
Write(a); {2}
Readln(a); {nhập xâu a}
Write(a); {đưa xâu a ra màn hình}
Vd1
Vd2
Vd3
Vd4
Củng cố
Câu 3: Cho a =‘aabbb’, hãy cho biết giá trị của xâu b trong đoạn lệnh sau:
b:=‘’;
For i:=1 to length(a) do
If a[i]<>’a’ then b:=b+a[i];
b=‘bbb’
Về nhà học bài:
KN xâu, độ dài xâu, xâu rỗng
Khai báo xâu, tham chiếu p. tử xâu, các thao tác xử lí xâu
Xem lại các ví dụ về hàm và thủ tục xử lí xâu, các chương trình xử lí xâu đã học
* 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 ...

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)