Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Bài 12. Kiểu xâu

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Trần Thùy Dương
Ngày gửi: 09h:01' 25-02-2022
Dung lượng: 1.1 MB
Số lượt tải: 223
Số lượt thích: 0 người

Câu 1: Em hãy cho biết cú pháp khai báo xâu? Cho ví dụ?




Câu 2: Cho xâu A: ‘chuc mung nam moi’
Em hãy cho biết kết quả:
a. Delete(A, 10, 8)
b. Pos(‘nam’, A)
c. Length(A)
KIỂM TRA BÀI CŨ
Đáp án
 Khai báo xâu:
Var : string[độ dài lớn nhất của xâu];
‘chuc mung’
11
17
§12. KIỂU XÂU (t2)

I. Khái niệm xâu
II. Khai báo dữ liệu xâu
III. Các thao tác xử lý xâu
IV. Một số ví dụ



IV. 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.
 Xác định bài toán:
Input: họ tên của hai người nhập vào hai biến xâu
Output: đư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 và output của ví dụ này là gì ?
IV. 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.

Cần khai báo bao nhiêu biến xâu? Viết khai báo?

 Khai báo 2 biến xâu
 Var A, B: string;
Trong ví dụ này, ta cần sử dụng hàm nào để giải quyết yêu cầu đặt ra?
Sử dụng hàm length
để tính độ dài của xâu.
IV. 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.

Sử dụng phép toán nào trong ví dụ này?
Sử dụng phép so sánh > hoặc <
IV. Một số ví dụ
Ví dụ 1:

Các bước
Thể hiện bằng pascal
Bước 1: Khai báo xâu


Bước 2: Nhập xâu


Bước 3: Xử lý xâu




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
write (A)
else
write(B);
readln
End.
Có hai xâu:
S1: ‘HAI YEN’
S2: ‘NGOC ANH’

kí tự đầu của xâu S1 có trùng với kí tự cuối của xâu S2 không?
IV. Một số ví dụ
Ví dụ 2:
Viết chương trình nhập hai xâu từ bàn phím, và kiểm tra xem kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ 2 không.
 Xác định bài toán:
Input: hai xâu nhập vào từ bàn phím.
Output: kiểm tra xem kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ hai hay không.

Input và output của ví dụ này là gì ?
IV. Một số ví dụ
Ví dụ 2:
Viết chương trình nhập hai xâu từ bàn phím, và kiểm tra xem kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ 2 không.

Khai báo những biến nào?
khai báo 2 biến xâu A, B và 1 biến giá trị x.
Truy cập đến phần tử đầu tiên của xâu A, và phần tử cuối cùng của xâu B như thế nào?
+ Phần tử đầu tiên của A: A[1]
+ Phần tử cuối của xâu B: B[x]; x= length(B)
IV. Một số ví dụ
Ví dụ 2:

Các bước
Thể hiện bằng pascal
Bước 1: Khai báo xâu


Bước 2: Nhập xâu


Bước 3: Xử lý xâu




Var A, B: String;
x: byte;
Begin
write (‘Nhap xau thu 1: ’);
readln (A);
write (‘Nhap xau thu 2: ’);
readln (B);
x := length(B);
if A[1] = B[x] then
write(‘Trung nhau’)
else
write(‘Khac nhau’
readln
End.

Program Vidu_2;
Uses crt:
Var A, B: String;
x: byte;
Begin
clrscr;
write (‘Nhap xau thu 1: ’);
readln (A);
write (‘Nhap xau thu 2: ’);
readln (B);
x:= length(B);
if A[1]=B[x] then
write(‘Trung nhau’)
else
write(‘khac nhau’);
readln
End.

Xâu S: ‘Lop 11A1’

S: ‘1A11 poL’
IV. Một số ví dụ
Ví dụ 3:
Viết chương trình nhập vào một xâu từ bàn phím, đưa ra màn hình xâu đó nhưng theo thứ tự ngược lại
 Xác định bài toán:
Input: Một xâu nhập vào từ bàn phím.
Output: xâu được viết theo thứ tự ngược lại.
IV. Một số ví dụ
Ví dụ 3:
Viết chương trình nhập vào một xâu từ bàn phím, đưa ra màn hình xâu đó nhưng theo thứ tự ngược lại

Để in ra màn hình một xâu theo thứ tự ngược lại ta phải thực hiện ra sao?
 Dùng câu lệnh lặp for - do dạng lặp lùi:
for :=
downto do ;
IV. Một số ví dụ
Ví dụ 3:

Các bước
Thể hiện bằng pascal
Bước 1: Khai báo xâu


Bước 2: Nhập xâu


Bước 3: Xử lý xâu




Var A: String;
i, k: byte;
Begin
write (‘Nhap xau: ‘);
readln (A);
k := length(A);
for i:=k downto 1 do write(A[i]);
readln
End.


Program Vidu_3;
Uses crt:
Var A: String;
k, i: byte;
Begin
clrscr;
write (‘Nhap xau: ’);
readln (A);
k:= length(B);
for i:= K downto 1 do write(A[i]);
readln
End.


Xâu S: ‘cong nghe thong tin’

S: ‘congnghethongtin’
IV. Một số ví dụ
Ví dụ 4:
Viết chương trình nhập vào một xâu từ bàn phím, đưa ra màn hình xâu thu được từ nó bởi việc loại bỏ các dấu cách.
 Xác định bài toán:
Input: Một xâu nhập vào từ bàn phím.
Output: xâu mới thu được từ xâu vừa nhập bởi việc loại bỏ dấu cách.
IV. Một số ví dụ
Ví dụ 4:

Các bước
Thể hiện bằng pascal
Bước 1: Khai báo xâu

Bước 2: Nhập xâu

Bước 3: Xử lý xâu
- Khởi tạo xâu rỗng.
- Lần lượt duyệt qua
các Phần tử của xâu
mới nhập. Nếu phần
tử duyệt khác dấu
cách thì bổ sung
vào xâu rỗng.


Var i, k : byte ;
a, b : String;
Begin
write (‘Nhap xau: ’);
readln (a);
k := length(a);
b := ‘’;
for i:= 1 to k do
if a[i] <> ‘ ’ then
b: = b + a[i];
write(‘ket qua: ’, b);
readln
End.

Program Vidu_4;
Uses crt;
Var i, k : byte ;
a, b : String;
Begin
clrscr;
write (‘Nhap xau: ’);
readln (a);
k := length(a);
b := ‘’;
for i:= 1 to k do
if a[i] <> ‘ ’ then
b: = b + a[i];
write(‘ket qua: ’, b);
readln
End.

Xâu S: ‘Lop 11A1 co 30 ban’

S: ‘11130’
IV. Một số ví dụ
Ví dụ 5:
Viết chương trình nhập vào từ bàn phím xâu S1, đưa ra màn hình xâu S2 gồm tất cả các chữ số có trong S1.
 Xác định bài toán:
Input: Một xâu S1 vào từ bàn phím.
Output: xâu S2 thu được từ xâu S1 bởi việc chỉ lấy những kí tự số có trong S1 .
IV. Một số ví dụ
Ví dụ 5:

Các bước
Thể hiện bằng pascal
Bước 1: Khai báo xâu

Bước 2: Nhập xâu

Bước 3: Xử lý xâu
- Khởi tạo xâu rỗng.
- Lần lượt duyệt qua
các Phần tử của xâu
mới nhập. Nếu phần
tử duyệt thuộc kí tự
số thì bổ sung vào
xâu rỗng.


Var i, k : byte ;
S1, S2 : String;
Begin
write (‘Nhap xau: ’);
readln (S1);
S2 := ‘’;
for i:= 1 to k do
if (‘0’<= S1[i]) and (S1[i] <=‘9’) then
S2 := S2 + S1[i];
write(‘ket qua: ’, S2);
readln
End.
IV. Một số ví dụ
Ví dụ 4:
Ví dụ 5:
Var i, k : byte ;
a, b : String;
Begin
write (‘Nhap xau: ’);
readln (a);
k := length(a);
b := ‘’;
for i:= 1 to k do
if a[i] <> ‘ ’ then
b: = b + a[i];
write(‘ket qua: ’, b);
readln
End.


Var i, k : byte ;
S1, S2 : String;
Begin
write (‘Nhap xau: ’);
readln (S1);
S2 := ‘’;
for i:= 1 to k do
if (‘0’<= S1[i]) and (S1[i] <=‘9’) then
S2 := S2 + S1[i];
write(‘ket qua: ’, S2);
readln
End.

 Một số thủ tục và hàm chuẩn khi xử lý xâu.
 Cách tham chiếu tới từng phần tử của xâu.
 Cách tạo một xâu mới từ một xâu rỗng, dùng phép ghép, ghép dần một kí tự lấy từ xâu ban đầu.
 Dùng vòng lặp for-do để duyệt lần lượt tất cả các kí tự của một xâu.
Lưu ý

 Thực hiện các câu hỏi và bài tập 1-10 trang 79 – 80 trong sách giáo khoa.
 Xem trước nội dung bài 1 của bài tập thực hành 5 trang 73, SGK.
Bài tập về nhà
Bài học đã kết thúc
thân ái chào thầy cô cùng các em!
 
Gửi ý kiến