I. Mục đích, yêu cầu.
- Hiểu được khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ng2 máy và hợp ngữ.
- Hiểu ý nghĩa và nhiệm vụ của chtrình dịch. Phân biệt được thông dịch và biên dịch.
- Biết các thành phần cơ bản của ng2 lập trình: bảng chữ cái, cú pháp, ngữ nghĩa.
- Hiểu và phân biệt được các thành phần này
II. Lên lớp
1. Ổn định tình hình lớp.
Giới thiệu làm quen với HS của lớp.
Tạo tâm lý và quan hệ tốt với HS trước khi bắt đầu tiết học đầu tiên
2. Bài mới
Tuần: 01 Tiết : 01 Ngày soạn : 04/8/2008 Ngày dạy : / /2008 Chương 1 MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Bài 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH 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. Hiểu được khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ng2 máy và hợp ngữ. Hiểu ý nghĩa và nhiệm vụ của chtrình dịch. Phân biệt được thông dịch và biên dịch. Biết các thành phần cơ bản của ng2 lập trình: bảng chữ cái, cú pháp, ngữ nghĩa. Hiểu và phân biệt được các thành phần này II. Lên lớp 1. Ổn định tình hình lớp. Giới thiệu làm quen với HS của lớp. Tạo tâm lý và quan hệ tốt với HS trước khi bắt đầu tiết học đầu tiên 2. Bài mới Hđ của GV Hđ của HS Nd ghi bảng ĐVĐ: Về lập trình các em chỉ mới được tìm hiểu qua bài các bước để giải bài toán trên máy tính chta chưa có khái niệm cụ thể. Còn ngôn ngữ lập trình chta cũng đã tìm hiểu tất cả ở lớp 10. H: Vậy có những loại ngôn ngữ lập trình nào? H: Hãy phân biệt ng2 bậc cao với các loại ng2 khác? Phân biệt ng2 bậc cao: chtrình viết bằng ng2 bậc cao ko phụ thuộc vào loại máy và phải dùng chtrình dịch để chuyển về ng2 máy. H: Tóm lại ng2 lập trình dùng để làm gì? Dẫn dắt: Vậy lập trình là gì? Chta tìm hiểu k/n này. Ghi bảng Giải thích thêm về câu lệnh: - Cl để diễn tả các thao tác trong các bước của t/toán. - Cl đơn thực hiện bước có 1 thao tác - Cl ghép thực hiện bước gồm dãy các thao tác. Dẫn dắt: Chtrình viết bằng ng2 máy sẽ thực hiện được ngay, còn chtrình viết bằng ng2 bậc cao thì phải chuyển đổi thành chtrình trên ng2 máy mới có thể thực hiện được. Công cụ thực hiện chuyển đổi đó gọi là chtrình dịch. H: Input, Output của chtrình dịch là gì? ( Có thể cho điểm miệng Hs trả lời đúng ) H: nhiệm vụ quan trọng nhất của chtrình dịch là gì? * Phân biệt Thông dịch và Biên dịch Phân tích Ví dụ Sgk ĐVĐ sang bài mới: Để có thể sử dụng một ng2 lập trình nào đó thì trước hết chta phải biết các thành phần cơ bản có trong nó là gì? Có ba thành phần cơ bản của ng2 lập trình: bảng chữ cái, cú pháp, ngữ nghĩa. Trước hết chta tìm hiểu bảng chữ cái. Treo bảng chữ cái * So sánh bảng chữ cái của ng2 lập trình với bảng chữ cái của ng2 tự nhiên Về cú pháp: Về ngữ nghĩa: Trong từng ngữ cảnh khác nhau, ngữ nghĩa của 1 tổ hợp kí tự là khác nhau Ví dụ: Sgk * Tóm lại + Phân biệt giữa cú pháp và ngữ nghĩa + Lỗi cú pháp + Lỗi ngữ nghĩa Ví dụ: Xem thử 3 cách mô tả cách nào đúng. H: Lỗi ngữ nghĩa thường được phát hiện khi nào? Tl:Ng2 máy, hợp ngữ, ng2 bậc cao. Tl: (1-2 hs) Tl: Lập trình Ghi bài Nghe giảng và tự ghi chép Tl: In: chtrình viết bằng ng2 bậc cao Out: chtrình trên ng2 máy. Tl: (2-3Hs) phát hiện lỗi cú pháp của chtrình nguồn Tìm hiểu ví dụ Sgk Cách1: If a2+b2>1 then if a>b then s=a+b Else s =1; (* a2+b2<1 thì s =? *) Cách2: If a2+b2>1 then begin if a>b then s=a+b end Else s =1; (* a<b thì s =? *) Cách 3: If a2+b2>1 and a>b then s=a+b Else s=1 Tl: Khi thực hiện kiểm thử chtrình. KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH 1. K/n lập trình (Sgk) Ý nghĩa: tạo ra các chtrình giải được bài toán trên MT. 2. Chương trình dịch a. K/niệm: Sgk b. Phân loại: Có 2 loại - Thông dịch: lần lượt dịch và thực hiện từng câu lệnh. - Biên dịch: dịch toàn bộ chtrình rồi mới thực hiện và được lưu trữ để sử dụng lại lần sau. CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH 1. Các thành phần cơ bản - Bảng chữ cái - Cú pháp: bộ qui tắc để viết chtrình - Ngữ nghĩa 3. Củng cố: Ba lớp của ng2 lập trình và các mức của nó. Vai trò của chtrình dịch Khái niệm biên dịch và thông dịch Lỗi cú pháp, lỗi ngữ nghĩa 4. Về nhà: Đọc Bài đọc thêm 1 để tìm hiểu sơ về 1 số ng2 lập trình Soạn trước phần còn lại của bài 2. Trong đó chú ý các khái niệm mới: tên, hằng, biến. Cách sử dụng nó trong lập trình Tuần: 01 Tiết : 02 Ngày soạn : 04/8/2008 Ngày dạy : / /2008 BÀI 2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH I. MỤC TIÊU CẦN ĐẠT 1. Kiến thức Biết được một số khái niệm như: tên, tên chuẩn, tên dành riêng, tên do người dùng đặt, hằng biến chú thích 2. Kĩ năng Phân biệt được tên chuẩn với tên dành riêng và tên tự đặt Nhớ các qui định về tên hằng biến Biết đặt tên đúng, nhận biết được tên sai qui định Sử dụng đúng chú thích II. PHƯƠNG PHÁP,ĐỒ DÙNG DẠY HỌC A. Phương pháp: Thuyết trình, vấn đáp, trực quan, đặt vấn đề B. Phương tiện: 1. Giáo viên Bảng chứa các tên đúng –sai để Hs chọn, bảng con, bút dạ. 2. Học sinh Sách giáo khoa III. HOẠT ĐỘNG DẠY HỌC 1. Ổn định lớp: (1 phút) 2. Hoạt động 1: (7 phút) Kiểm tra bài cũ Hđ của GV Hđ của HS H1: Hãy phân biệt chtrình thông dịch và biên dịch? H2: NNLT có những thành phần nào? Lỗi cú pháp và lỗi ngữ nghĩa được phát hiện bằng gì? Nhận xét, đánh giá cho điểm 3 Hs Hs1: trình bày trên bảng. Hs2: trả lời trước lớp Hs3: nhận xét câu trả lời của Hs1 2. Hoạt động 2: (18 phút) Tìm hiểu khái niệm tên trong thành phần của ngôn ngữ lập trình. Hđ của GV Hđ của HS Nd ghi bảng ĐVĐ: Mọi đối tượng trong chtrình đếu phải được đặt tên 1. N/cứu Sgk nêu qui tắc đặt tên trong Turbo Pascal? 2. Chọn các tên đúng trong bảng sau: A _24 A_BC A BC 5ad A5d C#BC Khẳng định lại các tên đúng 3. Y/cầu Hs n/cứu Sgk để biết các khái niệm về tên dành riêng, tên chuẩn, tên tự đặt. Chia lớp thành 3 nhóm, mỗi nhóm tìm hiểu và trình bày về một loại tên và cho ví dụ. Treo tranh chứa 1 số tên trong NNLT Pascal đã được chuẩn bị sẵn: Type Const Integer Dem Function Byte Inc Mang string HS xác định tên theo từng loại tên? Treo bảng con của 3 nhóm cho nhóm khác nhận xét, bổ sung Tổng kết vấn đề này 1. N/cứu sgk và trả lời: + Gồm chữ cái, chữ số, dấu gạch dưới + Không quá 127 kí tự, không bắt đầu bằng kí tự số. 2. Quan sát và trả lời A A_BC _24 A5d 3. N/cứu sgk và trả lời Thảo luận theo nhóm và cử người trình bày. + Tên dành riêng + Tên chuẩn + Tên do người dùng đặt Quan sát và ghi lên bảng con. + Từ khóa: Type, Const, function + Tên chuẩn: Integer, byte, string, inc + Tên tự đặt: dem, mang Quan sát kết quả cnhóm khác, nhận xét và bổ sung 1. Khái niệm Tên (Sgk) Ví dụ: + Tên dành riêng + Tên chuẩn + Tên do người dùng đặt Ví dụ: 3. Hoạt động 3: (15 phút) Tìm hiểu hằng, biến, chú thích Hđ của GV Hđ của HS Nd ghi bảng 1. Y/cầu Hs cho 1 số ví dụ về hằng số, hằng xâu, hằng logic Trình bày k/niệm về các loại hằng. 2. Ghi bảng: Xác định hằng số và hằng xâu: 56 -3785 ‘485’ ‘THPT’ 1.5E+2 45,7 H: hằng kí tự nháy đơn và hằng kí tự nháy kép được biểu diễn như thế nào? 3. Y/cầu Hs n/cứu Sgk và cho biết k/niệm Biến Cho ví dụ một số biến 4. Y/cầu Hs n/cứu Sgk và cho biết chức năng của chú thích trong chtrình. Cho 1 số ví dụ khác về chú thích H: Tên biến và tên hằng thuộc loại tên nào? H: Các lệnh được viết trong cặp { } có được TP thực hiện ko? Vì sao? 1. Suy nghĩ và trả lời + Hằng số: 55 73.05 + Hằng xâu: ‘211’ ‘AB’ + Hằng logic: False True Xem k/niệm hằng ở Sgk 2. Quan sát và trả lời + Hằng số: 56; -3785; 1.5E+2 + Hằng xâu: ‘485’ ‘THPT’ Tl: nháy đơn: ’’’’ Nháy kép: ‘””’ 3. N/cứu Sgk và trả lời 4. Cá nhân n/cứu Sgk vá trả lời Chú thích được đặt giữa cặp dấu { } và (* *) dùng để giải thích chtrình rõ ràng dễ hiểu. Tl: Tên do người lập trình đặt. Tl: Không, vì đó là dòng chú thích. 2. Hằng và biến a. Hằng + Hằng số + Hằng xâu + Hằng logic b. Biến K/niệm: (Sgk) Ví dụ: Tong, dtoan, c. Chú thích Ví dụ: {thu tuc nhap du lieu} IV. ĐÁNH GIÁ CUỐI BÀI (4 phút) 1. Nội dung đã học. Thành phần của NNLT: bảng chữ cái, cú pháp, ngữ nghĩa Khái niệm: tên, từ khóa, tên chuẩn, tên tự đặt, biến, hằng, 2. Câu hỏi, bài tập về nhà. Làm bài tập 3, 4, 5 trang 13 Sgk Xem bài đc thêm: Ngôn ngữ Pascal Xem trước bài: Cấu trúc chtrình Sgk Xem nội dung phụ lục B, trang 128 Sgk: Một số tên dành riêng Tuần: 02 Tiết : 03 Ngày soạn : 07/8/2008 Ngày dạy : / /2008 BÀI TẬP I. MỤC TIÊU CẦN ĐẠT 1. Kiến thức - Biết có 3 lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao. - Biết vai trò của chương trình dịch. - Biết khái niệm biên dịch và thông dịch. - Biết các thành phần cơ bản của ngôn ngữ lập trình: bảng chữ cái, cú pháp và ngữ nghĩa. - Biết các thành phần cơ sở của Pascal: bảng chữ cái, tên, tên chuẩn, tên riêng (từ khóa), hằng và biến. 2. Kĩ năng: Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể. 3. Về tư duy và thái độ: Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin học nhằm giải các bài toán thực tiễn ngày càng phức tạp. Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằng máy tính điện tử. II : PHƯƠNG PHÁP : Đưa ra và giải quyết vấn đề, thảo luận nhóm. III. ĐỒ DÙNG DẠY HỌC 1. Giáo viên: chuẩn bị nội dung để giải bài tập cuối chương và một số câu hỏi trắc nghiệm của chương. 2. Học sinh: Ôn lại kiến thức của chương, chuẩn bị bài tập cuối chương. IV. HOẠT ĐỘNG DẠY HỌC 1. Ổn đinh lớp : 1. Hoạt động 1: (5 phút) Kiểm tra bài cũ Hđ của GV Hđ của HS 1. Phân biệt giữa Hằng và Biến? Cho một số biến đúng? 2. Đâu là từ khóa trong các tên sau đây? Integer Begin Do int chan tong - Nhận xét, đánh giá cho điểm HS1: trả lời Hs2: trả lời (Begin và Do) 2. Hoạt động 2: (10 phút) Hđ của GV Hđ của HS Nd ghi bảng ĐVĐ: Trước khi giải bài tập trong SGK, các em tự ôn lại một số kiến thức mà chúng ta đã học ở các bài trước dựa trên yêu cầu của câu hỏi trang 13 SGK. Đặt câu hỏi số 1: Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao? - Nhận xét, đánh giá và bổ sung hướng dẫn cho học sinh trả lời câu hỏi số 1: Đặt câu hỏi 2: Biên dịch và thông dịch khác nhau như thế nào? Phân tích câu trả lời của học sinh. - Đọc yêu cầu của câu hỏi và bài tập cuối chương trang 13 SGK. - Suy nghĩ để đưa ra phương án trả lời. - Suy nghĩ, trả lời câu hỏi. - Suy nghĩ, trả lời câu hỏi. Câu 1:Ngôn ngữ bậc cao + gần với ngôn ngữ tự nhiên hơn, + không phụ thuộc vào phần cứng máy tính và một chương trình có thể thực hiện trên nhiều máy tính khác nhau; + dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp; + cho phép làm việc với nhiều kiểu dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho mô tả thuộc toán. Câu 2: Trình biên dịch: duyệt, kiểm tra, phát hiện lỗi, xác định chương trình nguồn có dịch được không? dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ lại để sử dụng về sau khi cần thiết. Trình thông dịch lần lượt dịch từng câu lệnh ra ngôn ngữ máy rồi thực hiện ngay câu lệnh vừa dịch được hoặc báo lỗi nếu không dịch được 3. Hoạt động 3: (7 phút) T/g Hđ của GV Hđ của HS Nd ghi bảng Đặt câu hỏi 3: Hãy cho biết các điểm khác nhau giữa tên dành riêng và tên chuẩn? Viết 3 tên đúng quy tắctrong Pascal? - Gọi hs trả lời và cho ví dụ - Phân tích câu trả lời của học sinh. Hỏi: Nêu lại quy tắc đặt tên trong Pascal? - Gọi 3 học sinh lên bảng cho ví dụ về tên do người lập trình đặt. *Nhận xét, sửa chữa, góp ý. Suy nghĩ ... ảng các bản ghi, tính giá trị trường tb. B3: đưa các t/tin theo y/cầu ra màn hình. (ten, tb) 2. Thảo luận nhóm và hoàn tất CT,Nộp kết quả Nhận xét, đánh giá và bổ sung những sai sót của nhóm khác. 3. Quan sát và ghi nhớ Type hs=record Ten:string;Toan,li,tb:real; end; Manghs=array[1..30] of hs; Var Lop:manghs; BEGIN For i:=1 to 30 do begin write(‘Hoc sinh ’,i); readln(lop[i].ten); write(‘diem toan, ly ‘’); readln(lop[i].toan,lop[i].li); lop[i].tb:=(lop[i].toan+lop[i].li)/2; end; writeln(‘ Ho va ten |Diemtb ’); For i:=1 to 30 do Writeln(lop[i].ten:30, lop[i].tb:8:2); END. 4. Củng cố: Nội dung đã học Nhắc lại một số khái niệm về bản ghi. Nhắc lại cấu trúc câu lệnh về việc khai báo, truy cập đến các thành phần của bản ghi . Khai báo kiểu Record cho bản ghi 5. Dặn dò: Câu hỏi, bài tập về nhà Về nhà học bài và làm bài tập. Trả lời câu hỏi sách giáo khoa trang 79 và trang 80. Tuần: 18,19 Tiết : 36,37 Ngày soạn : 1/12/2008 Ngày dạy : / /2008 BÀI ÔN TẬP HỌC KÌ I I. MỤC TIÊU CẦN ĐẠT 1. Về kiến thức Nhằm giúp cho học sinh củng cố lại kiến thức của các bài đã học như: Câu lệnh không xác đinh như (While..Do), Câu lệnh lập số lần xác định (For),Kiểu mảng, Kiểu chuỗi. Học sinh cần hiểu rỏ cú pháp, cách khai báo,Cách nhập/Xuất các phần tử mảng, chuỗi. Học sinh cần nắm được các hàm và thủ tục đã học. Áp dụng giản một số bài toán đơn giản. 2. Về kĩ năng Bước đầu sử dụng câu lệnh có cấu trúc HS cần phảI biết cách khai báo, cách truy xuất, các phép toán trên mảng,trên chuỗi Rèn luyện kỉ năng sử dụng cấu trúc rẽ nhánh và cấu trúc lặp trong lập trình kiểu mảng. Rèn luyện kĩ năng vận dụng và linh hoạt trong việc lựa chọn cấu trúc để giải quyết bài toán. 3. Về thái độ Tiếp tục xây dựng lòng ham muốn trong lập trình để giải quyết các bài toán bằng máy tính Tự giác, chủ động, tích cực trong giải quyết các bài tập và xây dựng phẩm chất cần thiết của người lập trình. II. CHUẨN CỊ CỦA GV, HS 1. Chuẩn bị của GV: Giáo án, SGK, SBT. Sử dụng bảng phấn, máy chiếu, máy tính. 2. Chuẩn bị của HS: Tự ôn bài trước Dụng cụ học tập III. PHƯƠNG PHÁP Diễn giảng, thuyết trình và phát vấn, giải quyết vấn đề, trực quan. IV. TIẾN TRÌNH DẠY HỌC 1. Ổn định lớp: Kiểm tra sỉ số, ghi sổ đầu bài (1’) 2. Kiểm tra bài cũ: HS1: Nêu khái niệm chuỗi là gì? cách khai báo chuỗi, cách nhập/xuất chuỗi. Áp dụng VCT tính tổng S=1/2+1/3+1/4+------+1/n. N nhập vào từ bàn phím. HS2: Nêu khái niệm mảng là gì? cách khai báo mảng, cách nhập/xuất mảng. Áp dụng VCT tính tổng N phần tử. Với n nhập vào từ bàn phím. Hướng dẫn(trả lời): trong SBT hoặc SGK 3. Bài mới: Hoạt động 1: Củng cố lại kiến thức đã học ở phần Pascal cơ bản Hđ của Gv Hđ của Hs Nội dung ghi bảng ?Nêu cú pháp, lưu đồ, chức năng câu lệnh while Cú Pháp: WHILE DO ; Cú Pháp: WHILE DO ; Giải thích cú pháp và lưu đồ câu lệnh bên ? ?Nêu cú pháp , lưu đồ, chức năng câu lệnh Repeat Giải thích cú pháp và lưu đồ câu lệnh bên ? So sánh sự giống nhau v à khác nhau giửa câu lệnh While v à Repeat CV ĐK F T Lưu đồ Chức Năng Vào câu lệnh chương trình kiễm tra ĐK, Nếu ĐK đúng (T) thì chương trình thực hiện công việc rồi quay lại kiễm tra ĐK tiếp, công việc cứ tiếp tục như vậy cho đến khi ĐK sai (F) thì thoát khỏi câu lệnh lặp. Cú Pháp: REPEAT UNTIL Công việc ĐK Lưu đ ồ Chức Năng Vào câu lệnh Repeat chương trình thực hiện tuần tự các câu lệnh, sau đó kiểm tra ĐK nếu ĐK sai (F) thì quay lại thực hiện công việc tiếp. Công việc được thực hiện cho đến khi ĐK đ úng (T) thì thoátkhỏi câu lệnh lặp. Giống nhau là câu lệnh lặp số lần không xác đinh. Khác nhau: Câu lệnh While kiểm tra ĐK trước thực hiện cộng việc sau Câu lệnh While nếu là lệnh ghép thì bắt buộc phải có cặp t ừ khoá Begin ..End; CV ĐK F T Lưu đồ Chức Năng Vào câu lệnh chương trình kiễm tra ĐK , Nếu ĐK đúng (T) thì chương trình thực hiện công việc rồi quay lại kiễm tra ĐK tiếp , công việc cứ tiếp tục như vậy cho đến khi ĐK sai (F) thì thoát khỏi câu lệnh lặp. Cú Pháp: Công việc ĐK REPAET UNTIL Lưu đ ồ Chức Năng Vào câu lệnh Repeat chương trình thực hiện tuần tự các câu lệnh, sau đó ki ểm tra ĐK nếu ĐK sai (F) thì quay lại thực hiện công việc tiếp . Công việc được thực hiện cho đến khi ĐK đ úng (T) thì thoát khỏi câu lệnh lặp . Giống nhau là câu lệnh lặp số lần không xác đinh. Khác nhau: Câu lệnh While kiểm tra ĐK trước thực hiện cộng việc sau Câu lệnh While nếu là lệnh ghép thì bắt buộc phải có cặp t ừ khoá Begin ..End; ?Nêu cú pháp, lưu đồ, chức năng câu lệnh For Giải thích cú pháp và lưu đồ câu lệnh bên và phát biểu chức năng ? Mảng (Array) Sau khi học xong bài mảng học sinh cần nắm vững một số ý như sau: Học thuộc khái niệm mảng là gì ? Cách khai báo mảng 1 chiều Cách khai báo mảng nhiều chiều Cách truy xuất phần tử của mảng : Áp dụng giải một số bài Cú Pháp(dạng tiến) : For:= To Do ; Cú Pháp(dạng lùi) : BĐ <= GTC BienDem:= CôngViec Biendem:=Bienđem ± 1 For:= DownTo Do ; Lưu Đồ B1 B2 B3 Mảng (Array) là tập hợp các phần tử cố định có cùng kiểu gọI là kiểu phần tử ( KPT là kiểu vô hướng, kiểu tập hợp). Gọi chung là kiểu mảng, Có 2 loạI mảng là mảng 1 chiều và mảng nhiều chiều (mảng 2 chiều ) Var :Array [tậpchỉ số] Of ; Var : Array [tập chỉsố1,tậpchỉsố2]Of ; Tổng quát ,để truy xuất một phần tử của mảng n chiều thì ta có cần đủ n giá trị của n chỉ số . cách truy xuất một mảng A được viết như sau: A[chỉsố1,chỉsố2] ,mỗi phần tử của mảng xem như một biến độc lập, ta có thực hiện mỗi thao tác với biến này HS xem bài tập đã giải ở lớp Cú Pháp(dạng tiến) : For:= To Do ; Cú Pháp(dạng lùi) : For:= DownTo Do ; Mảng (Array) là tập hợp các phần tử cố định có cùng kiểu gọI là kiểu phần tử ( KPT là kiểu vô hướng ,kiểu tập hợp). GọI chung là kiểu mảng,Có2 loạI mảng là mảng 1 chiều và mảng nhiều chiều (mảng 2 chiều ) Var :Array [tậpchỉ số] Of ; Var : Array [tập chỉ số1,tập chỉ số2] Of ; Tổng quát,để truy xuất một phần tử của mảng n chiều thì ta có cần đủ n giá trị của n chỉ số. cách truy xuất một mảng A được viết như sau: A[chỉsố1,chỉ số2] ,mỗi phần tử của mảng xem như một biến độc lập, ta có thực hiện mỗi thao tác với biến này tập đơn giản trong sách giáo khoa và bài tập ghi ở lớp. KIỂU CHUỔI Sau khi học xong bài chuỗi (String) học sinh cần nắm vững một số ý như sau: Học thuộc khái niệm chuỗi là gì ? Cách khai báo chuỗi : Cách truy xuất phần tử của chuỗi : Học sinh cần nắm vững các thao tác trên chuỗi-Các hàm và thủ tục đối với kiểu chuỗi Áp dụng giải một số bài tập đơn giản trong sách giáo khoa và bài tập ghi ở lớp. HS xem bài tập đã giải ở lớp Là 1 dãy các ký tự trong bảng mã ASCII. Số ký tự có trong chuỗi gọi là độ dài của chuỗi, Chuỗi không có ký tự nào gọi là chuỗi rổng. Để khai báo chuỗi người ta dùng từ khoá STRING. các hằng chuỗi đặt trong cập dấu nháy đơn (‘). Var Tên Biến:String[n]; Nghe và xem lại tập Là 1 dãy các ký tự trong bảng mã ASCII. Số ký tự có trong chuỗi gọi là độ dài của chuỗi, Chuỗi không có ký tự nào gọi là chuỗi rổng. Để khai báo chuỗi người ta dùng từ khoá STRING. các hằng chuỗi đặt trong cập dấu nháy đơn (‘). Var Tên Biến:String[n]; HS xem bài tập đã giải ở lớp 5. Củng cố: Nêu cú pháp, lưu đồ, chức năng câu lệnh while ? Nêu cú pháp, lưu đồ, chức năng câu lệnh Repeat? Nêu cú pháp, lưu đồ, chức năng câu lệnh For? Học thuộc khái niệm mảng là gì ? Cách truy xuất phần tử của mảng Cách khai báo mảng 1 chiều, mảng nhiều chiều Học thuộc khái niệm chuỗi là gì ? Cách khai báo chuổ, Cách truy xuất phần tử của chuỗi Cách truy xuất phần tử của chuỗi : Học sinh cần nắm vững các thao tác trên chuỗi-Các hàm v à thủ tục đối với kiểu chuỗi Áp dụng giảI một số bài tập đơn giản trong sách giáo khoa và bài tập ghi ở lớp. 5. Dặn dò Về nhà học bài và làm bài tập. Trả lời câu hỏi sách giáo khoa trang 79 và trang 80. Tuần sau thi học kì I KIỂM TRA HỌC KỲ I I.TRẮC NGHIỆM (Hs khoanh tròn vào một phương án trả lời đúng cho mỗi câu) Biểu diễn nào dưới đây là Hằng? A. begin B. E58 C. 12.4E-5 D. type Kiểu dữ liệu nào dưới đây thuộc loại kiểu dữ liệu chuẩn: A. Kiểu kí tự B. Kiểu xâu C. Kiểu mảng D. Kiểu bản ghi Phép toán nào sử dụng trong biểu thức trả về giá trị True hoặc False A. Phép toán số học B. Phép toán quan hệ và phép toán số học C. Phép toán số học và phép toán logic D. Phép toán quan hệ và phép toán logic Chương trình sau đây Đúng hay Sai? Vì sao? Begin Writeln(‘Chuc cac em thi tot!’); A. Sai, vì CT này không có phần khai báo Write(‘Dat ket qua cao’); B. Đúng, vì CT này không cần khai báo Readln C. Sai, vì CT này thiếu phần nhập giá trị End. D. Sai, vì CT này thiếu phần tính toán Chương trình dịch Pascal cấp phát bao nhiêu Byte bộ nhớ cho các biến trong khai báo sau: Var A: array[1..10] of integer; A. 28 B. 36 I, N: real; q, b: word; C.5 D. 18 Giá trị của các biểu thức boolean sau đây là gì với N = 300, p = - 0.001, q = 0.001, c = ‘5’ (1) 2*N <=500 (2) (abs(p) = q) and (c < ‘4’) (3) Not (c > ‘7’) A. False – False – True B. False – True – False C. False – True – True D. False – False – False Sau khi thực hiện đoạn chương trình sau thu được kết quả xâu S là gì? begin S := ‘GBCDEFA’; T := S[1]; S[1] := S[length(S)]; S[length(S)] := T; A. ‘GBCDEFA’ B. ‘ABCDEFG’ end; C. ‘AGBCDEF’ D. ‘BCDEFAG’ Trong NNLT Pascal, hai xâu kí tự đượ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ảu hai xâu D. Số lượng các kí tự khác nhau trong xâu Hãy đọc kỹ đoạn chương trình sau: Program timkiem; Var m: array[1..100] of integer; i, n, k: integer; Begin Write('Ban can nhap bao nhieu so:'); Readln (n); For i:=1 to n do Begin Write('Nhap so thu ',i,':'); Readln(m[i]); End; Write('Nhap so can tim:'); Readln(k); i:=1; While (m[i]k)and (i<=n)Do i:=i+1; If i>n then Writeln ('Trong day ban da nhap khong co so nguyen nao bang ',k) else Writeln('Trong day ban da nhap co so bang',k); Readln; End. Và hãy trả lời các câu hỏi 9 và 10: Trong chương trình trên có đoạn lệnh có sử dụng vòng lặp While Do, chương trình trên thoát khỏi vòng lặp khi: A. m[ i ]=k B. (m[ i ]=k) hoặc( i>n) C. i>n D. (m[ i ]=k) và (i>n) Giả sử khi chạy chương trình, ta tạo dữ liệu cho mảng m gồm các phần tử lần lượt là: 7, 5, 19, 54 và 20. Và gán cho biến k mang giá trị 54. Vậy sau khi thực hiện xong chương trình, trên màn hình sẽ có dòng thông báo: A. Trong dãy bạn đã nhập có số bằng k B. Trong dãy bạn đã nhập có số bằng 54 C. Trong day ban da nhap co so bang k D. Trong day ban da nhap co so bang 54 II. TỰ LUẬN 1. Cho chương trình Var i: byte; Begin For i:=1 to 35 do If i mod 3 = 0 then write (i:4); Readln End. a. Hãy viết lại chương trình bằng cách thay đổi cấu trúc FOR bằng cấu trúc WHILE. b. Cho biết chương trình trên thực hiện công việc gì? 2. Viết CT tạo mảng A có N (N£200) phần tử là số nguyên. In ra màn hình mảng vừa tạo. Tính và đưa ra màn hình giá trị trung bình của các số nguyên dương lẻ có trong mảng A.
Tài liệu đính kèm: