tin 10

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Trần Viết Cách
Ngày gửi: 13h:17' 13-03-2009
Dung lượng: 482.5 KB
Số lượt tải: 26
Nguồn:
Người gửi: Trần Viết Cách
Ngày gửi: 13h:17' 13-03-2009
Dung lượng: 482.5 KB
Số lượt tải: 26
Số lượt thích:
0 người
Kiểm tra bài cũ
Câu hỏi 1: Trình bày cách khai báo biến xâu, và cho ví dụ ?
Đáp án:
Var:string[độ dài lớn nhất];
Var:string;
Ví dụ :
var hoten: string[30];
Kiểm tra bài cũ
Câu hỏi 2: Em hãy nhắc lại các thủ tục và hàm chuẩn?
Ví dụ
st := `Song Huong`;
Delete(st,1,5);
s1:=‘ ’; s2:=‘hoahong’;
Insert(s1,s2,4);
ý nghĩa
Chèn xâu s1 vào xâu s2 bắt đầu từ vị trí vt.
Thủ tục
a.
Delete(st,vt,n)
b. Insert(s1,s2,vt)
? st = `Hong`
? s2 = `hoa hong`
Xoá n kí tự
của xâu st
bắt đầu từ vị trí vt.
Ch=`a`
UPCase(ch) = `A`
Chuyển kí tự ch thành chữ hoa
d. UPCase(ch)
S1=`1` S2=`Hinh 1.2`
Pos(S1,S2) = 6
Cho vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2
c. Pos(S1,S2)
S = `Xin chao`
Length(S) = 8
Cho giá trị là độ dài của xâu S
b. Length(S)
Ví dụ
ý nghĩa
Hàm
S = `Tin hoc`
Copy(S,5,3)= `hoc`
Tạo xâu gồm n kí tự liên tiếp bắt đầu từ vị trí vt của xâu S
a. Copy(S,vt,n)
Kiểm tra bài cũ
Kiểm tra bài cũ
Câu hỏi 3: Hãy viết lại chương trình trong ví dụ 4 cúa SGK(T.72) trong đó không dùng biến xâu b?
Gợi ý:
Chúng ta có thể dùng hàm pos(‘ ‘,a) để kiểm tra sự có mặt của dấu cách.
Chương trình:
Var a:string;
Begin
write(‘Nhap xau:’); readln(a);
While pos(‘ ‘,a)<>0 do delete(a,pos(‘ ‘,a),1);
Write(‘xau sau khi xoa la:’,a);
Readln;
End.
Chạy thử
Bài 1: Xâu đối xứng
Em hãy cho một vài ví dụ về xâu đối xứng?
Ví dụ:
‘abcddcba’
‘pop’
Xâu như thế nào không phải là xâu đối xứng? Cho ví dụ
Xâu đối xứng là xâu có tính chất : đọc nó từ phải sang trái cũng thu được kết quả giống như đọc từ trái sang phải(còn được gọi là xâu palindrome).
Xâu không phải là đối xứng khi có một cặp kí tự ở vị trí đối xứng khác nhau.
Bài 1: Xâu đối xứng
Chương trình này thực hiện công việc gì ? Cho ra kết quả như thế nào?
Nếu không sử dụng biến xâu p thì chương trình được viết lại như thế nào?
Các em hãy đọc chương trình trong bài 1 (T.73) SGK.
Hãy nhận xét về cặp kí tự ở vị trí đối xứng nhau trong một xâu đối xứng.
Kí tự ở đầu xâu đối xứng với kí tự ở cuối xâu.
Kí tự thứ hai trong xâu đối xứng với kí tự ngay trước kí tự cuối xâu.
Vậy kí tự thứ i đối xứng với kí tự nào trong xâu?
Kí tự thứ i đối xứng với kí tự thứ n-i+1.
Thuật toán
B1. Nh?p xõu;
B2. Duy?t xõu t? d?u cho d?n n div2
B3. ki?m tra s? gi?ng hay khỏc nhau gi?a cỏc c?p kớ t? d?i x?ng a[i]=a[n-i+1].
B4. N?u a[i]=a[n-i+1] thỡ in ra màn hỡnh thụng bỏo `xõu v?a nh?p là xõu d?i x?ng`.
N?u a[i]<>a[n-i+1] thỡ in ra màn hỡnh thụng bỏo `xõu v?a nh?p khụng ph?i là xõu d?i x?ng`.
Hãy viết chương trình dựa theo thuật toán trên.
Chương trình:
Var a:string;
i,x:byte;
Begin
write(‘Nhap xau:’); readln(a);
x:=length(a);
i:=1;
While (i <=(x div 2)) and (a[i]=a[x-i+1]) do i:=i+1;
If i>(x div 2) then Write(‘xau la palindrome’)
Else write(‘xau khong la palindrome’);
Readln;
End.
Chạy thử
? Khai bỏo xõu
Các thao tác xử lí xâu
Var
:String[độ dài];
Hoặc
Var: String;
Phép ghép xâu: +
Các phép so sánh: =,<>,<, >, <=, >=
Một số thủ tục làm việc với xâu:
a) delete(st,vt,n);
b) Insert(s1,s2,vt);
4. Một số hàm làm việc với xâu
Copy(S,vt,N);
Length(S);
Pos(s1,s2);
Upcase(ch);
Hãy nhớ!
Câu hỏi 1: Trình bày cách khai báo biến xâu, và cho ví dụ ?
Đáp án:
Var
Var
Ví dụ :
var hoten: string[30];
Kiểm tra bài cũ
Câu hỏi 2: Em hãy nhắc lại các thủ tục và hàm chuẩn?
Ví dụ
st := `Song Huong`;
Delete(st,1,5);
s1:=‘ ’; s2:=‘hoahong’;
Insert(s1,s2,4);
ý nghĩa
Chèn xâu s1 vào xâu s2 bắt đầu từ vị trí vt.
Thủ tục
a.
Delete(st,vt,n)
b. Insert(s1,s2,vt)
? st = `Hong`
? s2 = `hoa hong`
Xoá n kí tự
của xâu st
bắt đầu từ vị trí vt.
Ch=`a`
UPCase(ch) = `A`
Chuyển kí tự ch thành chữ hoa
d. UPCase(ch)
S1=`1` S2=`Hinh 1.2`
Pos(S1,S2) = 6
Cho vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2
c. Pos(S1,S2)
S = `Xin chao`
Length(S) = 8
Cho giá trị là độ dài của xâu S
b. Length(S)
Ví dụ
ý nghĩa
Hàm
S = `Tin hoc`
Copy(S,5,3)= `hoc`
Tạo xâu gồm n kí tự liên tiếp bắt đầu từ vị trí vt của xâu S
a. Copy(S,vt,n)
Kiểm tra bài cũ
Kiểm tra bài cũ
Câu hỏi 3: Hãy viết lại chương trình trong ví dụ 4 cúa SGK(T.72) trong đó không dùng biến xâu b?
Gợi ý:
Chúng ta có thể dùng hàm pos(‘ ‘,a) để kiểm tra sự có mặt của dấu cách.
Chương trình:
Var a:string;
Begin
write(‘Nhap xau:’); readln(a);
While pos(‘ ‘,a)<>0 do delete(a,pos(‘ ‘,a),1);
Write(‘xau sau khi xoa la:’,a);
Readln;
End.
Chạy thử
Bài 1: Xâu đối xứng
Em hãy cho một vài ví dụ về xâu đối xứng?
Ví dụ:
‘abcddcba’
‘pop’
Xâu như thế nào không phải là xâu đối xứng? Cho ví dụ
Xâu đối xứng là xâu có tính chất : đọc nó từ phải sang trái cũng thu được kết quả giống như đọc từ trái sang phải(còn được gọi là xâu palindrome).
Xâu không phải là đối xứng khi có một cặp kí tự ở vị trí đối xứng khác nhau.
Bài 1: Xâu đối xứng
Chương trình này thực hiện công việc gì ? Cho ra kết quả như thế nào?
Nếu không sử dụng biến xâu p thì chương trình được viết lại như thế nào?
Các em hãy đọc chương trình trong bài 1 (T.73) SGK.
Hãy nhận xét về cặp kí tự ở vị trí đối xứng nhau trong một xâu đối xứng.
Kí tự ở đầu xâu đối xứng với kí tự ở cuối xâu.
Kí tự thứ hai trong xâu đối xứng với kí tự ngay trước kí tự cuối xâu.
Vậy kí tự thứ i đối xứng với kí tự nào trong xâu?
Kí tự thứ i đối xứng với kí tự thứ n-i+1.
Thuật toán
B1. Nh?p xõu;
B2. Duy?t xõu t? d?u cho d?n n div2
B3. ki?m tra s? gi?ng hay khỏc nhau gi?a cỏc c?p kớ t? d?i x?ng a[i]=a[n-i+1].
B4. N?u a[i]=a[n-i+1] thỡ in ra màn hỡnh thụng bỏo `xõu v?a nh?p là xõu d?i x?ng`.
N?u a[i]<>a[n-i+1] thỡ in ra màn hỡnh thụng bỏo `xõu v?a nh?p khụng ph?i là xõu d?i x?ng`.
Hãy viết chương trình dựa theo thuật toán trên.
Chương trình:
Var a:string;
i,x:byte;
Begin
write(‘Nhap xau:’); readln(a);
x:=length(a);
i:=1;
While (i <=(x div 2)) and (a[i]=a[x-i+1]) do i:=i+1;
If i>(x div 2) then Write(‘xau la palindrome’)
Else write(‘xau khong la palindrome’);
Readln;
End.
Chạy thử
? Khai bỏo xõu
Các thao tác xử lí xâu
Var
Hoặc
Var
Phép ghép xâu: +
Các phép so sánh: =,<>,<, >, <=, >=
Một số thủ tục làm việc với xâu:
a) delete(st,vt,n);
b) Insert(s1,s2,vt);
4. Một số hàm làm việc với xâu
Copy(S,vt,N);
Length(S);
Pos(s1,s2);
Upcase(ch);
Hãy nhớ!
 
↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng RAR và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT ↓








Các ý kiến mới nhất