Bài tập và thực hành 1
Chia sẻ bởi Nguyễn Nhất Thông |
Ngày 25/04/2019 |
212
Chia sẻ tài liệu: Bài tập và thực hành 1 thuộc Tin học 11
Nội dung tài liệu:
XÂU KÍ TỰ
Bài 1 :Lập trình đếm số lần xuất hiện ở mỗi loại kí tự thuộc bảng chữ cái tiếng Anh trong một xâu kí tự Str . Bài 2 :Cho số tự nhiên n và xâu có độ dài n . Hãy biến đổi xâu đã cho bằng cách thay đổi trong đó : a. Tất cả các dấu ! bằng dấu chấm . b. Mỗi một nhóm các dấu chấm liền nhau bằng một dấu chấm . c. Một nhóm các dấu chấm đứng liền nhau bằng dấu ba chấm . Bài 3 :Cho số tự nhiên n và một dãy các kí tự S1 , S2 , … , Sn . Hãy tìm số tự nhiên I đầu tiên sao cho các kí tự Si , Si+1 đều là chữ cái a . Nếu trong dãy không có những cặp như vậy thì thông báo . Bài 4 :Cho số tự nhiên n và dãy các kí tự S1 , S2 , … , Sn . Biết rằng trong dãy có ít nhất một dấu phẩy . Hãy tìm số tự nhiên i sao cho : a. Si là dấu phẩy đầu tiên . b. Si là dấu phầy cuối cùng . Bài 5 :Viết chương trình nhập một xâu kí tự , sau đó chỉ ra xem xâu đó có phải là xâu đối xứng không ( xâu đối xứng là xâu có các kí tự giống nhau và đối xứng nhau qua điểm giữa xâu , ví dụ ‘ABBA’ hoặc ‘ABCBA’ ) . Bài 6 :Cho một xâu kí tự S . Hãy viết chương trình tính xem trong S có bao nhiêu loại kí tự khác nhau ( phân biệt chữ in hoa với chữ in thường ) . Ví dụ với S là “Pascal” ta có đáp số là 5 . Bài 7 :Viết chương trình nhập một xâu kí tự và biến đổi chúng thành toàn chữ in hoa . Bài 8 :Họ tên một học sinh được nhập từ bàn phím . Bạn hãy viết chương trình điều chỉnh lại các kí tự đầu của các từ đơn trong tên của học sinh ấy trở thành chữ in hoa . Bài 9 :Viết chương trình nhập xãu kí tự từ bàn phím , sau đó gọt xâu lại bằng cách cách xoá đi các kí tự trống ở hai đầu của xâu . Ví dụ nếu nhập xâu “ Ha noi “ , thì kết quả sẽ là “Ha noi” . ĐÁP ÁN:
B1
Var A: array [ `A`..`Z`] of integer;
S: string;
ch: char;
i: integer;
BEGIN
Write(` Cho mot xau ki tu : `); Readln(s);
For ch:= `A` to `Z` do A[ch]:=0;
For i:=1 to length(s) do
Begin
If Upcase(S[i]) in ([`A`..`Z`]) then
Begin
S[i]:= Upcase(S[i]);
A[S[i]]:= A[S[i]]+1;
End;
End;
For ch:= `A` to `Z` do
Writeln(`So lan xuat hien cua `,ch,` trong xau la: `, A[ch]:4) ;
Readln ;
END .
B2a
Var S: string;
i: byte;
BEGIN
Write(` Cho mot xau ki tu S = `); Readln(S);
For i:=1 to length(S) do
If S[i] = `!` then S[i]:= `.`;
Write( ` Chuoi sau khi da bien doi la : `, S);
Readln;
END .
B2b
Uses crt;
Var S : string; i : byte;
BEGIN
Clrscr;
Write(` Cho mot xau ki tu S = `); Readln(S);
i:=1;
While i< length(S) do
If (S[i]=`.`)and(S[i+1]=`.`) then Delete(S,i,1)
Else inc(i);
Write(`Chuoi sau khi da bien doi la: ` ,S);
Readln;
END .
B2c
Uses crt;
Var S: string;
i, j: byte;
BEGIN
Clrscr;
Write(`Nhap xau S=`); Readln(S);
i:=1;
While i<=Length(S) do
Begin
If S[i]=`.` then
Begin
j:=i;
While (S[i]=`.`)and(i<=length(S)) do inc(i);
dec(i);
If (i-j)=1 then insert(`.`,S,i
Bài 1 :Lập trình đếm số lần xuất hiện ở mỗi loại kí tự thuộc bảng chữ cái tiếng Anh trong một xâu kí tự Str . Bài 2 :Cho số tự nhiên n và xâu có độ dài n . Hãy biến đổi xâu đã cho bằng cách thay đổi trong đó : a. Tất cả các dấu ! bằng dấu chấm . b. Mỗi một nhóm các dấu chấm liền nhau bằng một dấu chấm . c. Một nhóm các dấu chấm đứng liền nhau bằng dấu ba chấm . Bài 3 :Cho số tự nhiên n và một dãy các kí tự S1 , S2 , … , Sn . Hãy tìm số tự nhiên I đầu tiên sao cho các kí tự Si , Si+1 đều là chữ cái a . Nếu trong dãy không có những cặp như vậy thì thông báo . Bài 4 :Cho số tự nhiên n và dãy các kí tự S1 , S2 , … , Sn . Biết rằng trong dãy có ít nhất một dấu phẩy . Hãy tìm số tự nhiên i sao cho : a. Si là dấu phẩy đầu tiên . b. Si là dấu phầy cuối cùng . Bài 5 :Viết chương trình nhập một xâu kí tự , sau đó chỉ ra xem xâu đó có phải là xâu đối xứng không ( xâu đối xứng là xâu có các kí tự giống nhau và đối xứng nhau qua điểm giữa xâu , ví dụ ‘ABBA’ hoặc ‘ABCBA’ ) . Bài 6 :Cho một xâu kí tự S . Hãy viết chương trình tính xem trong S có bao nhiêu loại kí tự khác nhau ( phân biệt chữ in hoa với chữ in thường ) . Ví dụ với S là “Pascal” ta có đáp số là 5 . Bài 7 :Viết chương trình nhập một xâu kí tự và biến đổi chúng thành toàn chữ in hoa . Bài 8 :Họ tên một học sinh được nhập từ bàn phím . Bạn hãy viết chương trình điều chỉnh lại các kí tự đầu của các từ đơn trong tên của học sinh ấy trở thành chữ in hoa . Bài 9 :Viết chương trình nhập xãu kí tự từ bàn phím , sau đó gọt xâu lại bằng cách cách xoá đi các kí tự trống ở hai đầu của xâu . Ví dụ nếu nhập xâu “ Ha noi “ , thì kết quả sẽ là “Ha noi” . ĐÁP ÁN:
B1
Var A: array [ `A`..`Z`] of integer;
S: string;
ch: char;
i: integer;
BEGIN
Write(` Cho mot xau ki tu : `); Readln(s);
For ch:= `A` to `Z` do A[ch]:=0;
For i:=1 to length(s) do
Begin
If Upcase(S[i]) in ([`A`..`Z`]) then
Begin
S[i]:= Upcase(S[i]);
A[S[i]]:= A[S[i]]+1;
End;
End;
For ch:= `A` to `Z` do
Writeln(`So lan xuat hien cua `,ch,` trong xau la: `, A[ch]:4) ;
Readln ;
END .
B2a
Var S: string;
i: byte;
BEGIN
Write(` Cho mot xau ki tu S = `); Readln(S);
For i:=1 to length(S) do
If S[i] = `!` then S[i]:= `.`;
Write( ` Chuoi sau khi da bien doi la : `, S);
Readln;
END .
B2b
Uses crt;
Var S : string; i : byte;
BEGIN
Clrscr;
Write(` Cho mot xau ki tu S = `); Readln(S);
i:=1;
While i< length(S) do
If (S[i]=`.`)and(S[i+1]=`.`) then Delete(S,i,1)
Else inc(i);
Write(`Chuoi sau khi da bien doi la: ` ,S);
Readln;
END .
B2c
Uses crt;
Var S: string;
i, j: byte;
BEGIN
Clrscr;
Write(`Nhap xau S=`); Readln(S);
i:=1;
While i<=Length(S) do
Begin
If S[i]=`.` then
Begin
j:=i;
While (S[i]=`.`)and(i<=length(S)) do inc(i);
dec(i);
If (i-j)=1 then insert(`.`,S,i
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Nhất Thông
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)