Khai báo trực tiếp của mảng 2 chiều.. Xâu là dãy các kí tự trong bộ mã ASCII.A Trong đó: Khi tham chiếu đến kí tự thứ i của xâu ta viết: A[i]... Là biểu thức trong đó các toán hạng là
Trang 2KiỂM TRA BÀI CŨ
Câu 1 : Em hãy nêu các cách khai báo của mảng 2 chiều :
a Khai báo trực tiếp của mảng 2 chiều.
b Khai báo gián tiếp của mảng 2 chiều
Câu 2 : Cho ví cách khai báo gián tiếp của mảng 2 chiều?
Trang 3TRẢ LỜI
Câu 1 : Các cách khai báo :
a Khai báo trực tiếp:
Var <tên biến mảng>:array[kiểu chỉ số hàng,kiểu chỉ số cột]of <kiểu phần tử>
Câu 1 : Các cách khai báo :
b Khai báo gian tiếp :
Type<tên kiểu mảng>=array[kiểu chỉ số hàng,
kiểu chỉ số cột] of <kiểu phần tử>;
Var <tên biến mảng>:<tên kiểu mảng>;
Trang 4Gi¸o ¸n ®iÖn tö tin häc líp 11
Trang 5Nhập vào họ tên của hai học sinh, in ra màn hình họ tên dài hơn?
H n
a N
A H
P
N e
y u
G N
A
B
Hãy xác định kiểu dữ liệu của hai biến
A,B?
Bài toán đặt vấn đề:
Trang 6Xâu là dãy các kí tự trong bộ mã ASCII.
A
Trong đó:
Khi tham chiếu đến kí tự thứ i của xâu ta viết: A[i]
Tên xâu: A ;
Mỗi kí tự gọi là một phần tử của xâu;
Ví dụ:
Độ dài của xâu ộ dài của xâu (số kí tự trong xâu): 7 ;
H
1 Khái niệm
Ví dụ: A[5]= H ‘H’ ’.
Xâu A có bao nhiêu phần tử?
A[7]= ‘C ’
c
Trang 72 Khai báo kiểu dữ liệu xâu (trong Pascal)
Var <tên biến> : String [độ dài lớn nhất của xâu] ;
Ví dụ: Var hoten: String[26];
khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.
Ví dụ: Var chuthich :String;
Hãy cho ví dụ
về khai báo biến xâu?
Trang 83 Các thao tác xử lí xâu
a Biểu thức xâu :
Ví dụ: Ha + Noi‘ ’ ‘ ’
* Phép ghép xâu:
* Phép so sánh:
* Quy ớc:
- Xâu A = B nếu chúng giống hệt nhau.
- Xâu A > B nếu:
+ Kí tự đầu tiên khác nhau giữa
chúng ở xâu A có mã ASCII
lớn hơn ở xâu B.
+ Xâu B là đoạn đầu của xâu A
- Xâu rỗng là xâu ‘’
‘Tin hoc’. = ‘Tin hoc ’
Ví dụ
‘Xau Xau ki tu’ ‘ ’
‘Ha N o i Ha N’ ‘ a m’
Là biểu thức trong đó các toán hạng
là các biến xâu, biến kí tự.
kí hiệu + dùng để ghép nhiều xâu “+” dùng để ghép nhiều xâu ” dùng để ghép nhiều xâu
thành một xâu
=,<>, <,<=,>,>=
‘SonHa’.
‘Son + Ha’ ‘ ’
‘Ha Noi’ Thế nào là xâu
rỗng? Độ dài của xâu ộ dài của xâu rỗng là bao nhiêu?
Xâu có phải ‘ ‘
là xâu rỗng không? Vì
sao?
>
<
Trang 9b C¸c thñ tôc vµ hµm chuÈn xö lÝ x©u
S1=‘1’.’. S2= S2=‘‘Hinh 2’
Insert(S1,S2,6)
ChÌn x©u S1 vµo x©u S2 b¾t ®Çu tõ vÞ trÝ vt
2 Insert(S1,S2,vt)
S = Song Hong‘ ’
Delete(S,1,5)
Xo¸ n kÝ tù cña x©u S b¾t ®Çu tõ vÞ trÝ vt.
1 Delete(S,vt,n)
VÝ dô
ý nghÜa Thñ tôc
‘Hong’.
’.Hinh 1 2’.
Trang 10Ch= a‘ ’.
Ch= a‘ ’
UPCase(Ch) =
Chuyển kí tự ch thành chữ hoa
4 UPCase(ch)
S1= 1 S2= Hinh 1.2‘ ’ ‘ ’
S1= 1 S2= Hinh 1.2‘ ’ ‘ ’
Pos(S1,S2) =
Cho vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2
3 Pos(S1,S2)
S = Xin chao‘ ’
Length(S) =
Cho giá trị là độ dài của xâu S
2 Length(S)
Ví dụ
ý nghĩa Hàm
S = Tin hoc‘ ’
S = Tin hoc‘ ’
Copy(S,5,3)= ‘ ’
Copy(S,5,3)= ‘ ’
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
8
6
‘A’.
Trang 114 Mét sè vÝ dô
NhËp vµo hä tªn cña hai häc sinh, in ra mµn h×nh hä tªn dµi h¬n?
1
C¸c b íc: ThÓ hiÖn b»ng pascal
1 Khai b¸o x©u
Program Vidu1;
Uses Crt;
Var a,b: string;
2 NhËp x©u
Begin Clrscr;
Write(‘ Nhap ho ten nguoi thu nhat :’); Readln(a); Write(‘Nhap ho ten nguoi thu hai :’); Readln(b);
3 Xö lÝ x©u IF Length(a)>Length(b) Then write(a)
else write(b);
Readln;
Trang 12Nhập vào hai xâu từ bàn phím, kiểm tra xem kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ hai không?
2
Các b ớc:
1 Khai báo xâu : A,B
2 Nhập xâu
3 Xử lí xâu, trong đó:
Kí tự đầu tiên của xâu A: A[1]
Kí tự cuối cùng của xâu B: B[x]
trong đó X là độ dài của xâu B
Dựa vào các b
ớc bên, hãy hoàn thiện ch
ơng trình?
Viết ch ơng trình
Trang 13Nhập vào một xâu từ bàn phím, đ a ra màn hình xâu thu đ ợc bằng cách loại bỏ các dấu cách từ xâu đã cho?
3
Hãy nêu thuật toán để giải bài toán trên?
Ví dụ:
- Xâu ban đầu : ‘Mon Tin hoc’
- Kết quả ra màn hình : ‘MonTinhoc’
Thuật toán
B1 Khởi tạo xâu rỗng;
B2 Lần l ợt duyệt qua tất cả các phần tử của xâu vừa nhập,
Hãy viết ch ơng trình dựa theo thuật toán bên.
Trang 14Hãy nhớ!
Xâu là dãy các kí tự trong bộ mã
ASCII
Khai báo:
Var <tên biến>:String[độ dài lớn
nhất của xâu]
Tham chiếu phần tử của xâu:
Tên xâu[chỉ số]
Các thao tác xử lí th ờng dùng:
+ Phép ghép xâu, so sánh xâu; + Các thủ tục và hàm chuẩn.
S=‘Xin chao cac ban!’
Var S : string[30]
S[1] = ‘ X ’ S[5]=‘ c ’
Ví dụ
Trang 16Cho xâu S= ‘May tinh cua toi ’ Tìm ph ơng án
đúng trong các ph ơng án sau?
b Các thủ tục và hàm chuẩn xử lí xâu
A
B
C
D
Trang 17Cho xâu S= ‘May tinh cua toi ’ Tìm ph ơng án
đúng trong các ph ơng an sau?
b Các thủ tục và hàm chuẩn xử lí xâu
A
B
C
D
Hoan hô
bạn giỏi quá!
Trang 18Cho xâu S= ‘May tinh cua toi ’ Tìm ph ơng án
đúng trong các ph ơng an sau?
b Các thủ tục và hàm chuẩn xử lí xâu
A
B
C
D
Rất tiếc
Xin mời bạn chọn
lại!