Nội dung của bài thực hành số 5 nhằm giúp các em biết khai báo xâu, nhập dữ liệu cho xâu, đưa ra màn hình giá trị của xâu; biết cách duyệt qua tất cả các kí tự của xâu và sử dụng hàm và thủ tục chuẩn đã học. Mời các em cùng theo dõi nội dung chi tiết của bài thực hành.
Tóm tắt lý thuyết
1.1. Mục đích, yêu cầu
Làm quen với việc tìm kiếm, thay thế và biến đổi xâu.
1.2. Nội dung
Bài 1: Nhập từ bàn phím một xâu. Kiểm tra xâu đó có phải là xâu đối xứng hay không?
Gợi ý làm bài:
Xâu đối xứng có tính chất: Đọc nó từ trái sang phải cũng thu được kết quả giống như đọc từ phải sang trái (còn được gọi là xâu Palindrome).
- Xác định bài toán:
- Input: Nhập vào xâu.
- Output: Xuất ra kết quả có phải là xâu đối xứng?
- Mô tả thuật toán:
- Bước 1: Nhập Xâu S;
- Bước 2: Tính chiều dài xâu S;
- Bước 3: Tạo xâu P (xâu rỗng);
- Bước 4: Với I = length(S) à 1 thì P:=P+S[i];
- Bước 5: Nếu S=P thì S là xâu đối xứng, ngược lại thì không phải là xâu đối xứng.
- Cài đặt chương trình:
var i, x: byte;
a, p: string;
BEGIN
write(‘Nhap vao xau:’);
readln(a);
x:= length(a);
p:= ' ';
for i:=x downto 1 do
p:= p+a[i];
if a=p then
write(‘Xau la Palindrome’)
else
write(‘Xau khong la Palindrome’);
readln;
END.
- Viết lại chương trình trên trong đó không dùng biến xâu p:
Uses crt;
Var s: string;
x,i: byte;
palin: Boolean;
Begin
Clrscr;
Write(' Nhap xau s=');
readln(s);
x:=length(s);
palin:=true;
For i:=1 to (x div 2) do
begin
If s[i]<> s[x-i+1] then palin:=false;
break;
end;
If palin then write('doi xung')
else write('khong doi xung');
readln;
End.
Bài 2: Viết chương trình nhập từ bàn phím một xâu kí tự S và thông báo ra màn hình số lần xuất hiện của mỗi chữ cái tiếng Anh trong S (không phân biệt chữ hoa hay chữ thường ).
Gợi ý làm bài:
- Xác định bài toán:
- Input: Nhập vào xâu
- Output: Xuất ra số lần xuất hiện của các chữ cái tiếng Anh trong xâu vừa nhập.
- Mô tả thuật toán:
- Bước 1: Nhập vào xâu S.
- Bước 2: Tạo mảng A lưu trữ số lần xuất hiện của chữ cái tiếng Anh.
- Bước 3: Khởi tạo cho từng phần tử mảng.
- Bước 4: Nếu trong xâu S chữ cái A \(\rightarrow\) Z thì tăng giá trị của phần tử trong mảng.
- Bước 5: Xuất ra mảng vừa tạo.
- Cài đặt chương trình:
Program bai02;
Uses crt;
Var a: array['A'.. 'Z'] of byte;
s: string;
i: byte;
c: char;
Begin
clrscr;
write('nhap xau :');
readln(s);
for c:='A' to 'Z' do a[c]:=0;
for i:=1 to length(s) do
begin
s[i]:=upcase(s[i]);
if (s[i]>='A') and (s[i]<='Z') then
a[s[i]]:=a[s[i]]+1;
end;
for c:='A' to 'Z' do
if a[c]<>0 then
writeln( 'So lan xuat hien', c,': ',a[c]);
readln;
End.
Bài 3: Nhập vào từ bàn phím một xâu. Thay thế tất cả các cụm kí tự 'anh' bằng cụm kí tự 'em'.
Gợi ý làm bài:
- Xác định bài toán:
- Input: Nhập vào một xâu.
- Output: Xuất ra xâu kết quả đã thay thế cụm từ ‘anh’ bằng cụm từ 'em'.
- Mô tả thuật toán:
- Bước 1: Tìm vị trí bắt đầu của xâu 'anh';
- Bước 2: Xóa xâu 'anh' vừa tìm thấy;
- Bước 3: Chèn xâu 'em' vào xâu S tại vị trí trước đây xuất hiện xâu 'anh' (lặp lại các bước trên cho đến khi không còn xâu 'anh');
- Bước 4: In ra xâu S.
- Cài đặt chương trình:
Uses crt;
Var s: string;
i: byte;
Begin
Clrscr;
Write('Nhap xau S:'); Readln(s);
i:=Pos('anh',s);
While i<> 0 do
Begin
Delete(s,i,3);
Insert('em',s,i);
I:=Pos('anh',s);
End;
writeln(S);
readln;
End.
2. Luyện tập Bài tập và thực hành 5 Tin học 11
Sau khi học xong Bài tập và thực hành 5, các em cần nắm các kiến thức:
- Cách tạo một xâu mới từ xâu ban đầu.
- Đếm số lần xuất hiện của một chữ cái trong toàn bộ văn bản.
- Tìm kiếm và thay thế một từ bằng một từ khác trong toàn bộ văn bản.
2.1. Trắc nghiệm
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 11 Bài tập và thực hành 5 cực hay có đáp án và lời giải chi tiết.
Câu 3-Câu 5: Xem thêm phần trắc nghiệm để làm thử Online
3. Hỏi đáp Bài tập và thực hành 5 Tin học 11
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học Chúng tôi sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 11 Chúng tôi