Kiểu dữ liệu xâu Giáo viên hướng dẫn: Thầy Trần Doãn Vinh Sinh viên thực hiện:Nguyễn Thị Dung Lớp K56A – Khoa CNTT – ĐHSPHN... Mục đích yêu cầu tới xâu chương trình đơn giản liên quan
Trang 1Giáo án số 2
Trang 2Kiểu dữ liệu xâu
Giáo viên hướng dẫn: Thầy Trần Doãn Vinh Sinh viên thực hiện:Nguyễn Thị Dung
Lớp K56A – Khoa CNTT – ĐHSPHN
Trang 3Mục đích yêu cầu
tới xâu)
chương trình đơn giản liên quan tới xâu
môn học
Trang 4Phương tiện
Trang 5Nội dung bài giảng
Nội dung
ASCII
dài của xâu
Trang 61.Khai báo kiểu dữ liệu xâu
Để khai báo kiểu dữ liệu xâu, TP dùng tên riêng STRING
Biến kiểu xâu có thể khai báo như sau:
VAR <Tên biến > : STRING [độ dài lớn nhất của xâu];
Ví dụ
Var name : string [15];
Ta cũng có thể khai báo
var name : string [];
Khi đó độ dài lớn nhất của xâu được ngầm định là
255
Trang 72.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ệ
Ví dụ :phép ghép xâu (kí hiệu là +) ‘lớp’ + ’chúng’ + ’mình’ cho xâu kết quả là ‘lớp chúng mình’
các phép so sánh =, <>, <, >, <=, >= thực hiện
việc so sánh hai xâu và có thứ tự ưu tiên thấp hơn phép ghép xâu
Trang 82.Các thao tác xử lí xâu (tiếp)
Để xử lí các xâu thì có sử dụng các thủ tục và hàm chuẩn :
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
Copy(s, vt, n) : tạo xâu gồm n kí tự liên tiếp bắt đầu
từ vị trí vt của xâu st
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
Trang 93.1 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 xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau
Var
s1, s2 : string;
Begin
Write(‘nhap ho ten thu nhat ’); readln(s1);
Write(‘nhap ho ten thu hai ’); readln(s2);
If length(s1) > length(s2) then write (a)
Else write(b);
readln;
End
Trang 103.2 Ví dụ 2
Ví dụ 2:
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
Var
i, k : byte;
a,b : string;
Begin
Write (‘nhap xau ’); readln (a);
k:= length(a);
b:= ‘’;
For i:=1 to k do
If a[i]<> ‘ ’ then b:=b+a[i];
Writeln(‘ket qua ’,b)
readln;
End
Trang 11Bài tập về nhà và câu hỏi ôn tập
vào có đối xứng không?
phím sau đó tiến hành xoá đi các dấu cách thừa và đưa ra xâu sau khi đã được chỉnh sửa