1. Trang chủ
  2. » Kỹ Năng Mềm

bai th5 tin hoc 11 thao giang cum o vinh long

12 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 2,42 MB

Nội dung

Nhận xét Giả sử xâu là đối xứng palin:=true - Lần lượt so sánh cặp ở vị trí đối xứng nhau.Thực hiện x div 2 lần so sánh cặp kí tự -Nếu phát hiện ở lần thứ i mà a[i] a[x-i+1] thì đánh d[r]

(1)Gi¸o ¸n ®iÖn tö tin häc líp 11 (2) Caâu hoûi kieåm tra baøi cuõ: - Em haõy neâu khaùi nieäm xaâu? - Khai báo biến S có kiểu xâu độ dài tối đa 100? - Cho ví dụ xâu đối xứng? (Xâu đối xứng là xâu đọc từ trái sang phải thu đượ kếi:t giống đọc từ phải sang trái) Trảc lờ Xâu là dãy các kí tự mã ASCII Var S:string[100]; Ví dụ: S:= ‘ABCDCBA’; (3) Giaûi Thích: ABCDCBA A B C D C B A A B C D C B A Xâu đối xứng có tính chất ? Đọc nó từ trái sang phải thu kết giống đọc từ phải sang trái (còn gọi là xâu Palindrome) (4) BAØI TẬP VAØ THỰC HAØNH Bài :  Nhập vào từ bàn phím xâu Kiểm tra xâu đó có phải là xâu đối xứng hay không ?  Input: Nhập vào xâu  Output: Xuất kết có phải là xâu đối xứng (Palindrome) VD: S:=‘ABCDCBA’; Xâu đối xứng S1:=‘ABCACD’; Xâu không đối xứng (5) Ý TƯỞNG Tạo xâu (p) cách đảo ngược xâu ban đầu (a) Khai báo biến p kiểu xâu + Xác định độ dài xâu a + Khởi tạo : p ’’; + Duyệt từ cuối xâu a đầu xâu a, lần duyệt i xâu p ghép thêm kí tự a[i] Nếu xâu a = p thì thông báo xâu là palindrome, ngược lại thông báo xâu không là palindrome CHƯƠNG TRÌNH (6) • Chạy thử chương trình input ABCDCBA Kết quả: xau la palindrome • Chạy thử chương trình input ABCDABC Kết quả: xau khong la palindrome • Hãy cho vài input chạy thử chương trình và nhận xét kết (7) BAØI TẬP VAØ THỰC HAØNH b) Hãy viết lại chương trình trên: Trong đó không dùng biến xâu p Ví dụ: Xét xâu đối xứng: Xâu a = ‘ABCDDCBA’ a[i] A B C D D C B A i Đưa nhận xét gì các cặp kí tự đối xứng xâu? Các cặp kí tự vị trí đối xứng là: Mọi cặp kí tự - Kí tự a[1] đối xứng với kí tự a[8] vị trí đối xứng - Kí tự a[2] đối xứng với kí tự a[7] giống - Kí tự a[3] đối xứng với kí tự a[6] - Kí tự a[4] đối xứng với kí tự a[5] (8) Xây dựng thuật toán a[i] A B C D D C B A i x:=length(a); Các cặp kí tự vị trí đối xứng nhau: - a[1] đối xứng với a[x] - a[2] đối xứng với a[x-1] - a[3] đối xứng với a[x-2] - a[4] đối xứng với a[x-3] Để kiểm tra xâu đối xứng ta so sánh bao nhiêu cặp kí tự xâu đó? Kí tự a[i] đối xứng với kí tự a[x-i+1] Phát bao nhiêu cặp kí tự vị trí đối xứng khác thì kết luận xâu đó không là palindrome? X div Chỉ cần (9) Đoạn chương trình Nhận xét Giả sử xâu là đối xứng (palin:=true ) - Lần lượt so sánh cặp vị trí đối xứng nhau.Thực (x div 2) lần so sánh cặp kí tự -Nếu phát lần thứ i mà a[i] <> a[x-i+1] thì đánh dấu phát này cách thay đổi biến logic (palin:=false) Nếu palin=true thì xâu là palindrome nguợc lại xâu không là palindrome (10) CHƯƠNG TRÌNH HOÀN CHỈNH (11) • Chạy thử chương trình input a=‘ABCDCBA’ Kết quả: xau la palindrome • Chạy thử chương trình input a=‘ABCDABC’ Kết quả: xau khong la palindrome • Hãy cho vài input chạy thử chương trình và nhận xét kết (12) (13)

Ngày đăng: 26/06/2021, 07:49

w