Ti11. GAĐT Chương IV (All)

Chia sẻ bởi Trần Quốc Thành | Ngày 16/10/2018 | 58

Chia sẻ tài liệu: Ti11. GAĐT Chương IV (All) thuộc Tư liệu tham khảo

Nội dung tài liệu:

P.E Onimusha - Thân tặng !
Trang bìa
Trang bìa:
GIÁO ÁN ĐIỆN TỬ TIN HỌC 11 CHƯƠNG IV Người biên soạn: Đỗ Đại Phú CĐSP Sơn La Kiểu Xâu
BT đặt vấn đề: BÀI TOÁN ĐẶT VẤN ĐỀ
Bài toán: Viết chương trình nhập họ tên của 30 học sinh trong lớp. ? Ta sẽ chọn kiểu dữ liệu như thế nào? Khai báo biến như thế nào? + Kiểu mảng một chiều gồm 30 kí tự. ? Hãy viết đoạn lệnh để nhập và xuất dữ liệu cho từng phần tử ? + Khai báo một biến mảng A để lưu họ tên của một học sinh. Readln(A[1]);Readln(A[2]); Readln(A[3]);Readln(A[4]);... ? Có những khó khăn gì gặp phải ? + Chương trình được viết dài dòng. Khi nhập dữ liệu, phải thực hiện gõ nhiều phím. Như vậy ta cần có một kiểu dữ liệu mới cho phép ta nhập/xuất dữ liệu cho xâu bằng một lệnh. 1. Khái niệm: 1. KHÁI NIỆM
1. Khái niệm: Xâu là dãy các kí tự trong bộ mã ASCII Ví Dụ: A 1 2 3 4 5 6 7 Trong đó: + Tên xâu: A + Mỗi kí tự là một phần tử của xâu. + Độ dài của xâu (số kí tự trong xâu): 7 + Khi viết kí tự tham chiếu đến kí tự thứ i của xâu ta viết A[i]. Ví dụ: A[6]=`O` 2. Khai báo: 2. kHAI BÁO KIỂU DỮ LIỆU XÂU (TRONG PASCAL)
2. Khai báo biến: Ví dụ: Var hoten: String[26]; ? Ý nghĩa của từ String,[n] ? + String là tên kiểu xâu. + [n] là giá trị quy định số lượng kí tự tối đa mà biến xâu có thể chứa. ? Khi khai báo không có [n] thì số lượng kí tự tối đa là bao nhiêu ? + Số kí tự tối đa là 255. VD: `Ha Noi` ? Xâu trên có bao nhiêu kí tự ? + Xâu này có 6 kí tự, dấu cách là một kí tự. Mỗi kí tự được gọi là một 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. : 2. kHAI BÁO KIỂU DỮ LIỆU XÂU TRONG PASCAL (TIẾP 1)
? Xâu chỉ gồm một kí tự trống được viết như thế nào ? số lượng kí tự bao nhiêu? + Kí kiệu của xâu gồm một kí tự trống là ` `. Xâu này có độ dài là 1. ? Xâu rỗng được viết như thế nào ? số lượng kí tự bao nhiêu ? + Kí hiệu của xâu rỗng là ` `. Xâu có độ dài là 0. a, Nhập/xuất dữ liệu cho biến xâu trong ngôn ngữ Pascal VD: Readln(hoten); Write(`Ho ten`,hoten); ? Khi viết lệnh 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. Cấu trúc chung: Tên_biến_xâu:= hằng xâu; VD: St:=`Ha Noi`; : 2. kHAI BÁO KIỂU DỮ LIỆU XÂU TRONG PASCAL (TIẾP 2)
b, Tham chiếu đến từng kí tự của xâu. Cấu trúc chung: Tên_biến[chỉ số] ? Có gì giống và khác nhau so với cách tham chiếu đến từng phần tử của mảng + Giống cấu trúc chung khi tham chiếu tên biến[chỉ số]. VD: st[2] 3. Thao tác xử lí: 3. CÁC THAO TÁC XỬ LÍ XÂU
? Hãy nhắc lại các phép toán đã học trên kiểu dữ liệu chuẩn. + Phép toán số học. + Phép toán so sánh. + Phép toán logic. a, Phép ghép xâu: ? VD: Cho biết kết quả của chương trình in ra màn hình. Var st:String; Begin st:=`Ha` + `Noi`; Write(st); Readln; End. + Kết quả cho ta: st=`HaNoi` 3. Các thao tác xử lí trên xâu: : 3. CÁC THAO TÁC XỬ LÍ XÂU (TIẾP 1)
VD: st:=`Ha Noi` + `Co Ho Guom` kết quả: st=`Ha NoiCo Ho Guom` ? Chức năng của phép cộng ? + Là phép toán nối xâu thứ hai vào cuối xâu thứ nhất. b,Phép so sánh xâu: Cho biết kết quả in ra màn hình của chương trình sau: Var bo:Boolean; Begin bo:=`AB` < `AC`; Write(bo); Readln End; + Kết quả là: True. : 3. CÁC THAO TÁC XỬ LÍ XÂU (TIẾP 2)
? Còn các phép so sánh nào nữa ? + Có các phép <, <=, >=, <>, = ? Cho biết kết quả các phép so sánh sau: `AB` < `ABC` `AC` < `ABC` `Tin Hoc` = `Tin Hoc` Kết quả: True Kết quả: Flase Kết quả: True Lưu ý: Một xâu có độ dài nhỏ hơn có thể lớn hơn (>) xâu có độ dài lớn hơn. + Xâu A là lớn hơn xâu B nếu như kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong xâu A có mã ASCII lớn hơn. + 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 + Hai xâu được coi là bằng nhau nếu như chúng giống nhau hoàn toàn. : 3. CÁC THAO TÁC XỬ LÍ XÂU (TIẾP 3)
c, Hàm Length(st): Cấu trúc chung: Length(st) ? Ý nghĩa của Length và của st ? + Length: là tên hàm, có nghĩa là độ dài, st: là một biểu thức xâu kí tự. ? Cho biết kết quả in ra màn hình của chương trình sau: Var st: String; Begin st:=`Ha Noi`; Writeln(Length(st)); Readln End. + Kết quả là 6 ? Chức năng của hàm Length() là gì ? + Hàm cho số lượng kí tự của xâu st. : 3. CÁC THAO TÁC XỬ LÍ XÂU (TIẾP 4)
d, Hàm Upcase(ch): Cấu trúc chung: Upcase(ch); ? Cho biết kết quả chương trình in ra màn hình: Var ch:Char; Begin ch:=`h`; Write(Upcase(ch); Readln End. + Kết quả là: H ? Chức năng của hàm Upcase() ? + Cho giá trị là chữ cái in hoa của ch. : 3. CÁC THAO TÁC XỬ LÍ XÂU (TIẾP 5)
e, Hàm Pos(s1,s2): Cấu trúc chung: Post(s1,s2); ? Cho biết kết quả in ra màn hình của chương trình sau: Var vt:Byte; Begin vt:=Pos(`cd`,`abcdefcd`); Write(vt); Readln End. + Kết quả là: 3 ? Chức năng của hàm Pos()? + Hàm cho giá trị là một số nguyên là vị trí của xâu st1 trong xâu st2. ? Thay tham số của hàm Pos trong Chương trình trên Pos(`k`,`a,b,c`). Hỏi kết quả của hàm bằng bao nhiêu ? + Bằng Không 0. : 3. CÁC THAO TÁC XỬ LÍ XÂU (TIẾP 6)
f, Hàm Copy(st,vt,n): ? Cho biết kết quả in ra màn hình của chương trình sau: Var st:String; Begin st:= Copy(`bai tap`,3,4); Write(st); Readln; End. + Kết quả là: `i ta` ? Chức năng của hàm Copy() ? + Hàm cho giá trị là một xâu kí tự được lấy trong xâu, gồm n kí tự bắt đầu tại vị trí vt. ? Thay tham số của hàm copy trong chương trình trên,cho biết kết quả? VD: Copy(`abc`,1,5) Copy(`abc`,5,2) Copy(`abc`,1,0) Cho giá trị là: `abc` Cho giá trị là xâu rỗng Cho giá trị là xâu rỗng : 3. CÁC THAO TÁC XỬ LÍ XÂU (TIẾP 7)
g, Thủ tục Delete(st,vt,n); ? Cho biết kết quả in ra màn hình của chương trình. Var st:String; Begin st:=`HaNoi`; delete(st,3,2); Write(st); Readln End. + Kết quả là: st=`Hai` ? Chức năng của thủ tục Delete(); + Thủ tục thực hiện việc xoá đi trong biến xâu st gồm n kí tự, bắt đầu từ vị trí vt. ? Cho biết kết quả in ra màn hình, khi thay st và thủ tục Delete() st:=`abc`; Delete(st,1,5); st:=`abc`; Delete(st,5,2); st:=` `; xâu rỗng st:=`abc` : 3. CÁC THAO TÁC XỬ LÍ XÂU (TIẾP 8)
h, Thủ tục Insert(st1,st2,vt); ? Cho biết kết quả in ra màn hình của chương trình sau: Var st1,st2:String; Begin st2:=`HaNoi`; st1:=` `; Insert(st1,st2,3); Write(st2); Readln; End. + Kết quả là st2:=`Ha Noi` ? Chức năng của thủ tục Insert. + Thủ tục thực hiện việc chèn xâu st1 vào trong biến xâu st2 bắt đầu tại vị trí vt. ? Cho biết kết quả in ra màn hình, khi thay st2 và thủ tục Insert() st2:=`ef`; Insert(`abc`,st2,5); st2:=`ef`; Insert(`abc`,st2,0); st2=`efabc` st2=`abcef`; Ví Dụ 1: VÍ DỤ 1
1. Khai báo xâu Var a,b: string; 2. Nhập xâu BEGIN Write(‘ Nhap xau ho ten thu nhat :’); Readln(a); Write(‘Nhap xau ho ten thu hai :’); Readln(b); 3. Xử lí xâu IF Length(a)>Length(b) Then write(a) else write(b) Readln; END. Ví Dụ 2: VÍ DỤ 2
Các bước thực hiện: 1. Khai báo xâu : A,B 2. Nhập xâu 3. Xử lí xâu, trong đó: Kí tự đầu tiên của xâu A: A[i] Kí tự cuối cùng của xâu B: B[n] trong đó n là độ dài của sâu B. Dựa vào các bước bên, hãy hoàn thiện chương trình? : VÍ DỤ 2 (TIẾP 1)
Ví Dụ 3: VÍ DỤ 3
Ví Dụ: - Xâu ban đầu : ‘Mon Tin hoc’ - Kết quả ra màn hình : ‘MonTinhoc’ Thuật toán: B1. Khởi tạo xâu rỗng; B2. Lần lượt duyệt qua tất cả các phần tử của xâu vừa nhập, nếu phần tử được duyệt khác dấu cách thì bổ sung vào xâu rỗng. Hãy viết chương trình dựa theo thuật toán bên ? : VÍ DỤ 3 (TIẾP 1)
Ghi Nhớ: NỘI DUNG CẦN GHI NHỚ QUA BÀI HỌC
Hãy Ghi Nhớ + Xâu là dãy các kí tự trong bộ mã ASCII. + Khai báo biến: VAR tên
* 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 Quốc Thành
Dung lượng: 6,56MB| Lượt tài: 0
Loại file: rar
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)