Bài 12. Kiểu xâu
Chia sẻ bởi Trần Thị Kim Dung |
Ngày 10/05/2019 |
53
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:
?
BÀI GIẢNG MÔN TIN HỌC 11
TRƯỜNG THCS - THPT PHÚ THẠNH
?
?
?
?
?
?
TIN H?C 11
CHÀO CÁC EM
GV: Trần Thị Kim Dung
Ta chọn kiểu dữ liệu như thế nào và khai báo biến ra sao?
Viết chương trình nhập họ tên
của 39 học sinh trong lớp em?
BÀI TOÁN 1
?
Viết đọan chương trình để nhập và xuất dữ liệu cho từng phần tử?
Có những khó khăn gì gặp phải???
Cần có 1 kiểu dữ liệu mới cho phép ta
nhập/ xuất dữ liệu bằng một lệnh.
KIỂU XÂU
Bài 12
Xâu là dãy các kí tự trong bộ mã ASCII
A
1 2 3 4 5 6 7
Trong đó:
Khi tham chiếu đến phần tử thứ i của xâu ta viết :
Tên xâu:
? M?i kớ t? g?i l
Ví dụ:
? D? di c?a xõu (S? kớ t? trong xõu):
H
Ví dụ: A[5]=
1. Khái niệm:
Var:String[Độ dài lớn nhất của xâu];
Ví dụ: Var hoten: String[26];
STRING: tên kiểu xâu
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 nhận giá trị ngầm định là: 255.
2. Khai báo:
Ý nghĩa của từ STRING?
?
Em hãy cho ví dụ về xâu kí tự?
Xâu đó có bao nhiêu ký tự?
Ví dụ: ‘PHU THANH’
-> Xâu trên có 9 kí tự
?
Xâu chỉ gồm một kí tự trống được viết thế nào? Số lượng kí tự bao nhiêu??
- Kí hiệu xâu gồm 1 kí tự là:
- Xâu này có độ dài là:
‘ ‘
1
?
Xâu rỗng được viết thế nào? Số lượng kí tự bao nhiêu??
- Kí hiệu xâu rỗng là:
- Xâu này có độ dài là:
‘ ‘
0
?
2.1) Nhập xuất dữ liệu cho biến xâu
Write(‘Nhap vao xau A:’);
Readln(A);
Em hãy tìm ví dụ cụ thể??
Ví dụ:
- Write (‘ Nhap va ho ten’);
Readln(hoten);
- Write(‘Ho ten’, hoten);
VD: Nhập vào họ tên của 1 người??
?
Khi viết nhập/ xuất dữ liệu cho biến xâu có gì khác so với biến mảng các kí tự?
- Viết một lệnh nhập nguyên cho cả xâu.
- Viết lệnh gọn hơn, Chương trình gọn.
Ta có thể sử dụng lệnh gán để nhập giá trị cho biến xâu:
Tên_biến_xâu := hằng_xâu
Ví dụ: St : = ‘ HA NOI’
?
Tên biến[chỉ số]
2.2) Cấu trúc chung khi tham chiếu
Ví dụ: st[2]
Các em hãy tìm thêm vài ví dụ?
?
Var st: string[1];
c: char;
Begin
C:=st[1] {lệnh 1}
C:=st {lệnh 2}
Trong hai lệnh {1} và {2}, lệnh nào đúng?
Chương trình
?
2.3) Kiểm tra kiến thức
Hãy nhắc lại các phép toán đã học trên kiểu dl chuẩn?
?
3.1) 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, biến kí tự
* Phép ghép xâu
Ví dụ:
‘Ha’ + ‘Noi ‘HaNoi’
‘Ha’ + ‘ Noi ‘Ha Noi’
Ví dụ:
Var st: string;
Begin
st:=‘Ha’ + ‘Noi’;
write(st);
readln;
End.
Kết quả in ra màn hình là gì?
?
Chương trình
Em hãy tìm thêm vài ví dụ?
?
Ví dụ:
St:=‘Phu’ + ‘Thanh’
St:=‘Phu ‘ + ‘Thanh’
St:= ‘ ‘ + ‘ Phu Thanh’
St: ‘ Phu Thanh’ + ‘ co lop 11A3’
Phép ghép xâu là gì?
?
Phép ghép xâu: kí hiệu là +, được sử dụng để ghép nhiều xâu thành 1 xâu
Ví dụ:
Var ss:boolean;
Begin
ss:=‘AB’ < ‘AC’;
write(ss);
readln;
End.
Kết quả in ra màn hình là gì?
?
* Phép so sánh xâu
Chương trình
Còn các phép so sánh nào nữa?
?
Các phép toán so sánh: =,<>, <,<=,>,>=
* 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 B là đoạn đầu của xâu A.
- Xâu rỗng là xâu ‘’
`Tin hoc` = `Tin hoc`
`Ha Noi` > `Ha Nam`
`Xau` < `Xau ki tu`
Khai báo biến:
Var tên_biến: STRING[độ dài lớn nhất của xâu]
Nhập xuất giá trị cho biến xâu:
read/readln(); write/writeln();
Tham chiếu đến từng kí tự trong xâu:
tên_biến[chỉ số]
Phép ghép xâu: kí hiệu là +, được sử dụng để ghép nhiều xâu thành 1 xâu
Các phép so sánh: =,<>,>,<,<=,>=
Ghi Nhớ!
HẾT TIẾT 1
CÁM ƠN QUÝ THẦY CÔ ĐẾN DỰ !!!
* Thủ tục DELETE:
* Thủ tục INSERT
* Hàm COPY
* Hàm LENGTH
* Hàm POS:
* Hàm UPCASE:
* Hàm LENGTH
Cấu trúc chung:
Cho giá trị là độ dài xâu S
LENGTH(S)
Ý nghĩa của LENGTH là gì?
Ý nghĩa của S là gì?
?
LENGTH là tên hàm
S là một biểu thức xâu ký tự
Ý nghĩa của LENGTH là gì?
Ý nghĩa của S là gì?
?
LENGTH là tên hàm
S là một biểu thức xâu ký tự
Ví dụ:
9
8
9
Hàm Length cho số lượng kí tự của xâu S
Chức năng của hàm Length(S) là gì?
?
Chương trình
Viết chương trình nhập vào một xâu, in ra màn hình số kí tự ‘a’ có trong xâu
Chương trình
Ứng dụng
* Hàm UPCASE:
Cấu trúc chung:
UPCASE(ch)
Chức năng của hàm UPCASE(ch) là gì?
?
Cho giá trị là chữ cái in hoa của ch
Chương trình
Ví dụ:
Viết chương trình nhập vào một xâu, in ra màn hình xây đó dạng in hoa
Ứng dụng
‘D’
‘E’
* Hàm POS
Cấu trúc chung:
POS(S1,S2)
Chức năng của hàm POS(S1,S2) là gì?
?
Cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2.
Chương trình
Ví dụ:
Viết chương trình nhập vào 1 xâu S. Xét xem trong xâu có dấu cách nhau không?
Ứng dụng
Chương trình1
3
0
Cấu trúc chung:
Chức năng của hàm COPY(S.,vt,N) là gì?
?
* Hàm COPY
COPY(S, vt, N)
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
Chương trình
Ví dụ:
Thực hiện chương trình từ VD trên
Ứng dụng
‘thu 9’
Cấu trúc chung:
Chức năng của hàm DELETE(St,vt,n) là gì?
?
* Thủ tục DELETE:
DELETE(st, vt, n)
Thực hiện việc xóa n kí tự của biến xâu st bắt đầu từ vị trí vt
Chương trình
Ví dụ:
Thực hiện chương trình từ VD trên
Ứng dụng
‘abcd’
‘Thanh’
Cấu trúc chung:
Chức năng của hàm INSERT(s1,s2,vt) là gì?
?
* Thủ tục INSERT
INSERT(s1, s2, vt)
Chèn xâu s1 vào xâu s2, bắt đầu từ vị trí vt
Chương trình
Ví dụ:
Thực hiện chương trình từ VD trên
Ứng dụng
‘IBM PC’’
‘H 1.2’’
Ví dụ 1:
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.
?
Em hãy xác định dữ liệu vào(Input) và dữ liệu ra(Output) ?
?
Trong bài này cần sử dụng hàm và thủ tục nào ?
?
Thảo luận nhóm
Lớp chia làm 4 nhóm
Yêu cầu:
Viết chương trình lên bìa trong
Chương trình
HẾT TIẾT 2
CÁM ƠN QUÝ THẦY CÔ ĐẾN DỰ !!!
BÀI GIẢNG MÔN TIN HỌC 11
TRƯỜNG THCS - THPT PHÚ THẠNH
?
?
?
?
?
?
TIN H?C 11
CHÀO CÁC EM
GV: Trần Thị Kim Dung
Ta chọn kiểu dữ liệu như thế nào và khai báo biến ra sao?
Viết chương trình nhập họ tên
của 39 học sinh trong lớp em?
BÀI TOÁN 1
?
Viết đọan chương trình để nhập và xuất dữ liệu cho từng phần tử?
Có những khó khăn gì gặp phải???
Cần có 1 kiểu dữ liệu mới cho phép ta
nhập/ xuất dữ liệu bằng một lệnh.
KIỂU XÂU
Bài 12
Xâu là dãy các kí tự trong bộ mã ASCII
A
1 2 3 4 5 6 7
Trong đó:
Khi tham chiếu đến phần tử thứ i của xâu ta viết :
Tên xâu:
? M?i kớ t? g?i l
Ví dụ:
? D? di c?a xõu (S? kớ t? trong xõu):
H
Ví dụ: A[5]=
1. Khái niệm:
Var
Ví dụ: Var hoten: String[26];
STRING: tên kiểu xâu
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 nhận giá trị ngầm định là: 255.
2. Khai báo:
Ý nghĩa của từ STRING?
?
Em hãy cho ví dụ về xâu kí tự?
Xâu đó có bao nhiêu ký tự?
Ví dụ: ‘PHU THANH’
-> Xâu trên có 9 kí tự
?
Xâu chỉ gồm một kí tự trống được viết thế nào? Số lượng kí tự bao nhiêu??
- Kí hiệu xâu gồm 1 kí tự là:
- Xâu này có độ dài là:
‘ ‘
1
?
Xâu rỗng được viết thế nào? Số lượng kí tự bao nhiêu??
- Kí hiệu xâu rỗng là:
- Xâu này có độ dài là:
‘ ‘
0
?
2.1) Nhập xuất dữ liệu cho biến xâu
Write(‘Nhap vao xau A:’);
Readln(A);
Em hãy tìm ví dụ cụ thể??
Ví dụ:
- Write (‘ Nhap va ho ten’);
Readln(hoten);
- Write(‘Ho ten’, hoten);
VD: Nhập vào họ tên của 1 người??
?
Khi viết nhập/ xuất dữ liệu cho biến xâu có gì khác so với biến mảng các kí tự?
- Viết một lệnh nhập nguyên cho cả xâu.
- Viết lệnh gọn hơn, Chương trình gọn.
Ta có thể sử dụng lệnh gán để nhập giá trị cho biến xâu:
Tên_biến_xâu := hằng_xâu
Ví dụ: St : = ‘ HA NOI’
?
Tên biến[chỉ số]
2.2) Cấu trúc chung khi tham chiếu
Ví dụ: st[2]
Các em hãy tìm thêm vài ví dụ?
?
Var st: string[1];
c: char;
Begin
C:=st[1] {lệnh 1}
C:=st {lệnh 2}
Trong hai lệnh {1} và {2}, lệnh nào đúng?
Chương trình
?
2.3) Kiểm tra kiến thức
Hãy nhắc lại các phép toán đã học trên kiểu dl chuẩn?
?
3.1) 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, biến kí tự
* Phép ghép xâu
Ví dụ:
‘Ha’ + ‘Noi ‘HaNoi’
‘Ha’ + ‘ Noi ‘Ha Noi’
Ví dụ:
Var st: string;
Begin
st:=‘Ha’ + ‘Noi’;
write(st);
readln;
End.
Kết quả in ra màn hình là gì?
?
Chương trình
Em hãy tìm thêm vài ví dụ?
?
Ví dụ:
St:=‘Phu’ + ‘Thanh’
St:=‘Phu ‘ + ‘Thanh’
St:= ‘ ‘ + ‘ Phu Thanh’
St: ‘ Phu Thanh’ + ‘ co lop 11A3’
Phép ghép xâu là gì?
?
Phép ghép xâu: kí hiệu là +, được sử dụng để ghép nhiều xâu thành 1 xâu
Ví dụ:
Var ss:boolean;
Begin
ss:=‘AB’ < ‘AC’;
write(ss);
readln;
End.
Kết quả in ra màn hình là gì?
?
* Phép so sánh xâu
Chương trình
Còn các phép so sánh nào nữa?
?
Các phép toán so sánh: =,<>, <,<=,>,>=
* 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 B là đoạn đầu của xâu A.
- Xâu rỗng là xâu ‘’
`Tin hoc` = `Tin hoc`
`Ha Noi` > `Ha Nam`
`Xau` < `Xau ki tu`
Khai báo biến:
Var tên_biến: STRING[độ dài lớn nhất của xâu]
Nhập xuất giá trị cho biến xâu:
read/readln(); write/writeln();
Tham chiếu đến từng kí tự trong xâu:
tên_biến[chỉ số]
Phép ghép xâu: kí hiệu là +, được sử dụng để ghép nhiều xâu thành 1 xâu
Các phép so sánh: =,<>,>,<,<=,>=
Ghi Nhớ!
HẾT TIẾT 1
CÁM ƠN QUÝ THẦY CÔ ĐẾN DỰ !!!
* Thủ tục DELETE:
* Thủ tục INSERT
* Hàm COPY
* Hàm LENGTH
* Hàm POS:
* Hàm UPCASE:
* Hàm LENGTH
Cấu trúc chung:
Cho giá trị là độ dài xâu S
LENGTH(S)
Ý nghĩa của LENGTH là gì?
Ý nghĩa của S là gì?
?
LENGTH là tên hàm
S là một biểu thức xâu ký tự
Ý nghĩa của LENGTH là gì?
Ý nghĩa của S là gì?
?
LENGTH là tên hàm
S là một biểu thức xâu ký tự
Ví dụ:
9
8
9
Hàm Length cho số lượng kí tự của xâu S
Chức năng của hàm Length(S) là gì?
?
Chương trình
Viết chương trình nhập vào một xâu, in ra màn hình số kí tự ‘a’ có trong xâu
Chương trình
Ứng dụng
* Hàm UPCASE:
Cấu trúc chung:
UPCASE(ch)
Chức năng của hàm UPCASE(ch) là gì?
?
Cho giá trị là chữ cái in hoa của ch
Chương trình
Ví dụ:
Viết chương trình nhập vào một xâu, in ra màn hình xây đó dạng in hoa
Ứng dụng
‘D’
‘E’
* Hàm POS
Cấu trúc chung:
POS(S1,S2)
Chức năng của hàm POS(S1,S2) là gì?
?
Cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2.
Chương trình
Ví dụ:
Viết chương trình nhập vào 1 xâu S. Xét xem trong xâu có dấu cách nhau không?
Ứng dụng
Chương trình1
3
0
Cấu trúc chung:
Chức năng của hàm COPY(S.,vt,N) là gì?
?
* Hàm COPY
COPY(S, vt, N)
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
Chương trình
Ví dụ:
Thực hiện chương trình từ VD trên
Ứng dụng
‘thu 9’
Cấu trúc chung:
Chức năng của hàm DELETE(St,vt,n) là gì?
?
* Thủ tục DELETE:
DELETE(st, vt, n)
Thực hiện việc xóa n kí tự của biến xâu st bắt đầu từ vị trí vt
Chương trình
Ví dụ:
Thực hiện chương trình từ VD trên
Ứng dụng
‘abcd’
‘Thanh’
Cấu trúc chung:
Chức năng của hàm INSERT(s1,s2,vt) là gì?
?
* Thủ tục INSERT
INSERT(s1, s2, vt)
Chèn xâu s1 vào xâu s2, bắt đầu từ vị trí vt
Chương trình
Ví dụ:
Thực hiện chương trình từ VD trên
Ứng dụng
‘IBM PC’’
‘H 1.2’’
Ví dụ 1:
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.
?
Em hãy xác định dữ liệu vào(Input) và dữ liệu ra(Output) ?
?
Trong bài này cần sử dụng hàm và thủ tục nào ?
?
Thảo luận nhóm
Lớp chia làm 4 nhóm
Yêu cầu:
Viết chương trình lên bìa trong
Chương trình
HẾT TIẾT 2
CÁM ƠN QUÝ THẦY CÔ ĐẾ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ẻ: Trần Thị Kim Dung
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)