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

Bài tập kiểu xâu

3 1K 6

Đ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 3
Dung lượng 32,5 KB

Nội dung

B3: Tìm ký tự trắng gần tên nhất B3.1: Duyệt các phần tử từ cuối đến đầu dãy, kiểm tra ký tự đang xét có phải là ký tự trắng không.. Ký tự trắng dư thừa hay còn gọi là dấu cách, ký tự tr

Trang 1

Bài 1.Viết chương trình nhập vào họ tên In ra màn hình tên của người đó.

Ví dụ: ’Nguyễn Huệ’ => Kết quả: ’Huệ ’; ’Phạm Quang Hoàng Hữu’ => ’Hữu ’

Gợi ý:

B1: Khai báo biến

B2: Nhập xâu họ tên

B3: Tìm ký tự trắng gần tên nhất

B3.1: Duyệt các phần tử từ cuối đến đầu dãy, kiểm tra ký tự đang xét có phải là ký tự trắng không

B3.2:

Cách 1: Xoá trong xâu họ tên từ vị trí đầu tiên đến vị trí thứ i

Cách 2: Copy từ vị trí thứ I đến cuối xâu => Được xâu tên

B4: In ra kết quả

Chương trình minh họa

program inten;

var ht:string; i,n:byte;

begin

write('Nhap ho ten: ');

readln(ht);

n:=length(ht);

for i:=n downto 1 do

if ht[i]=' ' then

begin

delete(ht,1,i);

break;{dung de thoat khoi vong lap}

end;

write('Ten: ',ht);

readln;

end

Bài 2.Viết chương trình nhập vào một xâu bất kỳ In ra màn hình xâu đó sau khi đã xóa

hết ký tự trắng dư thừa Ký tự trắng dư thừa (hay còn gọi là dấu cách, ký tự trống) là

ký tự trắng xuất hiện ở trước từ đầu tiên của xâu, sau từ cuối cùng của xâu và giữa các từ cách nhau nhiều hơn 1 ký tự trắng.

Ví dụ: Giả sử * là ký tự trắng

Cho xâu: ’**xin***chao**’ => Xâu sau khi được xử lý ’xin*chao’

Gợi ý:

Kiểm tra phần tử trong xâu có phải là ký tự trắng hay không? Nếu đúng thì xóa ký tự trắng đó cho đến khi không còn ký tự trắng ở đầu xâu

Kiểm tra từ đầu đến cuối xâu, nếu có 2 ký tự trắng liên tiếp => Xóa đi 1 ký tự trắng, thự hiện công việc xóa cho đến khi giữa các từ trong xâu chỉ cách nhau 1 ký tự trắng

Sau khi xử lý các ký tự trắng dư thừa ở đầu xâu, giữa xâu Ta xử lý tiếp ký tự trắng dư thừa ở cuối xâu bằng cách kiểm tra ký tự cuối cùng có phải là ký tự trắng hay không Nếu đúng thì xóa cho đến khi ký tự cuối cùng của xâu không phải là ký tự trắng

B1: Khai báo

B2: Nhập xâu bất kỳ

B3: Xoá ký tự trắng dư thừa

B3.1: Xoá ký tự trắng dư thừa xuất hiện ở đầu tiên của xâu (nếu có)

Trang 2

Chừng nào ký tự đầu tiên trong xâu là ký tự trắng => xoá ký tự trắng đó cho đến khi đầu xâu không phải là ký tự trắng

B3.2: Xoá ký tự trắng dư thừa cuối cùng của xâu (nếu có)

Chừng nào trong xâu xuất hiện 2 ký tự trắng trong xâu => xoá đi 1 ký tự trắng dư thừa

B3.3: Xoá ký tự trắng dư thừa giữa các từ (nếu có)

Chừng nào ký tự cuối cùng là ký tự trắng => Xoá đi ký tự đó

B4: In ra kết quả

program xoakytutrang;

var st:string;

i,n,k:byte;

begin

write('Nhap xau: ');

readln(st);

{xoa ky tu trang du thua xuat hien dau xau}

while st[1]=' ' do

delete(st,1,1);

{xoa ky trang du thua giua cac tu}

k:=pos(' ',st);

while k<>0 do

begin

delete(st,k,1);

k:=pos(' ',st);

end;

{xoa ky tu trang du thua xuat hien cuoi xau}

n:=length(st);

while st[n]=' ' do

begin

delete(st,n,1);

n:=length(st);

end;

write('Xau sau khi xu ly: ',st);

readln;

end

Bài 3.Hãy viết chương trình nhập vào xâu bất kỳ Hãy in ra tất cả các chữ số trong xâu đó

(nếu có).

Gợi ý:

Duyệt tất cả các phần tử có trong xâu st, nếu phần tử đó là ký tự số => lưu phần tử đó sang xâu a Kết quả ta được xâu a chỉ chứa các ký tự là số

B1: Khai báo

B2: Nhập xâu, khởi tạo xâu a (xâu a dùng để chứa các ký tự số)

B3: Duyệt tất cả các phần tử có trong xâu, bắt đầu từ vị trí đầu tiên Nếu ký tự đang xét là ký tự

số => Lưu ký tự đó vào xâu a Công việc lặp lại cho đến khi xét hết vị trí cuối cùng của xâu B4: In kết quả trong xâu a Nếu xâu a không có phần từ nào thì thông báo xâu vừa nhập không

có ký tự số

Trang 3

Chương trình minh họa

program inso;

var a,st:string;

i,n:byte;

begin

write('Nhap xau: ');

readln(st);

a:='';

n:=length(st);

for i:=1 to n do

if (st[i] >='0') and (st[i]<='9') then

a:=a+st[i];

if a='' then write('Xau vua nhap khong co so')

else

write('Xau ket qua: ',a);

readln;

end

Ngày đăng: 21/01/2015, 12:00

TỪ KHÓA LIÊN QUAN

w