Một số thủ tục và hàm trong Pascal: Chèn xâu s1 vào s2 bắt đầu từ vị trí vt... Một số ví dụ: Ví dụ 1: Viết chương trình nhập họ tên của hai người vào hai biến xâu và đưa ra màn hình x
Trang 2Câu hỏi: Hãy điền vào chỗ trống những câu lệnh thích hợp để được một chương trình nhập và xuất xâu A hoàn
A: String [25];
Begin
Write(‘Nhap xau A: ’);
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Write(‘Xau A la: ‘);
Trang 3A: String [25];
Begin
Write(‘Nhap xau A: ’);
Readln(A);
Write(‘Xau A la: ‘);
Write(A);
Readln;
End.
Trang 4Bµi 12 :
Trang 5st2 :=
Xâu st3 = st1 + st2
đúng hay sai? Vì sao?
st1 :=
‘Truong
st3 := ‘Truong THPT TP Cao Lanh’;
Trong ngôn ngữ lập trình Pascal thủ tục chèn có cú pháp như
thế nào?
Giả sử ta có:
TP Cao Lanh’;
‘ THPT’ ; THPT
Trang 6Bài 12: KIỂU XÂU (tt) (STRING TYPE)
c Một số thủ tục và hàm trong Pascal:
Chèn xâu s1 vào s2 bắt đầu từ vị trí vt
st1 := ‘ Nam’;
Ví dụ:
Insert( st1 , st2 , vt );
Insert( s1, s2 , vt):
Insert( st1 , st2 , 7 );
st2 := ‘Phuong Bac’;
Insert( s1, s2 , vt ):
Trang 7Bài 12: KIỂU XÂU (tt) (STRING TYPE)
Lấy ví dụ minh họa?
NHÓM THỦ TỤC / HÀM CHỨC NĂNG CỦA THỦ TỤC / HÀM
Insert ( s1 , s2 ,vt); Chèn xâu s1 vào xâu s2 bắt đầu từ vị trí vt.
1 Delete ( st ,vt, n ); Xóa n kí tự của xâu st bắt đầu từ vị trí vt.
2 Copy ( st ,vt, n ); Tạo xâu mới gồm vị trí vt của xâu st. n kí tự liên tiếp bắt đầu từ
3 Length ( st ); Trả về giá trị là độ dài của xâu st.
4, 5 Pos ( s1,s2 ); Trả về giá trị là vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2.
6 Upcase ( ch ); Cho chữ cái in hoa ứng với chữ cái trong ch.
? ? ? ? ?
c Một số thủ tục và hàm trong Pascal:
Trang 8Cấu trúc chung của một chương trình gồm
các phần nào?
[<Phần khai báo>]
<Phần thân chương trình>
Trang 9Bài 12: KIỂU XÂU (tt) (STRING TYPE)
3 Một số ví dụ:
Ví dụ 1: Viết chương trình nhập họ tên của hai người vào hai biến xâu
và đư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
Input: Nhập họ tên của hai người vào hai biến xâu.
Output: Đưa ra màn hình xâu dài hơn, nếu bằng thì đưa ra xâu nhập sau.
Sử dụng thủ tục Read() hoặc Readln() để nhập giá trị cho biến xâu.
Sử dụng hàm Length(st) để lấy độ dài của hai xâu.
Sử dụng câu lệnh If… Then… Else
Trang 10Bài 12: KIỂU XÂU (tt) (STRING TYPE)
3 Một số ví dụ:
Ví dụ 1: Viết chương trình nhập họ tên của hai người vào hai biến xâu
và đư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
Program VD1;
Var
a, b: String ;
Begin
Write(‘Nhap ho ten thu nhat: ’);
Readln(a);
Write(‘Nhap ho ten thu hai: ’);
Readln(b);
If Length(a) > Length(b) Then
Writeln(a)
Khai báo hai biến xâu a, b
Nhập giá trị cho hai xâu a, b
Xử lý xâu:
Nếu độ dài của xâu a lớn
Trang 11Bài 12: KIỂU XÂU (tt) (STRING TYPE)
3 Một số ví dụ:
hình xâu thu được từ nó sau khi loại bỏ các dấu cách nếu có
Khai báo hai biến xâu a, b
Nhập giá trị cho hai xâu a
Xử lý xâu:
Lần lượt duyệt qua tất cả các
phần tử của xâu a Nếu phần tử
được duyệt khác dấu cách thì bổ
sung vào xâu b.
Program VD2;
Var
i,k: byte;
a, b: String ;
Begin
Write(‘Nhap xau: ’);
Readln(a);
b:= ‘’;
k:= Length(a);
For i:= 1 To k Do
If a[i] <> ‘ ’ Then b:= b + a[i];
Writeln(‘Ket qua: ’, b);
Readln;
Trang 12Câu 1:
Cho:
st := ‘300kitu’;
Sau khi thực hiện thủ tục hoặc hàm sau thì kết quả trả về là:
a Length( st );
b Delete( st , 4 ,4);
c Copy( st , 4 , 4);
d Pos(‘ 00 ’, st );
BÀI TẬP:
‘kitu’
Trang 13Câu 2:
Hãy sắp xếp lại các mảnh ghép để được một chương trình
hoàn chỉnh: “đổi xâu kí tự thường thành xâu kí tự in hoa”.
BÀI TẬP:
Program DOI_CHU;
Var
i: byte;
st: String ;
Begin
Write(‘Nhap xau: ’);
Readln(st);
For i:= 1 To Length(st) Do st[i] := Upcase(st[i]);
Writeln(‘Ket qua: ’, st);
Readln;
End.
Trang 14VỀ NHÀ:
1 Các em về nhà học bài và xem trước bài tập thực hành 5 trong SGK trang 73.
2 Giải bài tập 10 trong SGK trang 80.