1. Trang chủ
  2. » Giáo án - Bài giảng

giao an kieu xâu

8 290 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiểu xâu
Tác giả Nguyễn Thị Hòa
Người hướng dẫn Hồ Ngọc Phụng
Trường học Trường Trung Học Phổ Thông
Chuyên ngành Tin học
Thể loại Giáo án
Năm xuất bản 2010
Thành phố Hà Nội
Định dạng
Số trang 8
Dung lượng 106 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kiến thức: • Biết được nguyên nhân tại sao sinh ra kiểu sữ liệu xâu • Phân biệt được sự giống và khác giữa kiểu mảng các ký tự với xâu.. • Biết được cách khai báo biến, nhập xuất dữ liệu

Trang 1

GIÁO ÁN GIẢNG DẠY

Người soạn: Nguyễn Thị Hòa Ngày soạn: 02/03/2010 Giáo viên hướng dẫn: Hồ Ngọc Phụng Ngày dạy: 04/03/2010 Lớp: 11B6

Tiết 28

§12 KIỂU XÂU (Tiết 1)

I MỤC TIÊU BÀI HỌC:

1 Kiến thức:

• Biết được nguyên nhân tại sao sinh ra kiểu sữ liệu xâu

• Phân biệt được sự giống và khác giữa kiểu mảng các ký tự với xâu

• Biết được cách khai báo biến, nhập xuất dữ liệu, tham chiếu đến từng ký tự của xâu

• Biết các phép toán, thủ tục và hàm thông dụng liên quan đến xâu

2 Kĩ năng:

• Nhận biết được trường hợp nào cần sử dụng kiểu xâu

• Khai báo được biến kiểu xâu trong ngôn ngữ lập trình Pascal

• Nhận biết được biến xâu và các phép toán xử lí trên xâu

3 Thái độ:

• Ham thích môn học, có tính kỷ luật cao

• Rèn luyện các phẩm chất cần thiết của người lập trình như: xem xét vấn đề một cách cẩn thận, chu đáo, sáng tạo

II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:

• Phương pháp: Giải quyết vấn đề, thuyết trình, diễn giảng, vấn đáp.

• Phương tiện: Bảng

• Chuẩn bị

Giáo viên : Giáo án, sách giáo viên, tài liệu tham khảo

Học sinh: Vở ghi chép, sách giáo khoa.

Trang 2

III TIẾN TRÌNH LÊN LỚP

1 Ổn định tổ chức lớp (1’)

• Ổn định trật tự, tạo tâm lý tốt để bắt đầu tiết học

2 Kiểm tra bài cũ (5’)

- Hỏi:

1 Hãy cho biết mảng một chiều là gì?

2 Em hãy khai báo biến mảng 1 chiều có tên Hoten gồm 30 kí tự?

- Trả lời: 1 Nêu định nghĩa mảng một chiều

2 - Var Hoten : array[1 30] of char;

- Type Mang_ht =array[1 30] of char;

Var Hoten: Mang_ht;

- Nhận xét và cho điểm.( Có thể mời học sinh khác nhận xét)

3 Nội dung bài mới.

CỦA HS

NỘI DUNG

Hoạt động 1: Nguyên nhân sinh ra kiểu dữ liệu xâu (3’) - Dữ liệu trong các bài toán

không chỉ thuộc kiểu số mà cả

kiểu phi số - dạng kí tự

Cho ví dụ : Viết chương trình

nhập họ tên của 30 học sinh

trong lớp, cho biết tên bạn nào

dài nhất Với các kiểu dữ liệu

em đã học, làm thế nào để lưu

trữ họ tên của học sinh?

Chú ý theo dõi

- Dùng mảng một chiều với kiểu phần

tử là kiểu char

Trang 3

Var Hoten: array[1 30] of

char;

Hoten

1 2 … 30

Vấn đề đặt ra là khi số lượng

phần tử của mảng bằng 30 kí tự,

mà mỗi lần nhập chỉ được 1 kí

tự, thì số lần nhập là bao

nhiêu?

- Có những khó khăn nào gặp

phải?

=> Nhận xét và kết luận:

Chúng ta có thể dùng mảng một

chiều với kiểu phần tử là kiểu

char để lưu họ tên của học sinh,

tuy nhiên sẽ gặp rất nhiều khó

khăn khi thao tác trên mảng đó

như: nhập, xuất…(phải dùng

vòng lặp for và phải Enter nhiều

lần khi nhập từ bàn phím)

- Do vậy, để giải quyết khó

khăn đó, ngôn ngữ lập trình có

một kiểu dữ liệu mới cho phép

ta nhập/xuất dữ liệu cho một

dãy kí tự bằng một lệnh đó là

kiểu xâu

- Vậy xâu là gì? Khai báo ra

sao? Chúng ta sẽ tìm hiểu bài

12 kiểu xâu

- 30

- Chương trình viết

dài dòng Khi nhập

dữ liệu phải gõ nhiều phím

- Học sinh chú ý

lắng nghe

Tiết 28 KIỂU XÂU.

Hoạt động 2: Tìm hiểu về kiểu xâu.

Trang 4

3’

Cho một số dãy kí tự ví dụ như:

‘Le Van Anh’; ‘12345’=> khái

niệm

+> Đưa và giải thích về khái

niệm

+>Nhắc lại:

Kí tự bao gồm các chữ cái

thường và hoa như a, b, c, , z,

A, B, C, , Z, các chữ số thập

phân 0, 1, 2, , 9 và một số kí tự

khác như các phép toán…

+> Dựa vào khái niệm và các

ví dụ trên, em nào hãy cho cô

1 ví dụ khác?

- Hỏi: Xâu có bao nhiêu kí tự?

- Hỏi: Xâu chỉ gồm một kí tự

trắng được viết như thế nào? Độ

dài xâu bằng bao nhiêu?

- Hỏi: Xâu rỗng được viết như

thế nào? Độ dài xâu bằng bao

nhiêu ?

- Để khai báo biến có kiểu dữ

liệu xâu ta sử dụng tên dành

riêng STRING, tiếp theo là độ

dài lớn nhất của xâu(<=255),

được ghi trong cặp dấu [] Theo

cú pháp như sau:

- Nêu và giải thích về cách khai

báo biến kiểu xâu

* Cho ví dụ:

- Yêu cầu học sinh cho ví dụ?

Hỏi: Khi khai báo không có[n]

thì số lượng kí tự tối đa là bao

nhiêu?

- Chú ý theo dõi

- Lấy ví dụ

- Trả lời.

- Kí hiệu của xâu gồm một kí tự trắng

là ‘ ’ Xâu này có

độ dài là 1

- Kí hiệu của xâu rỗng là ‘’ Xâu này

có độ dài là 0

- Số kí tự tối đa là 255

1 Khái niệm

- Xâu là một dãy kí tự trong bảng mã ASCII

Ví dụ: ‘LỚP 11B6’

- Mỗi kí tự được gọi là một phần tử của xâu

- Số lượng kí tự trong xâu được gọi là độ dài xâu

Ví dụ: Xâu trên có 8 kí tự

=> Độ dài của xâu trên là 8

Chú ý:

- Xâu kí tự được đặt trong cặp nháy đơn (‘’)

- Xâu có tối đa 255 kí tự

- Xâu không có kí tự nào được gọi là xâu rỗng

2 Khai báo  Cú pháp:

Var <Tên_biến>:

String[độ dài lớn nhất];

Trong đó:

- String: Từ khóa khai báo kiểu xâu.

* Ví dụ:

Var Hoten: String [50]; Var Que_quan: String[60]

Chú ý:

- Trong mô tả xâu có thể

bỏ qua phần khai báo độ

Trang 5

- Giới thiệu cấu trúc chung

- Yêu cầu học sinh tìm một ví

dụ

- Hỏi: Có gì giống và khác nhau

so với cách tham chiếu đến

từng phần tử của mảng

Hoten[2]=?

Hoten[3]=?

- Giống cấu trúc chung khi tham chiếu tên biến[chỉ số]

‘e’

‘ ’

dài

Ví dụ:

Que_quan: String;

- Nếu không khai báo độ dài tối đa cho xâu kí tự thì

độ dài ngầm định cho xâu

là 255

 Tham chiếu đến phần tử của xâu:

Có thể xem xâu là mảng 1 chiều

- Cách tham chiếu tới phần tử của xâu giống kiểu mảng

Tên biến[chỉ số].

Ví dụ:

Hoten:= ‘Le Anh’

Ví dụ: Hoten[5]= ‘n’;

Hoạt động 3: Tìm hiểu các thao tác xử lí xâu.

Trang 6

5’

5’

+>Tìm hiểu chức năng của một

số phép toán trong kiểu xâu qua

một số ví dụ

- Phép ghép xâu: Kí hiệu phép

cộng

- Sử dụng để ghép nhiều xâu

thành một xâu

- Thực chất phép ghép xâu là

viết tiếp xâu sau dấu cộng vào

cuối xâu trước dấu cộng

- Nếu xâu sau khi ghép có

nhiều hơn 255 kí tự => báo lỗi

+> Lấy ví dụ

- So sánh xâu:

- Thực hiện so sánh các cặp kí

tự từ trái sang phải theo quy tắc

sau:

- Nêu các qui tắc so sánh

- Nhắc lại các mã thập phân của

các kí tự trong bảng mã ASCII

- A(65)  Z(90)

- a(97)  z(122).

- ‘0’ (48)  ‘9’(57)

- Cho các ví dụ cụ thể và hỏi

HS trả lời

Ví dụ:

‘Lop 11B6’ ? ‘Lop 11B5’

Lan ? Lam

Lưu ý : Một xâu có độ dài nhỏ

hơn có thể lớn hơn (>) xâu có

độ dài lớn.

Ví dụ: ‘AC’ < ‘ABC’

Giới thiệu cấu trúc chung của

các thủ tục và lấy ví dụ minh

họa.

- Với ví dụ trên sẽ cho ta kết quả

như thế nào?

Chú ý theo dõi

So sánh

Chú ý theo dõi, chép bài

3 Các thao tác xử lí xâu

a Phép ghép xâu:

- Kí hiệu là dấu ( +)

- Ghép nhiều xâu thành một xâu

Ví dụ: ‘Le Van’ + ‘ An’

kết quả: ‘Le Van An’

b Các phép so sánh xâu:

+> Gồm các toán tử: =,

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

Qui tắc:

- A> B <=> Kí tự khác nhau đầu tiên của xâu A

có mã ASCII lớn hơn

Ví dụ: AC> AB;

- A< B <=> Nếu xâu A là đoạn đầu của xâu B

‘An’< ‘Anh’

- A=B <=> Hai xâu A và

B giống nhau hoàn toàn

Ví dụ: ‘Tin hoc’= ‘Tin hoc’;

c) Các thủ tục:

* Delete(s, vt, n): Xóa n kí

tự bắt đầu từ vị trí vt trong xâu s.

Ví dụ: s:= ‘abcdef’;

Delete(s, 3, 2);

Kết quả: s = ‘abef’

* Insert(s1, s2, vt):

Trang 7

- Bạn nào cho cô biết, với ví dụ

trên sau khi thực hiện lệnh Insert

thì giá trị của xâu s2 thu được là

gì?

Giới thiệu cấu trúc chung của

các hàm và lấy ví dụ minh họa

- Với ví dụ trên sẽ cho ta kết quả

như thế nào?

- Lấy thêm ví dụ cho học sinh

thực hiện

‘abef’

‘Truong THPT Phong Dien’

- Chú ý theo dõi

và trả lời câu hỏi.

Để chèn xâu s1 vào xâu s2, bắt đầu ở vị trí vt

Ví dụ: s1 := ‘THPT ’ s2 := ‘Truong Phong Dien

Insert(s1, s2, 8);

Kết quả : s2 = ‘Truong THPT Phong Dien

d) Các hàm:

* Copy(S, vt, n):

Để tạo xâu mới gồm n kí tự liên tiếp bắt đầu từ vị trí vt của xâu S

Ví dụ: S := ‘Mon Tin Hoc’

S1 := Copy(S, 5, 3);

Kết quả : S1=‘Tin’

* length(S):

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

Ví dụ : S := ‘Thua Thien Hue’;

N := length(S); Kết quả : N = 14.

* Pos(s1, s2):

Cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2

Ví dụ: s1 := ‘bc’

s2 := ‘abcdef’

Vt := Pos(s1, s2); Kết quả : Vt = 2.

* upcase(ch):

Cho kí tự in hoa của kí tự thường ch

Ví dụ: ch := ‘a’;

upcase(ch);

Kết quả : ‘A’

Trang 8

4 Củng cố và bài tập về nhà ( 2’)

1 Những nội dung đã học

• Khái niệm kiểu xâu

• Cách khai báo biến kiểu xâu

• Các thao tác xử lí xâu: phép ghép xâu, phép so sánh xâu, các hàm và thủ tục

2 Câu hỏi và bài tập về nhà

- Xem trước nội dung phần ví dụ của SGK

Ngày đăng: 01/07/2014, 03:00

Xem thêm

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w