so sánh xâu

Để xử lý văn bạn dạng, Pascal thể hiện một loại tài liệu mới nhất gọi là chuỗi hoặc xâu ký tự động và được khái niệm vày kể từ khóa String. Xâu ký tự động là tài liệu bao hàm một mặt hàng những ký tự động nhập bảng mã ASCII.

Khai báo:

Var <Tên xâu> : String[<Độ nhiều năm tối đa>];

Với cơ hội khai báo này, chừng nhiều năm của xâu được quy tấp tểnh vày <Độ nhiều năm tối đa>. <Độ nhiều năm tối đa> nhận những độ quý hiếm nguyên vẹn trong khúc 1..255. Trên bộ lưu trữ, byte trước tiên chứa chấp số ký tự động hiện tại sở hữu của xâu, những byte sau ghi độ quý hiếm của từng kí tự động nhập xâu. Độ nhiều năm tối nhiều của xâu ký tự động là 255. Kiểu String hoàn toàn có thể rung rinh tối nhiều 256 byte bộ lưu trữ. Bên cạnh đó còn tồn tại cơ hội khai báo xâu ngắn ngủn gọn gàng hơn hẳn như là sau:

Bạn đang xem: so sánh xâu

Với cơ hội khai báo này, Pascal tự động hiểu là chừng nhiều năm tối nhiều có mức giá trị là 255.

Nhập/xuất

Cách hiểu hoặc viết lách loại String cũng tương tự động tựa như những loại tài liệu không giống, tao dùng những giấy tờ thủ tục Read / Readln, hoặc Write / Writeln.

Ví dụ:

Program exString;
Var greetings : String;
    name : String[30];
    organisation : String[10];
    message : String[100];

Begin
   greetings := 'Hello ';
   message := 'Good Day!';
   
   Writeln('Please Enter your Name');
   Readln(name);
   
   Writeln('Please Enter the name of your Organisation');
   Readln(organisation);
   
   Writeln(greetings, name, ' from ', organisation);
   Writeln(message); 
End.

Sau Khi đoạn code bên trên được biên dịch và thực đua thì tiếp tục tạo ra thành phẩm nhau sau:

Please Enter your Name
John Smith
Please Enter the name of your Organisation
Infotech
Hello John Smith from Infotech

Truy xuất

Xâu kí tự động hoàn toàn có thể được coi như mảng một chiều những thành phần sở hữu loại tài liệu là Char. Truy cập từng thành phần của xâu ký tự động tương tự động mảng 1 chiều:

Ví dụ:

St := 'Lê Hoàn Chân';
Write(st[4]);

Kết ngược tiếp tục là: H.

Các thao tác bên trên xâu ký tự

Xâu kí tự động được dùng thật nhiều nên Pascal kiến thiết một khối hệ thống những mệnh lệnh nhằm xử lý xâu như sau:

Phép ghép xâu:

Để nối những xâu lại cùng nhau, Pascal dùng toán tử là vết nằm trong + như sau:

st1 := 'Lê'; 
st2 := 'Hoàn Chân'; 
St := st1 + ' ' + st2; 

Kết ngược tiếp tục là: St = ‘Lê Hoàn Chân’

Phép so sánh sánh:

Các quy tắc đối chiếu (=, >=, <=, >, <) sở hữu trật tự ưu tiên tiến hành thấp rộng lớn quy tắc ghép xâu. Ví dụ:

If 'ab' + 'c' = 'abc' Then … 

Phép ghép xâu sẽ tiến hành tiến hành trước rồi mới nhất rước độ quý hiếm cơ rước đối chiếu.

Các quy tắc so sánh sánh:

  • Hai xâu đều bằng nhau nếu như như thể nhau trọn vẹn.
  • Xâu A to hơn xâu B nếu như ký tự động trước tiên không giống nhau của xâu A sở hữu mã ASCII to hơn.
  • Nếu A và B là 2 xâu có tính nhiều năm không giống nhau và xâu A là đoạn đầu của xâu B thì xâu A < xâu B

Ví dụ sở hữu những xâu như sau:

a := 'Asus U80V';
b := 'Asus U85V';
c := 'Sony VAIO SVF15';
d := 'Sony VAIO';
e := 'Sony VAIO Svf15';
f := 'Lenovo G80';
g := 'LenovoG850'; 

Thì tao có:

e > c > d > g > f > b > a

Xem thêm: lieu trai chi di

Các giấy tờ thủ tục và hàm chuẩn chỉnh xử lý xâu ký tự

Hàm Length(st)

Ý nghĩa: Cho chừng nhiều năm thực của xâu ký tự
Ví dụ:

st:='Hoàn Chân';
Writeln(Length(st));

Kết quả: 9

Thủ tục Delete(st, pos, num)

Ý nghĩa: Xóa num ký tự động nhập xâu st Tính từ lúc địa điểm pos
Ví dụ:

st:= 'FILENAME'; 
Delete(st,5,4);
Writeln(st);

Kết quả: FILE

Thủ tục Insert(obj, st, pos)

Ý nghĩa: Thủ tục mang lại thành phẩm bằng phương pháp chèn xâu ký tự động mang tên là Obj nhập xâu st bên trên địa điểm pos, những ký tự động đứng sau pos sẽ tiến hành dời về hâu phương của xâu ký tự động obj
Ví dụ:

obj:= 'Hoàn ';
st:= 'Lê Chân';
Insert(obj, st, 4);
Writeln(st);

Kết quả: Lê Hoàn Chân

Thủ tục Str(value, st)

Ý nghĩa: Chuyển đối độ quý hiếm loại số(value) thanh lịch dạng xâu ký tự động và gán mang lại biến đổi st.
Ví dụ:

n := 150; 
Str(n:5, st);
Writeln(st);

Kết quả: ` 150`

Thủ tục Val(st, value, code)

Ý nghĩa: Đối một xâu ký tự động st thanh lịch dạng số và gán mang lại biến đổi value, nếu như biến đổi đối thành công xuất sắc thì code tiếp tục nhận độ quý hiếm vày 0. ngược lại thì mang lại độ quý hiếm không giống không
Ví dụ:

Val('123', value, code);
Writeln(value, ' - ', code);

Kết quả: 123 - 0

Hàm Copy(st, pos, num)

Ý nghĩa: Sao chép nhập xâu st, num ký tự động bên trên địa điểm pos
Ví dụ:

st := 'Lê Hoàn Chân';
Writeln('Result =', Copy(st, 3, 4));

Kết quả: Result = Hoàn

Hàm Concat(s1, s2, …, sn)

Ý nghĩa: Hàm tạo ra 1 xâu mới nhất bằng phương pháp nối đuôi những xâu s1,s2,…,sn lại cùng nhau.
Ví dụ:

a := 'Lê';
b := ' Hoàn ';
Writeln(Concat(a, b, 'Chân')); 

Kết quả: Lê Hoàn Chân

Hàm Pos(st1, st2)

Ý nghĩa: Hàm mang lại tao địa điểm nhìn thấy trước tiên của xâu s1 nhập xâu s2.
Ví dụ:

a := Pos('Chân', 'Lê Hoàn Chân');
Writeln('Position = ', a);

Kết quả: Position = 8

Xem thêm: đọc truyện hoa hồng giấy

Hàm UPCASE(Ký tự)

Ý nghĩa: Đổi Ký tự động trở nên “KÝ TỰ” in hoa

Truy xuất từng ký tự động nhập chuỗi

Có thể phối kết hợp người sử dụng vòng lặp truy xuất những ký tự động nhập chuỗi.

Ví dụ: In đi ra những ký tự động của chuỗi st[i] đi ra screen theo gót từng dòng

st:='PASCAL';
for i:=1 to tát 6 tự writeln(st[i]);