Bài giảng xâu

6 1.1K 5
Bài giảng xâu

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

Thông tin tài liệu

Bài giảng xâu

Giáo án số 2Kiểu dữ liệu xâuGiảng viên hướng dẫn: Thầy Trần Doãn Vinh.Sinh viên thực hiện: Lê Văn Đảm.Lớp: k56A_CNTT.A.Mục đích yêu cầu: Biết xâu là một dãy ký tự (có thể coi xâu là một mảng một chiều) . Biết cách khai báo xâu, truy cập phần tử của xâu . Sử dụng được một số thủ tục, hà thông dụng về xâu . Viết được một số chương trình đơn giản có sử dụng xâu .⇒ Giúp học sinh nắm được kiến thức liên quan tới xâu; biết cách vận dụng viết một số chương trình đơn giản liên quan tới xâu; từ đó làm cho học sinh yêu thích và hứng thú với môn học.B.Phương pháp – phương tiện 1. Phương phápKết hợp các phương pháp giảng dạy như thuyết trình, vấn đáp, vẽ hình minh hoạ… 2. Phương tiệno Sách giáo khoa Tin học 11.o Vở ghi lý thuyết Tin học 11.o Sách tham khảo (nếu có).o Máy tính, máy chiếu, màn chiếu.C.Tiến trình lên lớp, nội dung bài giảng I. Ổn định lớp (1’)Yêu cầu lớp trưởng báo cáo sĩ số II. Kiểm tra bài cũ và gợi động cơ (5’)Trong bài học trước chúng ta đã được làm quen với một trong số những kiểu dữ liệu có cấu trúc đó là kiểu mảng và biến có chỉ số.Câu hỏi kiểm tra bài cũ : 1.Em hãy cho biết trong những cách khai báo sau, cách khai báo nào đúng (sai)? Nếu sai hãy sửa lại cho đúng:Var mangA = array [1 max] of real;Var mangB : array [1 100, 1 50] of real;TypeArray = array [1 n] of real; TypeArray : array [1 10,1 20] of integer; Đặt vấn đề: Để lưu trữ và xử lý họ tên của một người, các kiểu dữ liệu đã học có đáp ứng được không?III. Nội dung bài giảngHoạt động của thầy và trò Nội dung Thời gian Phân tích các phương án của học sinh, từ đó đưa ra yêu cầu cần sử dụng một kiểu mới : Kiểu xâu . Giới thiệu một số khái niệm và thao tác thường dùng khi làm việc với xâu ký tự trong lập trình nói chung .Thuyết trình:-Người lập trình phải nắm được Xâu là gì? Thế nào là độ dài của xâu?-Giới thiệu một số khái niệm và thao tác thường dùng khi làm việc với xâu ký tự trong lập trình nói chung .-Ta nên lựa chọn cách khai báo biến kiểu xâu cho phù hợp.-Đây là cách khai báo trong ngôn ngữ Pascal, trong các ngôn ngữ khác nhau có thể có cách khai báo khác nhau . Độ dài tối đa của xâu phụ Một số khái niệm:- Xâu là một dãy kí tự trong bảng mã ASCII .- 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 .- Xâu có độ dài bằng 0 gọi là xâu rỗng.- Tham chiếu tới phần tử trong xâu được xác định thông qua chỉ số của phần tử trong xâu .- Chỉ số phần tử trong xâu thường được đánh số là 1 .- Trong ngôn ngữ Pacal, tham chiếu tới phần tử thường được viết : <Tên biến xâu>[chỉ số]1.Khai báo kiểu dữ liệu xâu - Để khai báo kiểu dữ liệu xâu, Pascal dùng tên riêng STRING. Độ dài tối đa của xâu được viết trong [ ] sau từ khóa STRING . Khai báo như sau : VAR <Tên biến > : STRING [độ dài lớn nhất của xâu]; thuộc vào ngôn ngữ lập trình, thường là 255 ký tự. Thuyết trình:-Để thao tác xử lí xâu ta cần chú ý tới điều gi?-Khi làm việc với các dữ liệu kiểu xâu ta cần chú ý tới thứ tự ưu tiên như thế nào?-Các phép so sánh xâu phụ thuộc vào điều gì?(chỉ số của kí tự trong bảng mã ASCII)-Lấy ví dụ minh hoạ cho các thủ tục và hàm.(sgk)Xét ví dụ như sau : Có xâu kí tự :‘ nGuyen vaN A ’ Hỏi cần có các thao tác gì để chỉnh sửa xâu kí tự này ? (cần đưa xâu về dạng ‘Nguyen Van A’)Phân tích ý kiến và gợi ý để các em nhận ra cần : - Xóa bớt một số dấu cách .- Chuyển chữ hoa về chữ thường và ngược lại .- Ví dụ: Var hoten : string [25];Ta cũng có thể khai báo var hoten : string [];Khi đó độ dài lớn nhất của xâu được ngầm định là 255.- Chú ý: Hằng xâu kí tự được đặt trong cặp nháy đơn‘ ’. 2.Các thao tác xử lí xâu- Tham chiếu tới phần tử của xâu được xác định bởi tên xâu và chỉ số đặt trong [].- Các kí tự được đánh số bắt đầu từ 1.Có thể xem xâu là mảng một chiều mà mỗi phần tử là một kí tự.- Với dữ liệu kiểu xâu có thế thực hiện phép toán ghép xâu và phép toán quan hệ Phép ghép xâu (kí hiệu là +): ‘lớp’ + ’k56a’ cho xâu kết quả là: ‘lớp k56a’. Các phép so sánh =, <>, <, >, <=, >= Pascal tự động so sánh lần lượt từ kí tự từ trái sang phải.Ví dụ : ‘AB’ < ‘AC’, ‘ABC’ > ‘ABB’, ‘ABC’ <’ABCD’. Một số thủ tục chuẩn dùng để xử lí xâu :• Delete(st, vt, n) : xoá n kí tự của xâu st từ vị trí vt• Inser(s1, s2, vt) : chèn xâu s1 vào xâu s2 bắt đầu ở vị trí vt.• Val(St,x,m) Đổi giá trị xâu St thành số ghi giá trị vào biến X, nếu không đổi được thì vị trí gây lỗi ghi trong m, nếu đổi thành công thì m = 0• Str(X,St) chuyển số X thành xâu kí tự lưu Đưa ra một số câu hỏi :- Làm sao biết một ký tự là dấu cách ?- Làm sao để xóa đi một vài kí tự ?- Làm sao để thêm vào một xâu một vài kí tự ?- Làm sao để có được chữ in hoa tương ứng với chữ thường.- Làm sao có được chữ cái thường tương ứng với chữ hoa ?- Làm sao biết xâu hiện có bao nhiêu kí tự ?Từ đó đưa ra các thủ tục chuẩn và hàm chuẩn của Pascal thường dùng để xử lí xâu . trong StMột số hàm chuẩn :• Copy(St,vt,n) sao chép từ xâu St n kí tự từ vị trí vt .• Length(s): cho giá trị là độ dài xâu s• Pos (s1, s2): cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2• Upcase(ch): cho chữ cái viết hoa ứng với chữ cái trong ch• Pos(S1,S2): tìm vị trí xuất hiện đầu tiên của S1 trong S2 .• Length(St): cho độ dài xâu St .• Upcase(ch): cho chữ cái viết hoa tương ứng với chữ thường trong ch .• CHR(X): cho kí tự có mã X trong bảng mã ASCII .• Ord(ch): cho mã của kí tự ch trong bảng mã .3.Ví dụ Ví dụ 1:Viết chương trình nhập tên của hai người từ bàn phím, đưa ra màn hình tên dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau. Program vidu1; User crt; Var Xau1, Xau2 : string; Begin Clrscr; Write(‘nhap ho ten thu nhat ’); Readln(Xau1); Write(‘nhap ho ten thu hai ’); Readln(Xau2); If length(Xau1) > length(Xau2) then write (Xau1) Học sinh cùng thầy xây dựng chương trình.Thầy đưa ra các trường hợp có thể xảy ra và cùng học sinh tìm cách giải quyết.Ví dụ: khi nhập một xâu vào ta có thể gặp vấn đề như :xâu nhập vào có thể là xâu rỗng, hay xâu đó có nhiều dấu cách không cần thiết. Else write(Xau2); readln End. Ví dụ 2: Nhập 1 xâu, viết ra màn hình xâu đó theo thứ tự ngược lại của các ký tự trong xâu . Program vd3 ; Uses crt ; Var x : String ; k : Byte ; Begin Clrscr ; Write('Nhap xau : ') ; Readln(x) ; For k := length(x) downto 1 do Write(x[i]) ; Readln ; End .Ví dụ 3:Viết chương trình nhập xâu từ bàn phím đưa ra màn hình xâu thu được sau khi đã loại bỏ các dấu cách.Progam VD2;User crt; Var x : string; i, : byte; Begin Write (‘nhap xau ’); readln (x); For i:=1 to length(x) do If x[i]= ‘ ’ then delete(x,i,1); Writeln(‘ xau khi da loai bo dau cach la: ’,x); readln End.IV. Củng cố bài(8’) Nhắc lại một số khái niệm mới . Nhắc lại cấu trúc câu lệnh .Qua bài này, chúng ta đã được biết thêm một kiểu dữ liệu có cấu trúc : dữ liệu kiểu xâu và làm quen với các thao tác xử lí xâu.V.Bài tập về nhà và câu hỏi ôn tập(2’) Nghiên cứu phần tiếp theo Viết một số chương trình đơn giản như nhập, in ra màn hình. Viết chương trình để kiểm tra xâu nhập vào có đối xứng không? Viết chương trình để nhập một xâu từ bàn phím sau đó tiến hành xoá đi các dấu cách thừa và viết hoa đầu tên đưa ra xâu sau khi đã được chỉnh sửa(chuẩn hóa xâu). . độ dài của xâu .- Xâu có độ dài bằng 0 gọi là xâu rỗng.- Tham chiếu tới phần tử trong xâu được xác định thông qua chỉ số của phần tử trong xâu .- Chỉ. trình lên lớp, nội dung bài giảng I. Ổn định lớp (1’)Yêu cầu lớp trưởng báo cáo sĩ số II. Kiểm tra bài cũ và gợi động cơ (5’)Trong bài học trước chúng ta

Ngày đăng: 10/09/2012, 14:57

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan