Lý thuyết: Kiểu xâu trang 68 SGK Tin học 11 | SGK Tin học lớp 11

Admin

- Dữ liệu loại xâu là mặt hàng những kí tự động.

Ví dụ: * Ha noi';

- Một xâu là một trong mặt hàng những kí tự động (trong bảng mã ASCII), hoàn toàn có thể coi xâu như 1 mảng một chiều nhưng mà từng thành phần là một trong kí tự động. Số lượng kí tự động vô một xâu được gọi là chừng lâu năm của xâu. Xâu có tính lâu năm bởi vì 0 là xâu trống rỗng.

Các ngữ điệu lập trình sẵn đều phải sở hữu quy tắc, phương thức được chấp nhận xác định:

  • Tên loại xâu;
  • Cách khai báo đổi thay loại xâu;
  • Số lượng kí tự động của xâu;
  • Các thao tác với xâu;
  • Cách tham ô chiếu cho tới thành phần xâu.

- Biểu thức bao gồm những toán hạng là đổi thay xâu, đổi thay kí tự động hoặc hằng xâu được gọi là biểu thức xâu

1. Khai báo

Biến loại xâu hoàn toàn có thể khai báo như sau:

var <tên biến>: string[độ lâu năm lớn số 1 của xâu]

Lưu ý: Độ lâu năm lớn số 1 của xâu < 255.

Ví dụ

var Hoten: string[26];

  • Trong tế bào miêu tả xâu hoàn toàn có thể bỏ lỡ phần khai báo chừng lâu năm, chẳng hạn: var chugiai: string;

Khi tê liệt, chừng lâu năm lớn số 1 của xâu tiếp tục nhận độ quý hiếm đem quyết định là 255.

2. Các thao tác xử lí xâu

a) Phép ghép xâu được dùng làm ghép nhiều xâu trở thành một (kể cả so với những hằng và đổi thay xâu).

Ví dụ: 'Nghe' + 'An' . Kết quả: Nghe An

b) Các luật lệ sánh sánh: (=), (o), (<), (>),(<=), (>=) với trật tự ưu tiên tiến hành thấp rộng lớn luật lệ ghép xâu và tiến hành việc đối chiếu nhị xâu theo đòi quy tắc sau:

  • Xâu A là to hơn xâu B nếu như kí tự động thứ nhất không giống nhau thân thiện bọn chúng Tính từ lúc ngược quý phái vô xâu A với mã ASCII to hơn.
  • Nếu A và B là những xâu có tính lâu năm không giống nhau và A là đoạn đầu của B thì A nhỏ rộng lớn.

Ví dụ: 'Que huong' < 'Que huong toi'.

  • Hai xâu được xem là cân nhau nếu mà bọn chúng như là nhau trọn vẹn.

Ví dụ: 'Ha noi' = 'Ha noi'

c) Thủ tục delete(st, V/, n) thực thực việc xóa n kí tự động của đổi thay xâu st bắt đầu từ vựng trí vt.

Ví dụ: st='abcdef’; thao tác delete (st, 4, 2 ) , cho thành quả 'abcd'

d) Thủ tục insert (s1, s2, vt) chèn xâu s1 vô đổi thay xâu s2, chính thức ở ví trí Vt.

Ví dụ: 1l='PC'; s2= ' IBM486 thao tác insert (s1, s2, 4);chokếtquả 'IBMPC486'

e) Hàm copy(S, vt, N) tạo ra xâu bao gồm N kí tự động tiếp tục chính thức từ vựng trí vt của xâu s.

Vi dụ: S='Bai hoc thu 9'; biểu thức copy ( s, 9, 5); cho tới thành quả 'thu 9'

f)  Hàm length(s) cho tới độ quý hiếm là chừng lâu năm xâu s.

Vi dụ: s= 'Tin hoc' thì biểu thức length (S) có tính lâu năm là 7.

g) Hàm pos(s1, s2) cho tới địa điểm xuất hiện nay thứ nhất của xâu s1 vô xâu s2.

Ví dụ: s2='abcdef' thì biểu thức pos ('cd', s2) cho tới thành quả 3.

h) Hàm upcase(ch) cho tới vần âm in hoa ứng với vần âm vô ch.

Ví dụ: 'd' thì biểu thức upcase (ch) cho tới thành quả ' D'.

Lưu ý:

- Xâu được tạo ra trở thành bởi vì những kí tự động, vô tê liệt hoàn toàn có thể với vệt cơ hội. Dấu cơ hội thể hiện nay trong số văn bạn dạng là phần rỗng ngăn cơ hội thân thiện nhị kể từ viết lách tiếp tục. Kí tự động này được gõ bởi vì phím lâu năm nhất bên trên keyboard (Space Bar);

Trong lịch trình, khi viết lách một xâu kí tự động, tao cần viết lách xâu tê liệt thân thiện nhị vệt nháy đơn. Nhưng khi nhập kể từ keyboard độ quý hiếm một xâu, tao chỉ gõ những kí tự động nằm trong xâu tê liệt (rồi nhấn phím Enter).

- Xâu chỉ bao gồm một vệt cơ hội được viết lách là ' '. Để viết lách xâu trống rỗng tao viết lách nhị vệt nháy đơn ngay tắp lự nhau.

- Khi đối chiếu nhị xâu, xâu có tính lâu năm nhỏ rộng lớn hoàn toàn có thể là xâu to hơn (>), ví dụ:

'Anh'<'Ba'

- Khi dùng mệnh lệnh gán, tao hoàn toàn có thể gán trị là một trong kí tự động cho 1 đổi thay xâu kí tự động tuy nhiên việc gán trị là một trong xâu kí tự động cho 1 đổi thay loại kí tự động là ko hợp thức cho dù xâu tê liệt có tính lâu năm bởi vì i.

3. Một số ví dụ

Ví dụ 1: Bài toán đối chiếu nhị xâu: nhập vô chúng ta thương hiệu của nhị người vô nhị đổi thay xâu và thể hiện màn hình hiển thị xâu dài hơn nữa, nếu như cân nhau thì thể hiện xâu nhập sau.

Chương trình:

Progam vidu1;

var

a, b: string;

begin

write(’Nhap ho ten thu nhat: ’);

readln(a);

write(’Nhap ho ten thu nhị : );

readln(b);

if length(a)>length(b) then write(a) else write(b);

readln 

End.

- Tham số của những hàm và giấy tờ thủ tục chuẩn chỉnh cần hợp lý, ví dụ điển hình ko thể sử dụng Insert(sl,s2,I0) khi length(s2)<10.

Khi chạy lịch trình, nhập chúng ta thương hiệu của nhị người: Tran Doan Minh và Tran Doan Hien, thì thành quả của lịch trình cho tới như hình 47 bên dưới đây:

Ví dụ 2: Bài toán đánh giá nhị xâu kí tự động "Nhập nhị xâu kí tự động kể từ keyboard và đánh giá kí tự động thứ nhất của xâu loại nhất với trùng với kí tự động của xâu loại nhị hoặc không?”

Chương trình.

program vidu2 ;

var 

byte;

C, b: string;

begin

write ('Nhap xau thu nhat:');

 readln (a) ;

write(’Nhap xau thu hai:');

readln(b);

X : = length (b);

{xac dinh thự vì thế mềm xau b de biet vi tri cua ki tu cuoi cung}

if a[1]=b[x] then write ('Trung nhau')

else write('Khác nhau');

readln

end.

Khi chạy lịch trình, nhập những xâu vào: nếu như kí tự động thứ nhất của xâu loại nhất ' thu do' ko trùng với kí tự động ở đầu cuối của xâu loại nhị ' ha noi ' thì lịch trình thể hiện thông báo: “Khac nhau”, ngược lại lịch trình thể hiện thông báo: “Trung nhau" kquả của lịch trình cho tới như hình 48 bên dưới đây:

Ví dụ 3:  Giải toán viết lách theo đòi trật tự ngược lại của xâu được nhập vô kể từ keyboard.

Chương trình

procgram vidu3 ,

var i, k: byte;

a : string;

begin

write ( ' Nhap xau: ’ )

readln(a)

k:= length(a);

{xac dinh thự vì thế mềm xau} for i:= k downto 1 vì thế write(a[i]);

readln

end.

Khi chạy lịch trình, nhập vô xâu ' thu vì thế ha noi' thì lịch trình thể hiện thành quả “ion ah od uht", còn khi nhập vô xâu 'viet phái mạnh que huong toi' thì lịch trình thể hiện kết quả: *iot gnouh euq man teiv* thì thành quả của lịch trình cho tới như hình 49 dưới:

Ví dụ 4: Bài toán thể hiện màn hình hiển thị xâu chiếm được bằng sự việc vô hiệu những vệt cơ hội (nếu có) của xâu nhập vô kể từ keyboard.

Chương trình:

program vidu4; \

var i, k:byte;

a, b: string;

begin

write('Nhap vao xau:');

readln (a) ,

k:= length(a)

b:= ' {*Khoi tao xau rong*} for i:= 1 vĩ đại k do

if a[i]<> ' ' then b:= b + a[i];

writeln('Ket qua: b);

readln

End.

Khi chạy lịch trình, nhập vào một trong những xâu: 'Thủ đô Hà Nội' thì lịch trình thể hiện kết quả: “ThudoHaNoi', còn khi nhập vô xâu ‘ nước ta quê nhà tôi’ thì lịch trình thể hiện thông báo: “ VietNamquehuongtoi".

Kết ngược của lịch trình cho tới như hình 50 bên dưới đây:

Ví dụ 5. Bài toán tạo ra xâu bao gồm toàn bộ những chữ số vô xâu nhập vô kể từ keyboard (giữ nguyên vẹn trật tự xuất hiện nay của chúng) và đem thành quả rời khỏi màn hình hiển thị Chương trình

program xulixau;

var si, s2: string;

i: by t e;

begin

write('Nhap xau si: ');

readln ( s1) ;

s2 : = ' ' ;{khoi tao xau s2 rong} for i: = 1 vĩ đại length(s1) do

then s2:=s2+sl[i];

Khi chạy lịch trình, nhập vô xâu vừa vặn kí tự động vừa vặn chữ số, ví dụ điển hình xâu: 'chào ngày hè 2007" thì thành quả của lịch trình là 2007, còn khi nhập vô xâu 'ngay 25 thang 5 phái mạnh 2007 ' , thành quả của lịch trình là 2552007.

Kết ngược của lịch trình sau nhị lượt nhập xâu vô cho tới như hình 51 bên dưới đây:

Loigiaihay.com