Trường THPT Tịnh Biên Bộ Đề Cương
ôn thi HKII khối 11 Năm học 2010-2011
MẢNG MỘT CHIỀU
Là dãy hữu hạn các phần tử cùng kiểu
Khai báo:
Trực tiếp: var <tên biến mảng> :array [chỉ số đầu chỉ số cuối] of <kiểu dữ liệu>;
Gián tiếp: type<tên kiểu mảng> =array [chỉ số đầu chỉ số cuối] of <kiểu dữ liệu>;
var <tên biến mảng> : <tên kiểu mảng> ;
Tham chiếu đến phần tử của mảng: <tên mảng> [chỉ số phần tử]
MẢNG HAI CHIỀU
Là bảng các phần tử cùng kiểu
Khai báo:
Trực tiếp:
var <tên biến mảng> :array <chỉ số đầu hàng chỉ số cuối hàng,chỉ số đầu cột chỉ số cuối cột] of <kiểu dữ
liệu> ;
Gián tiếp:
type <tên biến mảng> =array [chỉ số đầu hàng chỉ số cuối hàng,chỉ số đầu cột chỉ số cuối cột] of <kiểu
phần tử> ;
var <tên kiểu mảng> : <tên biến mảng> ;
XÂU
Xâu là dãy kí tự trong bộ mã ASCII (cĩ thể được xem là mảng một chiều)
Mỗi kí tự của xâu được gọi là một phần tử của xâu
Số lượng phần tử trong xâu được gọi là độ dài của xâu
Xâu cĩ độ dài bằng khơng được gọi là sâu rỗng
Cách tham chiếu đến phần tử của xâu <tên xâu>[chỉ số phần tử của xâu];
Khai báo: var <tên biến>:string[độ dài lớn nhất của xâu];
Phép ghép xâu: dùng nhiều xâu ghép lại thành 1 xâu VD: ‘Viet’+’Nam’=’VietNam’
Phép so sánh: 2 xâu bằng nhau nếu chúng giống nhau hồn tồn.
Xâu A>xâu B nếu:
Kí tự đầu tiên khác nhau giữa 2 xâu của xâu A cĩ mã ASCII lớn hơn
Xâu B là đoạn đầu của Xâu B
VD: ‘Anh’<’Ba’ ; ‘Anh’<’Anh Ba’
Thủ tục delete: (st,vt,n) xĩa n kí tự của xâu s bắt đầu từ vị trí vt
VD: delete(‘Tin hoc’,2,3);→’Thoc’
Thủ tục insert: (s1,s2,vt) chèn xâu s1 vào xâu s2 bắt đầu từ vị trí vt.
Insert(‘ABC’,’EFG’,2) →’EABCFG’
Hàm copy (s,vt,N) tạo xâu N cĩ kí tự liên tiếp bắt đầu từ vị trí vt của xâu s.
VD: ‘Bai hoc thu 9’ copy(s,9,5) → ‘thu 9’
Hàm length(s): xác định độ dài của xâu s VD: ‘500 ki tu’ length(s) → 9
Hàm pos(s1,s2) cho vị trí đầu tiên của xâu s1 trong xâu s2.VD: ’abcdef’ pos (‘cd’,s2) → 3
Hàm upcase(ch) cho kí tự in hoa tương ứng ch Vd: upcase(‘tui’) → TUI
Các Ví Dụ
Trang 1
Trang 2Trường THPT Tịnh Biên Bộ Đề Cương
ôn thi HKII khối 11 Năm học 2010-2011
Trang 2
Nhập và in ra xâu dài hơn
Var s1,s2:string;
Begin
Write(‘Nhap xau 1: ‘);
Readln(s1);
Writeln(‘Nhap xau 2: ‘);
Readln(s2);
If length(s1)>length(s2) then
write(s1) else write(s2);
Readln;
End.
Nhập 2 xâu kiểm tra kí tự đầu có trùng với kí tự cuối
Var n:byte;
s1,s2:string;
Begin
Write(‘Nhap xau 1: ‘);
Readln(s1);
Writeln(‘Nhap xau 2 ‘);
Readln(s2);
n:length(s2);
if s1[1]=s2[n] then write(‘Trung nhau’) else write(‘Khac nhau’);
readln;
end.
Nhập và in ra màn hình xâu ngược
lại
Var i,k:byte;
s1:string;
Begin
Write(‘Nhap xau ‘);
Readln(s1);
k:=length(s1);
For i:=k downto 1 do
write(s1[i]);
Readln;
End.
Nhập xâu in ra xoá bỏ dấu
cách
i:byte;
Begin
Write(‘Nhap xau: ‘);
Readln(s1);
s2:=’’;
For i:=1 to length(s1) do
If s1[i]<> ‘ ’ then
s2:=s2+s1[i];
Writeln(‘Ket qua: ‘,s2);
Readln;
End.
Nhập xâu nhưng in ra chữ số
Var s1,s2:string;
I:byte;
Begin
Write(‘Nhap xau ‘);
Readln(s1);
S2:=’’;
For i:=1 to length(s1) do
If(‘0’<=s1[1]) and
(s1[i]<=’9’) then
s2:=s1+s1[i];
Writeln(s2);
Readln;
End.
Nhập dãy và in ra số chẵn, số lẽ
Var a:array[1 10] of integer;
n,i,chan,le:integer;
begin write(‘Nhap so luong phan tu ‘); readln(n);
for i:=1 to n do begin
writeln(‘Nhap phan tu thu
‘,i,’ cua day: ‘);
readln(a[i]);
end;
chan:=0;{khởi tạo giá trị cho
chẵn và lẻ
le:=0; là 0}
for i:=1 to n do
if a[i] mod 2=0 then chan:=chan+1 else
le:=le+1;
writeln(‘’So chan co: ‘,chan); writeln(‘So le co: ‘,le);
readln;
end.