Chuyển đến nội dung chính

XÂU KÝ TỰ

XÂU KÝ TỰ
I. KHAI BÁO KIỂU STRING
TYPE TênKiểu = STRING[Max];
VAR Tên biến : TênKiểu;
hoặc khai báo biến trực tiếp:
VAR Tên biến : STRING[Max];
Trong đó Max là số ký tự tối đa có thể chứa trong chuỗi (Max [0,255]). Nếu không
có khai báo [Max] thì số ký tự mặ mặc định trong chuỗi là 255.
Ví dụ:
Type Hoten  = String[30];
St80 = String[80];
Var Name : Hoten;
Line : St80;
St : String; {St có tối đa là 255 ký tự}
II. TRUY XUẤT DỮ LIỆU KIỂU STRING
- Có thể sử dụng các thủ tục xuất nhập Write, Writeln, Readln để truy xuất các biến
kiểu String.
- Để truy xuất đến ký tự thứ k của xâu ký tự, ta sử dụng cú pháp sau: Tênbiến[k].
IV. CÁC THỦ TỤC VÀ HÀM VẾ XÂU KÝ TỰ
4.1. Hàm lấy chiều dài của xây ký tự
LENGTH(St : String):Integer;
4.2. Hàm COPY(St : String; Pos, Num: Byte): String;
Lấy ra một xâu con từ trong xâu St có độ dài Num ký tự bắt đầu từ vị trí Pos .
4.3. Hàm POS(SubSt, St :String):Byte;
Kiểm tra xâu con SubSt có nằm trong xâu St hay không? Nếu xâu SubSt nằm trong
xâu St thì hàm trả về vị trí đầu tiên của xâu con SubSt trong xâu St, ngược lại hàm trả
về giá trị 0.
4.4. Thủ tục DELETE(Var St:String; Pos, Num: Byte);
Xoá trong xâu St Num ký tự bắt đầu từ vị trí Pos.
4.5.  Thủ tục INSERT(SubSt: String; Var St: String; Pos: Byte);
Chèn xâu SubSt vào xâu St bắt đầu tại vị trí Pos.
4.6. Thủ tục STR(Num; Var St:String);
Đổi số nguyên hay thực Num thành dạng xâu ký tự, kết quả lưu vào biến St.
4.7. Thủ tục VAL(St:String; Var Num; Var Code:Integer);
Đổi xâu số St thành số và gán kết quả lưu vào biến Num. Nếu việc chuyển đổi thành
công thì biến Code có giá trị là 0, ngược lại biến Code có giá trị khác 0 (vị trí của lỗi).
BÀI TẬP MẪU
Bài tập 6.1: Viết chương trình nhập vào một xâu ký tự từ bàn phím. Đổi xâu ký tự đó
sang chữ in hoa rồi in kết quả ra màn hình.
Ví dụ :Xâu abcdAbcD sẽ cho ra xâu ABCDABCD.
Uses Crt;
Var St:String;
i:Byte;
Begin
Write(‘Nhap xau St: ‘); Readln(St);
For i:=1 to length(St) do St[i]:=Upcase(St[i]);
Write(‘Xau ket qua: ‘, St);
Readln;
End.
Bài tập 6.2: Viết chương trình nhập vào một xâu ký tự từ bàn phím. Đổi xâu ký tự đó
sang chữ thường rồi in kết quả ra màn hình.
Ví dụ :Xâu abCdAbcD sẽ cho ra xâu abcdabcd.
Uses Crt;
Var St:String;
i:Byte;
Begin
Write(‘Nhap xau St: ‘); Readln(St);
For i:=1 to length(St) do
If St[i] IN [‘A’..’Z’] Then St[i]:=CHR(ORD(St[i])+32);
Write(‘Xau ket qua: ‘, St);
Readln;
End.
Bài tập 6.3: Viết chương trình đếm số ký tự chữ số trong một xâu ký tự được nhập vào
từ bàn phím.
Uses Crt;
Var St:String;
i,d:Byte;
Begin
Write(‘Nhap xau St: ‘); Readln(St);
For i:=1 to length(St) do
If St[i] IN [‘0’..’9’] Then d:=d+1;
Write(‘So ky tu chu so trong xau: ‘, d);
Readln;

End.

Nhận xét

Bài đăng phổ biến từ blog này

DÃY ĐAN DẤU TRONG PASCAL

DÃY ĐAN DẤU TRONG PASCAL Dãy đan dấu là dãy không có 2 phần tử cạnh nhau có dấu giống nhau. ví dụ: -2 4 -9 5 -23 8 là dãy đan dấu Thủ tục kiểm tra dãy đan dấu trong dãy số: procedure dandau; var i,j:integer;     kt:boolean; begin kt:=true; for i:=1 to N-1 do                 begin                 j:=i+1;                 if a[i] *a[j] >0 then kt:=false;                 end; If kt=true then write('Day A la day dan dau') else write('Day A khong phai day dan dau'); end;

Tam giác số (Pascal)

TAM GIÁC SỐ  (Câu 4. Hội thi Tin Học Trẻ Phú Yên lần thứ XIX - năm 2016)                              7                          3       8                      8      1       0                   2     7        4       4                 4    5      2       6       5 Cho một tam giác gồm các số nguyên không âm (xem hình trên). Hãy viết chương trình tính tổng lớn nhất của các số nằm trên lộ trình từ đỉnh xuống: - Tại mỗi bước đi, lộ trình có thể đi xuống phía bên trái hoặc xuống phía bên phải. - Số hàng trong tam giác lớn hơn...

VÒNG LẶP KHÔNG XÁC ĐỊNH WHILE..DO; REPEAT .. UNTIL

VÒNG LẶP KHÔNG XÁC ĐỊNH  WHILE..DO; REPEAT .. UNTIL - Vòng lặp While..do While <điều kiện > Do  <câu lệnh>; Câu lệnh sau do được thực hiện khi điều kiện được thỏa mãn (điều kiện =true); vòng lặp kết thúc khi điều kiện không thỏa (điều kiện =false) - Vòng lặp Repeat .. until; Repeat <câu lệnh>; Until <điều kiện>; Lặp lại câu lệnh cho đến khi nào  thỏa mãn điều kiện  (điều kiện =true) thì dừng lại;  Bài tập: Nhập vào một số nguyên A thỏa mãn (0<A<100), Tính tổng các số nguyên từ 1 đến A (S=1+2+...+A). Vận dụng câu lệnh While .. do uses crt; var A,I:  Integer; S:longint; begin          a:=0;          while not ((a>0) and (a<100)) do          begin          write('Nhap gia tri cua A:'); read(A);           end;          s:=0...