1. Trang chủ
  2. » Đề thi

giao an kieu xau

5 4 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 17,34 KB

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

Nội dung

Khi nhập dữ liệu phải gõ nhiều => 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 [r]

Trang 1

GIÁO ÁN GIẢNG DẠY

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 đo

Nhận biết va bước đầu sử dụng được một số hàm và thủ tục để giải một số bài toán liên quan đến

xâu

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.

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’)

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)

Trang 2

TG HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG 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?

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

Chú ý theo dõi

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

tử là kiểu char

- 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

Trang 3

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

Chúng ta sẽ tìm hiểu bài 12 kiểu

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

5’

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 độ 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

Trang 4

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

‘ ’

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

2’

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ụ:

Chú ý theo dõ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’;

Trang 5

10’

‘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?

- 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

So sánh

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

‘abef’

‘Truong THPT Phong Dien’

- Chú ý theo dõi và trả lời câu hỏi

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):

Để 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’

Ngày đăng: 12/06/2021, 11:20

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

w