Bài tập và thực hành 5

Chia sẻ bởi Huỳnh Văn Lập | Ngày 10/05/2019 | 43

Chia sẻ tài liệu: Bài tập và thực hành 5 thuộc Tin học 11

Nội dung tài liệu:

Giáo án điện tử tin học lớp 11
NHIỆT LIỆT CHÀO MỪNG QUÝ THẦY CÔ
ĐẾN DỰ TIẾT THAO GIẢNG
Lớp 11A1
Gv: Huỳnh Văn Lập
Trường THPT Nguyễn Thông-TP Vĩnh Long
BÀI TẬP VÀ THỰC HÀNH 5
Câu hỏi kiểm tra bài cũ:
Em hãy nêu khái niệm xâu?
Khai báo biến S có kiểu xâu độ dài tối đa 100?
Cho ví dụ 1 xâu đối xứng?
(Xâu đối xứng là xâu đọc từ trái sang phải thu được kết quả giống như đọc từ phải sang trái)
Trả lời:
X�u l� d�y c�c kí t? trong b? m� ASCII
Var S:string[100];
Ví dụ:
S:= ‘ABCDCBA’;
C
B
D
C
B
A
A
Giải Thích: ABCDCBA
Xâu đối xứng có tính chất ?
Đọc nó từ trái sang phải thu được kết quả giống như đọc từ phải sang trái (còn được gọi là xâu Palindrome).
C
B
D
C
B
A
A
Bài 1 :
Nhập vào từ bàn phím một xâu. Kiểm tra xâu đó có phải là xâu đối xứng hay không ?
BÀI TẬP VÀ THỰC HÀNH 5
Input: Nhập vào xâu.
Output: Xuất ra kết quả có phải là xâu đối xứng (Palindrome)
VD: S:=‘ABCDCBA’;
S1:=‘ABCACD’;
Xâu đối xứng
Xâu không đối xứng
CHƯƠNG TRÌNH
Khai báo biến p kiểu xâu.
Tạo xâu mới (p) bằng cách đảo ngược xâu ban đầu (a).
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.
Ý TƯỞNG
+ Xác định độ dài xâu a
+ Khởi tạo : p ’’;
+ Duyệt từ cuối xâu a về đầu xâu a, tại mỗi lần duyệt i xâu p được ghép thêm kí tự a[i].
Chạy thử chương trình bằng bộ input
ABCDCBA
Kết quả: xau la palindrome

Chạy thử chương trình bằng bộ input
ABCDABC
Kết quả: xau khong la palindrome

Hãy cho 1 vài bộ input chạy thử chương trình và nhận xét kết quả
BÀI TẬP VÀ THỰC HÀNH 5
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’
Các cặp kí tự ở vị trí đối xứng nhau là:
- Kí tự a[1] đối xứng với kí tự a[8]
- Kí tự a[2] đối xứng với kí tự a[7]
- 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]
Đưa ra nhận xét gì về các cặp kí tự đối xứng trong xâu?
Mọi cặp kí tự
ở vị trí đối xứng nhau
đều giống nhau
Xây dựng thuật toán
- 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ự trong xâu đó?
X 2

Phát hiện bao nhiêu cặp kí tự
ở vị trí đối xứng nhau
nhưng khác nhau thì kết luận xâu đó
không là palindrome?
Chỉ cần 1
Kí tự a[i] đối xứng với kí tự
a[x-i+1]
div
x:=length(a);
Các cặp kí tự ở vị trí đối xứng nhau:
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ấu sự phát hiện này bằng 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
Đoạn chương trình
CHƯƠNG TRÌNH HOÀN CHỈNH
Chạy thử chương trình bằng bộ input
a=‘ABCDCBA’
Kết quả: xau la palindrome

Chạy thử chương trình bằng bộ input
a=‘ABCDABC’
Kết quả: xau khong la palindrome

Hãy cho 1 vài bộ input chạy thử chương trình và nhận xét kết quả
Xin chân thành cám ơn tập thể lớp 11A1,
quý thầy cô về dự thao giảng
* 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ẻ: Huỳnh Văn Lập
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)