You are on page 1of 19

TỔ : LÍ - KỸ - TIN

BỘ MÔN : TIN HỌC


Giáo viên: Phạm Thị Ngà
ỨNG DỤNG CNTT TRONG GIẢNG DẠY
1) Thế nào là mảng hai chiều? Nêu qui tắc
cách thức , xác định mảng hai chiều? Cho
ví dụ mảng hai chiều?

2) Có mấy cách khai báo mảng hai chiều ?


Viết cú pháp câu lệnh khai báo mảng hai
chiều? Cho ví dụ minh hoạ từng cách?
1) Mảng hai chiều là:
- Bảng các phần tử cùng kiểu,bảng có các dòng và các cột.Các dòng và các
cột đều được đánh số bằng các số nguyên liên tiếp nhau, mỗi phần tử của
mảng 2 chiều được hình dung như giá trị của 1 ô trong bảng, mỗi ô có chỉ
số dòng và chỉ số cột.
- Ví dụ : Dữ liệu của bảng cửu chương là kiểu mảng 2 chiều gồm 9 phần
tử,mỗi phần tử lại là mảng hai chiều có 10 phần tử, mỗi phần tử là 1 số
nguyên.
- Với các NNLT cũng có những qui tắc,cách thức cho phép xác định :
+ Tên kiểu mảng hai chiều.
+ Số lượng phần tử mỗi chiều.
+ Kiểu dữ liệu của các phần tử.
+ Cách khai báo biến mảng 2 chiều.
+ Cách tham chiếu đến từng phần tử trong mảng.
2) Có 2 cách khai báo biến mảng hai chiều:
* Cách 1: Trực tiếp
Var<Tên biến mảng>: array[Kiểu chỉ số dòng,kiểu chỉ số cột] of <Kiểu
phần tử>;
Ví dụ: Var A: aaray[1..3,1..4] of Integer;

* Cách 2: Gián tiếp:


Type <Tên kiểu mảng>= array[Kiểu CSD,kiểu CSC] of <Kiểu phần tử>;
Var < Tên biến mảng> : < Tên kiểu mảng>;

Ví dụ: Type Mang2chieu = array[1..3,1..4] of integer;


Var A: aaray[1..3,1..4] of Integer;
VD1: 3 2 7 9 6 5 8 4

VD2: 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 .

A P H A N a n H

B l y t u a N A n h

Dữ liệu trong Dữ liệu trong VD2 có


VD1 là dữ liệu phải là dữ liệu dạng
dạng gì? kiểu số không ?
BÀI 12: KIỂU XÂU

Tiết 1: Giới thiệu về xâu,khai báo xâu và các thao tác xử lí xâu.
1) Giới thiệu xâu.
2) Khai báo xâu.
3) Các thao tác xử lí xâu.
4) Củng cố.
5) Bài tập về nhà.

Tiết 2: Tìm hiểu một số ví dụ về xâu.


BÀI 12 : KIỂU XÂU (T1)

1. Giới thiệu về kiểu xâu:


a.Khái niệm:
A T I n H o c
VD: 1 2 3 4 5 6 7

-Kiểu dữ liệu xâu là dãy các kí tự trong bộ mã ASCII,


-Mỗi kí tự được gọi là một phần tử của xâu.
-Số lượng kí tự trong một xâu được gọi là độ dài của xâu.
-Xâu có độ dài bằng 0 gọi là xâu rỗng (kí hiệu là : ‘ ‘ )
-Có thể xem xâu như là mảng một chiều mà mỗi phần tử là một kí tự. Các kí tự
của xâu được đánh số thứ tự, thường bắt đầu từ 1<Kể cả kí tự trống>.

VD: ‘Bach khoa’ ‘KI SU’ ‘ 2007 la nam dinh hoi’ ‘Lop 11A1’

S: = ‘ TRUONG THPT THANH BINH ’

Tên xâu là gì? Độ dài của xâu ? Tên Xâu là S, độ dài = 22


BÀI 12
BÀI 12 : KIỂU : KIỂU
XÂU (T1) XÂU
1)Giới thiệu về xâu:
a.Khái niệm:
b.Các quy tắc, cách thức cho phép xác định kiểu xâu:
Quy tắc và cách thức Ví dụ

Tên kiểu xâu S:=‘Lop 11A1’


Cách khai báo biến kiểu xâu Var S:String[20];

Số lượng các kí tự của xâu ‘Lop 11A1’ có số lượng


kí tự là 8
Các phép toán thao tác với xâu Ghép, so sánh, chèn,…
Cách tham chiếu đến phần tử của xâu S[1] là kí tự ‘L’
BÀI 12 : KIỂU XÂU (T1)

2.Khai báo xâu :


a.Cú pháp:
Var <tên biến>:String[ độ dài lớn nhất của xâu ];
Hoặc
Var <tên biến>:String;
Ví dụ: Var Ho ten: String[26];
Que quan: String[35];
S1,S2 : String;
Khi khai báo xâu có thể bỏ qua phần khai báo độ dài lớn nhất
của xâu được không? Vì sao?
Chú ý: - Khi khai báo xâu có thể bỏ qua phần khai báo [độ dài
lớn nhất của xâu],khi đó độ dài lớn nhất của xâu sẽ nhận giá trị
ngầm định là 255 kí tự.
- Hằng xâu kí tự đặt trong dấu nháy đơn.VD: ‘ THANHBINH ’
b.Cách tham chiếu đến từng phần tử của xâu :
Tên biến xâu[chỉ số]
Ví dụ:
S:=‘Lop 11A1’ S[7]= S[7]=‘A’
S:= ‘Chao mung ngay nha giao viet nam 20-11’ S[6]=
3.Các thao tác xử lí xâu:
Xét VD: S1:=‘Lop 11A1’ s3:=‘ Lop 11A1 TRUONG THANH BINH’
S2:=‘TRUONG tHANH bINH’

a.Phép ghép xâu:


Được sử dụng để ghép nhiều xâu thành một xâu ,kí hiệu là dấu
cộng (+). Có thể thực hiện đối với hằng, biến xâu.
Ví dụ: ‘Ha’ + ‘Noi’ + ‘Viet Nam’ Kết quả ta nhận là gì
Kết quả nhận được là xâu: ‘Ha Noi Viet Nam’
Ví dụ : ‘Lop 11A1’ + ‘TRUONG THANH BINH’
Kết quả nhận được xâu : ‘ Lop 11A1 TRUONG THANH BINH ‘
BÀI 12 : KIỂU XÂU (T1)
3.Các thao tác xử lí xâu:
b.Các phép so sánh xâu:
Ta có những phép so sánh nào đối với xâu
Bao gồm: =, <>, <, >, <=, >=, có độ ưu tiên thấp hơn phép ghép xâu
và tuân theo các quy tắc sau:
• Hai xâu bằng nhau nếu chúng giống nhau hoàn toàn.
VD: ‘Tin hoc’ = ‘Tin hoc’ hoặc ‘Lop 11A1’ = ‘Lop11A1’
•Xâu A là lớn hơn xâu B nếu như kí tự đầu tiên khác nhau giữa chúng
kể từ trái sang trong xâu A có mã ASCII lớn hơn.
VD:‘Ha Noi’ > ‘ Ha Nam’(vì mã kí tự o là 111,còn mã a là 097)
• Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B
thì A là nhỏ hơn B.
VD: ‘Tin’ < ‘Tin học lớp 11’
BÀI 12: KIỂU XÂU (T1)
3.Các thao tác xử lí xâu:
b.Các phép so sánh xâu:
VD: Hãy điền các dấu so sánh giữa các xâu sau đây:
‘Lop 11A2’ < ‘Lop 11A2 TRUONG THANH BINH’
‘Chao mung ngay 20-11’ = ‘Chao mung ngay 20-11’
‘Ba’ > ‘Anh’ (mã B là: 066, mã A là: 065).
c.Một số thủ tục và hàm chuẩn được sử dụng trong kiểu dữ liệu
xâu:
* Thủ tục Delete(st,vt,n): Thực hiện việc xóa n kí tự của biến xâu st
bắt đầu từ vị trí vt.
VD:
Cho giá trị của xâu X là ‘Lop 11A1’, sau thao tác delete(X,4,5) giá
trị của xâu X là gì
Giá trị của xâu X là ‘Lop’
BÀI 12: KIỂU XÂU (T1)
*Thủ tục insert(s1,s2,vt): Chèn xâu s1 vào xâu s2 bắt đầu ở vị trí vt.

VD: Giá trị của xâu S2 là ‘Em yeu truong em’, hãy viết thao tác để
chèn xâu ‘THPT THANH BINH’ vào sau chữ truong trong xâu
S2.
insert(‘THPT THANH BINH’,S2,14);
*Hàm Copy(S,vt,N): 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.
VD: Giá trị của xâu S là ‘May tinh cua toi’, thực hiện thao tác tạo
ra một xâu X có giá trị là ‘May tinh’.
X:=Copy(S,1,8);
*Hàm Length(S) : Cho giá trị là độ dài của xâu S.
VD: Giá trị của xâu X là ‘May tinh’, hãy cho biết kết quả trả về sau
khi thực hiện length(X)
Length(X)=8
BÀI 12: KIỂU XÂU (T1)
3.Các thao tác xử lí xâu:
c.Một số thủ tục và hàm chuẩn được sử dụng trong kiểu dữ liệu xâu:
*Hàm Pos(s1,s2) : Cho vị trí xuất hiện đầu tiên của xâu s1 trong
xâu s2.
VD:
Cho s1=‘Lop 11A2’; s2=‘TRUONG THANH BINH LOP 11A2’

Pos(s1,s2)= Pos(s1,s2)=19

*Hàm upcase(ch) : Cho chữ cái in hoa ứng với chữ cái trong ch
VD: Cho xâu S có giá trị là ‘Lop 11a1’
Hãy dùng hàm upcase() để chuyển kí tự ‘a’ trong xâu S sang kí tự
‘A’ Upcase(S[7])=‘A’
Bài tập ứng dụng:
PHIẾU HỌC TẬP

Sử dụng thủ tục insert(), viết chương trình để chèn xâu s1:=‘ PC ’ vào
xâu s2:=‘IBM486’ và sau đó in ra màn hình xâu s2 là ‘IBM PC 486’

ĐÁP ÁN
Program Chen_xau;
Uses crt;
Var s1,s2: string[30];
Begin
clrscr;
s1:= ‘ PC ‘; s2:= ‘IBM486’; insert(s1,s2,4);
writeln(‘Xau s2 sau khi chen xau s1 vao la: ’);
writeln(s2);
readln;
End.
LẬP TRÌNH Chạy chương trình
BÀI 12 : KIỂU XÂU (T1) *Một số câu hỏi trắc nghiệm khách quan:

4. Củng cố Câu1: Xâu là một dãy các kí tự trong bộ mã :


A . TCVN3 C. UNICODE
H·y nhí! BB. ASCII D. VNI
- Khái niệm xâu,cách khai báo,
truy cập vào từng phần tử của xâu. Câu2: Trong khai báo về xâu sau đây khai
báo nào sai:
- Các thao tác làm việc với xâu.
A. Var a : String ; C.Var a : String [10];
- Sử dụng được một số hàm, thủ
BB. Var a: String[-4]; D. Var a: String[4*3];
tục thông dụng về xâu.
Câu3: Thủ tục insert( ‘Viet’,’Nam’,4) sẽ cho
kết quả nào sau đây:

A. Viet Nam C. VietNam

B. Nam Viet D
D. NamViet
BÀI TẬP VỀ NHÀ
- Ôn tập lại bài học hôm nay:
+ Cách khai báo xâu.
+ Cách tham chiếu tới phần tử kiểu xâu.
+ Một số phép toán thao tác với xâu.
- Đọc nghiên cứu phần 3 ‘Một số ví dụ’ SGK T71.
- Làm bài tập 10,11 SGK trang 80.
KEÁT THUÙC BAØI HOÏC
Xin chân thành cảm ơn các thầy cô giáo và các em học sinh

You might also like