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

Tin tức cộng đồng

[MỜI HỢP TÁC] Các kỳ thi Olympic Quốc tế 2026 (IMO - IEO - ISO)

Kính gửi Quý Lãnh đạo, Ban Giám hiệu và Quý Thầy/Cô, FermatTech (Đối tác Google tại VN) phối hợp cùng SCO Ấn Độ trân trọng kính mời tham gia 3 kỳ thi uy tín dành cho HS từ lớp 1 - 12: - IMO: Olympic Toán Quốc tế. - IEO: Olympic Tiếng Anh Quốc tế. - ISO: Olympic Khoa học...
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: Việt Phương
Ngày gửi: 16h:53' 11-12-2010
Dung lượng: 702.0 KB
Số lượt tải: 172
Số lượt thích: 0 người
Chương IV. Kiểu dữ liệu có cấu trúc
Bài 11. Kiểu mảng
Bài thực hành số 3, 4
Bài 12. kiểu xâu
Bài 13. kiểu bản ghi
Bài thực hành số 5
bài 12. kiểu xâu
i. kh¸i niÖm x©u vµ khai b¸o x©u
ii. các thao tác xử lí xâu
iii. một số ví dụ về xâu
Viết chương trình nhập họ tên của các học sinh trong lớp.
Ta nên chọn kiểu dữ liệu nào? Bài toán sẽ có những khó khăn gì?
i. kh¸i niÖm x©u vµ khai b¸o x©u
1. xét ví dụ
Ta có thể chọn kiểu khai báo mảng Một chiều để lưu tên
của từng học sinh. Với kiểu phần tử của mảng là kiểu kí tự
Var hoten:array[1..40] of char;
Nhưng sẽ gặp những khó khăn đó là chương trình viết sẽ rất dài
- Xâu là dãy các kí tự trong bộ mã ASCII;
- Mỗi kí tự là 1 phần tử của xâu, được đánh chỉ số bắt đầu từ 1;
- Độ dài của xâu bằng số lượng phần tử trong xâu;
- Xâu rỗng là xâu có độ dài bằng 0;
- Tham chiếu đến 1 phần tử của xâu: Tên biến[chỉ số]
i. kh¸i niÖm x©u vµ khai b¸o x©u
1. Khái niệm xâu
? ` Chiem Hoa ` ? ` `
? `2009` ? ``
Ví dụ
Giả sử biến Hoten lưu giữ giá trị hằng xâu `Nguyen Van A` ? Hoten[8] ?
VAR
: string[ độ dài lớn nhất của xâu ] ;
i. kh¸i niÖm x©u vµ khai b¸o x©u
2. Khai báo xâu
Ví dụ
VAR
Hoten : string[ 26 ] ;
Chuthich : string ;
Chú ý: Độ dài của xâu được khai báo từ 1 đến 255
i. kh¸i niÖm x©u vµ khai b¸o x©u
3. Nhập/xuất dữ liệu cho biến xâu
VAR
Hoten : string[ 26 ];
Chuthich : string ;
BEGIN
Readln(hoten) ;
Chuthich:=`hoc sinh truong PTTH Chiem Hoa` ;
Writeln(hoten,chuthich);
readln
END.
VAR
Hoten : string[ 26 ];
Chuthich : string ;
BEGIN
Readln(hoten) ;
Chuthich:=`hoc sinh truong PTTH Chiem Hoa` ;
Writeln(hoten,chuthich);
readln
END.
Nguyen Van Ahoc sinh truong PTTH Chiem Hoa
ii. Các thao tác xử lí xâu
1. Phép ghép xâu
Sử dụng kí hiệu "+" để ghép nhiều xâu thành một xâu
Ví dụ
? `Ha` + ` ` + `Noi`
? `Ha Noi`
? Hoten + chuthich
? `Nguyen Van Ahoc sinh truong PTTH Chiem Hoa`
ii. Các thao tác xử lí xâu
2. Các phép so sánh xâu
Sử dụng kí hiệu = , <> , < , <= , > , >= để so sánh xâu
Qui ước:

? Xâu A = B nếu chúng giống hệt nhau.

? Xâu A > B nếu:
+ Kí tự đầu tiên khác nhau giữa chúng
ở xâu A có mã ASCII lớn hơn ở xâu B.

+ Xâu B là đoạn đầu của xâu A.

? `Tin hoc` `Tin hoc`
? `Ha Noi` `Ha Nam`
? `Xau` `Xau ki tu`
=
>
<
ii. Các thao tác xử lí xâu
3. Một số thủ tục làm việc với xâu
Ví dụ
st := `Song Hong`;
Delete(st,1,5);
s1:=`1`; s2:=`Hinh .2`;
Insert(s1,s2,6);
ý nghĩa
Xoá n kí tự
của xâu st
bắt đầu từ vị trí vt.
Chèn xâu s1 vào xâu s2 bắt đầu từ vị trí vt.
Thủ tục
a. Delete(st,vt,n)
b. Insert(s1,s2,vt)
? st = `Hong`
? s2 = `Hinh 1.2`
ii. Các thao tác xử lí xâu
3. Một số thủ tục làm việc với xâu
Ví dụ
st := `Song Hong`;
St :=`Chiem Hoa`; Length(St) = ?
ý nghĩa
Tạo xâu gồm n kí tự
liên tiếp bắt đầu từ vị
trí vt của xâu S
Cho giá trị là độ dài của xâu S
Thủ tục
c. Copy(S,vt,n)
d. Length(S)
?Copy(st,6,4)=` `
? Length(St) = 8
Hong
ii. Các thao tác xử lí xâu
3. Một số thủ tục làm việc với xâu
Ví dụ
S1=`1` S2=`Hinh 1.2`
Pos(S1,S2) = ?
Ch=`a`
UPCase(Ch) = ?
ý nghĩa
Cho vị trí xuất hiện đầu
tiên của xâu S1 trong
xâu S2
Chuyển kí tự ch thành chữ hoa
Thủ tục
e. Pos(S1,S2)
b. UPCase(ch)
? Pos(S1,S2) = 6
? UPCase(Ch) = `A`
Củng cố kiến thức
1. Xâu là dãy các kí tự trong bộ mã ASCII có độ dài từ 0 đến 255;
2. Các phần tử của xâu được đánh chỉ số bắt đầu từ 0;
3. Xâu rỗng là xâu chỉ có 1 kí tự cách trống;
4. Tham chiếu đến kí tự đầu tiên của xâu là: biếnxâu[1];
5. Có thể khai báo xâu thông qua cấu trúc: array[1..30] Of char;
6. Khai báo biến xâu st có độ dài tối đa 30 là: Var st :string[30];
7. Có thể ghép nhiều xâu để được xâu có độ dài lớn hơn 255;
8. Nhập dữ liệu cho biến xâu chỉ có 1 cách: Readln(biếnxâu);
9. In giá trị của biến xâu ra màn hình là: Write(biếnxâu);
10. `Tin Hoc` < `Tin hoc`
Những phát biểu sau, phát biểu nào đúng, phát biểu nào sai ?
Đ
s
s
Đ
s
Đ
s
s
Đ
Đ
Củng cố bài học
- Xâu là dãy các kí tự trong bộ mã ASCII;
- Mỗi kí tự là 1 phần tử của xâu, được đánh chỉ số bắt đầu từ 1;
Độ dài của xâu bằng số lượng phần tử trong xâu;
? Khai báo: tên biến, độ dài lớn nhất của xâu.
Var : STRING[ độ dài lớn nhất của xâu];
Hãy nhớ!
bài tập về nhà
1) Ôn lại kiến thức đã học về kiểu xâu;
2) Hãy nêu sự giống và khác nhau giữa mảng một chiều và xâu;
3) Xem trước một số ví dụ trang 71, 72 trong sgk.
Kết thúc tiết học!
câu hỏi số 1
Với khai báo
Var a : array[1..10] of byte;
câu lệnh nào dưới đây là hợp lệ?

A. a[2] := true; B. a[3] := - 255;
C. a[1] := 255; D. a[10] := `z`;
câu hỏi số 2
Với khai báo như sau câu lệnh nào dưới đây là hợp lệ?
Type mang = array[1..100] of integer;
Var a, b : mang;
c : array[1..100] of char;

A. a := b; B. b := c;
C. c := b; D. a := c;
 
Gửi ý kiến