1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng xâu

6 1,1K 5
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiểu Dữ Liệu Xâu
Tác giả Lê Văn Đảm
Người hướng dẫn Thầy Trần Doãn Vinh
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Giáo án
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 6
Dung lượng 74,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng xâu

Trang 1

Giáo án số 2 Kiểu dữ liệu xâu

Giả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áp

Kế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ện

o 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;

Type

Array = array [1 n] of real;

Trang 2

Array : 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ảng

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];

Trang 3

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

Trang 4

Đư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 St

Mộ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)

Trang 5

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);

Trang 6

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)

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

Xem thêm

TỪ KHÓA LIÊN QUAN

w