So sánh 2 kí tự trong xâu trong pasacal năm 2024

Ta thấy từ trái sang, 4 kí tự đầu trong xâu A hoàn toàn giống 4 kí tự đầu trong xâu B. Kí tự thứ 5 trong xâu A là 'q' có mã ASCII là 113, lớn hơn kí tự 'b' trong xâu B vì chỉ có mã ASCII là 98. Vậy xâu A>B.

– Hàm trả về giá trị duy nhất, hàm sẽ được dùng trong các biểu thức, phép gán và trong các hàm, thủ tục khác.

– Các thủ tục được sử dụng như các lệnh chuẩn của Pascal.

* Một ví dụ về sử dụng kiểu xâu để thực hiện các phép toán số học với số lớn:

Số a=234509…1 (hàng trăm chữ số)

Số b=1244 ….2 (hàng trăm chữ số)

Tính: a+b; a*b;Xây dựng kiểu dữ liệu lớn dùng mảng 1 chiều hoặc kiểu xâu.

3. Một số ví dụ

Bài 1: Lập chương trình nhập vào 2 xâu st1,st2 và đưa ra màn hình xâu dài hơn, nếu bằng nhau thì đưa ra màn hình xâu thứ 2.

-xâu ký tự được định nghĩa bằng từ khóa STRING. Xâu ký tự là dữ liệu bao gồm một dãy các ký tự trong bảng mã ASSCII.

Cách khai báo:

Var ten_xau: STRING[độ dài của xâu];

hoặc Var ten_xau:string;

ví dụ:

var hoten:string[20];

var hoten:string;

Xâu ký tự trong bộ nhớ nó chiếm số byte bằng số ký tự cực đại được khai báo cộng với byte đầu tiên chứa số ký tự hiện có của xâu. Độ dài tối đa của xâu ký tự là 255.

- Cách nhập/xuất: Cách nhập hay xuất kiểu STRING cũng tương tự như các kiểu dữ liệu khác, ta sử dụng các thủ tục READ, READLN, hoặc WRITE, WRITELN

Ví dụ:

Readln(hoten);

Writeln(hoten);

-Giá trị gán cho biến kiểu xâu phải được để trong cặp nháy đơn

Ví dụ

a:=’THCS NQ’;

-Gán giá trị các biến kiểu xâu cho nhau tương tự biến kiểu khác

Ví dụ:

a1:=’Ngo’; a2:=’Quyen’; a1:=a2; ==> a1 sẽ là Quyen

- Truy cập từng phần tử của xâu ký tự: truy cập tương tự mảng 1 chiều: thông qua tên biến kiểu STRING và chỉ số của nó

Ví dụ:

a:= 'Truong THCS Ngo Quyen';

write(a[6]);

-> Kết quả: cho ra chữ g.

write(a[8]);

-> Kết quả: cho ra chữ T.

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

1/ Phép cộng xâu:

Ví dụ:

a1:=’Ngo’; a2:=’Quyen’; a=a1 + a2;

-> kết quả a=NgoQuyen

2/ Phép so sánh:

Hai xâu ký tự có thể so sánh với nhau bằng các phép so sánh =, >, <…

Nguyên tắc so sánh thực hiện như sau, chúng sẽ đem từng ký tự tương ứng với nhau để so sánh, xâu nào có ký tự có số thứ tự trong bảng mã ASCII lớn hơn thì xâu đó lớn hơn (kí tự a sẽ nhỏ hơn kí tự b , a sẽ lớn hơn A)

Hai xâu ký tự được gọi là bằng nhau khi chúng hoàn toàn giống nhau (có độ dài như nhau).

Ví dụ: ‘abc’ = ‘abc’;

3/ Các thủ tục và hàm chuẩn xử lý xâu ký tự

  1. Hàm length(s): cho độ dài thực của xâu ký tự s. Tính tất cả các kí tự, kể cả các kí tự ở đầu, giữa xâu s

ví dụ: s:=’Ngo Quyen’ thì LENGTH(s) cho bằng 9.

b/ Thủ tục DELETE(s,i, n): xóa n ký tự trong xâu s kể từ vị trí i

Ví dụ: s= ‘nam hoc moi’

Delete(s,5,4) lúc đó st cho ra là ‘nam moi’

c/ Thủ tục INSERT(s1, s, i): Thủ tục cho kết quả bằng cách chèn xâu s1 vào xâu s tại vị trí i, những ký tự đứng sau i sẽ được dời về phía sau của xâu ký tự s1.

Ví dụ: s1:=’abc’;

s:=’xyzmn’;

INSERT(s1,s,2) lúc đó s=’xabcyzmn’;

d/ Thủ tục STR(value, s): Thủ tục này thực hiện việc chuyển đối giá trị kiểu số (value) sang dạng xâu ký tự và gán cho biến t.

Ví dụ: x là một số nguyên có giá trị: x:=68;

STR(x,s) sẽ cho kết quả xâu st là: s=’68’;

e/ Thủ tục VAL(st, value,code) đối một xâu ký tự st sang dạng số và gán cho biến value, nếu biến đối thành công thì code sẽ nhận giá trị bằng 0. ngược lại thì cho giá trị khác không

So sánh 2 kí tự trong xâu trong pasacal năm 2024

  • 2

    cho mình hỏi chút về so sánh xâu này xâu A : 'HOAN THANH' và xâu B 'HOAN TOAN'. xâu B > xâu A đúng không

2/ Phép so sánh: Hai xâu ký tự có thể so sánh với nhau bằng các phép so sánh =, >, <… Nguyên tắc so sánh thực hiện như sau, chúng sẽ đem từng ký tự tương ứng với nhau để so sánh, xâu nào có ký tự có số thứ tự trong bảng mã ASCII lớn hơn thì xâu đó lớn hơn. Hai xâu ký tự được gọi là bằng nhau khi chúng hoàn toàn giống nhau (có độ dài như nhau). Ví dụ: ‘FILENAME’ = ’FILENAME ‘ Các phép so sánh: (=), (o), (<), (>),(<=), (>=) có thứ tự ưu tiên thực hiện thấp hơn phép ghép xâu và thực hiện việc so sánh hai xâu theo quy tắc sau:

  • Xâu A là lớn hơn xâu B nếu kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong xâu A có mã ASCII lớn hơn.
  • Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn

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

  • Hai xâu được coi là bằng nhau nếu như chúng giống nhau hoàn toàn.

Bảng mã ASCII khá khó hiểu nên chị tự tìm hiểu nhé! \=> Do "O">"H" nên xâu B> xâu A.