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!

Tin học 11 Bài tập và thực hành 5

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.
Ngày:11/09/2020 Chia sẻ bởi:Minh Ngoan

CÓ THỂ BẠN QUAN TÂM