Tải bản đầy đủ

Bài 12 Kiểu dữ liệu xâu Giáo án điện tử tin học


? Em hãy cho biết chương trình sau có ý nghĩa gì?

Program vi_du;
Var A: array [1..100] of integer;
n, i,T:integer;
Begin
Write (‘nhap so phan tu n=’); readln (n);
For i:=1 to n do
begin
Write (‘nhap phan tu thu ‘, i, ‘=’);
Readln (A[i]);
End;
T:=0;
For i:=1 to n do T:= T + A[i];
Writeln (‘Tong la:’, T);
Readln
End.


ý nghĩa chương trình :


Nhập vào một số nguyên dương n (n<=100).
Sau đó nhập vào một dãy gồm n số nguyên và đưa
ra màn hình tổng các số trong dãy.


Bài toán đặt vấn đề:
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

B

N

G

u

y

a

e

N

Hãy xác định
kiểu dữ liệu
của hai biến
A,B?


n

H

m

y


Bµi
12

Gi¸o ¸n ®iÖn tö tin häc líp 11


1. Khái niệm
Xâu là dãy các kí tự trong bộ mã ASCII.
Ví dụ:

A
Trong đó:

T

I

n

1

2

3

4

H
H

o

c

5

6

7

Tên xâu: A;
Mỗi kí tự gọi là một phần tử của xâu;
Khi tham chiếu đến kí tự thứ i của xâu ta viết A[i].
Ví dụ: A[5]= H .
Độ dài của xâu (số kí tự trong xâu): 7;
- Xâu rỗng là xâu


2. Khai báo kiểu dữ liệu xâu (trong Pascal)
Var : String[độ dài lớn nhất];
Ví dụ:

Var ho_ten: String[26];

Khi khai báo xâu có thể bỏ qua phần khai báo [độ dài lớn nhất],
khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.
Ví dụ:

Var chu_thich :String;


3. Các thao tác xử lí xâu
a. Phép toán đối với xâu:
* Phép ghép xâu: kí hiệu + dùng để ghép nhiều xâu thành một xâu
Ví dụ:
* Phép so sánh:

Ha + Noi

Ha Noi

=, <>, <, <=, >, >=

* Quy ước:


Tin hoc

= Tin hoc

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

Ha Noi

> Ha Nam

- Xâu A = B nếu chúng giống hệt nhau.

+ Xâu B là đoạn đầu của xâu A.



Viet Nam > Viet


VÝ dô: So s¸nh c¸c x©u sau ®©y:
a)

‘ Anh’ < ‘ Em’

b)

‘ abc’

c)

‘ Tin hoc’

d)

‘ Tin häc’

< ‘ acb’
>
<

‘ Tin’
‘ tin’


b. Các thủ tục và hàm chuẩn xử lí xâu
* Các thủ tục xử lý xâu:
Thủ tục
Delete(S,vt,n)
Insert(S1,S2,vt)

Ý nghĩa

Ví dụ

Xóa n kí tự trong
xâu S từ vị trí vt

S = ‘ Song Hong’
Delete(S,1,5)
 ‘Hong’

Chèn xâu S1 vào
xâu S2 từ vị trí vt

S1=‘ 1’ S2=‘ Hinh .2’
Insert(s1,s2,6)
 ’Hinh 1.2’


• Ví dụ 1: Viết chương trình nhập vào một xâu kí
tự. Xâu nhập vào có thể chứa dấu cách ở đầu
xâu. Cho hiển thị lên màn hình xâu đã nhập sau
khi xóa hết dấu cách ở đầu xâu.
Program vi_du;
Uses crt;
Var s:string;
Begin
Writeln(‘nhap xau s’); Readln(s);
While s[1]= ‘ ‘ do Delete(s,1,1);
Writeln(‘xau sau khi loai bo dau cach o dau la:’, s);
Readln;
End.


Ví dụ 2: Viết chương trình nhập vào hai xâu kí tự s1
và s2. Chèn xâu s1 vào xâu s2 bắt đầu từ vị trí thứ
5. Viết kết quả của xâu s2 ra màn hình.
Program vi_du;
Uses crt;
Var s1, s2 : string;
Begin
Writeln(‘nhap xau s1’); Readln(s1);
Writeln(‘nhap xau s2’); Readln(s2);
Insert (s1,s2,5);
Writeln(‘xau s2 sau khi chen xau s1 o vi tri thu 5 la:’, s2);
Readln;
End.


* Các hàm xử lý xâu:
Hµm

ý nghÜa

VÝ dô
S = ‘ Tin hoc’

1. Copy(S,vt,n)

Tạo xâu gồm N kí tự liên
tiếp từ vị trí vt của xâu S

2. Length(S)

Cho giá trị là độ dài của
xâu S

S = ‘ Xin chao’
Length(S) = 8

3. Pos(S1,S2)

Cho vị trí đầu tiên của xâu
S1 trong xâu S2

S1=‘ 1’ S2=‘ Hinh
1.2’
Pos(S1,S2) = 6

4. UPCase(ch)

Chuyển kí tự ch thành chữ
hoa

Ch=‘ a’
UPCase(ch) = ‘ A’

Copy(S,5,3)= ‘ hoc’


H·y nhí!
 Xâu là dãy kí tự trong bộ mã
ASCII
‘Xin chao cac ban!’

Var S : string[30]

S[1] = ‘X’

 Khai báo: Tên xâu, độ dài lớn
nhất của xâu




Tham chiếu đến phần tử của
xâu:
Tên xâu[chi số];

 Các thao tác xử lí xâu thường
dùng:
+ Phép ghép xâu, so sánh xâu
+ Các hàm và thủ tục liên quan



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×