1. Trang chủ
  2. » Công Nghệ Thông Tin

Bai 12 Kieu xau

13 31 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 15,76 KB

Nội dung

Cách thức tiến hành hoạt động: Bài toán: Viết chương trình vào từ bàn phím xâu kí tự S1, tạo xâu S2 gồm tất cả các chữ số có trong S1 có giá trị lớn nhất và đưa kết quả ra màn hình.. Dự [r]

(1)I Thông tin chung Trường: THPT Kỳ Sơn Môn học: Tin học Thông tin nhóm: II Nội dung: TÊN CHỦ ĐỀ: KIỂU XÂU Lớp: 11 Thời lượng dạy học: 02 Tiết (Tiết 30,31) I MỤC TIÊU Kiến thức - Biết xâu là dãy ký tự (có thể coi xâu là mảng chiều) - Biết cách khai báo xâu, truy cập phần tử xâu Kỹ - Sử dụng số thủ tục, hàm thông dụng xâu - Viết số chương trình đơn giản có sử dụng xâu Năng lực hướng tới: - Kĩ năng, hiểu biết phần mềm, thiết bị CNTT-TT: Gõ đúng quy cách Có khả xác định và giải các vấn đề đơn giản liệu kiểu xâu - Mô hình hóa các tình thực tiễn xảy phụ thuộc vào cấu trúc kiểu xâu tin học - Sử dụng CNTT-TT giao tiếp: Sử dụng thuật ngữ CNTT-TT chính xác - Đạo đức, hành vi phù hợp sử dụng CNTT-TT: Phân biệt giới thực và giới ảo II MÔ TẢ CÁC MỨC ĐỘ NHẬN THỨC VÀ NĂNG LỰC ĐƯỢC HÌNH THÀNH Nội dung Loại câu hỏi/bài tập Nhận biết Mở đầu Câu hỏi/bài tập định tính HS nhận các kiểu liệu đã học; phân biệt khác xâu và mảng Thông hiểu Vận dụng thấp Vận dụng cao (2) chiều Khai báo Câu hỏi/bài Hs lấy tập định số ví dụ tính xâu kí tự đơn giản thực tế Câu hỏi Hs dạng kí tự xâu tình thực tế Câu hỏi ND1.DT.NB1 ND1 DT TH1 Bài tập định lượng Bài tập thực hành Các thao tác xử lí xâu Câu hỏi/bài Hs mô tả cấu tập định trúc các thao tính tác xử lí xâu Câu hỏi ND2.DT.NB1 Bài tập định lượng Hs biết chế hoạt động hàm và thủ tục kiểu xâu để hoạt động lệnh dạng cụ thể Câu hỏi ND2.DL.NB1 Bài tập thực hành Hs các thành phần các thao tác xử lí xâu cụ thể Câu hỏi ND2.DT.TH1 Hs hiểu ý nghĩa các hàm và thủ tục xâu để giải thích hoạt động cụ thể Hs viết câu lệnh kiểu xâu để thực tình quen thuộc Câu hỏi Câu hỏi ND2.DL.TH1 Hs sửa lỗi lệnh thao tác chương ND2.DL.VDT (3) trình quen thuộc có lỗi Câu hỏi ND2.TH.TH1 Một số ví dụ Câu hỏi/bài Hs mô tả cấu tập định trúc, ý nghĩa tính lệnh kiểu xâu Câu hỏi Hs các thành phần hàm và thủ tục cụ thể Câu hỏi ND3.DT.NB1 ND3.DT.TH1 Bài tập định lượng Bài tập thực hành Hs sửa lỗi lệnh kiểu xâu chương trình quen thuộc Câu hỏi ND3.TH.TH1 Hs vận dụng các lệnh kiểu xâu kết hợp câu lệnh đã học để viết chương trình đơn giản Câu hỏi ND3.TH.VDT III CÂU HỎI VÀ BÀI TẬP Nhận biết Câu MD1.DT.NB1 Em hãy cho biết kiểu liệu có thể khai báo cho các liệu tương ứng sau: 2007 10.5 True 2007 la nam Quy Suu Câu MD2.DT.NB2 Em hãy lấy ví dụ xâu kí tự đơn giản đời sống? Câu MD3.DT.NB3 Phân biệt khác xâu và mảng? Câu ND1.DT.NB1 Có thiết khai báo độ dài lớn xâu không? (4) Câu ND2.DT.NB1 Trong lập trình Pascal, xâu kí tự không có kí tự nào gọi là ? A Xâu không; B Xâu rỗng; C Xâu trắng; D Không phải là xâu kí tự; Câu ND2.DL.NB1 Trong ngôn ngữ lập trình Pascal, khai báo nào các khai báo sau là sai khai báo xâu kí tự ? E S : string; F X1 : string[100]; G S : string[256]; H X1 : string[1]; Câu ND3.DT.NB1 Trình bày cấu trúc, ý nghĩa hàm chép? Câu ND3.DL.NB1 Trong ngôn ngữ lập trình Pascal, để tìm vị trí xuất đầu tiên xâu ‘hoa’ xâu S ta có thể viết cách nào các cách sau ? I S1 := ‘hoa’ ; i := pos(S1, ‘hoa’) ; J i := pos(‘hoa’, S) ; K i := pos(S, ’hoa’) ; L i := pos(‘hoa’, ‘hoa’) ; Thông hiểu Câu ND1.DT.TH1 Trong ngôn ngữ lập trình Pascal, cách khai báo xâu kí tự nào sau đây là đúng ? M.S : char ; N S : string[300]; O S : string; P Cả câu đúng ; Câu ND2.DT.TH1 Độ dài tối đa xâu kí tự PASCAL là a 256 c 255 b 65535 d 257 Câu ND2.DL.TH1 Trong ngôn ngữ lập trình Pascal, hàm Length(S) cho kết gì ? A Độ dài xâu S khai báo; B Số ký tự có xâu S không tính các dấu cách; C Số ký tự xâu không tính dấu cách cuối cùng D Số ký tự có xâu S Câu ND2.TH.TH1 Hãy lỗi chương trình sau: i := pos(‘’, S); { ‘ ’ là dấu cách } while i <> Begin Delete(S, i, 1) ; (5) i := pos(‘ ’, S) ; End; Câu ND3.DT.TH1 Trong ngôn ngữ lập trình Pascal, để xóa ký tự đầu tiên xâu ký tự S ta viết : Q Delete(S, 1, 1); R Delete(S, i, 1); { i là biến có giá trị } S Delete(S, length(S), 1); T Delete(S, 1, i); { i là biến có giá trị } Câu ND3.DL.TH1 Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực công việc gì ? X := length(S) ; For i := X downto If S[i] = ‘ ’ then Delete(S, i, 1) ; { ‘ ’ là dấu cách } U Xóa dấu cách đầu tiên xâu ký tự S V Xóa dấu cách thừa xâu ký tự S W.Xóa dấu cách vị trí cuối cùng xâu S X Xóa dấu cách xâu S Câu ND3.TH.TH1 Hãy sửa lỗi sai đoạn chương trình sau: S1 := ‘anh’ ; S2 := ‘em’ ; i := pos(S2, S) ; While i <> Begin Delete(S, i, 2) ; Insert(S1, S, i) ; i := pos(S2, S) ; End Vận dụng Câu ND2.DL.VDT1 Viết câu lệnh đưa kết độ dài xâu s? Câu ND3.TH.VDT1 Viết chương trình chèn xâu s1 vào xâu s2? Vận dụng cao IV KẾ HOẠCH THỰC HIỆN CHỦ ĐỀ Nội dung Hình thức tổ Thời Thời Thiết bị DH, Học Ghi chú (6) Kiểu xâu chức dạy học lượng điểm liệu Tại lớp tiết 30,31 SGK, máy chiếu V THIẾT KẾ TIẾN TRÌNH DẠY HỌC Hoạt động Khởi động/mở bài Mục tiêu: Tạo nhu cầu tìm hiểu kiểu liệu – Kiểu xâu Nhiệm vụ học tập học sinh: Nhập các số từ bàn phím theo yêu cầu GV Cách thức tiến hành hoạt động: Chia lớp thành nhóm Hoạt động HS Hoạt động GV Nhập vào từ bàn phím đưa màn hình các số sau: a) 687 a) Nhập N là số kiểu Integer, N=687 b) Không thể nhập số câu a b) 123456789101112131415 - Có thể dùng kiểu mảng dài dòng; - Chạy chương trình dùng kiểu xâu để học sinh thấy chương trình ngắn gọn Hoạt động Hình thành kiến thức Mục tiêu: - Biết xâu là dãy ký tự (có thể coi xâu là mảng chiều) - Biết cách khai báo xâu, truy cập phần tử xâu - Sử dụng số thủ tục, hàm thông dụng xâu Nhiệm vụ học tập học sinh: Tham gia các hoạt động giáo viên giao Cách thức tiến hành hoạt động: Chia lớp thành nhóm Hoạt động HS Hoạt động GV Bước Giao nhiệm vụ: Bước Thực nhiệm vụ giao Các nhóm nghiên cứu SGK Các nhóm nghiên cứu SGK và cho biết: - Xâu là gì? - Cách tham chiếu đến phần tử (7) xâu? - Nêu cách khai báo xâu Pascal và cho số ví dụ? Bước Báo cáo kết và thảo luận - Xâu là dãy kí tự bảng mã - - ASCII Mỗi kí tự gọi là phần tử xâu Số lượng kí tự xâu gọi là độ dài xâu Xâu có độ dài gọi là xâu rỗng Tham chiếu tới phần tử xâu xác định thông qua số phần tử xâu Chỉ số phần tử xâu thường đánh số từ Trong ngôn ngữ Pacal, tham chiếu tới phần tử thường viết : <Tên biến xâu>[chỉ số]; Khai báo - Pascal sử dụng từ khóa STRING để khai báo xâu Độ dài tối đa xâu viết [ ] sau từ khóa STRING Khai báo sau : Var <tên biến> : String[độ dài lớn xâu] ; Ví dụ : Var Ten : String[10] ; Ho_dem : String[50] ; Que : String; Bước Đánh giá kết Chú ý : - Nếu không khai báo độ dài tối đa cho biến xâu kí tự thì độ dài ngầm định xâu là 255 - Độ dài lớn xâu là 255 ký tự (8) - Hằng xâu kí tự đặt cặp nháy đơn ‘ ’ Bước Giao nhiệm vụ: Bước Thực nhiệm vụ giao Các nhóm nghiên cứu SGK và cho biết có các thao tác xử lý xâu nào? Các nhóm nghiên cứu SGK Bước Báo cáo kết và thảo luận - Với các xâu kí tự có các phép phép xâu và phép so sánh hai xâu kí tự * Phép ghép xâu : Kí hiệu dấu cộng + - Ý nghĩa: Ghép nhiều xâu thành - Có thể ghép xâu với các và biến xâu Ví dụ : ‘Ha’ + ‘Noi’ cho kết là ‘Ha Noi’ * Phép so sánh : <, <=, >, >=, = , <>, Pascal tự động so sánh từ kí tự từ trái sang phải - Quy tắc so sánh xâu: SGK Ví dụ : ‘AB’ < ‘AC’, ‘ABC’ > ‘ABB’, ‘ABC’ <’ABCD’ Ta có các thủ tục và hàm chuẩn sau: * Thủ tục delete(st,vt,n): Xoá n kí tự biến st vị trí vt St thao tác kết 'abcdef' delete(st,5,2); 'abcd' ' delete(st,1,5); 'Hong' ong Hong' * Thủ tục insert(s1,s2,vt): Chèn xâu s1 vào xâu s2 từ vị trí vt s1 s2 thao tác 'PC' 'IBM486' ins rt(s1,s2,4); kết 'IBM PC 486 (9) '1' 'Hinh 2' insert(s1,s2,6); 'Hinh 1.2' * Thủ tục Copy(s,vt,n): Tạo xâu gồm n kí tự liên tiếp vị trí xâu s S Biểu thức Kết 'Bai hoc thu 9' copy(s,9,5); 'thu 9' * Hàm length(s): Cho giá trị là độ dài xâu s Biểu thức Kết '500 ki tu' length(s); * Hàm pos(s1,s2): Cho vị trí xuất đầu tiên xâu s1 xâu s2 s2 Biểu thức kết 'abcdef' Pos('cd',s2); 'abcdef' Pos('k',s2); * Hàm upcase(ch): Cho chữ cái in hoa ứng với chữ cái ch Ch Biểu thức kết 'd' upcase(ch) 'D' 'e' upcase(ch) 'E' Bước Đánh giá kết Hoạt động Luyện tập Mục tiêu: Củng cố khái niệm xâu, cách khai báo xâu và các thao tác xử lí xâu Nhiệm vụ học tập học sinh: Thực các bài tập theo yêu cầu GV Cách thức tiến hành hoạt động: Chia lớp thành nhóm Hoạt động HS Hoạt động GV (10) Bước Giao nhiệm vụ: - Nhóm 1, nhóm nghiên cứu ví dụ 1, Bước Thực nhiệm vụ giao Các nhóm nghiên cứu SGK SGK sửa lại chương trình theo yêu cầu: + Ví dụ sửa xâu thì đưa xâu nhập trước + Ví dụ hãy đưa màn hình số kí tự trắng có xâu - Nhóm 3, nhóm nghiên cứu ví dụ 2, SGK sửa lại chương trình theo yêu cầu: + Ví dụ sửa kiểm tra xem kí tự cuối cùng xâu thứ có kí tự cuối cùng xâu thứ hai không? + Ví dụ sửa tạo xâu s2 gồm tất các chữ cái in hoa có xâu s1? Bước Báo cáo kết và thảo luận * Ví dụ 1: Nhập họ và tên hai người, in màn hình xâu dài hơn, thì đưa xâu nhập trước: var a,b:string; begin write('nhap ho ten thu nhat:'); readln(a); write('nhap ho ten thu hai:'); readln(b); if length(a)=length(b) then write(a) readln (11) end * Ví dụ 2: Nhập hai xâu từ bàn phím và kiểm tra kí tự cuối xâu thứ có trùng kí tự cuối cùng xâu thứ hai không var a,b: string; begin write('nhap xau thu nhat:'); readln(a); wrtie('nhap xau thu hai:'); readln(b); if a[length(a)]=b[length(b)] then Write(‘Trung nhau’) else write('khong trung nhau'); readln and * Ví dụ 4: Nhập xâu và in màn số kí tự trắng có xâu? var i,k,dem:byte; a:string; begin write('nhap xau:'); readln(a); k:=length(a); dem:=0; for i:=1 to k if a[i]=’ ' then dem:=dem+1; writeln('ket qua:',dem); readln end * Ví dụ 5: Nhập kí tự từ bàn phím vào xâu 1, tạo xâu với các kí tự in hoa xâu và in màn hình kết (12) var s1,s2:string; i:byte; begin write('nhap xau s1:'); readln(s1); s2:=’’; for i:=1 to length(s1) if ('A'=>s1[i]) and (s1[i]<='Z') then s2:=s2+s1[i]; writeln('ket qua:'s2); readln end Hoạt động Vận dụng Mục tiêu: Vận dụng kiểu xâu để viết chương trình số bài đơn giản xâu Nhiệm vụ học tập học sinh: Vận dụng kiến thức để viết chương trình Cách thức tiến hành hoạt động: Bài toán: Dùng thủ tục Delete() để giải bài toán ví dụ 4? Dự kiến kết quả: var i,k:byte; a,b:string; begin write('nhap xau:'); readln(a); k:=length(a); b:=a; for i:=1 to k if b[i]=’ ' then Delete(b,i,1); writeln('ket qua:',b); readln end Hoạt động Tìm tòi mở rộng (13) Mục tiêu: Vận dụng kiểu xâu để viết chương trình giải số bài toán phức tạp Nhiệm vụ học tập học sinh: Vận dụng kiến thức để viết chương trình Cách thức tiến hành hoạt động: Bài toán: Viết chương trình vào từ bàn phím xâu kí tự S1, tạo xâu S2 gồm tất các chữ số có S1 có giá trị lớn và đưa kết màn hình Dự kiến kết quả: var s1,s2,s3:string; i,j:byte; k:char; begin write('nhap xau s1:'); readln(s1); s2:=’’; for i:=1 to length(s1) if ('0'=>s1[i]) and (s1[i]<='9') then s2:=s2+s1[i]; s3:=’’; for k:=’9’ downto ‘0’ for i:=1 to length (s2) if s2[i]=k then s3:=s3+s2[i]; writeln('ket qua:'s3); readln end (14)

Ngày đăng: 12/10/2021, 00:38

TỪ KHÓA LIÊN QUAN

w