Tin học 11 Bài tập và thực hành 5
Mời các em học sinh cùng tham khảo nội dung bài thực hành 5 được eLib biên soạn và tổng hợp dưới đây gồm phần nội dung tóm tắt lý thuyết và bài tập luyện tập đi kèm. Hy vọng đây sẽ là tài liệu tham khảo hữu ích cho các em học sinh. Chúc các em học tốt!
Mục lục nội dung
1. Tóm tắt lý thuyết
1.1. Mục đích, yêu cầu
- Củng cố những kiến thức về kiểu xâu.
- Rèn luyện kĩ năng sử dụng kiểu xâu:
- Khai báo kiểu xâu
- Nhập dữ liệu cho xâu, đưa ra màn hình giá trị của xâu;
- Duyệt qua tất cả các kí tự của xâu để thực hiện xử lí tương ứng với từng kí tự đó.
- Sử dụng được các hàm và thủ tục chuẩn liên quan đến xâu.
1.2. Nội dung
Hoạt động 1:
Nhập vào 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. Xâu đối xứng có tính chất: đọc nó từ phải sang trái cũng thu được kết quả giống như đọc từ trái sang phải (còn được gọi là xâu palindrome).
Hướng dẫn giải
a) Hãy chạy thử chương trình sau:
program vd2;
uses crt;
var
i,x:byte;
a,p:string;
begin
clrscr;
write('nhap 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 phai la palindrome');
readkey;
end.
b) Hãy viết lại chương trình tên, trong đó không dùng biến xâu p.
Do xâu đảo ngược cũng chính là xâu viết xuôi nên
Xau[1]=Xau[length(xau)]
Xau[2]=Xau[length(xau-1)]
…..
Vậy ta có thể làm theo cách sau:
Sử dụng biến I để đếm xuôi rồi so sánh với xau[length(xau)-i] nếu khác nhau thì kết luận luôn không phải là palindrome. Lặp đến khi nào i> length(xau)-I +1(Vì duyệt tiếp chỉ là sự lặp lại)
program vd2;
uses crt;
var
a:string;
i:integer;
p:boolean;
begin
clrscr;
write('nhap xau:');
readln(a);
i:=1;
p:=true;
while (i
begin
if a[i]<>a[length(a)-i+1] then
begin
break;
end;
i:=i+1;
end;
if p
then
writeln('xau la palindrome')
else
writeln('xau khong phai la palindrome');
readkey;
end.
Cách này sẽ tiết kiệm được chi phí hơn cách trước do chỉ cần duyệt khoảng 1/2 xâu.
Hoạt động 2:
Viết chương tì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).
Hướng dẫn giải
Phân tích:
Ta sẽ tạo một mảng gồm 26 kí tự để lưu trữ số lần xuất hiện của các chữ cái trong bảng chữ cái tiếng Anh. Phần từ đầu tiên sẽ lưu số lần xuất hiện của kí tự 'A' (do đề bài yêu cầu không phân biệt chữ thường với chữ hoa). Để lấy vị trí mảng của một kí tự nào đó ta dùng câu lệnh:
ord(upcase(a[i]))-ord('A')
ord sẽ lấy giá trị tương ứng của kí tự trong bảng mã ASCII sau đó trừ đi giá trị của 'A' trong bảng ASCII .
Ví dụ :
Mã ASCII của 'A' là 65 thì vị trí trong mảng của nó là 65-65 =0
Mã ASCII của 'A' là 66 thì vị trí trong mảng của nó là 66-65 =1
program vd2;
uses crt;
var
a:string;
gt:array[0..26] of integer;
i:integer;
begin
clrscr;
write('nhap xau:');
readln(a);
for i:=0 to 25 do
gt[i]:=0;
for i:=1 to length(a) do
begin
gt[ord(upcase(a[i]))-ord('A')]:=gt[ord(upcase(a[i]))-ord('A')]+1;
end;
for i:=0 to 25 do
if gt[i]>0 then
writeln(chr(ord('A')+i),':',gt[i]);
readkey;
end.
2. Luyện tập
Câu 1: Để tạo liên kết giữa các bảng, ta thực hiện chọn:
A. Edit/ Insert/ Relationships
B. Tool/ Relationships
C. Tool/ Relationships hoặc nháy nút
D. Tất cả đều đúng
Câu 2: Để xóa liên kết, trước tiên ta chọn liên kết cần xóa. Thao tác tiếp theo nào sau đây là sai?
A. Click phải chuột, chọn Delete → Yes
B. Tools → RelationShip → Delete → Yes
C. Edit → Delele → Yes
D. Bấm Phím Delete → Yes
Câu 3: Các bước để tạo liên kết giữa các bảng là:
1. Chọn Tool/ Relationships…
2. Tạo liên kết đôi một giữa các bảng
3. Đóng hộp thoại Realationships/ Yes để lưu lại
4. Chọn các bảng sẽ liên kết
A. 1, 4, 2, 3
B. 1, 2, 3, 4
C. 4, 2, 3, 1
D. 2, 3, 4, 1
Câu 4: Khi liên kết bị sai, ta có thể sửa lại bằng cách chọn đường liên kết cần sửa, sau đó ta thực hiện:
A. Nháy đúp vào đường liên kết, sau đó chọn lại trường cần liên kết
B. Chọn đường liên kết giữa hai bảng đó và nhấn phím Delete
C. Tools → RelationShip → Change Field
D. Edit → RelationShip
Câu 5: Điều kiện để tạo mối liên kết giữa hai bảng:
A. Trường liên kết của hai bảng phải là kiểu dữ liệu số
B. Trường liên kết của hai bảng phải cùng kiểu dữ liệu
C. Trường liên kết của hai bảng phải khác nhau về kiểu dữ liệu
D. Trường liên kết của hai bảng phải là chữ hoa
3. Kết luận
Sau khi học xong bài này, các em cần nắm các kiến thức trọng tam sau đây:
- Thành thạo cách tạo một xâu mới từ xâu ban đầu.
- Thao tác đế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.
Tham khảo thêm
- doc Tin học 11 bài 11: Kiểu mảng
- doc Tin học 11 Bài tập và thực hành 3
- doc Tin học 11 Bài tập và thực hành 4
- doc Tin học 11 Bài 12: Kiểu xâu
- doc Tin học 11 Bài 13: Kiểu bản ghi