Bài 1: KHÁI NIỆM VỀ LẬP TRèNH VÀ NGễN NGỮ LẬP TRèNH
I. MỤC ĐÍCH, YấU CẦU
1. Kiến thức
- Nắm được các thành phần cơ bản của ngôn ngữ lập trỡnh núi chung
- Biết được khái niệm về chương trỡnh dịch
- Phân biệt được chươn trỡnh dịch là biờn dịch và thụng dịch
2. Kỹ năng
- Biết vai trũ của chương trỡnh dịch
- Hiểu ý nghĩa nhiệm vụ của chương trỡnh dịch
3. Thái độ
- Ý thức được tầm quan trọng của môn học và có thái độ học tập nghiêm túc, luôn tự tỡm hiểu học tập
II. CHUẨN BỊ
1. Gv: Giỏo ỏn, mỏy chiếu, mỏy tớnh, phũng chiếu hoặc bảng.
2. Hs: Đọc trước SGK, xem lại một số kiến thức Tin học lớp 10.
Chương 1: MỘT SỐ KHÁI NIỆM VỀ LẬP TRèNH VÀ NGễN NGỮ LẬP TRèNH Tuần 01 Tiết 01 Ngày soạn: 03/08/2010 Ngày giảng ://.. Bài 1: KHÁI NIỆM VỀ LẬP TRèNH VÀ NGễN NGỮ LẬP TRèNH I. MỤC ĐÍCH, YấU CẦU 1. Kiến thức - Nắm được cỏc thành phần cơ bản của ngụn ngữ lập trỡnh núi chung - Biết được khỏi niệm về chương trỡnh dịch - Phõn biệt được chươn trỡnh dịch là biờn dịch và thụng dịch 2. Kỹ năng - Biết vai trũ của chương trỡnh dịch - Hiểu ý nghĩa nhiệm vụ của chương trỡnh dịch 3. Thỏi độ - í thức được tầm quan trọng của mụn học và cú thỏi độ học tập nghiờm tỳc, luụn tự tỡm hiểu học tập II. CHUẨN BỊ 1. Gv: Giỏo ỏn, mỏy chiếu, mỏy tớnh, phũng chiếu hoặc bảng. 2. Hs: Đọc trước SGK, xem lại một số kiến thức Tin học lớp 10. III. PHƯƠNG PHÁP - Thuyết trỡnh, vấn đỏp - Diễn giải, đàm thoại, giải quyết tỡnh huống cú vấn đề. IV. NỘI DUNG BÀI GIẢNG: 1. Ổn định lớp: Chào thầy cụ. Cỏn bộ lớp bỏo cỏo sỉ số Chỉnh đốn trang phục 2. Kiểm tra bài cũ - Thụng qua giảng bài 3. Bài mới Hoạt động của GV & HS Nội dung GV: Đặt cõu hỏi 1: Em hóy cho biết cỏc bước giải một bài toỏn trờn mỏy tớnh? HS: Suy nghĩ và trả lời cõu hỏi. GV: Phõn tớch cõu trả lời của học sinh. Nhắc lại cỏc bước giải bài toỏn trờn mỏy tớnh đó học ở lớp 10. GV: Đặt cõu hỏi 2: Em hóy cho biết cú mấy loại ngụn ngữ lập trỡnh? HS: Trả lời cõu hỏi của giỏo viờn. GV: Phõn tớch cõu trả lời của học sinh. Mỗi loại mỏy cú một ngụn ngữ riờng, thường thỡ chương trỡnh viết bằng ngụn ngữ của mỏy nào chỉ chạy được trờn mỏy đú. Khi viết chương trỡnh bằng ngụn ngữ bậc cao muốn thi hành được trờn loại mỏy nào thỡ cần chuyển chương trỡnh sang ngụn ngữ mỏy của mỏy đú. GV: Đặt cõu hỏi 3 : Làm thế nào để chuyển chương trỡnh viết bằng ngụn ngữ bậc cao sang ngụn ngữ mỏy? Đưa ra vớ dụ : Bạn là người khụng biết tiếng Anh vậy làm sao để bạn cú thể núi chuyện với người Anh hay đọc một cuốn sỏch tiếng Anh? Khi một người làm phiờn dịch người đú phải dịch như thế nào? (Dịch ngay từng cõu khi 2 người núi chuyện) Khi một người muốn dịch 1 cuốn sỏch sang tiếng Việt thỡ làm thế nào? (Dịch toàn bộ cuốn sỏch đú sang tiếng Việt để người đú cú thể đọc được) GV: Lấy vớ dụ về biờn dịch và thụng dịch cho học sinh cú thể hỡnh dung được mỗi cụng việc. Biờn dịch: Sử dụng ngụn ngữ lập trỡnh Pascal để dịch một chương trỡnh viết sẵn ra đĩa và thi hành chương trỡnh đó dịch để học sinh quan sỏt. Thụng dịch: Sử dụng cỏc lệnh trong Command promt để thực hiện một số lệnh của DOS hoặc dựng ngụn ngữ Foxpro để thực hiện một số lệnh quản trị dữ liệu, học sinh dễ dàng nhận ra việc thụng dịch. Đi kốm với cỏc chương trỡnh dịch thường cú cỏc cụng cụ như soạn thảo chương trỡnh nguồn, lưu trữ, tỡm kiếm, phỏt hiện lỗi, thụng bỏo lỗi, ngụn ngữ lập trỡnh thường chứa tất cả cỏc dịch vụ trờn. Khỏi niệm lập trỡnh: Lập trỡnh là sử dụng một cấu trỳc dữ liệu và cỏc cõu lệnh của một ngụn ngữ lập trỡnh cụ thể để mụ tả dữ liệu và diễn đạt thuật toỏn . -Trả lời cõu hỏi: Cú 3 loại ngụn ngữ lập trỡnh: Ngụn ngữ mỏy, hợp ngữ và ngụn ngữ bậc cao. Chương trỡnh viết bằng ngụn ngữ mỏy cú thể nạp trực tiếp vào bộ nhớ thi hành ngay. Chương trỡnh viết bằng ngụn ngữ bậc cao núi chung khụng phụ thuộc loại mỏy, muốn thi hành được thỡ nú phải được chuyển sang ngụn ngữ mỏy. =>Cần phải cú chương trỡnh dịch để chuyển chương trỡnh viết bằng ngụn ngữ lập trỡnh bậc cao sang ngụn ngữ mỏy để mỏy cú thể thi hành được. Chương trỡnh dịch cú 2 loại: Biờn dịch và thụng dịch + Biờn dịch (Compiler): Thực hiện cỏc bước sau: F Duyệt, kiểm tra, phỏt hiện lỗi và kiểm tra tớnh đỳng đắn của cỏc cõu lệnh trong chương trỡnh nguồn . F Dịch toàn bộ chương trỡnh nguồn thành một chương trỡnh đớch (ngụn ngữ mỏy) để cú thể thực hiện trờn mỏy và cú thể lưu trữ để sử dụng lại khi cần. + Thụng dịch (Interpreter): Dịch lần lượt từng cõu lệnh và thực hiện ngay cõu lệnh ấy. Thụng dịch được thực hiện bằng cỏch lặp lại dóy cỏc bước sau: F Kiểm tra tớnh đỳng đắn của cõu lệnh tiếp theo trong chương trỡnh nguồn F Chuyển đổi cỏc cõu lệnh đú thành một hay nhiều cõu lệnh trong ngụn ngữ mỏy. F Thực hiện cỏc cõu lệnh vừa chuyển đổi được 4. Cũng cố Nhắc lại một số khỏi niệm mới. V. RÚT KINH NGHIỆM Tuần 01 Tiết 02 Ngày soạn: 03/08/2010 Ngày giảng ://.. Bài 2: CÁC THÀNH PHẦN CỦA NGễN NGỮ LẬP TRèNH I. MỤC ĐÍCH, YấU CẦU 1. Kiến thức - Biết một số khỏi niệm như: tờn, tờn chuẩn, tờn dành riờng, . 2. Kỹ năng - Phõn biệt được tờn chuẩn với tờn dành riờng và tờn do người lập trỡnh đặt. - Nhớ cỏc quy tắc đặt tờn hằng và biến - Biết đặt tờn đỳng, nhận biết tờn sai. 3. Thỏi độ - í thức được tầm quan trọng của mụn học và cú thỏi độ học tập nghiờm tỳc, luụn tự tỡm hiểu học tập II. CHUẨN BỊ 1. Gv: Giỏo ỏn, mỏy chiếu, mỏy tớnh, phũng chiếu hoặc bảng. 2. Hs: Hiểu kiến thức ở bài 1, đọc trước SGK bài 2. III. PHƯƠNG PHÁP - Thuyết trỡnh, vấn đỏp - Diễn giải, đàm thoại, giải quyết tỡnh huống cú vấn đề. IV. NỘI DUNG BÀI GIẢNG 1. Ổn định lớp: Chào thầy cụ. Cỏn bộ lớp bỏo cỏo sỉ số Chỉnh đốn trang phục 2. Kiểm tra bài cũ Cõu 1: Thế nào là lập trỡnh, ngụn ngữ lập trỡnh? Cõu 2: Chương trỡnh dịch là gỡ? Cú mấy loại chương trỡnh dịch? 3. Bài mới Hoạt động của GV & HS Nội dung GV: Cỏc ngụn ngữ lập trỡnh núi chung thường cú chung một số thành phần như: Dựng những ký hiệu nào để viết chương trỡnh, viết theo quy tắc nào, viết như vậy cú ý nghĩa là gỡ? Mỗi ngụn ngữ lập trỡnh cú một quy định riờng về những thành phần này. Vớ dụ: Bảng chữ cỏi của cỏc ngụn ngữ lập trỡnh khỏc nhau cú sự khỏc nhau. Chẳng hạn ngụn ngữ Pascal khụng sử dụng dấu ! nhưng ngụn ngữ C++ lại sử dụng ngụn ngữ này. - Cỳ phỏp cỏc ngụn ngữ lập trỡnh khỏc nhau cũng khỏc nhau, ngụn ngữ Pascal dựng cặp từ Begin – End để gộp nhiều lệnh thành 1 lệnh nhưng C++ lại dựng cặp kớ hiệu {}. Vớ dụ: Xột 2 biểu thức: A + B (1) A, B là cỏc số thực. I + J (2) I, j là cỏc số nguyờn. Khi đú dấu + trong (1) sẽ là cộng hai số thực, trong (2) là cộng hai số nguyờn. - Mỗi ngụn ngữ khỏc nhau cũng cú cỏch xỏc định ngữ nghĩa khỏc nhau. HS: Lắng nghe, ghi chộp. GV: Đưa ra vớ dụ ngụn ngữ tự nhiờn cũng cú bảng chữ cỏi, ngữ phỏp (cỳ phỏp) và nghĩa của cõu, từ. GV: Trong cỏc ngụn ngữ lập trỡnh núi chung, cỏc đối tượng sử dụng trong chương trỡnh đều phải đặt tờn để tiện cho việc sử dụng. Việc đặt tờn trong cỏc ngụn ngữ khỏc nhau là khỏc nhau, cú ngụn ngữ phõn biệt chữ hoa, chữ thường, cú ngụn ngữ khụng phõn biệt chữ hoa, chữ thường. GV: Giới thiệu cỏch đặt tờn trong ngụn ngữ cụ thể Pascal. Vớ dụ : Tờn đỳng: a, b, c, x1, x2, _ten Tờn sai: a bc,2x, a&b GV: Ngụn ngữ nào cũng cú 3 loại tờn cơ bản này nhưng tựy theo ngụn ngữ mà cỏc tờn cú ý nghĩ khỏc nhau trong cỏc ngụn ngữ khỏc nhau. Trong khi soạn thảo chương trỡnh, cỏc ngụn ngữ lập trỡnh thường hiển thị cỏc tờn dành riờng với một màu chữ khỏc hẳn với cỏc tờn cũn lại giỳp người lập trỡnh nhận biết được tờn nào là tờn dành riờng (từ khúa). Trong ngụn ngữ Pascal, từ khúa thường hiển thị bằng màu trắng. GV: Mở một chương trỡnh viết bằng Pascal để học sinh quan sỏt cỏch hiển thị của một số từ khúa trong chương trỡnh. Cỏc ngụn ngữ lập trỡnh thường cung cấp một số đơn vị chương trỡnh cú sẵn trong cỏc thư viện chương trỡnh giỳp người lập trỡnh cú thể thực hiện được nhanh một số thao tỏc thường dựng. Giỏo viờn chỉ cho học sinh một số tờn chuẩn trong ngụn ngữ Pascal. GV: Đưa ra vớ dụ: Để viết chương trỡnh giải phương trỡnh bậc hai ta cần khai bỏo những tờn sau: a,b,c là ba tờn để lưu ba hệ số của chương trỡnh. X1,X2 là 2 tờn dựng để lưu nghiệm nếu cú. Delta là tờn để lưu giỏ trị của Delta. Hằng thường cú 2 loại, hằng được đặt tờn và hằng khụng được đặt tờn. Hằng khụng được đặt tờn là những giỏ trị viết trực tiếp khi viết chương trỡnh. Mỗi ngụn ngữ lập trỡnh cú một quy định về cỏch viết hằng riờng.Hằng được đặt tờn cũng cú cỏch đặt tờn cho hằng khỏc nhau. Biến là đối tượng được sử dụng nhiều nhất trong khi viết chương trỡnh. Biến là đại lượng cú thể thay đổi được nờn thường được dựng để lưu trữ kết qủa, làm trung gian cho cỏc tớnh toỏn,Mỗi loại ngụn ngữ cú những loại biến khỏc nhau và cỏch khai bỏo cũng khỏc nhau. Khi viết chương trỡnh, người lập trỡnh thường cú nhu cầu giải thớch cho những cõu lệnh mỡnh viết, để khi đọc lại được thuận tiện hoặc người khỏc đọc cú thể hiểu được chương trỡnh mỡnh viết, do vậy cỏc ngụn ngữ lập trỡnh thường cung cấp cho ta cỏch để đưa cỏc chỳ thớch vào trong chương trỡnh. Ngụn ngữ khỏc nhau thỡ cỏch viết chỳ thớch cũng khỏc nhau. GV: Mở một chương trỡnh Pascal đơn giản cú chứa cỏc thành phần là cỏc khỏi niệm của bài học, nếu khụng cú mỏy để giới thiệu thỡ cú thể sử dụng bản in sẵn khổ lớn. chỉ cho học sinh từng khỏi niệm được thể hiện trong chương trỡnh . 1.Cỏc thành phần cơ bản: - Mỗi ngụn ngữ lập trỡnh thường cú 3 thành phần cơ bản là : bảng chữ cỏi, cỳ phỏp và ngữ nghĩa. a.Bảng chữ cỏi: Là tập cỏc ký hiệu dựng để viết chương trỡnh. -Trong ngụn ngữ Pascal bảng chữ cỏi gồm: Cỏc chữ cỏi trong bảng chữ cỏi tiếng Anh, cỏc chữ số 0 à 9 và một số ký tự đặc biệt (xem trong SGK) b.Cỳ phỏp: Là bộ quy tắc dựng để viết chương trỡnh. c. Ngữ nghĩa: Xỏc định ý nghĩa thao tỏc cần thực hiện ứng với tổ hợp ký tự dựa vào ngữ cảnh của nú. Cỳ phỏp cho biết cỏch viết chương trỡnh hợp lệ, ngữ nghĩa xỏc định ý nghĩa của cỏc tổ hợp ký tự trong chương trỡnh. Lỗi cỳ phỏp được chương trỡnh dịch phỏt hiện và thụng bỏo cho người lập trỡnh. Chương trỡnh khụng cũn lỗi cỳ phỏp thỡ mới cú thể dịch sang ngụn ngữ mỏy. Lỗi ngữ nghĩa được phỏt hiện khi chạy chương trỡnh. 2. Một số khỏi niệm a. Tờn Mọi đối tượng trong chương trỡnh đều phải được đặt tờn. Mỗi ngụn ngữ lập trỡnh cú một quy tắc đặt tờn riờng . Trong ngụn gnữ Turbo Pascal tờn là một dóy liờn tiếp khụng qỳa 127 ký tự bao gồm cỏc chữ cỏi, chữ số và dấu gạch dưới nhưng phải bắt đầu bằng chữ cỏi hoặc dấu gạch dưới. Trong Free Pascal, tờn cú thể cú tối đa 255 ký tự. Ngụn ngữ lập trỡnh Pascal khụng phõn biệt chữ hoa, chữ thường nhưng một số ngụn ngữ lập trỡnh khỏc lại phõn biệt chữ hoa và chữ thường. Ngụn ngữ lập trỡnh thường cú 3 loại tờn cơ bản: Tờn dành riờng, tờn chuẩn và tờn do người lập trỡnh tự đặt. Tờn dành riờng: Là những tờn được ngụn ngữ lập trỡnh quy định với ý nghĩa xỏc định mà người lập trỡnh khụng thể dựng với ý nghĩa khỏc. Tờn dành riờng cũn được gọi là từ khúa Vớ dụ: Một số từ khúa Trong ngụn ngữ Pascal: Program, Var, Uses, Begin, End, Trong ngụn ngữ C++: main, include, while, void, Tờn chuẩn: Là những tờn được ngụn ngữ lập trỡnh (NNLT) dựng với ý nghĩa nào đú trong cỏc thư viện của NNLT, tuy nhiờn người lập trỡnh cú thể sử dụng với ý nghĩa khỏc. Vớ dụ: Một số tờn chuẩn Trong ngụn ngữ Pascal: Real, Integer, Sin, Cos, Char, Trong ngụn ngữ C==: cin,cout. Getchar Tờn do người lập trỡnh tự đặt Được xỏc định bằng cỏch khai bỏo trước khi sử dụng và khụng được trựng với tờn dành riờng. Cỏc tờn trong chương trỡnh khụng được trựng nhau ... õu . Xõu cú độ dài bằng 0 gọi là xõu rỗng. Tham chiếu tới phần tử trong xõu được xỏc định thụng qua chỉ số của phần tử trong xõu . Chỉ số phần tử trong xõu thường được đỏnh số là 1 . Trong ngụn ngữ Pacal, tham chiếu tới phần tử thường được viết : [chỉ số] Cỏch khai bỏo và xử lớ xõu trong ngụn ngữ Pascal : Khai bỏo biến xõu : Pascal sử dụng từ khúa STRING để khai bỏo xõu . Độ dài tối đa của xõu được viết trong [ ] sau từ khúa STRING . Khai bỏo như sau : Var : String[độ dài lớn nhất của xõu] ; Vớ dụ : Var Ten : String[10] ; Ho_dem : String[50] ; Que : String ; Chỳ ý : Nếu khụng khai bỏo độ dài tối đa cho biến xõu kớ tự thỡ độ dài ngầm định của xõu là 255 . Độ dài lớn nhất của xõu là 255 ký tự . Hằng xõu kớ tự được đặt trong cặp nhỏy đơn ‘ ’ . Cỏc thao tỏc xử lớ xõu Với cỏc xõu kớ tự cú cỏc phộp phộp xõu và phộp so sỏnh hai xõu kớ tự . Phộp ghộp xõu : Kớ hiệu bằng dấu cộng + . Vớ dụ : ‘Ha’ + ‘Noi’ cho kết quả là ‘Ha Noi’ Phộp so sỏnh : , >=, = , , Pascal tự động so sỏnh lần lượt từ kớ tự từ trỏi sang phải . Vớ dụ : ‘AB’ ‘ABB’, ‘ABC’ <’ABCD’ Một số thủ tục chuẩn dựng để xử lớ xõu : Delete(St,vt,n) xúa n kớ tự của xõu St bắt đầu từ vị trớ vt . Insert(S1,S1,vt) chốn sõu S1 vào S2 bắt đầu từ vị trớ vt của S2 Val(St,x,m) Đổi giỏ trị xõu St thành số ghi giỏ trị vào biến X, nếu khụng đổi được thỡ vị trớ gõy lỗi ghi trong m, nếu đổi thành cụng thỡ m = 0 Str(X,St) chuyển số X thành xõu kớ tự lưu trong St . Một số hàm chuẩn : Copy(St,vt,n) sao chộp từ xõu St n kớ tự từ vị trớ vt . Pos(S1,S2) tỡm vị trớ xuất hiện đầu tiờn của S1 trong S2 . Length(St) : cho độ dài xõu St . Upcase(ch) : cho chữ cỏi viết hoa tương ứng với chữ thường trong ch . CHR(X) : cho kớ tự cú mó X trong bảng mó ASCII . Ord(ch) : cho mó của kớ tự ch trong bảng mó . 4. Cũng cố, dăn dũ - Cấu trỳc chung của Cõu lệnh lặp While . . . Do, Cõu lệnh lặp For . . . do - Về nhà xem lại cỏc bài tập đó giải và làm bài tập cũn lại trong sgk. V. RÚT RA KINH NGHIỆM Tuần 14 Tiết 28 Ngày soạn: 24/10/2010 Ngày giảng ://. Bài 11: KIỂU XÂU I. MỤC ĐÍCH, YấU CẦU 1. Kiến thức - Hiểu được lợi ớch của cỏc hàm và thủ tục liờn quan đến xõu tring ngụn ngữ lập trỡnh Pascal. - Nắm được cấu trỳc ching và chức năng của một số hàm liờn quan đến xõu. 2. Kỹ năng - Bước đầu sử dụng được một số hàm, thủ tục thụng dụng về xõu. - Cú thể cài đặt được một số chương trỡnh đơn giản cú sử dụng xõu 3. Tư duy và thỏi độ: - Tự giỏc, tớch cực, chủ động và sỏng tạo trong tỡm kiếm tri thức. II. CHUẨN BỊ GV: Giỏo ỏn, SGK, sỏch GV, bảng phụ soạn cỏc vớ dụ. HS: Sỏch GK. III. PHƯƠNG PHÁP Đặt vấn đề. Thuyết trỡnh, vấn đỏp. Diễn giải, dựng bảng để ghi lại cỏc chi tiết quan trọng trong vớ dụ IV. NỘI DUNG BÀI GIẢNG 1.Ổn định lớp : Chào thầy cụ . Cỏn bộ lớp bỏo cỏo sĩ số . Chỉnh đốn trang phục . 2. Kiểm tra bài cũ 1. Nờu khỏi niệm kiểu xõu và cỏc thao tỏc trờn xõu 2. Nờu cỏc hàm xử lý xõu và ý nghĩa 3. Bài mới Hoạt động của Gv & Hs Nội dung Giỏo viờn soạn sẵn cỏc vớ dụ này để tiện cho học sinh theo dừi trờn màn hỡnh cũng như việc chạy thử và khụng làm mất thời gian ngồi viết chương trỡnh . Với mỗi vớ dụ, giỏo viờn đi sõu vào cõu lệnh trực tiếp đỏp ứng yờu cầu của vớ dụ, như vậy cỏc em sẽ tiếp thu nhanh hơn . Vớ dụ 1 : Nhập 1 xõu, viết ra màn hỡnh xõu dài hơn . Vớ dụ 2 : Nhập 1 xõu, kiểm tra xem ký tự đầu tiờn của xõu S1 cú trựng với ký tự cuối cựng của xõu S2 hay khụng ? Vớ dụ 3 : Nhập 1 xõu, viết ra màn hỡnh xõu đú theo thứ tự ngược lại của cỏc ký tự trong xõu . Vớ dụ 4 : Nhập 1 xõu, viết ra màn hỡnh xõu đú nhưng đó được bỏ tất cả cỏc ký tự là dấu cỏch . Vớ dụ 5 : Nhập 1 xõu, viết ra màn hỡnh xõu gồm cỏc ký tự số của xõu đú . 3. Một số vớ dụ VD 1 : Program vd1 ; Uses crt ; Var s1,s2 : String ; Begin Clrscr ; Write('Nhap xau thu 1 : ') ; Readln(s1) ; Write('Nhap xau thu 2 : ') ; Readln(s2) ; If length(s1) > Length(s2) then Write(s1) else Write(s2); Readln ; End . VD 2 : Program vd2 ; Uses crt ; Var s1,s2 : String ; x : Byte ; Begin Clrscr ; Write('Nhap xau thu 1 : '); Readln(s1) ; Write('Nhap xau thu 2 : '); Readln(s2) ; x := length(s2) ; If s1[1] = s2[x] then Write('Trung nha') else Write('Khac nhau'); Readln ; End . VD 3 : Program vd3 ; Uses crt ; Var i,k : Byte ; a : String ; Begin Clrscr ; Write('Nhap xau : ') ; Readln(a) ; k := length(a) ; For i := k downto 1 do Write(a[i]) ; Readln ; End . VD 4 : Program vd4 ; Uses crt ; Var i,k : Byte ; a,b : String ; Begin Clrscr ; Write('Nhap xau : ') ; Readln(a) ; k := length(a) ; b :='' ; For i := 1 to k do if a[i] '' then b := b+a[i] ; Write(b) ; Readln ; End . VD 5 : Program Xulixau ; Uses crt ; Var s1,s2 : String ; i : Byte ; Begin Clrscr ; Write('Nhap xau s1 : ') ; Readln(s1) ; s2 := '' ; For i := 1 to length(s1) do If ('0'<s1[i]) and (s1[i]<='9') then s2 := s2 + s1[i] ; Write(s2); Readln ; End . 4. Cũng cố, dăn dũ - Cấu trỳc chung của Cõu lệnh lặp While . . . Do, Cõu lệnh lặp For . . . do - Về nhà xem lại cỏc bài tập đó giải và làm bài tập cũn lại trong sgk. V. RÚT RA KINH NGHIỆM Tuần 15 Tiết 29- 30 Ngày soạn:././2010 Ngày dạy :././ BÀI TẬP VÀ THỰC HÀNH 5 I. MỤC TIấU 1. Kiến thức - Khắc sõu thờm phần kiến thức về lý thuyết kiểu kớ tự, đặc biệt là cỏc hàm và thủ tục liờn quan. - Nắm được một số thuật toỏn cơ bản: tạo xõu mới, đếm số lần xuất hiện một kớ tự 2. Kỹ năng - Khai bỏo biế kiểu xõu - Nhập, xuất giỏ trị cho biến xõu. - Duyệt qua tất cả cỏc kớ tự của xõu. - Sử dụng được cỏc hàm và thủ tục chuẩn 3. Thỏi độ - Tớch cực, chủ động trong thực hành. II. CHUẨN BỊ Gv. Mỏy chiếu Projestor để hướng dẫn. Tổ chức trong phũng mỏy để học sinh cú được kỹ năng cơ bản khi làm việc với xõu. Hs. SGK, bài tập ở nhà, nội dụng bài thực hành 5 III. PHƯƠNG PHÁP IV. NỘI DUNG BÀI GIẢNG 1.Ổn định lớp : Chào thầy cụ . Cỏn bộ lớp bỏo cỏo sĩ số . Chỉnh đốn trang phục . 2. Kiểm tra bài cũ 1. Nờu khỏi niệm kiểu xõu và cỏc thao tỏc trờn xõu 2. Nờu cỏc hàm xử lý xõu và ý nghĩa 3. Bài mới Hoạt động 1: Tỡm hiểu một chương trỡnh, đề xuất phương ỏn cải tiờn a. Mục tiờu: hiểu được một chương trỡnh, đề xuất phương ỏn cải tiến. b. Nội dung Nhập vào một xõu, kiểm tra xem xõu đú cú phải là một Palidrom hay khụng Chương trỡnh Var i, x:Byte; a,p:string; Begin Write(‘nhap vao mot xau’); readln(a); x:=length(a); p:= ‘’; For i:=x downto 1 do p:=p+a[i]; If a=p then write(‘xau la Palidrom’) else write(‘xau khong la Palidrom’); Readln; End. c. cỏc bước tiến hành Hoạt động của Gv & Hs Nội dung 1. Tỡm hiểu đề bài Gv. – Giới thiệu nội dung đề bài lờn bảng - Diễn giải: Một xõu được gọi là đối xứng khi ta đọc cỏc ký tự từ phải sang trỏi sẽ giống cỏc ký tự từ trỏi sang phải. Vớ dụ: Phải: 12321 abccba Khụng: abcabc 1. Đề bài Nhập vào từ bàn phớm một xõu. Kiểm tra xõu đú cú phải là xõu đối xứng hay khụng? (Xõu Palindrome) hướng dẫn của giáo viên Hoạt động của học sinh 1. Tìm hiểu đề bài. - giới thiệu nội dung đề bài lên bảng. - Diễn giải: Một xâu được gọi là Palidrom nếu ta đọc các kí tự từ phải sang trái sẽ giống khi đọc từ trái sang phải. - Yêu cầu học sinh cho hai ví dụ về xâu palidrom và một ví dụ không phải là palidrom . 2. tìm hiểu chương trình gợi ý. - Chiếu chương trình lên bảng. - Hỏi: Chương trình sau đây có chức năng làm gì? Kết quả in ra màn hình như thếnào? - Thực hiện chương trình để học sinh kiểm nghiệm suy luận của mình. 3. Cải tiến chương trình. - Nêu yêu cầu mới: Viết lại chương trình mà không sử dụng biến trung gian p. - Yêu cầu: Nhận xét về các cặp ở vị trí đối xứng nhau trong một xâu palidrom? - Hỏi: kí tự thứ i đối xứng với kí tự vị trí nào? - Hỏi: Cần phải so ssánh bao nhiêu cặp kí tự trong xâu để biết được xâu đó ;à palidrom? - Hỏi: Dùng cấu trúc lặp nào để so sánh? - Yêu cầu học sinh viết chương trình hoàn chỉnh. - Yêu cầu học sinh nhập dữ liệu cho sẵn của giáo viên và thông báo kết quả. - Xác nhận những bài làm có kết quả đúng. 1. Quan sát, đọc kĩ đề. Phải: 12321 abccba Không phải: abcdea 2. Quan sát chương trình, suy nghĩ phân tích để hiểu chương trình. - Kiểm tra một xâu có phải Palidrom hay không? - In ra: ‘xau la Palidrom’ ‘Xau khong la palidrom’ - Quan sát giáo viên thực hiện chương trình, nhập dữ liệu và kết quả của chương trình. 3. Chú ý theo dõi yêu cầu của giáo viên, trả lời một số câu hỏi dẫn dắt. - Các kí tự ở vị trí này giống nhau. - Kí tự thứ i đối xứng với kí tư thứ length() – i +1 - So sánh tối đalength() div 2. - Có thể dùng For hoặc While. - Thực hiện soạn thảo chương trình vào máy theo yêu cầu cải tiến của giáo viên. - Nhập dữ liệu vào và thông báo kết quả. 2. Hoạt động 2: Rèn luyện kĩ năng lập trình. a.Mục tiêu: - Học sinh biết phân tích yêu cầu để viết một chương trình hoàn chỉnh. b. Nội dung. - Viết chương trình nhập vào một xâu kí tự S và thông báo ra màn hình số lần xuất hiện trong S của mỗi chữ cái tiếng Anh(không phân biệt chứ hoa, chữ thường). c. Các bước tiến hành: hướng dẫn của giáo viên Hoạt động của học sinh 1. Giới thiệu đề bài. - Chiếu nội dung đề bài lên bảng. Nêu mục đích của bài toán. - Chia lớp thành 2 nhóm: + Nhóm 1: Đặt các câu hỏi phân tích. + Nhóm 2: Trả lời các câu hỏi phân tích. - Theo dõi những câu hỏi phân tích Của nhóm 1 và trả lời câu hỏi phân tích của nhóm 2. - Bổ sung và sửa sai cho cả nhóm 1 và nhóm 2. 2. Yêu cầu học sinh độc lập viết chương trình hoàn chỉnh theo thuật toán đã phát hiện ở trên. - Yêu cầu học sinh lập trình xong sớm tìm một số bộ test. - Yêu cầu học sinh nhập dữ liệu vào theo test của giáo viên đã chọn và thông báo kết quả sau khi thực hiện chương trình. - Xác nhận kết quả đúng của học sinh và sửa sai cho các em có kết quả sai. 1. Quan sát đề và xác định những công việc cần thực hiện. Nhóm 1: - hỏi: Dữ liệu vào, dữ liệu ra của bài toán? - Nêu các nhiệm vụ chính cần thực hiện khi giải quyết bài toán. - Hỏi: Cấu trúc dữ liệu phải sử dụng như thế nào? - Ta phải sử dụng hàm nào? Nhóm 2: - Vào: Một xâu S. - Ra: dãy các số ứng với sự xuất hiện của mỗi loại kí tự trong xâu. - TT: Duyệt từ trái sang phải, thêm một đơn vị cho kí tự đọc được. - Cấu trúc dữ liệu: Dem[‘A’..’Z’] - Dùng hàm Upcase(). 2. Độc lập soạn chương trình vào máy. - Tìm test - Nhập dữ liệu của giáo viên và thực hiện chương trình để xem kết quả. - Thông báo kết quả cho giáo viên. IV. Đánh giá cuối bài 1. Những nội dung đã học. - Một số thuật toán đơn giản liên quan đến xâu kí tự: Kiểm tra một xâu đối xứng, tìm tần xuất hiện của kí tự có trong xâu. 2. Câu hỏi và bài tập về nhà. - Chuẩn bị nọi dung cho tiết lí thuyết tiết theo. đọc trứpc nội dung bài kiểu bản ghi, sách giáo khoa, trang 74.
Tài liệu đính kèm: