Simulacrum, từ simulacrum Latin, là một sự bắt chước, giả mạo hoặc hư cấu. Khái niệm này được liên kết với mô phỏng, đó là hành động mô phỏng .Một...
Hướng dẫn làm bài tập và thực hành 5 trang 73 SGK Tin học 11>
Đề bài
Hướng dẫn làm bài tập và thực hành 5 trang 73 SGK Tin học 11
Lời giải chi tiết
1. Mục đích, yêu cầu
Làm quen với việc tìm kiếm, sửa chữa thay thế và đổi khác xâu .
2. Nội dung
Bài 1:
a ) Khi chạy chương trình, nhập vào xâu : ‘ vui ma hoc hoc ma vui ‘ thì chương trình đưa ra thông tin : ” xau khong la palindrome “, còn khi nhập vào xâu ‘ abcddcba ‘ thì chương trình đưa ra thông tin : ” Xâu là palindroine ? ” .Kết quả của chương trình cho như hình 52 dưới đây :
b ) Để viết lại chương trình dùng biến xâu thì ta cần khai thác năng lực tham chiếu đến từng kí tự trong xâu trải qua vị trí của xâu này. Như vậy, không thiết yếu phải tạo một xâu mới để sau cuối so sánh hai xâu, mà chỉ cần sánh cặp kí tự ở vị trí đối xứng nhau để Kết luận có phải hay không .Bởi vậy, ta hoàn toàn có thể dùng một biến logic để ghi nhận sự phát hiện này. Trước vòng lặp triển khai những so sánh nói trên, cần không chuyển biến logic ở mỗi bước lặp, hễ hai kí tự được so sánh khác nhau thì biến logic đó sẽ phải đổi khác 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 hay không .vai i, X : byte ;a : string ;palii : boolean ;beginwrite ( Nhap vao xau : ’ ) ;reailn ( a ) ;X : = length ( a ) ; { xac dinh do dai cua xau }palin : = true ;{ khoi tao palin, tam coi xau a la palindrome }for i : = 1 to X div 2 do { so sanh cap ki tu doi xung }if a [ i. ] oa [ x-i + 1 ]then palin : = false ;if palin then writeln : Xau la palindrome ’ )else writeln ( ’ Xau khong la palindrome ’ ) ;readlnEnd .Khi chạy chương trình, nhập vào xâu : ‘ He 2007 ‘ thì chương trình đưa ra thông tin : ” xau khong la palindrome ”, còn khi nhập vào xau ‘ abcddcba ‘ thì chương trình đưa ra thông tin : ” xau la palindrome ” tác dụng của chương trình cho như hình 53 dưới đây :
Tuy nhiên, ta hoàn toàn có thể không dùng vòng for-do mà dùng while-do hay repeat-until và hoàn toàn có thể không cần dùng biến logic. Chương trình sau đây phân phối được nhu yếu đặt ra :
var x : byte ;a : string ;palin : boolean ;beginwrite ( ‘ Nhap vao xau : ‘ ) ,readln ( a ) ;X : = length ( a ), { xac dinh do dai cua xa } i : = 1 ;while ( i < = ( x div 2 ) ) and ( a [ i ] = a [ x-i + 1 ] ) do i : = i + 1, ế if i > ( x div 2 ) then writeln ( ‘ Xau la palindrome ‘ )else writeln ( ‘ Xau khong la palindrome ‘ ) ;readlnEnd .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 tin : ‘ xau khong la palindrome “, còn khi nhập vào xâu ‘ ABCDDCBD ‘ thì chương trình cũng đưa ra thông tin : “ xau khong la palindrome “, còn khi nhập vào xâu : ‘ ABCD0770DCBA ‘ thì chương trình đưa ra thông tin : “ xau la palindrome ” .Kết quả của chương trình cho như hình 55 dưới đây :
Bài 2. Để giải quyết bài toán này, chúng ta nhận thấy rằng:
Cần ghi nhận số lần Open của từng vần âm. Có toàn bộ 26 vần âm ‘ A ‘ ‘ z ‘. Có thể dùng một mảng với chỉ số là kí tự từ ‘ A ‘ đến ‘ z ‘ để ghi nhận số lần Open của những kí tự trong xâu s. Bởi vậy, tất cả chúng ta dùng một mảng một chiều để đếm số lần Open của một kí tự trong xâu s. Cụ thể, để ghi nhận số lần Open của kí tự, ta hoàn toàn có thể dùng dem [ A ] để ghi nhận số lần Open kí tự A ( hay kí tự a, vì không phân biệt chữ hoa hay chữ thường ) .
Để xử lý yếu tố không phân biệt chữ hoa hay chữ thường ta cần dùng hàm Upcase ( c ) .Do một kí tự Open trong xâu s hoàn toàn có thể không phải là một vần âm nên khi duyệt lần lượt từng kí tự trong xâu s, cần kiểm tra xem kí tự đó có phải là vần âm hay không để ghi nhận số lần Open của nó. Chúng ta đã gặp đoạn chương trình kiểm tra một kí tự có là chữ số hay không ở ví dụ 5 tiết học 12. Từ đó, hoàn toàn 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 cho màng Dem }for i : = 1 to N do { Neu s [ i ] là vần âm thì đém tăng cho s [ 1 ]for c : = ‘ A ‘ to Z do { Thông báo sô lần Open của c }End .Chương trình nhập từ bàn phím một xâu kí tự và thông tin ra màn hình hiển thị số lần Open của mỗi vần âm tiếng Anh trong ( không phân biệt chữ hoa hay chữ thường ) .
Program tinh_ki_tu ,var s, sl : string ;i, j, n : integer ;dem : array [ ‘ A ’. . ‘ z ’ ] of integer ;c : char ;beginwrite ( ’ Nhap vao xau : ‘ ) ;readln ( S ) ;n : = length ( s ) ;for C : = ‘ A ‘ to ‘ Z ‘ do { khoi tao cho mang dem } dem [ c ] : = 0 ; s 1 : = ’ ‘ ;readlnEnd .Khi nhập vào lần lượt những xâu : ‘ đfd ‘ 2 n5fv ‘ 3 m. A ‘, ‘ 55B7 cfcManu07 ‘, ‘ 8 gs9 ‘ 0A6 ha5kQ ‘ thì chương trình cho những tác dụng như hình 56 dưới đây :
Bài 3. Đối với bài toán này:
Để sửa chữa thay thế toàn bộ cụm từ ” anh ” trong một xâu st thành cụm kí tự ‘ em ‘, hoàn toàn có thể làm một cách tự nhiên : Tìm vị trí xâu con ‘ anh ‘ trong xâu st đã cho, xóa xâu con này đi rồi chèn xâu ” em ” vào vị trí đó. Lặp đi lặp lại điều này cho đến khi không tìm thấy xâu ” anh ‘ cần thay thế sửa chữa trong xâu st nữa. Để xử lý yếu tố này, tất cả chúng ta 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 nào còn tìm thấy xâu con ‘ anh ‘ trong xâu st còn làm ba việc làm sau : Tìm vị trí mở màn của xâu ‘ anh ‘ ;Xóa xâu ‘ anh ‘ vừa tìm thấy ;Chèn xâu ‘ em ‘ vào xâu s tại vị trí trước kia Open xâu ‘ anh ‘ ;{ In xau S hiệu quả }end .Chương trình nhập vào từ bàn phím một xâu, sửa chữa thay thế tổng thể những cụm kí tự ‘ anh ’ bằng cụm từ ‘ em ‘program thay_the_cum_tu ;var vt : byte ;St : string ;Beginwrite ( ’ Nhap vao mot xau : ‘ ) ;readln ( st ) ;while pos ( ‘ anh ‘, st ) < > 0beginVt : = pos ( ‘ anh ‘, St. : ; delete ( St, vt, 3 ) ;insert ( ‘ em ‘, St, vt ) ; end ;write ( ‘ Xau sau khi da duoc thay the : ‘, st, ‘ )readln
End.
Xem thêm: Tin học 12 Bài 12: Các loại kiến trúc của hệ cơ sở dữ liệu | Hay nhất Giải bài tập Tin học 12
Khi nhập vào lần lượt những xâu : ‘ anh ‘ và ‘ em ‘ ; ‘ đồng đội trong mot nha ‘ thì chương trình cho những hiệu quả theo thứ tự như sau : ‘ em va em ‘, ‘ em em trong mot nha ‘. Kết quả chương trình cho như hình 57 dưới đây :
Loigiaihay.com
Source: https://vh2.com.vn
Category : Tin Học