Giao diện mới của VnDoc Pro: Dễ sử dụng hơn - chỉ tập trung vào lớp bạn quan tâm. Vui lòng chọn lớp mà bạn quan tâm: Lưu và trải nghiệm

Giải bài tập Tin học 11 bài 12

Tin học 11 - Kiểu xâu

Giải bài tập Tin học 11 bài 12 Kiểu xâu vừa được VnDoc.com sưu tập và xin gửi tới bạn đọc cùng tham khảo.

Giải bài tập Tin học 11 kiểu xâu

Xâu: Là một dãy kí tự trong bảng mã ASCII. Mỗi kí tự được gọi là một phần tử của 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.

- Tham chiếu tới phần tử trong xâu được xác định thông qua chỉ số của phần tử trong xâu.

1. Khai báo

Để khai báo dữ liệu kiểu xâu ta sử dụng tên dành riêng string, tiếp theo là độ dài lớn nhất của xâu (không vượt quá 255 kí tự đặt trong dấu ngoặc [và ])

Cú pháp:

Var<tên biến>:string[độ dài lớn nhất của xâu];
Hoặc
Var <tên biến>:string;

Ví dụ:

Var ten:string[26];
Var chuthich:string;

2. Các thao tác xử lí xâu:

a) Phép ghép xâu, kí hiệu là dấu (+), được sử dụng để ghép nhiều xâu thành một. Có thể thực hiện ghép xâu đối với hằng và biến xâu.

Ví dụ:

'Tin hoc'+ '11' sẽ cho xâu có kết quả là 'Tin hoc 11'.

b) Các phép so sánh như bằng (=), khác (<>), nhỏ hơn (<), … có độ ưu tiên thực hiện thấp hơn ghép xâu.Việc so sánh 2 xâu sẽ thực hiện theo nguyên tắc sau.

Xâu A lớn hơn xâu B nếu như kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong xâu A có mã ASCII lớn hơn. Nếu độ dài hai xâu khác nhau thì coi như thêm các kí tự đặc biệt (nhỏ hơn tất cả các kí tự trong bảng ASCII).

Giải bài tập Tin học 11 bài 12

Ví dụ:

'Ab' sẽ nhỏ hơn 'a'. Vì A có mã ASCII là 65 nhỏ hơn a là 97.

'a' sẽ nhỏ hơn 'aB'. Khi 2 xâu độ dài không bằng nhau ta thêm kí tự đặc biệt nhỏ hơn mọi kí tự trong bảng ASCII (dĩ nhiên sẽ nhỏ hơn B ).

c) Các thủ tục khác.

+ delete(st, vt, n) xóa n kí tự của xâu st từ vị trí vt.

+ insert(st, s2, vt) chèn xâu s1 vào s2 bắt đầu ở vị trí vt.

+ copy(S, vt, N); 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.

+ length(s) cho giá trị là độ dài xâu s.

+ pos(s1, s2) cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2.

+ upcase(ch) cho chữ cái in hoa ứng với chữ cái trong ch.

3. Một số ví dụ

Ví dụ 1: Chươ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 vào sau.

program vd1;
uses crt;
var
                 a,b:string;
begin
                 clrscr;
                 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);
                readkey;
end.

Kết quả:

Giải bài tập Tin học 11 bài 12

Ví dụ 2: Viết chương trình nhập hai xâu từ bàn phím và kiểm tra 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 không.

program vd2;
uses crt;
var
	a,b:string;
begin
	clrscr;
	write('nhap xau thu nhat:');
	readln(a);
	write('nhap xau thu hai :');
	readln(b);
	if a[1]=b[length(b)]
	then writeln('Trung nhau')
	else
	writeln('Khac nhau');
	readkey;
end.

Kết quả:

Giải bài tập Tin học 11 bài 12

Ví dụ 3: Viết chương trình nhập xâu từ bàn phím rồi in nó theo thứ tự ngược lại.

program vd2;
uses crt;
var
	a:string;
	i:integer;
begin
	clrscr;
	write('nhap xau:');
	readln(a);
	write('xau dao nguoc la:');
	for i:=length(a) downto 1 do
	write(a[i]);
	readkey;
end.

Kết quả:

Giải bài tập Tin học 11 bài 12

Ví dụ 4: Viết chương trình nhập vào từ bàn phím và đưa ra màn hình xâu thu được từ nó sau khi loại bỏ hết các dấu cách.

program vd2;
uses crt;
var
	a,b:string;
	i:integer;
begin
	clrscr;
	write('nhap xau:');
	readln(a);
	b:='';
	for i:=1 to length(a) do
	if a[i]<>' '
	then
	b:=b+a[i];
	write('xau sau khi bo dau cach la',b);
	readkey;
end.

Kết quả

Giải bài tập Tin học 11 bài 12

Ví dụ 5: Viết chương trình 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 xâu s1 (giữ nguyên thứ tự xuất hiện của chúng) và đưa kết quả ra màn hình.

program vd2;
uses crt;
var
	a,b:string;
	i:integer;
begin
	clrscr;
	write('nhap xau:');
	readln(a);
	b:='';
	for i:=1 to length(a) do
	if ('0'<=a[i]) and ('9'>=a[i])
	then
	b:=b+a[i];
	write(b);
	readkey;
end.

Kết quả:

Giải bài tập Tin học 11 bài 12

----------------------------

Trên đây VnDoc.com vừa giới thiệu tới các bạn bài viết Giải bài tập Tin học 11 bài 12 Kiểu xâu. Chắc hẳn qua bài viết bạn đọc đã nắm được những ý chính cũng như trau dồi được nội dung kiến thức của bài học rồi đúng không ạ? Bài viết cho chúng ta thấy được nội dung lời giải các câu hỏi trong sách môn Tin học lớp 11 bài 12. Mong rằng qua bài viết này các bạn có thể học tập tốt hơn môn Tin học lớp 11. Để giúp bạn đọc có thêm nhiều tài liệu học tập hơn nữa, VnDoc.com mời các bạn cùng tham khảo thêm kiến thức tài liệu học tập các môn được chúng tôi biên soạn và tổng hợp tại các mục sau Toán 11, Ngữ văn 11, Tiếng Anh 11, đề thi học kì 1 lớp 11, đề thi học kì 2 lớp 11...

Để có kết quả cao hơn trong học tập, VnDoc xin giới thiệu tới các bạn học sinh tài liệu Sinh học lớp 11, Vật lý lớp 11, Hóa học lớp 11, Giải bài tập Toán 11 mà VnDoc tổng hợp và đăng tải.

Chia sẻ, đánh giá bài viết
3
Sắp xếp theo
    🖼️

    Gợi ý cho bạn

    Xem thêm
    🖼️

    Giải bài tập Tin học 11

    Xem thêm