bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
Bai 12 kx
1. Tin học 11 - Chương 4 - Bài 11:Kiểu mảng3/19/2018
WELCOME TO MY CLASS!
Trường THPT Lý Thường Kiệt
Môn: Tin học 11
_______________________________
teacher:NguyễnNgọcPhú
mail:tinhocnhe@gmail.com
câuhỏi:
http://link.fpo.vn/giaosinh
7. Xâu là dãy các kí tự trong bộ mã ASCII
T I N H O CA
1 2 3 4 5 6 7
Trong đó:
Khi tham chiếu đến phần tử thứ i của xâu ta
viết :
Tên xâu:
Mỗi kí tự gọi
là
Ví dụ:
Độ dài của xâu (Số kí tự trong xâu):
H
‘H’
A;
mỗi phần tử của xâu
7;
A[i]
Ví dụ: A[5]=
1. Khái niệm:
- Kí tự đầu tiên bên trái của xâu được đánh chỉ số là 1.
8. * Các quy tắc hay cách thức xác định biến xâu trong ngôn ngữ
lập trình:
- Cách khai báo biến xâu.
- Tên biến xâu.
- Số lượng phần tử của xâu.
- Cách tham chiếu tới phần tử của xâu.
Tên biến xâu[ chỉ số tham chiếu ]
- Các phép toán thao tác với xâu.
10. 2. Khai baùobieán xaâu
Var <Teânbieán> : String[ñoä daøi lôùn nhaátcuûa
xaâu];-Trongñoù:
Teân cuûabieán xaâu
- Cuù
phaùp:
Töø khoùa khaibaùo bieán xaâu
<Teânbieán> :
String :
Var hoten: string[30];
Tên biến Độ dài lớn nhất là 30
11. - Nếu không khai báo độ dài lớn nhất của xâu thì xâu sẽ nhận giá trị ngầm định là 255. Xâu ký tự trong bộ
nhớ chiếm số byte bằng số ký tự cực đại được khai báo cộng với byte đầu tiên chứa số ký tự hiện có của
xâu.
- Ngoài ra có các kiểu khai báo khác của xâu như:
+ Shortstring: Chính là String
+ longstring: là mảng ký tự có kiểu char. Thông thường kiểu char có kích thước 16 bit
nên mảng có kích thước tối đa 16 bit = 65535 ký tự
+ ansistring (chỉ có trong free pascal)có kích thước gần 2GB = 230 B
Lưu ý
12. 2. Khai baùobieán xaâu
Var<teânbieán>:String[ñoä daøilôùnnhaátcuûa
xaâu];-VD1:Khai baùo bieánñeå löu hoïteâncuûa moätngöôøi
-Cuù phaùp:
VarHoten:String[50];
-VD2:Khaibaùobieánñeå löu ñòa chæ cuûa moätngöôøi
Vardiachi:String;
*Chuùyù: Khikhaibaùo bieán neáu khoângñöa ñoä daøilôùn nhaátvaøo thì ñoädaøimaëc
ñònh laø255
Lưu ý: Trong khi soạn thảo một chương trình, khi viết một xâu kí tự, ta phải viết xâu kí tự đó
giữa hai dấu nháy đơn. Nhưng khi chạy chương trình, để nhập giá trị của một xâu, ta chỉ cần
gõ các kí tự thuộc xâu đó.
13. Chọn khai báo đúng
Var Ten:String[30];
Var TieuSu:String[300];
Var NgaySinh:String[10];
SVar GioiTinh:String[0];
Đ
S
Đ
14. 2. Khai baùobieán xaâu
Nhaäp Vaø xuaátdöõ lieäu xaâu:
-Nhaäp:
readln(<teânbieán xaâu>);
- Xuaát:
Write(<teân bieán xaâu>);
VD: VCT nhaäpvaø xuaátra hoï vaø teâncuûa 1 hoïc sinh
program VD;
uses crt;
Var S: String[50];
begin
write('Nhap vao Ho Va Ten cua HS: ');
readln(S);
write('Ho Va Ten vua nhap la:',S);
readln
end.
2.1) Nhập xuất dữ liệu cho biến xâu
15. Khi viết nhập/ xuất dữ liệu cho
biến xâu có gì khác so với biến
mảng các kí tự?
- Viết một lệnh nhập nguyên cho cả xâu.
- Viết lệnh gọn hơn, Chương trình gọn.
Ta có thể sử dụng lệnh gán để nhập giá trị
cho biến xâu:
Tên_biến_xâu := hằng_xâuVí dụ: St : = ‘ HA NOI’
?
16. 2.2) Cấu trúc chung khi tham chiếu
Tên biến[chỉ số]
Ví dụ: st[2]
Các em hãy tìm thêm vài ví dụ?
?
17. 3.1) Biểu thức xâu:
Là biểu thức trong đó các toán hạng là các biến xâu, biến kí
tự
- Söû duïng kíhieäu+ ñeå gheùp nhieàuxaâu thaønh
moät xaâu
a. Pheùpgheùp
xaâu
-Víduï: S:=‘Viet’+‘Nam’
S:=‘VietNam’
Pheùp gheùpxaâu duøng ñeå laøm gì?
Vaø söû duïngkíhieäu naøo ñeå gheùp
caùcxaâu laïi vôùi nhau?
S1:= ‘PHU ’ + ‘HUNG’
S1:= ‘PHU HUNG’
23. Quan s¸t chư¬ng tr×nh ®Ó dù tÝnh kÕt qu¶.
Nhóm 1: Var st:string;
Begin
st:=‘HaNoi’;
Delete(st,3,2);
Write(st); Readln;
End.
Nhóm 2: Var st1,st2:string;
Begin
st2:=‘HaNoi’;
st1:=‘ ’;
Insert(st1,st2,3);
Write(st); Readln;
End.
Nhóm 3: Var st:string;
Begin
st:=‘Ha Noi’;
Write(length(st)); Readln;
End.
Nhóm 4: Var ch:char;
Begin
ch:=‘h’;
Write(Upcase(ch));
Readln;
End.
Nhóm 5: Var vt:byte;
Begin
vt:=pos(‘cd’,’abcdefcd’);
Write(vt);
Readln;
End.
Nhóm 6: Var st:string;
Begin
st:=copy(‘bai tap’,3,4);
Write(st);
Readln;
End.
24. Gi¸ trÞ
s1
Gi¸ trÞ s2 Thao t¸c KÕt qu¶
‘cua Me’ ‘Em se la mua
xuan’
Insert(...,s 2
...);
‘Em se la mua
xuan cua Me’
... ‘ABGHI’ Insert(...,s2,...); ‘ABCDEGHI’
§iÒn vµo chç trèng (...) trong b¶ng sau:
Gi¸ trÞ cña st Thao t¸c KÕt qu¶
‘abcdef’ Delete(st,...,...)
;
‘abef’
‘Xuan da ve tren cao nguyen’ Delete(st,5,5); ‘................................
..’
25. * Hàm LENGTH
Cấu trúc chung:
Cho giá trị là độ dài xâu S
LENGTH(S)
Ý nghĩa của LENGTH là gì?
Ý nghĩa của S là gì?
?
LENGTH là tên hàm
S là một biểu thức xâu ký tự
26. Ý nghĩa của LENGTH là gì?
Ý nghĩa của S là gì?
?
LENGTH là tên hàm
S là một biểu thức xâu ký tự
27. Ví dụ:
Giá trị s Biểu thức Kết quả
‘500 ki tu’ Length(s);
‘Lop 11A3’ Length(s);
‘Phu Thanh’ Length(s);
9
8
9
28. Hàm Length cho số lượng kí tự của xâu S
Chức năng của hàm
Length(S) là gì?
?
Chương trình
29. Viết chương trình nhập
vào một xâu, in ra màn
hình số kí tự ‘a’ có trong
xâu
Chương trình
Ứng dụng
30. * Hàm UPCASE:
Cấu trúc chung:
UPCASE(ch)
Chức năng của hàm
UPCASE(ch) là gì?
?
Cho giá trị là chữ cái in hoa của ch
31. Chương trình
Ví dụ:
Giá trị ch Biểu thức Kết quả
‘d’ Upcase(ch)
‘E’ Upcase(ch)
Viết chương trình nhập
vào một xâu, in ra màn
hình xây đó dạng in hoa
Ứng dụng
‘D’
‘E’
32. * Hàm POS
Cấu trúc chung:
POS(S1,S2)
Chức năng của hàm
POS(S1,S2) là gì?
?
Cho vị trí xuất hiện đầu tiên của xâu s1
trong xâu s2.
33. Chương trình
Ví dụ:
Viết chương trình nhập vào
1 xâu S. Xét xem trong xâu
có dấu cách nhau không?
Ứng dụng
Giá trị s1 Biểu thức Kết quả
‘abcdef ’ Pos(‘cd’,s2)
‘abcdef’ Pos(‘k’,s2)
Chương trình1
3
0
34. Cấu trúc chung:
Chức năng của hàm
COPY(S.,vt,N) là gì?
?
* Hàm COPY
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
35. Chương trình
Ví dụ:
Thực hiện chương trình
từ VD trên
Ứng dụng
Giá trị s Biểu thức Kết quả
‘ bai hoc thu 9’ Copy(s,9,5); ‘thu 9’
36. Thể lệ :
Dành cho cả 4 nhóm, gồm 5 câu hỏi.
Mỗi câu trả lời đúng được 10 điểm
trong thời gian 5 giây. Trả lời sai không
có điểm; (Bằng hình thức giơ bảng đáp
án A, B, C, D ).
37. 0503020100
Câu 1: Trong ngôn ngữ lập trình Pascal, thủ tục
Delete(a,b,c) thực hiện công việc gì trong các công viêc
sau?
A. Xóa trong xâu a, tại vị trí b, xóa đi c kí tự
B. Xóa trong xâu a, tại vị trí c, xóa đi b kí tự
C. Xóa trong xâu c, tại vị trí b, xóa đi a kí tự
D. Xóa trong xâu c, tại vị trí a, xóa đi b kí tự
38. 1009080706050403020100
Câu 2:
Cho S:= ‘Tin hoc’; Tham chiếu tới
phần tử thứ 4 của S ta được kết quả?
A. S[4] = ‘hoc’
B. S[4] = ‘’
C. S[4] = ‘h’
D. S[4] = ‘ ‘
39. 1009080706050403020100
Câu 3:
Cú pháp khai báo tổng quát, đầy đủ
của dữ liệu kiểu xâu là:
A. Var <tên biến> of String;
B. Var <tên biến>: String[độ dài lớn nhất của xâu];
C. Var < tên biến> String[độ dài lớn nhất của xâu];
D. Var < tên biến> of String[độ dài lớn nhất của xâu];
40. 0503020100
Câu 4:
Tìm vị trí xuất hiện đầu tiên
của xâu ‘hoa’ trong xâu S ta viết
A. I:= Pos(‘hoa’,S);
B. S1:= ‘hoa’; I:= Pos(S1,‘hoa’);
C. I:=Pos(S,‘hoa’)
D. I:=Pos(‘hoa’,‘hoa’)
41. 1009080706050403020100
Câu 5: Trong ngôn ngữ lập trình
pascal,hai xâu được so sánh dựa trên?
A. Độ dài tối đa của hai xâu;
B. Mã của từng kí tự trong các xâu lần lượt
từ trái sang phải;
C. Độ dài thực sự của hai xâu;
D. Số lượng kí tự khác nhau trong xâu;
42. Em hãy chỉ ra kết quả khi thực hiện các thao tác sau:
Giá trị st Thao tác Kết quả
a) ‘Dat Nuoc’ Delete(st, 5, 4)
b) ‘Hoc ki 2’ Copy(st, 4, 5)
c) ‘Hoc tot’ Length(st)
d) ‘Nang dong’ Pos(‘Nang’, st)
‘Dat ’
‘ki 2’
7
1
43. Bài tập
Viết chương trình nhập vào một xâu S, in ra màn hình xâu đó
ở dạng in hoa.
44. CHƯƠNG TRÌNH:
Program inhoa;
Uses CRT;
Var S: string; i: integer;
Begin
Clrscr;
Write(‘Nhap vao xau S: ’); readln(S);
For i:= 1 To length(S) Do upcase(S[i]);
Write(‘Xau da chuyen:’,S);
Readln;
End.
45. Viết chương trình nhập họ tên của 2 người vào 2 biến xâu và đưa ra màn hình xâu dài
hơn, nếu bằng nhau thì đưa ra xâu nhập sau.
Bài tập
Program bai2;
Uses CRT;
Var a,b: string;
Begin
Clrscr;
Write(‘Nhap ho ten nguoi thu nhat ’); readln(a);
Write(‘Nhap ho ten nguoi thu hai ’); readln(b);
Readln;
End.
IF Length(a)>Length(b) Then Write(a)
Else Write(b);