Viết Chương Trình đếm Các Loại Ký Tự Từ Xâu Nhập Từ Bàn Phím In Kết ...

Nút lệnh bên thực hiện thao tác nào? (Tin học - Lớp 6)

2 trả lời

Câu lệnh pascal nào sau đây là hợp lệ? (Tin học - Lớp 8)

1 trả lời

Nút lệnh bên thực hiện thao tác nào (Tin học - Lớp 6)

2 trả lời

Biến a được nhận các giá trị là: (Tin học - Lớp 8)

1 trả lời

Nút lệnh bên thực hiện thao tác nào? (Tin học - Lớp 6)

2 trả lời

Nút lệnh bên dùng để làm gì? (Tin học - Lớp 6)

3 trả lời

Những nội dung trên được căn lề gì? (Tin học - Lớp 6)

1 trả lời

Để chọn thay đổi bố cục em nháy nút lệnh nào? (Tin học - Lớp 4)

2 trả lời

Giải Bài Tập Tin Học 11 – Bài 12: Kiểu xâu giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

Xem thêm các sách tham khảo liên quan:

  • Sách Giáo Viên Tin Học Lớp 11

Xâu: Là một dãy kí tự trong bảng mã ASCII. Mỗi kí tự được gọi là một phần tử của xâu.

   – Số lượng kí tự trong xâu được gọi là độ dài của xâu .

   – Xâu có độ dài bằng 0 gọi là xâu rỗng.

   – Tham chiếu tới phần tử trong xâu được xác định thông qua chỉ số của phần tử trong xâu.

1. Khai báo

Để khai báo dữ liệu kiểu xâu ta sử dụng tên dành riêng string, tiếp theo là dộ dài lớn nhất của xâu(không vượt quá 255 kí tự đặt trong dấu ngoặc [ và ] )

Cú pháp:

Var:string[độ dài lớn nhất của xâu]; Hoặc Var :string;

Ví dụ:

Var ten:string[26]; Var chuthich:string;

2. Các thao tác xử lí xâu:

a) Phép ghép xâu, kí hiệu là dấu (+), được sử dụng để ghép nhiều xâu thành một. Có thể thực hiện ghép xâu đối với hằng và biến xâu.

Ví dụ:

‘Tin hoc’+ ’11’ sẽ cho xâu có kết quả là ‘Tin hoc 11’.

b) Các phép so sánh như bằng (=), khác (), nhỏ hơn (length(b) then write(a) else write(b); readkey; end.

Kết quả:

Ví dụ 2: Viết chương trình nhập hai xâu từ bàn phím và kiểm tra kí tự đầu tiên của xâu thứ nhất có trùng

Với kí tự cuối cùng của xâu thứ hai không.

program vd2; uses crt; var a,b:string; begin clrscr; write('nhap xau thu nhat:'); readln(a); write('nhap xau thu hai :'); readln(b); if a[1]=b[length(b)] then writeln('Trung nhau') else writeln('Khac nhau'); readkey; end.

Kết quả:

Ví dụ 3:

Viết chương trình nhập xâu từ bàn phím rồi in nó theo thứ tự ngược lại.

program vd2; uses crt; var a:string; i:integer; begin clrscr; write('nhap xau:'); readln(a); write('xau dao nguoc la:'); for i:=length(a) downto 1 do write(a[i]); readkey; end.

Ví dụ 4:

Viết chương trình nhập vào từ bàn phím và đưa ra màn hình xâu thu được từ nó sau khi loại bỏ hết các dấu cách.

program vd2; uses crt; var a,b:string; i:integer; begin clrscr; write('nhap xau:'); readln(a); b:=''; for i:=1 to length(a) do if a[i]' ' then b:=b+a[i]; write('xau sau khi bo dau cach la',b); readkey; end.

Kết quả:

Ví dụ 5:

Viết chương trình nhập vào từ bàn phím xâu kí tự s1, tạo xâu s2 gồm tất cả các chữ số có trong xâu s1 (giữ nguyên thứ tự xuất hiện của chúng ) và đưa kết quả ra màn hình.

program vd2; uses crt; var a,b:string; i:integer; begin clrscr; write('nhap xau:'); readln(a); b:=''; for i:=1 to length(a) do if ('0'=a[i]) then b:=b+a[i]; write(b); readkey; end.

Bài tập xâu cơ bản trong Pascal

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (641.31 KB, 29 trang )

KIỂU DỮ LIỆU CÓ CẤU TRÚC TRONG PASCALBÀI TẬP XÂUCƠ BẢN-NÂNG CAOGV: Phạm Thị Bích TườngEmail: THÀNH PHỐ HỒ CHÍ MINH - 20181MỤC LỤC

BÀI TẬP CƠ BẢN .................................................................................................................... 3Bài tập 1: Nhập xâu kí tự bất kì ......................................................................................... 3a)Đếm số lần xuất hiện của 1 kí tự nào đó trong câu. ............................................... 3b)Liệt kê các kí tự có mặt trong xâu cùng số lần xuất hiện của các kí tự đó. ...... 3Bài 2: Nhập 1 xâu kí tự. ....................................................................................................... 3a)Xét xem trong xâu có K kí tự kề nhau mà như nhau hay không? .................... 3b)Hãy xóa đi kí tự kề nhau mà như nhau, chỉ giữ lại một. .................................... 3Bài 3: Nhập 1 xâu kí tự. Kiểm tra tính đối xứng của xâu đó. Nếu xâu không đốixứng thì đảo xâu. .............................................................................................................. 4Bài 4: Cho 1 xâu kí tự. Tính xem trong số đó có bao nhiêu loại kí tự khác nhau (không phân biệt in hoa hay in thường). ......................................................................... 5Bài 5: Cho 1 xâu kí tự bất kì, tính: Số lượng các kí tự số, Số lượng các kí tự chữ cái............................................................................................................................................. 6Bài 6: Cho 1 xâu kí tự bất kì (cả số lẫn chữ). Viết chương trình tách các phần là sốcủa xâu trên và đưa ra 1 mảng số nguyên. .................................................................... 7Bài 7: Nhập vào 1 xâu. Biến đổi thành chữ in hoa. ....................................................... 8Bài 8: Nhập vào 1 xâu. Biến đổi in thường. ................................................................... 9Bài 9: Nhập vào 1 chuỗi, in ra chuỗi ngược. .................................................................. 9Bài 10: Nhập vào danh sách HS 1 lớp. Sắp xếp lại danh sắp theo thứ tự tăng dầntheo chiều dài của tên. .................................................................................................. 10Bài 11: Nhập vào họ tên bất kì sau đó biến đổi các chữ cái đầu tiên là in hoa......... 10Bài 12: Nhập vào 1 đoạn văn. Tính số câu................................................................... 11Bài 13: Nhập vào 1 số, xóa bỏ các chữ số lẻ. Xuất kết quả dưới dạng đối xứng củaphần còn lại. Vd:1 2 4 5 6 --> 2 4 6 6 4 2 ...................................................................... 11Bài 14: Nhập vào 1 số, xóa bỏ các chữ số chẵn. Kiểm tra số còn lại có bao nhiêu chữsố. Xuất kết quả dưới dạng đối xứng của phần còn lại. ............................................. 12Bài 15: Nhập chuỗi gồm cả chữ và số. Xuất ra màn hình các số riêng và các chữriêng. Hãy đếm số lần xuất hiện của mỗi chữ, mỗi số. ................................................ 12Bài 16: Nhập 1 xâu kí tự và bỏ đi tất cả các khoảng trống bên trái của nó.............. 13Bài 17: Dùng hàm “copy”. Tách từ đầu tiên ra khỏi 1 xâu kí tự cho trước. ............ 14Bài 18: Vị Giám đốc công ty XYZ cần gửi một văn bản quan trọng tới một đối táccủa mình. Để bảo mật văn bản, ông quyết định mã hóa văn bản trước khi gửi. Vănbản là một xâu S các chữ cái la tinh in thường. Ông ta chia văn bản thành hai đoạnliên tiếp Sb và Se. Lần lượt viết hai xâu Sb và Se nhưng đều theo thứ tự ngược lạiông ta nhận được xâu mã hóa Q. Bức thư thứ nhất gửi cho đối tác có nội dung là Q.Để đối tác đọc được văn bản, ông ta gửi thêm một bức thư thứ hai trong đó chứakhóa để giải mã: độ dài k của xâu Sb. .......................................................................... 14Bài 19: Trong giờ học Lập trình về xử lý chuỗi. Thầy giáo có cho một bài tập nhưsau: Thầy sẽ đọc họ và tên của một bạn sinh viên bất kỳ trong lớp. Công việc củachúng ta là hãy viết một chương trình để tách Họ, Tên Lót (tên đệm), và Tên củabạn đó ra ......................................................................................................................... 15Bài tập 20: Viết chương trình thực hiện phép cộng 2 số tự nhiên lớn (không quá255 chữ số). ..................................................................................................................... 16BÀI TẬP NÂNG CAO ........................................................................................................... 17Đề bài số 1 ....................................................................................................................... 17Đề bài 2............................................................................................................................ 192BÀI TẬP CƠ BẢNBài tập 1: Nhập xâu kí tự bất kìa) Đếm số lần xuất hiện của 1 kí tự nào đó trong câu.b) Liệt kê các kí tự có mặt trong xâu cùng số lần xuất hiện của các kí tựđó.Bài giải:uses crt;var str:string[100];chu:array[#1..#254] of integer;i:integer;ch:char;beginclrscr;for ch:=#1 to #254 do chu[ch]:=0;write(' Nhap chuoi = ');readln(str);for i:=1 to length(str) do(chu[upcase(str[i])]):=chu[upcase(str[i])] +1;writeLn('Cac ki tu trong xau la:');for ch:=#1 to #254 doif chu[ch]>0 then writeln(ch, ': xuat hien ',chu[ch],' lan');readln;end.Bài 2: Nhập 1 xâu kí tự.a) Xét xem trong xâu có K kí tự kề nhau mà như nhau hay không?b) Hãy xóa đi kí tự kề nhau mà như nhau, chỉ giữ lại một.Bài giải:uses crt;var ch:string[100];i,k,d,d1,n:integer;(*****)function xoa:boolean;var i:integer;begin3xoa:=false;for i:=1 to length(ch)-1 doif ch[i]=ch[i+1] thenbegindelete(ch,i,1);xoa:=true;exitend;end;(*****)beginclrscr;write('Nhap chuoi :');readln(ch);write('Nhap ki tu K:');readln(k);n:=length(ch);d:=0;d1:=0;for i:=1 to n-1 dobeginif ch[i]=ch[i+1] then inc(d1)else d1:=0;if d1+1>=k then inc(d);end;if d>0 then writeln('Co ',k,' ki tu nhu nhau')else writeln('Khong co ',k,' ki tu nhu nhau');while xoa do;write('In lai xau sau khi xoa:');writeln(ch);readln;end.Bài 3: Nhập 1 xâu kí tự. Kiểm tra tính đối xứng của xâu đó. Nếu xâu khôngđối xứng thì đảo xâu.Bài giải:uses crt;var str,s:string[100];n,i:integer;(*****)procedure sx(var a,b:char);var tam:char;4begintam:=a;a:=b;b:=tam;end;procedure dao(n,i:integer);var j:integer;beginfor j:=i+1 to n doif str[i]=str[j] thenbeginsx(str[j],str[n-i+1]);exitend;end;(*****)beginclrscr;write('Nhap xau:');readln(str);n:=length(str);s:='';for i:=n downto 1 do s:=s+str[i];if str=s then writeln('Chuoi doi xung:')elsebeginwriteln('Chuoi ko doi xung, chuoi da dao doi xung:');for i:=1 to n-1 dodao(n,i);end;writeln(str);readln;end.Bài 4: Cho 1 xâu kí tự. Tính xem trong số đó có bao nhiêu loại kí tự khácnhau ( không phân biệt in hoa hay in thường).Bài giải:uses crt;var s:string;i,j,dem:integer;t:boolean;5beginclrscr;write('Nhap xau:');readln(s);dem:=0;for i:=1 to length(s) dobegint:=false;for j:=1 to i-1 doif((s[j])=(s[i])) then t:=true;if not(t) then inc(dem);end;write('Co ',dem,' ki tu khac nhau.');readln;end.Bài 5: Cho 1 xâu kí tự bất kì, tính: Số lượng các kí tự số, Số lượng các kí tựchữ cái.Bài giải:uses crt;const so: set of char=['0','1','2','3','4','5','6','7','8','9'];var st,b:string;a:array[1..100] of integer;i,j,l,n,dem,dem1,c:integer;(*****)procedure sx(var x,y:integer);var tam:integer;begintam:=x;x:=y;y:=tam;end;(*****)beginclrscr;write('nhap xau:');readln(st);dem:=0;dem1:=0;for i:=1 to length(st) dobeginif (st[i] in['0'..'9']) then inc(dem);6if (upcase(st[i]) in['A'..'Z']) then inc(dem1);end;write('Co ',dem1,' chu cai.');writeln;writeln('Co ',dem,' chu so.');l:=length(st); i:=1; n:=0;repeatif (st[i] in so) thenbeginb:='';repeatb:=b+st[i];inc(i);until (not(st[i] in so)) or (i>l);inc(n);val(b,a[n],c);end;inc(i);until i>l;for i:=1 to n do write(a[i]:5);writeln;writeln('Sx tang:');for i:=1 to n-1 dofor j:=i to n doif a[j]

Từ khóa » Viết Chương Trình đếm Số Ký Tự Trong Xâu Pascal