Bài giảng Tin học Lớp 11 - Tiết 27, Bài 12: Kiểu xâu (Tiết 2)
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học Lớp 11 - Tiết 27, Bài 12: Kiểu xâu (Tiết 2)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_tin_hoc_lop_11_tiet_27_bai_12_kieu_xau_tiet_2.pptx
Nội dung text: Bài giảng Tin học Lớp 11 - Tiết 27, Bài 12: Kiểu xâu (Tiết 2)
- KIỂM TRA BÀI CŨ Câu 1: Cách khai báo biến xâu nào dưới đây là sai? A B Var A: string[50]; Var A: string; C D Var A= string[30]; Var A: string[1]; Câu 2: Để nhập dữ liệu cho biến xâu ta dùng: AA B Read/ReadlnRead/Readln (biến(biến xâu);xâu); Write/writeln (biến xâu); C D Cả A và B đều đúng Cả A và B đều sai
- KIỂM TRA BÀI CŨ Câu 3: Để tham chiếu đến phần tử thứ nhất của xâu s ta có: A B S[n]; S[0]; CC D S[1];S[1]; S[‘1’]; Câu 4: Để tham chiếu đến phần tử cuối cùng của xâu st ta có: AA B St[độSt[độ dàidài xâuxâu st];st]; St[độ dài xâu st -1]; C D St([độ dài xâu st]); St (độ dài xâu st);
- KIỂM TRA BÀI CŨ Câu 5: Chọn các đáp án đúng: A BB ‘Ha Nam’ > ’Ha Noi’ ‘Ha‘Ha Noi’Noi’ >’Ha> ‘Ha Nam’ Nam’ C DD ‘Ha Nam’=‘Ha Noi’ ‘ha‘ha Nam’>‘HaNam’>‘Ha Noi’Noi’
- Đội 1 Đội 2 Xâu A: ‘Tinnhoc200’ Xâu A: ‘Laap trinh0’ Xâu B: ‘TIN HOC 2018’ Xâu B: ‘LAP TRINH 11’ 1. Xóa kí tự ‘n’ 1. Xóa kí tự ‘a’ 2. Xóa kí tự ‘0’ 2. Xóa kí tự ‘0’ 3. Chèn thêm xâu ‘18’ 3. Chèn thêm xâu ‘11’ 4. Chèn thêm dấu cách 4. Chèn thêm dấu cách 5. Chèn thêm dấu cách 5. Chèn thêm dấu cách 6. Viết hoa toàn bộ xâu 6. Viết hoa toàn bộ xâu
- HOẠT ĐỘNG NHÓM 1.Cho biết cú pháp, ý nghĩa, ví dụ NHÓM 4 (Pos) 2. S1, s2 có thay đổi không? NHÓM 1 (Delete) 2. Xâu st có thay đổi không? NHÓM 2 NHÓM 3 (Insert) (Copy) 2. Xâu s1 hay xâu 2. Xâu s có thay s2 sẽ thay đổi? đổi không?
- 1. Thủ tục Delete (St,vt,n) − Xoá n kí tự của xâu st bắt đầu từ vị trí vt − St = ‘SONG HONG’ DELETE(ST,1,5) Kết quả: ‘HONG’ S OO NN GG H O N G 1 2 3 4 5 6 7 8 9 St[1]
- 2. Thủ tục Insert (s1,s2,vt) − Chèn xâu s1 vào xâu s2, bắt đầu ở vị trí vt − Insert (s1,s2,3) , s1=‘uyen’ , s2=‘ngkhuyen’ S1 U Y E N S2 N G K H U Y E N 1 2 3 4 5 6 7 8 S2 N G K H U Y E N Kết quả: ‘NGUYENKHUYEN’
- 3. Hàm copy (s,vt,n) ⸺Tạo một xâu gồm n kí tự liên tiếp bắt đầu từ vị trí vt của xâu s ⸺Ví dụ: Copy (s,4,4) ‘ HOC’ S T I N H O C 1 2 3 4 5 6 7 Copy H O C
- 4. Hàm pos(s1,s2) ⸺Cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2 ⸺Ví dụ: s1 = ‘am’, s2 = ‘Ha Nam’ 1 2 3 4 5 6 S2 H a N a m
- 5. HÀM LENGTH ❖Cú pháp: Length(s) ❖Ý nghĩa: Độ dài xâu s ❖Ví dụ: st=‘Lop 11A1’ => Length(st)=8 6. HÀM UPCASE ❖Cú pháp: Upcase(ch) ❖Ý nghĩa: Cho chữ in hoa ứng với chữ cái trong ch ❖Ví dụ: upcase(‘a’)= ‘A’ upcase(‘C’)=‘C’
- ❑ Nhóm 1: ❖ Tính ĐD xâu a, ĐD xâu b? ❖ Nếu ĐD xâu a > ĐD xâu b thì viết ra xâu a, ngược lại viết ra xâu b. Hãy chuyển câu trên thành câu lệnh trong pascal. Lấy VDMH kết quả chạy CT ❑ Nhóm 2: ❖ Tham chiếu đến phần tử đầu tiên của xâu a và phần tử cuối cùng của xâu b? ❖ Nếu phần tử đầu tiên của xâu a bằng phần tử cuối cùng của xâu b thì viết ra ‘trung nhau’, ngược lại viết ra ‘khac nhau’. Hãy chuyển câu trên thành câu lệnh trong pascal. ❖ Lấy VDMH kết quả CT ❑ Nhóm 3: ❖ Tính ĐD xâu a. Để viết ra xâu đảo ngược ta làm như nào? ❖ Lấy VDMH kết quả CT ❑ Nhóm 4: ❖ Tính ĐD xâu a. Để loại bỏ dấu cách ta làm như nào? ❖ Lấy VDMH kết quả CT
- Ví dụ 1/SGK -71 Câu 1: Hàm tính độ dài xâu a, độ dài xâu b lần lượt là? A. length(a), length(b) B. a[n], b[n] C.Length(b), length(a) D. Cả A và B đều đúng Câu 2: if length(a)> length(b) then write (a) else write(b) nghĩa là gì? A. Nếu độ dài xâu b nhỏ hơn độ dài xâu a thì viết ra xâu a , ngược lại viết ra xâu b B. Nếu độ dài xâu a lớn hơn độ dài xâu b thì viết ra xâu a,ngược lại viết ra xâu b C. Nếu độ dài xâu a nhỏ hơn độ dài xâu b thì viết ra xâu b ngược lại viết ra xâu a D. Cả A và B đều đúng
- Ví dụ 1/SGK -71 Câu 3: Câu lệnh nào sau đây đúng trong chương trình ví dụ 1? A. If length(a) > length(b) then write (a) else write(b); B. If length(b) ha nam D. Ha noi
- Ví dụ 2/SGK -71 Câu 1: Input, output của bài toán là gì? A. Input là 2 xâu a,b. ouput là ‘trung nhau’ hoặc ‘khac nhau’ B. Input là xâu a, ouput là xâu b có kí tự cuối là kí tự đầu của a C. Input là xâu b, ouput là xâu a có kí tự đầu là kí tự cuối của xâu b Câu 2: tham chiếu đến phần tử đầu của xâu A và phân tử cuối của xâu b lần lượt là: A. a[1]; b[length(b)] B. a[0]; b[n] C. a[1];b[x] D. Tất cả đều đúng
- Ví dụ 2/SGK -71 Câu 3: If a[1] = b[x] then write (‘trung nhau’) else write ‘khac nhau’ trong ví dụ 2 SGK là gì? A. Nếu kí tự đầu của xâu a giống kí tự cuối của xâu b thì viêt ra trung nhau, ngược lại viết ra khac nhau B. Nếu kí tự đầu của xâu a giống kí tự x của xâu b thì viết ra trùng nhau, ngược lại viết ra khac nhau ( x là độ dài xâu b) C. Cả A và B đều đúng Câu 4: Kết quả khi chạy chương trình với xâu a:=‘tin hoc’ , xâu b:=‘ hoc tot’ là gì? A. Trung nhau B. Khac nhau C. cả A và B đều sai D. Cả A và B đều đúng
- Ví dụ 3/SGK -72 Câu 1: Input, output của bài toán là gì? A. Input là xâu a. ouputoutput là là xâu xâu đảo đảo ngược ngược của của xâu xâu a a B. Input là xâu a, ouput là xâu b giống xâu a C. Input là xâu a, ouput là xâu b ngược Câu 2: K trong ví dụ trên là gì? A. một số nguyên dương bất kì C. Độ dài của 1 xâu B. Độ dàidài xâu xâu a a D. Cả B và C đều đúng
- Ví dụ 3/SGK -72 Câu 3: Câu lệnh nào giải quyết được bài toán trên? A. For i:=i:=k k downtodownto 1 1 dodo write(a[i]);write(a[i]); B. For i:= 1 to n do write(a[i]); C. For i:= k downto 1 do writeln(a[i]); D. Cả A và C đều đúng Câu 4: Kết quả khi chạy chương trình với xâu a:=‘tin hoc’ là gì? A. TIN HOC B.Coh nit C. chonit D. Cohcoh nitnit
- Ví dụ 4/SGK -72 Câu 1: Input, output của bài toán là gì? A. Input là xâu a,b. Ouput là xâu a đã loại bỏ dấu cách B. Input là xâu a, ouput là xâu b chứa các dấu cách của xâu a C. Input là xâu a,a. ouputoutput là là xâu xâu b b chứa chứa các các kí kí tự tự khác khác dấu dấu cách cách của của xâu xâu a a Câu 2: Để giải quyết bài toán trên ta có thể sử dụng ý tưởng nào sau? A. Tìm trong xâu a các dấu cách và loại bỏ chúng B.Khởi tạo xâu b rỗng, những kí tự khác dấu cách trong xâu a sẽ được cộng vào xâu b C. Cả A và B đều đúng
- Ví dụ 4/SGK -72 Câu 3: Ý kiến nào sau đây là đúng? A. Nếu a[i]=‘ ’ thì vòng lặp bỏ qua các lệnh và tang biến i lên B. Nếu a[i]<> ‘ ’ thì thực hiện thêm kí tự a[i] vào xâu b C. Nếu a[i]=‘’ thì vòng lặp bỏ qua các lệnh và tăng biến i lên D. Cả A và B đều đúng Câu 4: Kết quả khi chạy chương trình với xâu a:=‘lap trinh pascal’ là gì? A. laptrinhpascal B.Lap trinh pascal C. Laptrinh pascal D.D. CảCả AA vàvà BB đềuđều đúngđúng
- CẤU TRÚC CHUNG uses crt; var {khai báo các biến} begin clrscr; {Lệnh xóa màn hình} Write(‘’); {Hiển thị dữ liệu trong 2 dấu nháy đơn ra màn hình} Readln(); {Nhập xâu} Các thao tác xử lí xâu readln end.
- TRÒ CHƠI Ô CHỮ Câu Câu6: Cho 1: s1=‘viets1:=‘ Lop nam’. 11’; s2:=‘A1’. S2=‘am’ CâuCâu 4:S2=‘Tinc’,Câu 5: s1=‘CON2: Để hiểns1=‘ NGUOI thịho’. 1 (S1,S2,3)=>‘Tinxâu VIETNAM’, ra màn hình Thủ tatục sửhoc’. Delete(s1,1,10)=? dụng Hàm lệnh? hay thủ tục Câu (S1,S2)=7.Thao 3: Lệnh tác xửnhập lí Hàmxâu dữ liệunào hay cho chothủ mộtkếttục quảnàoxâu làchotừ ‘Lop bàn kết 11A1’phím quả trên? là gì? nào trong dấu ? P O S W R I T E L N R E A D L N I N S E R T V I E T N A M G H E P X A U