1. Trang chủ
  2. » Giáo án - Bài giảng

Bài tập Pascal 06 Biến String (Chuổi)

4 261 2

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 101,08 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài 01 – String (Chuổi ký tự) Bài 02 – Đếm số từ của Chuổi Bài 03 – Chuổi đối xứng Bài 04 – Chuổi chữ thường abc thành chuổi chữ in hoa ABC Bài 05 – Chuổi chữ in hoa ABC thành chữ thường abc Bài 06 – Chuổi chữ thường abc thành chữ in hoa đảo ngược CBA Bài 07 – Số lần xuất hiện của Ký tự trong chuổi (TD: ký tự T xuất hiện 5 lần trong chuổi Trường PTTH chuyên Lý Tự Trọng)

Trang 1

Bài 01 – String (Chuổi)

( Ch: String là mảng ngầm chứa các Ký tự, TD: Ch=’abc’ thì Ch[1]=’a’, Ch[2]=’b’, Ch[3]=’c’ )

Bạn hãy nhập một chuổi và in ra chuổi ñảo ngược của chuổi ñó TD: 'abcd' => 'dcba'

Var

Ch: String;

i: Integer;

Begin

WriteLn('Hay nhap chuoi');

ReadLn(Ch);

{In chuổi ñã nhập}

WriteLn('Chuoi da nhap la:');

For i:=1 to Length(Ch) do Write(Ch[i]); {Length('abc') = 3}

WriteLn;

{In chuổi ñảo ngược}

WriteLn('Chuoi dao nguoc la:');

For i:= Length(Ch) downto 1 do Write(Ch[i]);

WriteLn;

ReadLn;

End

Bài 02 – Đếm số từ của Chuổi

(Chuổi Nguyen Van An 3 từ )

Bạn hãy nhập một Chuổi và ñếm số từ trong chuổi ñó

Var

Ch: String;

i: Integer;

Begin

WriteLn('Hay nhap chuoi');

ReadLn(Ch);

{In chuổi ñã nhập}

WriteLn('Chuoi da nhap la ', Ch);

{Đếm số từ trong chuổi = Số ký tự trống '_' + 1}

For i:= 1 to Length(Ch) do

If Ch[i] = ' ' then Inc(SoTu); {Inc: Ham tang gia tri của bien len 1}

WriteLn('So tu trong chuoi la ', SoTu + 1);

ReadLn;

End

Trang 2

Nhưng nếu nhập vào các chuổi sai như _Nguyen_Van_An, Nguyen_Van_An_ hay Nguyen_ _Van_An thì chương trình sẽ chạy sai Chương trình ñúng xử lý ñược các trường hợp nhập sai như trên là:

Var

Ch: String;

i, BD, SoTu: Integer;

Begin

WriteLn('Hay nhap chuoi');

ReadLn(Ch);

{In chuổi ñã nhập}

WriteLn('Chuoi da nhap la ', Ch);

{Tìm vị trí ký tự hợp lệ ñầu tiên ở ñầu chuổi, TD: '_ _abc' => BD = 3}

BD := 1;

While Ch[BD] = ' ' do Inc(BD);

{Đếm số từ trống trong chuổi từ vị trí bắt ñầu BD}

For i:= BD to Length(Ch) do begin

If (Ch[i]= ' ') and (Ch[i+1]= ' ') then Continue;

If (Ch[i] = ' ') and (i < Length(Ch)) then Inc(SoTu);

End;

WriteLn('So tu trong chuoi la ', SoTu + 1);

ReadLn;

End

Bài 03 – Chuổi ñối xứng

(Các chuổi abccba hay abcba ñều là chuổi ñố i xứng )

Bạn hãy nhập một chuổi và kiềm tra xem chuổi ñó có ñối xứng hay không

TD: abcba => Chuoi doi xung , abcbd => Chuoi khong doi xung

Var

Ch: String;

i: Integer;

DoiXung: Boolean;

Begin

WriteLn('Hay nhap chuoi');

ReadLn(Ch);

{Xác ñịnh chuổi ñối xứng hay không}

DoiXung := True;

For i:=1 to Length(Ch) div 2 do {Số lần so sánh=ñộ dài chuổi/2 bỏ số lẻ}

If Ch[i] <> Ch[n+1-i] then begin DoiXung := False; Break; End;

If DoiXung = True then

WriteLn('Chuoi ', Ch, ' doi xung') Else WriteLn('Chuoi ', Ch, ' khong doi xung');

ReadLn;

End

Trang 3

Bài 04 – Chuổi chữ thường abc thành chuổi chữ in hoa ABC

Víết chương trình nhập một chuổi chữ thường, in thành chuổi chữ in hoa

Chú ý:

- Dùng hàm Ord() ñể lấy thứ tự của ký tự (Ord(‘a’) = 97, Ord(‘b’) = 98, …)

- Trừ cho 32 ñể biến thành chữ in hoa (97 – 32 = 65 => A, 98 – 32 = 66 => B, …)

- Dùng hàm Chr() ñể trả về ký tự (Chr(65)= ‘A’, Chr(66) = ‘B’, …)

Var

Ch: String;

i: Integer;

Begin

WriteLn('Hay nhap chuoi');

ReadLn(Ch);

{In ra chuổi chữ in hoa}

For i:=1 to Length(Ch) do

Ch[i] = Chr(Ord(Ch[i]) – 32);

WriteLn('Chuoi doi thanh chu in hoa la ', Ch);

ReadLn;

End

Bài 05 – Chuổi chữ in hoa ABC thành chữ thường abc

Víết chương trình nhập một chuổi chữ in hoa, in thành chuổi chữ thường

Chú ý:

- Dùng hàm Ord() ñể lấy thứ tự của ký tự (Ord(‘A’) = 65, Ord(‘B’) = 66, …)

- Cộng với 32 ñể biến thành chữ thường (65 + 32 = 97 => a, 66 + 32 = 98 => b, …)

- Dùng hàm Chr() ñể trả về ký tự (Chr(97)= ‘a’, Chr(98) = ‘b’, …)

Bài 06 – Chuổi chữ thường abc thành chữ in hoa ñảo ngược CBA

Víết chương trình nhập một chuổi chữ thường, TD : Nhập chuổi 'abcd', in thành chuổi chữ hoa ñảo ngược 'DCBA'

Bài 07 – Số lần xuất hiện của Ký tự trong chuổi (ký tự T xuất hiện 5 lần trong chuổi T rường

P TT H chuyên Lý T ự T rọng )

Viết chương trình ñếm số lần xuất hiện của một ký tự trong chuổi, TD : Nhập ký tự 'T' và chuổi 'Truong PTTH chuyen Ly Tu Trong' sẽ in ra 'Ky tu T xuat hien trong chuoi Truong PTTH chuyen Ly

Tu Trong 5 lan'

Var

Ch: String; KT: Char;

I, Dem: Integer;

Begin

WriteLn('Hay nhap chuoi');

ReadLn(Ch);

Trang 4

WriteLn('Nhap Ky tu can tim');

ReadLn(KT);

{Đếm số lần xuất hiện}

For i:=1 to Length(Ch) do

If Ch[i] = KT then Inc(Dem);;

WriteLn('Ky tu ', KT, ' xuat hien trong chuoi ', Ch, ' ', Dem, ' lan'); ReadLn;

End

Ngày đăng: 11/09/2017, 22:03

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w