Hướng Dẫn Làm Bài Tập Và Thực Hành 5 Trang 73 Sgk Tin Học 11

     

a) lúc chạy chương trình, nhập vào xâu: " vui ma hoc hoc ma vui" thì chương trình chỉ dẫn thông báo: "xau khong la palindrome", còn khi nhập vào xâu "abcddcba" thì chương trình đưa ra thông báo: "Xâu là palindroine?".

Bạn đang xem: Hướng dẫn làm bài tập và thực hành 5 trang 73 sgk tin học 11

Kết trái của chương trình mang lại như hình 52 dưới đây :

*

b) Để viết lại công tác dùng đổi thay xâu thì ta phải khai thác tài năng tham chiếu mang đến từng kí tự trong xâu trải qua vị trí của xâu này. Như vậy, không cần thiết phải tạo nên một xâu bắt đầu để ở đầu cuối so sánh nhị xâu, mà chỉ cần sánh cặp kí tự tại đoạn đối xứng nhau để tóm lại có cần hay không.

Bởi vậy, ta rất có thể dùng một biến xúc tích để ghi dấn sự phát hiện nay này. Trước vòng lặp triển khai các đối chiếu nói trên, đề nghị không chuyển biến xúc tích và ngắn gọn ở mỗi bước lặp, hễ hai kí từ bỏ được so sánh khác nhau thì biến ngắn gọn xúc tích đó sẽ phải thay đổi giá trị.

Chương trình sau đây dùng để kiểm tra xem xâu nhập vào có phải là xâu palindrome tốt không.

vai i, X: byte;

a: string;

palii: boolean;

begin

write (Nhap vao xau: ’ );

reailn(a) ;

X:= length(a); xac dinh vì dai cua xau

palin:=true;

khoi tao palin, tam coi xau a la palindrome

for i:= 1 to X div 2 vì so sinh cap ki tu doi xung

if a oa

then palin: =false;

if palin then writeln: Xau la palindrome’)

else writeln(’Xau khong la palindrome’);

readln

End.

Khi chạy chương trình, nhập vào xâu: "He 2007 " thì chương trình chỉ dẫn thông báo: "xau khong la palindrome”, còn khi nhập vào xau "abcddcba" thì chương trình chỉ dẫn thông báo: "xau la palindrome" kết quả của chương trình cho như hình 53 dưới đây:

*

Tuy nhiên, ta rất có thể không dùng vòng for-do mà dùng while-do giỏi repeat-until và rất có thể không bắt buộc dùng phát triển thành logic. Công tác sau đây thỏa mãn nhu cầu được yêu cầu đặt ra:


var x: byte;

a: string;

palin: boolean;

begin

write("Nhap vao xau: " ) ,

readln(a);

X: =length (a) , xac dinh vì dai cua xa i:=1;

while (iế if i> (x div 2) then writeln("Xau la palindrome")

else writeln("Xau khong la palindrome");

readln

End.

Khi chạy chương trình, nhập vào xâu: "tin hoc hoc tin" thì chương trình đưa ra thông báo: "xau khong la palindrome", còn lúc nhập vào xâu " ABCDDCBD" thì chương trình cũng chỉ dẫn thông báo: “xau khong la palindrome", còn khi nhập vào xâu: " ABCD0770DCBA" thì chương trình đưa ra thông báo: “xau la palindrome" .

Kết quả của chương trình đến như hình 55 bên dưới đây:

*

Bài 2. Để giải quyết và xử lý bài toán này, chúng ta nhận thấy rằng:

Cần ghi nhận số lần xuất hiện thêm của từng chữ cái. Có toàn bộ 26 chữ cái " A " " z ". Hoàn toàn có thể dùng một mảng với chỉ số là kí tự từ bỏ "A " mang đến "z" nhằm ghi dìm số lần xuất hiện thêm của những kí tự vào xâu s. Vì vậy, bọn họ dùng một mảng một chiều nhằm đếm số lần xuất hiện của một kí tự vào xâu s. Cụ thể, để ghi nhận số lần lộ diện của kí tự, ta có thể dùng dem nhằm ghi nhận số lần xuất hiện kí từ A (hay kí trường đoản cú a, bởi không phân minh chữ hoa giỏi chữ thường).

Xem thêm:
7 Quy Tắc Trong Cách Sử Dụng Máy Hút Ẩm Đúng Cách? Cách Sử Dụng Máy Hút Ẩm Hiệu Quả Và An Toàn


Để giải quyết vấn đề không rành mạch chữ hoa hay chữ thường ta đề nghị dùng hàm Upcase(c).

Do một kí tự xuất hiện trong xâu s rất có thể không phải là 1 chữ cái nên khi duyệt theo thứ tự từng kí tự trong xâu s, cần kiểm tra xem kí từ đó có phải là chữ cái hay không để ghi thừa nhận số lần xuất hiện của nó. Bọn họ đã gặp mặt đoạn chương trình kiểm soát một kí tự tất cả là chữ số hay là không ở lấy ví dụ như 5 tiết học tập 12. Từ bỏ đó, có thể viết được đoạn chương trinh thao tác duyệt từng thành phần cùa xâu và đếm.

Dàn ý của chương trình:

phần khai báo

begin

nhập xâu S

N: = length (S);

Khởi tạo nên màng Dem

for i: =1 khổng lồ N do {Neu s là chữ cái thì đém tăng cho s<1>

for c:="A" to Z do Thông báo sô lần xuất hiện của c

End.

Chương trình nhập từ bàn phím một xâu kí trường đoản cú và thông tin ra screen số lần lộ diện của mỗi chữ cái tiếng Anh vào (không khác nhau chữ hoa tuyệt chữ thường).


Program tinh_ki_tu,

var s,sl: string;

i, j, n: integer;

dem: array < "A’ . . "z ’ > of integer;

c: char ;

begin

write(’Nhap vao xau: ");

readln(S);

n:= length(s);

for C:= "A" to lớn "Z" bởi khoi tao mang đến mang dem dem:= 0 ; s 1 : = ’ " ;

readln

End.

Khi nhập vào lần lượt những xâu: "đfd"2n5fv" 3m.A" , " 55B7cfcManu07 " , " 8gs9"0A6ha5kQ " thì chương trình cho các tác dụng như hình 56 bên dưới đây:

*

Bài 3. Đối với câu hỏi này:

Để sửa chữa tất cả cụm từ "anh" vào một xâu st thành nhiều kí từ bỏ "em", hoàn toàn có thể làm một giải pháp tự nhiên: Tìm vị trí xâu nhỏ "anh" trong xâu st sẽ cho, xóa xâu bé này đi rồi chèn xâu "em" vào vị trí đó. Lặp đi tái diễn điều này cho đến khi không kiếm thấy xâu "anh" cần sửa chữa trong xâu st nữa. Để giải quyết vấn đề này, họ cần vận dụng những hàm Pos, thủ tục chuẩn Delete, Insert.

Dàn ý chương trinh:


phần khai báo

Begin

Nhập xâu S

{Chừng làm sao còn search thấy xâu bé ‘anh " vào xâu st còn làm ba công việc sau: kiếm tìm vị trí ban đầu của xâu "anh" ;

Xóa xâu " anh" vừa tra cứu thấy;

Chèn xâu " em" vào xâu s tại địa điểm trước đây xuất hiện xâu "anh" ;

In xau S kết quả

end.

Xem thêm: Review 10 Vitamin Tổng Hợp Cho Phụ Nữ Tuổi 30, Một Số Loại Vitamin Tổng Hợp Cho Phụ Nữ Tuổi 30

Chương trình nhập vào từ keyboard một xâu, sửa chữa tất cả những cụm kí từ ‘anh ’ bằng cụm từ ‘em"

program thay_the_cum_tu;

var vt: byte;

St: string;

Begin

write(’Nhap vao mot xau: ");

readln(st);

while pos ("anh", st)0 

begin

Vt : = pos ( " anh " , St. : ; delete(St,vt,3);

insert("em",St,vt) ; end;

write ("Xau sau khi da duoc cố the: " ,st ,")

readln

End.

Khi nhập vào lần lượt các xâu: "anh" và "em" ; "anh em vào mot nha " thì chương trình mang lại các công dụng theo đồ vật tự như sau: "em va em" ," em em vào mot nha " . Kết quả chương trình mang lại như hình 57 dưới đây: