Tin Học 11 Lý thuyết Xâu hàm.
Gửi bởi: Nguyễn Trần Thành Đạt 3 tháng 2 2021 lúc 13:43:03 | Được cập nhật: 4 giờ trước (13:06:34) Kiểu file: DOC | Lượt xem: 716 | Lượt Download: 29 | File size: 0.184832 Mb
Nội dung tài liệu
Tải xuốngCác tài liệu liên quan
- Một số bài toán Tin học trẻ hay ôn thi HSG
- Nội dung học tập môn Tin học lớp 11 trong Học kỳ II, Năm học 2019 - 2020. THPT Lê Hồng Phong - Phú Yên.
- Tin Học 11 Lý thuyết Xâu hàm.
- Bài tập trắc nghiệm Tin học 11
- Bài tập kiểu tệp Tin 11
- Đề và đáp án Tin 11 phần 1.
- ÔN TẬP KIỂU XÂU
- Tóm tắt chương trình pascal đơn giản
- Đề kiểm tra 1 tiết môn tin HỌC LỚP 11 CÓ ĐÁP ÁN
- Đáp án đề kiểm tra 15 phút môn tin học lớp 11 mã đề 134
Có thể bạn quan tâm
Thông tin tài liệu
Tóm tắt lý thuyếtMột số khái niệm:
Xâu là dãy các kí tự trong bộ mã ASCII, mỗi kí tự là một phần tử trong xâu.
Số lượng kí tự trong xâu được gọi là độ dài của xâu.
Xâu có độ dài bằng 0 gọi là xâu rỗng.
ta cần xác định:
Tên kiểu xâu.
Cách khai báo biến kiểu xâu.
Số lượng kí tự kiểu xâu.
Các phép toán thao tác với xâu.
Cách tham chiếu tới phần tử của xâu.
Tham chiếu đến phần tử của xâu:
Tên biến xâu[chỉ số]
Ví dụ 1:
Giả sử biến Hoten lưu trữ hằng xâu 'Nguyen Le Huyen' thì Hoten[6]
cho ta kí tự thứ 6 của Hoten
Dưới đây trình bày cách khai báo kiểu dữ liệu xâu, các thao tác xử lí xâu và một sốví dụ sử dụng kiểu xâu trong Pascal.
1. Khai báovar < tên biến xâu >: string[độ dài tối đa của xâu];
Trong đó:
Tên biến xâu: do người lập trình tự đặt.
var, string: từ khóa.
độ dài tối đa qui định số kí tự tối đa xâu có, nêu không ghi thì ngầm định là255 kí tự.
Ví dụ 2:
var Hoten: string[26];
Trong mô tả xâu có thể bỏ qua phần khai báo độ dài, chẳng hạn: varChugiai: string;
Khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.
2. Các thao tác trên xâua. Phép ghép xâu
Phép ghép xâu (kí hiệu là cộng).
Được sử dụng để ghép nhiều xâu thành một.
Có thể thực hiện phép ghép xâu đối với các hằng và biến xâu.
Ví dụ 3:
'Ha'+ ' Noi' +' - '+'Viet Nam' →→ Cho xâu kết quả là 'Ha Noi - Viet
Nam'.
b. Phép so sánh xâu
Các phép so sánh bằng (=), khác (<>), nhỏ hơn (<), lớn hơn (>), nhỏ hơnhoặc bằng (<=), lớn hơn hoặc bằng (>=) có thứ tự ưu tiên thực hiện thấp hơnphép ghép xâu và thực hiện việc so sánh hai xâu theo các quy tắc sau:
o
Xâu A là lớn hơn xâu B nếu như kí tự đầu tiên khác nhau giữa chúngkể từ trái sang trong xâu A có mã ASCII lớn hơn.
o
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 là nhỏ hơn B.
Ví dụ 4:
'May tinh' < 'May tinh cua toi'.
Hai xâu được coi là bằng nhau nếu như chúng giống nhau hoàn toàn. Ví dụ5: 'TIN HOC' = 'TIN HOC'.
c. Thủ tục xóa n kí tự
Thực hiện việc xoá n kí tự của xâu st bắt đầu từ vị trí vt.
Cú pháp:
delete(st,vt,n)
Trong đó:
st: xâu.vt: vị trí bắt đầu xóa.n: số kí tự xóa.
Ví dụ 6:
Bảng 1. Ví dụ về thủ tục xóa n kí tự
d. Thủ tục chèn xâu S1 vào xâu S2
Thực hiện chèn xâu s1 vào xâu s2, bắt đầu ở vị trí vt.
Cú pháp:
Insert(s1,s2,vt)
Trong đó:
s1,
s2:
xâu.
vt: vị trí bắt đầu chèn xâu s1.
Ví dụ 7:
Bảng 2. Ví dụ thủ tục chèn xâu S1 vào xâu S2
e. Hàm tạo xâu
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.
Cú pháp:
copy(s,vt,n)
Trong đó:
s: xâu.vt: vị trí bắt đầu lấy trong xâu s.n: số kí từ sé lấy.
Ví dụ 8:
Bảng 3. Ví dụ hàm tạo xâu
f. Hàm tính độ dài xâu
Cho giá trị là độ dài xâu s.
Cú pháp: length(s)
Ví dụ 9:
Bảng 4. Ví dụ hàm tính độ dài xâu
g. Hàm cho biết vị trí xuất hiện đầu tiên của xâu s1 trong s2
Cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2.
Cú pháp: pos(s1,s2)
Ví dụ 10:
Bảng 5. Ví dụ hàm cho biết vị trí xuất hiện đầu tiền của xâu s1 trong xâu s2
h. Hàm cho chữ cái in hoa
Cho chữ cái viết hoa ứng với chữ cái trong ch.
Cú pháp: upcase(ch)
Ví dụ 11:
upcase(a) ---> 'A', upcase(B) ---> 'B'
II. MỘT SỐ CÂU HỎI TRẮC NGHIỆM
Bài tập minh họaVí dụ 1Chương trình dưới đây 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.
Gợi ý làm bài:
Đoạn chương trình cài đặt:
PHP:
1. var a,b:string;2. begin3. write('Nhap ho ten thu nhat: '); readln(a);4. write('Nhap ho ten thu hai: '); readln(b);5. if length(a)>length(b) then write(a) else write(b);6. readln7.
Ví dụ 2Chương trình dưới đây nhập hai xâu từ bàn phím và kiểm tra kí tự đầu tiên của xâuthứ nhất có trùng với kí tự cuối cùng của xâu thứ hai không.
Gợi ý làm bài:
Đoạn chương trình cài đặt:
Mã (Text):
1. var x: byte;2. a,b: string;3. begin4. write('Nhap xau thu nhat: '); readln(a);5. write('Nhap xau thu hai: '); readln(b);6. x:=length(b);7. {xac dinh do dai xau b de biet vi tri cua ki tu cuoi cung}8. if a[1]=b[x] then write('Trung nhau')9. else write('Khac nhau');10.readln11.end.
Ví dụ 3Chương trình sau nhập một xâu vào từ bàn phím và đưa ra màn hình xâu đó nhưng được viết theo thứ tự ngược lại.
Gợi ý làm bài:
Đoạn chương trình cài đặt:
PHP:
1. var i,k: byte;2. a: string;3. begin4. write('Nhap xau:');5. readln(a);6. k:= length(a); {xac dinh do dai xau}7. for i:= k downto 1 do write(a[i]);8. readln9.
Ví dụ 4Chương trình sau nhập một xâu vào từ bàn phím và đư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.
Gợi ý làm bài:
Đoạn chương trình cài đặt:PHP:
1. var i,k: byte;2. a, b: string;3. begin4. write('Nhap xau:');5. readln(a);6. k:= length(a);7. b:= ' '; (* Khoi tao xau rong *)8. for i:= 1 to k do9. if a[i]<> ' ' then b:=b+a[i];10. writeln('Ket qua: ',b);11. readln12.
.
Ví dụ 5Chương trình sau nhập vào từ bàn phím xâu kí tự s1, tạo xâu s2 gồm tất cả các chữ số có trong s1 (giữ nguyên thứ tự xuất hiện của chúng) và đưa kết quả ra màn hình.
Gợi ý làm bài:
Chương trình cài đặt:
PHP:
1. program XuLiXau;2. var s1, s2: string;3. i: byte;4. begin5. write('Nhap vao xau s1: ');6. readln(s1);7. S2:= ' '; {Khoi tao xau s2 rong}8. for i:= 1 to length(s1) do9. if ('0' = < s1[i]) and (s1[i] <= '9') then s2:= s2+s1[i];10. writeln('Ket qua: ', s2);11. readln12.
.
III. BÀI TẬP
Bài 1:
Viết chương trình nhập một xâu kí tự , sau đó chỉ ra xem xâu đó có phải là
xâu đối xứng không ( xâu đối xứng là xâu có các kí tự giống nhau và đối xứng nhau qua điểm giữa xâu , ví dụ ‘ABBA’ hoặc ‘ABCBA’ ) .
Bài 2:
Cho một xâu kí tự S. Hãy viết chương trình tính xem trong S có bao nhiêu
loại kí tự khác nhau (phân biệt chữ in hoa với chữ in thường ) . Ví dụ với S là “Pascal” ta có đáp số là 5 .
Bài 3:
Viết chương trình nhập một xâu kí tự và biến đổi chúng thành toàn chữ in
hoa.
Bài 4:
Họ tên một học sinh được nhập từ bàn phím . Bạn hãy viết chương trình
điều chỉnh lại các kí tự đầu của các từ đơn trong tên của học sinh ấy trở thành chữ in hoa .
Bài 5:
Lập trình đếm số lần xuất hiện ở mỗi loại kí tự thuộc bảng chữ cái tiếng Anh
trong một xâu kí tự Str .