Bài 12. Kiểu xâu

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Thị Hà Lan
Ngày gửi: 10h:21' 10-12-2019
Dung lượng: 364.0 KB
Số lượt tải: 345
Nguồn:
Người gửi: Nguyễn Thị Hà Lan
Ngày gửi: 10h:21' 10-12-2019
Dung lượng: 364.0 KB
Số lượt tải: 345
Số lượt thích:
0 người
Nhập vào họ tên của một học sinh, in ra màn hình họ tên vừa nhập?
A
Bài toán đặt vấn đề:
uses crt;
var a:array[1..30] of char;
i,n: byte;
begin
clrscr;
write(`Nhap do dai cua ten: `);
readln(n);
writeln(`Nhap cac ky tu trong ten:`);
for i:=1 to n do
begin
write(`Nhap ky tu thu `,i,` cua ten: `);
readln(a[i]);
end;
write(`Ten vua nhap la: `);
for i:=1 to n do write(a[i]);
readln
end.
Tiết 27
kiểu xâu
Xâu là dãy các kí tự trong bảng mã ASCII.
A
1 2 3 4 5 6 7
Trong đó:
Khi tham chiếu đến kí tự thứ i của xâu ta viết:
Tên biến xâu[chỉ số].
Ví dụ: A[5]=`H`.
? Tên xâu: A;
? Mỗi kí tự gọi là một phần tử của xâu;
Ví dụ:
? Độ dài của xâu (số kí tự trong xâu tính cả kí tự trắng): 7;
H
1. Khái niệm
2. Khai báo kiểu dữ liệu xâu (trong Pascal)
Var : String[độ dài lớn nhất];
Ví dụ: Var hoten: String[26];
? Khi khai báo xâu có thể bỏ qua phần khai báo [độ dài lớn nhất], khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.
Ví dụ: Var chuthich :String;
3. Các thao tác xử lí xâu
Biểu thức xâu: Là biểu thức trong đó các toán hạng là các biến xâu, hằng xâu, biến kí tự.
Ví dụ: ` Yen` + ` Bai`
* Phép ghép xâu: kí hiệu "+" dùng để ghép nhiều xâu thành một xâu
* Phép so sánh: =,<>, <,<=,>,>=
`Xau` `Xau ki tu`
* Quy ước:
- Xâu A = B nếu chúng giống hệt nhau.
- Xâu A > B nếu:
+ Kí tự đầu tiên khác nhau giữa chúng ở xâu A có mã ASCII lớn hơn ở xâu B.
- Xâu rỗng là xâu ``
`Tin hoc` `Tin hoc`
Ví dụ
? `Yen Bai`
=
`Hai Hung` `Hai Duong`
>
<
a. Các phép toán xử lí xâu.
+ Xâu B là đoạn đầu của xâu A.
b. Các thủ tục và hàm chuẩn xử lí xâu
S1=`chao `; S2=`Xin !`
Chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt.
2. Insert(S1,S2,vt)
S =`Welcome to 11A9`
Xoá n kí tự của xâu S bắt đầu từ vị trí vt.
1. Delete(S,vt,n)
Ví dụ
ý nghĩa
Thủ tục
3. Các thao tác xử lí xâu
? `Welcome`
? `Xin chao!`
Delete(S,8,8)
Insert(S1,S2,5)
Củng cố
Câu hỏi 1: Cách khai báo biến xâu nào dưới đây là đúng?
A
B
C
D
Var A= String;
Var A: String[30];
Var A: String[265];
Var A: String(50);
Củng cố
Câu hỏi 2: So sánh hai xâu sau:
ST1:= `CBA`
ST2:= `CBa`
1 2 3
1 2 3
=
<
Mã 65
Mã 97
ST2
<
ST1
GHI NHỚ
1. Xâu: Là dãy kí tự có trong bảng mã ASCII
2. Độ dài của xâu: Là số lượng các phần tử của xâu
3. Khai báo biến xâu:
Var : String[độ dài lớn nhất của xâu];
4. Tham chiếu đến từng phần tử của xâu
[Chỉ số];
5. Các phép xử lí:
Phép ghép xâu, so sánh xâu
Ca?c thu? tu?c: Delete,Insert
Bài tập vận dụng
Viết chương trình nhập vào 2 xâu s1 và s2 từ bàn phím với mỗi xâu ít nhất 6 phần tử và thực hiện các công việc sau:
+ Xoá trong xâu S2 bắt đầu từ phần tử thứ 5 và xoá đi 4 phần tử.
+ Chèn xâu S1 vào xâu S2 tại vị trí vừa xoá
+ Đưa ra màn hình xâu S2
VD kiểm thử:
Nhập xâu S1 là: `on thay co!`
Nhập xâu S2 là: `Cam nhan`
Xâu S2 hiện tại là: `Cam on thay co!`=>
Bài tập vận dụng
A
Bài toán đặt vấn đề:
uses crt;
var a:array[1..30] of char;
i,n: byte;
begin
clrscr;
write(`Nhap do dai cua ten: `);
readln(n);
writeln(`Nhap cac ky tu trong ten:`);
for i:=1 to n do
begin
write(`Nhap ky tu thu `,i,` cua ten: `);
readln(a[i]);
end;
write(`Ten vua nhap la: `);
for i:=1 to n do write(a[i]);
readln
end.
Tiết 27
kiểu xâu
Xâu là dãy các kí tự trong bảng mã ASCII.
A
1 2 3 4 5 6 7
Trong đó:
Khi tham chiếu đến kí tự thứ i của xâu ta viết:
Tên biến xâu[chỉ số].
Ví dụ: A[5]=`H`.
? Tên xâu: A;
? Mỗi kí tự gọi là một phần tử của xâu;
Ví dụ:
? Độ dài của xâu (số kí tự trong xâu tính cả kí tự trắng): 7;
H
1. Khái niệm
2. Khai báo kiểu dữ liệu xâu (trong Pascal)
Var
Ví dụ: Var hoten: String[26];
? Khi khai báo xâu có thể bỏ qua phần khai báo [độ dài lớn nhất], khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.
Ví dụ: Var chuthich :String;
3. Các thao tác xử lí xâu
Biểu thức xâu: Là biểu thức trong đó các toán hạng là các biến xâu, hằng xâu, biến kí tự.
Ví dụ: ` Yen` + ` Bai`
* Phép ghép xâu: kí hiệu "+" dùng để ghép nhiều xâu thành một xâu
* Phép so sánh: =,<>, <,<=,>,>=
`Xau` `Xau ki tu`
* Quy ước:
- Xâu A = B nếu chúng giống hệt nhau.
- Xâu A > B nếu:
+ Kí tự đầu tiên khác nhau giữa chúng ở xâu A có mã ASCII lớn hơn ở xâu B.
- Xâu rỗng là xâu ``
`Tin hoc` `Tin hoc`
Ví dụ
? `Yen Bai`
=
`Hai Hung` `Hai Duong`
>
<
a. Các phép toán xử lí xâu.
+ Xâu B là đoạn đầu của xâu A.
b. Các thủ tục và hàm chuẩn xử lí xâu
S1=`chao `; S2=`Xin !`
Chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt.
2. Insert(S1,S2,vt)
S =`Welcome to 11A9`
Xoá n kí tự của xâu S bắt đầu từ vị trí vt.
1. Delete(S,vt,n)
Ví dụ
ý nghĩa
Thủ tục
3. Các thao tác xử lí xâu
? `Welcome`
? `Xin chao!`
Delete(S,8,8)
Insert(S1,S2,5)
Củng cố
Câu hỏi 1: Cách khai báo biến xâu nào dưới đây là đúng?
A
B
C
D
Var A= String;
Var A: String[30];
Var A: String[265];
Var A: String(50);
Củng cố
Câu hỏi 2: So sánh hai xâu sau:
ST1:= `CBA`
ST2:= `CBa`
1 2 3
1 2 3
=
<
Mã 65
Mã 97
ST2
<
ST1
GHI NHỚ
1. Xâu: Là dãy kí tự có trong bảng mã ASCII
2. Độ dài của xâu: Là số lượng các phần tử của xâu
3. Khai báo biến xâu:
Var
4. Tham chiếu đến từng phần tử của xâu
5. Các phép xử lí:
Phép ghép xâu, so sánh xâu
Ca?c thu? tu?c: Delete,Insert
Bài tập vận dụng
Viết chương trình nhập vào 2 xâu s1 và s2 từ bàn phím với mỗi xâu ít nhất 6 phần tử và thực hiện các công việc sau:
+ Xoá trong xâu S2 bắt đầu từ phần tử thứ 5 và xoá đi 4 phần tử.
+ Chèn xâu S1 vào xâu S2 tại vị trí vừa xoá
+ Đưa ra màn hình xâu S2
VD kiểm thử:
Nhập xâu S1 là: `on thay co!`
Nhập xâu S2 là: `Cam nhan`
Xâu S2 hiện tại là: `Cam on thay co!`=>
Bài tập vận dụng
 







Các ý kiến mới nhất