Bài 12. Kiểu xâu
Chia sẻ bởi Nguyễn Mạnh Sơn Tùng |
Ngày 10/05/2019 |
66
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:
Chào mừng quí Thầy, Cô về dự giờ
Lớp 11A6
KIỂM TRA BÀI CŨ
Var : Array[] of ;
Ví dụ: Var nhietdo : Array[1 . . 100] of integer;
Var A,B : array[1..40] of integer;
Câu hỏi 1:
Em hãy nêu cú pháp khai báo trực tiếp biến mảng 1 chiều, cho ví dụ.
Câu hỏi 2:
Khái niệm mảng 2 chiều. Cách thức cho phép xác định mảng 2 chiều ?
Mảng 2 chiều là bảng các phần tử cùng kiểu
Cách thức cho phép xác định :
Tên kiểu mảng 2 chiều
Số lượng phần tử của mỗi chiều
Kiểu dữ liệu của phần tử
Cách khai báo biến
Cách tham chiếu đến phần tử
KIỂM TRA BÀI CŨ
KIỂM TRA BÀI CŨ
Câu hỏi 3: Nêu cách tham chiếu đến phần tử của mảng một chiều? Hãy viết lệnh để tham chiếu đến phần tử thứ 3 của mảng sau
A
Cú pháp:[chỉ số];
Ví dụ: A[3];
1 2 3 4 5 6
Biến S là biến mảng một chiều có tối đa 50 phần tử, mỗi phần tử của S là 1 kí tự.
Ví dụ
Var S: Array[1..50] of char;
KIỂM TRA BÀI CŨ
Câu hỏi 4:
Em hãy lên bảng và viết khai báo cho biến S trong ví dụ sau
Nhận xét và kết luận về ví dụ pascal kiểu mảng bài tập về nhà
Nhận xét và kết luận:
- Chúng ta có thể dùng mảng một chiều với kiểu phần tử là char để lưu dãy kí tự trên, tuy nhiên sẽ gặp rất nhiều khó khăn khi thao tác trên mảng đó như: nhập, xuất…(phải dùng vòng lặp for và phải Enter nhiều lần khi nhập từ bàn phím).
- Để giải quyết khó khăn đó, trong Pascal cho ta kiểu dữ liệu để thao tác trên dãy kí tự, đó là kiểu xâu với từ khóa string.
SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐAKLAK
Giáo viên: Nguyễn Mạnh Sơn Tùng
Email: [email protected]
THI GIÁO VIÊN DẠY GIỎI CẤP CƠ SỞ
BÀI GIẢNG
Chương trình tin học 11
BÀI 12: Kiểu Xâu
NỘI DUNG BÀI HỌC
Nghiên cứu SGK, em hãy cho biết như thế nào được gọi là XÂU?
Xâu là dãy kí tự trong bộ mã ASCII.
Mỗi kí tự gọi là phần tử của xâu.
Số lượng kí tự trong xâu được gọi là độ dài của xâu.
Xâu có độ dài bằng 0 được gọi là xâu rỗng.
* Khái niệm xâu:
Nghiên cứu SGK, em hãy cho biết những yếu tố để xác định XÂU là gì ?
Tên kiểu xâu.
Cách khai báo biến kiểu xâu.
Số lượng kí tự của xâu.
Các phép toán thao tác với xâu.
Cách tham chiếu tới phần tử của xâu.
* Khái niệm xâu:
Vậy em nhận xét như thế nào về XÂU khi so sánh với MẢNG 1 CHIỀU?
Có thể xem xâu là mảng một chiều mà mỗi phần tử là 1 kí tự. Các kí tự trong xâu được đánh số thứ tự, thường bắt đầu từ 1.
1 2 3 4 5 6 7
S
Var : String[độ dài lớn nhất của xâu];
Trong đó:
Tên của biến xâu
Cú pháp:
Từ khóa khai báo biến xâu
Độ dài lớn nhất có thể có của xâu
Độ dài lớn nhất của xâu :
:
String :
Cú pháp khai báo biến xâu ?
1. Khai báo:
VD1: Khai báo biến để lưu họ tên của một người
Var Hoten: String[50];
- VD2: Khai báo biến để lưu địa chỉ của một người
Var diachi: String;
Chú ý:
Khi khai báo biến nếu không đưa độ dài lớn nhất
vào thì độ dài mặc định là 255
1. Khai báo:
Em hãy cho biết cách tham chiếu đến phần tử của xâu ?
1 2 3 4 5 6 7
S
Tham chiếu đến từng phần tử của xâu
- Cú pháp:
`h`
S[5] =
S[4] =
` `
- Ví dụ:
[chỉ số]
1. Khai báo:
Em hãy cho biết khai báo và tham chiếu xâu sai trong các trường hợp sau của ví dụ ?
1 2 3 4 5 6 7 8 9 10 11 12 13
St
Ta có những trường hợp khai báo và tham chiếu sau:
Var St:=string[15]; f) St[9]=`N`
St[7]=`r` g) Var St:String;
Var St : string; h) Var S:String[30];
St(10)=` ` i) St[5]=`_`
Var St:String(20); j) St[u]=`13`
1. Khai báo:
CT pascal: Khai báo biến xâu lưu họ tên và địa chỉ học sinh lớp 11a6
Sử dụng kí hiệu + để ghép nhiều xâu thành một xâu
Ví dụ:
S:=`Lop`+`11a6`
S:=`Lop11a6`
2. Các thao tác xử lí xâu:
a. Phép ghép xâu:
Ví dụ:
S:=`Ha`+` Noi`+` `+`Viet nam`
S:=`Ha Noi Viet Nam`
Để ghép xâu ta thực hiện như thế nào ?
- Các phép so sánh xâu:
- Quy tắ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
`lop` > `lop 11a6`
>, >=, <, <=, =, <>
2. Các thao tác xử lí xâu:
b. Phép so sánh xâu:
`may tinh` > `may tinh cua toi`
+ Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A là nhỏ hơn B
`TIN HOC` = `TIN HOC`
Quy t?c so sánh xâu?
So sánh hai xâu sau:
ST1:= `LOC`
ST2:= `LOP`
1 2 3
1 2 3
=
<
Mã 43
Mã 50
ST2
<
ST1
2. Các thao tác xử lí xâu:
b. Phép so sánh xâu:
Em hãy so sánh hai xâu sau:
ST1:= `lop hoc`và ST2:= `Lop hoc`
ST1:= `Tran Phu` và ST2:=`Tran phu`
ST1:=`Lop tin` và ST2:=`Lop tin hoc`
ST1:=`Tin hoc` và ST2:=`Toan hoc`
2. Các thao tác xử lí xâu:
b. Phép so sánh xâu:
S1=`1` S2=`Hinh .2`
Insert(s1,s2,6)
Chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt.
d) Insert(S1,S2,vt)
S = `Song Hong`
Delete(S,1,5)
? `Hong`
Xoá n kí tự của xâu S bắt đầu từ vị trí vt.
c) Delete(S,vt,n)
Ví dụ
ý nghĩa
Thủ tục
2. Các thao tác xử lí xâu:
Để xử lí các xâu, có thể sử dụng các thủ tục :
Ch=`a`
UPCase(ch) = `A`
Chuyển kí tự ch thành chữ hoa
h) UPCase(ch)
S1=`1`, S2=`Hinh 1.2`
Pos(S1,S2) = 6
Cho vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2
g) Pos(S1,S2)
S = `Xin chao`
Length(S) = 8
Cho giá trị là độ dài của xâu S
f) Length(S)
Ví dụ
ý nghĩa
Hàm
S = `Tin hoc`
Copy(S,5,3)= `hoc`
Tạo xâu gồm n kí tự liên tiếp bắt đầu từ vị trí vt của xâu S
e) Copy(S,vt,n)
2. Các thao tác xử lí xâu:
Để xử lí các xâu, có thể sử dụng các hàm :
2. Các thao tác xử lí xâu:
b. Phép so sánh xâu:
Var hoten: String[30];
Var A: String;
Var A = String [50];
Var A: String;
Củng cố kiến thức bài học
Câu hỏi 1: Cách khai báo biến xâu nào dưới đây là sai ?
B + A
A + ` ` + B
B + ` ` + A
A + B
Củng cố kiến thức bài học
Câu hỏi 2: Cho xâu A: `THPT`, xâu B: `Tran Phu` .
Để tạo ra xâu `THPT Tran Phu` ta làm như thế nào ?
255
225
0
250
Củng cố kiến thức bài học
Câu hỏi 3: Khi khai báo biến nếu không đưa độ dài lớn nhất vào thì độ dài mặc định là ?
Câu hỏi
Câu hỏi 4: So sánh hai xâu sau:
ST1:= `CBAT`
ST2:= `CBaR`
1 2 3 4
1 2 3 4
=
<
Mã 65
Mã 97
ST2
<
ST1
Củng cố kiến thức bài học:
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í thường dùng:
Phép ghép xâu, so sánh xâu
Chúc các thầy cô sức khỏe, chúc các em học tập tốt
Lớp 11A6
KIỂM TRA BÀI CŨ
Var
Ví dụ: Var nhietdo : Array[1 . . 100] of integer;
Var A,B : array[1..40] of integer;
Câu hỏi 1:
Em hãy nêu cú pháp khai báo trực tiếp biến mảng 1 chiều, cho ví dụ.
Câu hỏi 2:
Khái niệm mảng 2 chiều. Cách thức cho phép xác định mảng 2 chiều ?
Mảng 2 chiều là bảng các phần tử cùng kiểu
Cách thức cho phép xác định :
Tên kiểu mảng 2 chiều
Số lượng phần tử của mỗi chiều
Kiểu dữ liệu của phần tử
Cách khai báo biến
Cách tham chiếu đến phần tử
KIỂM TRA BÀI CŨ
KIỂM TRA BÀI CŨ
Câu hỏi 3: Nêu cách tham chiếu đến phần tử của mảng một chiều? Hãy viết lệnh để tham chiếu đến phần tử thứ 3 của mảng sau
A
Cú pháp:
Ví dụ: A[3];
1 2 3 4 5 6
Biến S là biến mảng một chiều có tối đa 50 phần tử, mỗi phần tử của S là 1 kí tự.
Ví dụ
Var S: Array[1..50] of char;
KIỂM TRA BÀI CŨ
Câu hỏi 4:
Em hãy lên bảng và viết khai báo cho biến S trong ví dụ sau
Nhận xét và kết luận về ví dụ pascal kiểu mảng bài tập về nhà
Nhận xét và kết luận:
- Chúng ta có thể dùng mảng một chiều với kiểu phần tử là char để lưu dãy kí tự trên, tuy nhiên sẽ gặp rất nhiều khó khăn khi thao tác trên mảng đó như: nhập, xuất…(phải dùng vòng lặp for và phải Enter nhiều lần khi nhập từ bàn phím).
- Để giải quyết khó khăn đó, trong Pascal cho ta kiểu dữ liệu để thao tác trên dãy kí tự, đó là kiểu xâu với từ khóa string.
SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐAKLAK
Giáo viên: Nguyễn Mạnh Sơn Tùng
Email: [email protected]
THI GIÁO VIÊN DẠY GIỎI CẤP CƠ SỞ
BÀI GIẢNG
Chương trình tin học 11
BÀI 12: Kiểu Xâu
NỘI DUNG BÀI HỌC
Nghiên cứu SGK, em hãy cho biết như thế nào được gọi là XÂU?
Xâu là dãy kí tự trong bộ mã ASCII.
Mỗi kí tự gọi là phần tử của xâu.
Số lượng kí tự trong xâu được gọi là độ dài của xâu.
Xâu có độ dài bằng 0 được gọi là xâu rỗng.
* Khái niệm xâu:
Nghiên cứu SGK, em hãy cho biết những yếu tố để xác định XÂU là gì ?
Tên kiểu xâu.
Cách khai báo biến kiểu xâu.
Số lượng kí tự của xâu.
Các phép toán thao tác với xâu.
Cách tham chiếu tới phần tử của xâu.
* Khái niệm xâu:
Vậy em nhận xét như thế nào về XÂU khi so sánh với MẢNG 1 CHIỀU?
Có thể xem xâu là mảng một chiều mà mỗi phần tử là 1 kí tự. Các kí tự trong xâu được đánh số thứ tự, thường bắt đầu từ 1.
1 2 3 4 5 6 7
S
Var
Trong đó:
Tên của biến xâu
Cú pháp:
Từ khóa khai báo biến xâu
Độ dài lớn nhất có thể có của xâu
Độ dài lớn nhất của xâu :
String :
Cú pháp khai báo biến xâu ?
1. Khai báo:
VD1: Khai báo biến để lưu họ tên của một người
Var Hoten: String[50];
- VD2: Khai báo biến để lưu địa chỉ của một người
Var diachi: String;
Chú ý:
Khi khai báo biến nếu không đưa độ dài lớn nhất
vào thì độ dài mặc định là 255
1. Khai báo:
Em hãy cho biết cách tham chiếu đến phần tử của xâu ?
1 2 3 4 5 6 7
S
Tham chiếu đến từng phần tử của xâu
- Cú pháp:
`h`
S[5] =
S[4] =
` `
- Ví dụ:
1. Khai báo:
Em hãy cho biết khai báo và tham chiếu xâu sai trong các trường hợp sau của ví dụ ?
1 2 3 4 5 6 7 8 9 10 11 12 13
St
Ta có những trường hợp khai báo và tham chiếu sau:
Var St:=string[15]; f) St[9]=`N`
St[7]=`r` g) Var St:String;
Var St : string; h) Var S:String[30];
St(10)=` ` i) St[5]=`_`
Var St:String(20); j) St[u]=`13`
1. Khai báo:
CT pascal: Khai báo biến xâu lưu họ tên và địa chỉ học sinh lớp 11a6
Sử dụng kí hiệu + để ghép nhiều xâu thành một xâu
Ví dụ:
S:=`Lop`+`11a6`
S:=`Lop11a6`
2. Các thao tác xử lí xâu:
a. Phép ghép xâu:
Ví dụ:
S:=`Ha`+` Noi`+` `+`Viet nam`
S:=`Ha Noi Viet Nam`
Để ghép xâu ta thực hiện như thế nào ?
- Các phép so sánh xâu:
- Quy tắ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
`lop` > `lop 11a6`
>, >=, <, <=, =, <>
2. Các thao tác xử lí xâu:
b. Phép so sánh xâu:
`may tinh` > `may tinh cua toi`
+ Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A là nhỏ hơn B
`TIN HOC` = `TIN HOC`
Quy t?c so sánh xâu?
So sánh hai xâu sau:
ST1:= `LOC`
ST2:= `LOP`
1 2 3
1 2 3
=
<
Mã 43
Mã 50
ST2
<
ST1
2. Các thao tác xử lí xâu:
b. Phép so sánh xâu:
Em hãy so sánh hai xâu sau:
ST1:= `lop hoc`và ST2:= `Lop hoc`
ST1:= `Tran Phu` và ST2:=`Tran phu`
ST1:=`Lop tin` và ST2:=`Lop tin hoc`
ST1:=`Tin hoc` và ST2:=`Toan hoc`
2. Các thao tác xử lí xâu:
b. Phép so sánh xâu:
S1=`1` S2=`Hinh .2`
Insert(s1,s2,6)
Chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt.
d) Insert(S1,S2,vt)
S = `Song Hong`
Delete(S,1,5)
? `Hong`
Xoá n kí tự của xâu S bắt đầu từ vị trí vt.
c) Delete(S,vt,n)
Ví dụ
ý nghĩa
Thủ tục
2. Các thao tác xử lí xâu:
Để xử lí các xâu, có thể sử dụng các thủ tục :
Ch=`a`
UPCase(ch) = `A`
Chuyển kí tự ch thành chữ hoa
h) UPCase(ch)
S1=`1`, S2=`Hinh 1.2`
Pos(S1,S2) = 6
Cho vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2
g) Pos(S1,S2)
S = `Xin chao`
Length(S) = 8
Cho giá trị là độ dài của xâu S
f) Length(S)
Ví dụ
ý nghĩa
Hàm
S = `Tin hoc`
Copy(S,5,3)= `hoc`
Tạo xâu gồm n kí tự liên tiếp bắt đầu từ vị trí vt của xâu S
e) Copy(S,vt,n)
2. Các thao tác xử lí xâu:
Để xử lí các xâu, có thể sử dụng các hàm :
2. Các thao tác xử lí xâu:
b. Phép so sánh xâu:
Var hoten: String[30];
Var A: String;
Var A = String [50];
Var A: String;
Củng cố kiến thức bài học
Câu hỏi 1: Cách khai báo biến xâu nào dưới đây là sai ?
B + A
A + ` ` + B
B + ` ` + A
A + B
Củng cố kiến thức bài học
Câu hỏi 2: Cho xâu A: `THPT`, xâu B: `Tran Phu` .
Để tạo ra xâu `THPT Tran Phu` ta làm như thế nào ?
255
225
0
250
Củng cố kiến thức bài học
Câu hỏi 3: Khi khai báo biến nếu không đưa độ dài lớn nhất vào thì độ dài mặc định là ?
Câu hỏi
Câu hỏi 4: So sánh hai xâu sau:
ST1:= `CBAT`
ST2:= `CBaR`
1 2 3 4
1 2 3 4
=
<
Mã 65
Mã 97
ST2
<
ST1
Củng cố kiến thức bài học:
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í thường dùng:
Phép ghép xâu, so sánh xâu
Chúc các thầy cô sức khỏe, chúc các em học tập tốt
* 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ẻ: Nguyễn Mạnh Sơn Tù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)