I. Mục đích, yêu cầu.
Hiểu được khả năng của ng2 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
CHƯƠNG I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Ngày soạn: 21/8/2007 Tiết 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH 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 ng2 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 T/g Hđ của GV Hđ của HS Nd ghi bảng 2’ Đ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. Chtrì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 Ngày soạn: 24/8/2007 Tiết 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH I. MỤC TIÊU 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. ĐỒ DÙNG DẠY HỌC 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. 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. a. Mục tiêu: Hs biết và phân biệt được 1 số loại tên: tên dành riêng, tên chuẩn, tên tự đặt. b. Nội dung: Mọi đối tượng trong chtrình đếu phải được đặt tên theo một qui tắc của NNLT và từng chtrình dịch cụ thể. Tên dành riêng (từ khóa): là những tên được NNLT qui định dùng với ý nghĩa xác định, người lập trình ko được dùng với ý nghĩa khác Tên chuẩn: là những tên được NNLT qui định dùng với ý nghĩa nào đó, người lập trình có thể định nghĩa lại để dùng với ý nghĩa khác. Tên do người dùng đặt: là tên được dùng theo ý nghĩa riêng của người lập trình, phải được khai báo trước khi sử dụng và không được trùng với từ khóa. c. Các bước tiến hà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 a. Mục tiêu: Hs biết được khái niệm về hằng, biến và chú thích. Phân biệt được hằng và biến. Thấy được ý nghĩa của chú thích. b. Nội dung: * Hằng là đại lượng có giá trị không đổi trong quá trình thực hiện chtrình. Có 3 loại hằng + Hằng số học: số nguyên, só thực, có dấu và không dấu + Hằng xâu: chuổi kí tự bất kì, được đặt trong dấu nháy đơn + Hằng logic: có 2 giá trị True hoặc False * Biến: là đại lượng đặt tên để lưu giá trị và giá trị này có thể thay đổi trong quá trình thực hiện chtrình, biến dùng trong chtrình đều phải được khai báo. * Chú thích : giải thích cho chtrình rõ ràng, dể hiểu. Được đặt trong cặp dấu { } hoặc (* *) c. Các bước tiến hành: 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 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 Ngày soạn: 27/8/2007 Tiết 3: BÀI TẬP I. MỤC TIÊU 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. ĐỒ 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. III. HOẠT ĐỘNG DẠY HỌC 1. Hoạt động 1: (5 phút) Kiểm tra bài cũ T/g 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: T/g 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 t ... u có phải là Palidrom hay không? Kq: ‘xau la palidrom’ hoặc ‘xau khong la palidrom’ -Quan sát gv thực hiện chtrình, nhập dữ liệu và kquả của chtrình. 3. Chú ý theo dõi y/cầu của gv, trả lời một số cau hỏi dẫn dắt - Kí tự thứ i đối xứng với kí tự thứ length(s) –i +1 - Tối đa length(s) div 2 - For hoặc While - Thực hiện soạn thảo chtrình lên máy theo yêu cầu cải tiến của gv - Nhập dữ liệu và thông báo kết quả. 2. Hoạt động 2: (40 phút) Rèn luyện kĩ năng lập trình a. Mục tiêu: Hs biết phân tích yêu cầu để viết một chtrình hoàn chỉnh b. Nội dung: Viết CT nhập vào một xâu S bất kì 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 và thường) c. Các bước tiến hành: Hđ của GV Hđ của HS Nd ghi bảng 1. Giới thiệu đề bài - Giới thiệu đề bài lên bảng -Y/cầu hs trả lời các câu hỏi để phân tích bài toán +Dữ liệu vào và dữ liệu ra của bài toán? +Nhiêm vụ chính cần thực hiện khi giả quyết bài toán? +Cấu trúc dữ liệu cần sử dụng? + Ta phải sử dụng hàm gì? Bổ sung và sửa sai cho hs. 2. Y/cầu hs đượ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/cầu các em lập trình xong trước tìm một số bộ test - Y/cầu hs nhập dữ liệu vào theo test của gv và thông báo kết quả. Xác nhận kết quả đúng của hs và sửa sai cho các em có kết quả sai. +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. +T/toán: Duyệt xâu từ trái sang phải, thêm 1 đơn vị cho kí tự đọc được +Cấu trúc dữ liệu: Dem[‘A’.. ‘Z’] +Upcase() 2. Độc lập soạn chtrình vào máy - Tìm test - Nhập dữ liệu của gv thực hiện chtrình và xem kết quả - Thông báo kết quả IV. ĐÁNH GIÁ CUỐI BÀI (5phút) 1. Nội dung đã học: Một số thuật toán cơ bản liên quan đến xâu kí tự 2. Câu hỏi, bài tập về nhà Xem trước bài: Kiểu bản ghi Ngày soạn: 11/12/07 Tiết 31 KIỂU BẢN GHI I. MỤC TIÊU 1. Kiến thức - biết được khái niệm về bản ghi - Phân biệt được sự giống và khác nhau giữa kiểu bản ghi và kiểu mảng 1 chiều 2. Kĩ năng - Khai báo được kiểu bản ghi, khai báo được biến kiểu bản ghi trong NNLT Pascal - Nhập/xuất được dữ liệu cho bản ghi - Thamchiếu đến từng trường của bản ghi - Sử dụng kiểu bản ghi để giải quyết một số bài tập đơn giản II. ĐỒ DÙNG DẠY HỌC 1. Giáo viên: Giáo án, Máy tính 2. Học sinh: sgk III. PHƯƠNG PHÁP: Thuyết trình, nêu vấn đề, hỏi đáp. IV. HOẠT ĐỘNG DẠY HỌC 1. Hoạt động 1: (5 phút) Kiểm tra bài cũ Hđ của GV Hđ của HS Viết CT nhập vào một xâu bất kì và cho biết trong xâu có bao nhiêu kí tự số? Var S: string; i: integer; Begin write(‘Nhap xau S ’); readln(S); d:=0; For i:=1 to length(s) do If (s[i]>=’0’) and (s[i]<=’9’) then inc(d); Write(d); End. 2. Hoạt động 2: Giới thiệu kiểu bản ghi. Tạo một kiểu bản ghi trong NNLT Pascal. Hđ của GV Hđ của HS Nd ghi bảng 1. Tìm hiểu kiểu bản ghi Y/cầu hs quan sát bảng kết quả thi TN sgk trang 74. Hỏi: trên bảng có những thông tin gì? -bảng chứa thông tin của bao nhiêu đối tượng? -Y/cầu hs cho thêm ví dụ tương tụ. * Mỗi thông tin của đtượng đgl 1 thuộc tính hay 1 trường của đtượng. Mỗi đtượng đươc mô tả bằng nhiều thiông tin trên một hàn đgl một bản ghi. * Để mô tả các đtượng như vậy, NNLT cho phép ta xác định kiểu bản ghi. một đtượng được mô tả băng một bản ghi. 2. Y/cầu hs n/cứu sgk và cho biết cách khai báo kiểu bản ghi, khai báo biến kiểu bản ghi trong Pascal Y/cầu: Tìm 1 vídụ để minh hoạ Để giải quyết bài toán trong mục 1 ta phải khai báo 1 mảng các bản ghi. Hãy tạo kiểu mảng? Y/cầu hs so sánh giống và khác nhau của kiểu bản ghi và kiểu mảng 1 chiều. 1. Quan sát ví dụ sgk, trả lời câu hỏi: - Họ tên, ngày sinh, giới tính, điểm các môn thi. - 3 đối tượng - Để mô tả 1 người trong danh bạ điện thoại cần các thông tin: họ tên, địa chỉ, SĐT. 2. Tham khảo sgk để năm cách khai báo kiểu và biến kiểu bản ghi. Độc lập suy nghĩ, tạo kiểu bản ghi Type kieu_hs =record Hten,ngsinh:string; Toan, van:byte; Dtb:real; End; Kieu_m=array[1..50] of kieu_hs; Var Lop:kieu_m; Tl: Giống: được ghép bởi nhiều phần tử Khác: mảng 1 chiều ghép bởi nhiều ptử cùng kiểu,kiểu bản ghi ghép nhiều ptử có kiểu dữ liệu có thể khác nhau. 1. Khai báo Type =record : ; . :; End; Var : ; Ví dụ: Type knguoi = record Hoten:string; Dchi:string; SDT:longint End; Var nguoi: knguoi; 3. Hoạt động 3: Tìm hiểu cách sử dụng bản ghi trong NNLT Pascal Hđ của GV Hđ của HS Nd ghi bảng 1. Giới thiệu cấu trúc chung, tham chiếu đến từng trường của biến bản ghi Y/cầu hs tìm vídụ về tham chiếu đến từng trường của biến bản ghi từ các khai báo ở trên 2. Gới thiệu 2 cách gán giá trị cho biến bản ghi +Gán nguyên cảu biến bản ghi (1) + Gán lần lượt từng trường (2) Hỏi: trường hợp (1) thực hiện trong điều kiện nào? 3. Nhập/xuất dữ liệu chó biến bản ghi * ta phải nhập/xuất giá trị cho từng trường. Y/cầu hs viết lệnh nhập giá trị cho 3 trường của biến nguoi; lệnh in giá trị của trường hoten của bản ghi nguoi 1. Quan sát cấu trúc gv giới thiệu Vd: Nguoi.hoten Nguoi.dchi Nguoi.sdt 2. Quan sát 2 cách gán giá trị và tìm ví dụ cụ thể Tl: hai biến A, B được khai báo cùng 1 kiểu bản ghi. 3. Chú ý theo dõi sự dẫn dắt của gv, ghi nhớ và tìm ví dụ. Readln(Nguoi.hoten); Readln(Nguoi.dchi); Readln(Nguoi.sdt); Writeln(nguoi.hoten;) 2. Tham chiếu đến từng trường của bản ghi Tênbiến.têntrường Vd: Type knguoi = record Hoten:string; Dchi:string; SDT:longint End; Var nguoi: knguoi; 3. Gán giá trị cho biến bản ghi (1) A:=B (2) A.ht:=B.ht; A.toan:=9; A.dtb:=(A.toan+A.li)/2; 4. Hoạt động 4: Rèn luyện kĩ năng lập trình a. Nội dung: Viết CT giải quyết bài toán quản lí sau: Nhập họ và tên, điểm toán(toan) và điểm lý (ly) của 30 học sinh trong lớp. In ra màn hình họ tên và điểm trung bình (dtb) của 30 học sinh đó (dtb=(toan+ly)/2) b. Các bước tiến hành: Hđ của GV Hđ của HS Nd ghi bảng 1. Nêu nội dung đề bài Hỏi: Sử dụng kiểu dữ liệu như thế nào để giải quyết bài toán? -Y/cầu hs mô tả thông tin của 1 hs bằng kiểu bản ghi. - Tạo mảng các bản ghi đó - Y/cầu hs nếu các bước gải quyết bài toán 2. chia lớp thành 3 nhóm. y/cầu viết CT lên bìa con. Thu bìa và treo lên bảng, gọi hs nhóm khác nhận xét và đánh giá. 3. Thông báo chtrình mẫu để hs chuẩn hoá lại. 1. Đọc đề, phân tích để trả lời câu hỏi. -Một mảng các bản ghi Type hs=record Ten:string;Toan,li,tb:real; end; Manghs=array[1..30] of hs; Var Lop:manghs; Các bước: B1:Tạo kiểu dữ liệu, kbáo biến. B2: Nhập dliệu cho mả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ữ sau 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. IV. ĐÁNH GIÁ CUỐI BÀI (5phút) 1. Nội dung đã học 2. Câu hỏi, bài tập về nhà Xem nội dung phụ lục B, sgk, trang 134: Câu lệnh With. Ngày soạn: 15/12/07 Tiết 32-33 ÔN TẬP I. MỤC TIÊU 1. Kiến thức 2. Kĩ năng II. ĐỒ DÙNG DẠY HỌC 1. Giáo viên 2. Học sinh III. PHƯƠNG PHÁP IV. HOẠT ĐỘNG DẠY HỌC 1. Hoạt động 1: (5 phút) Kiểm tra bài cũ Hđ của GV Hđ của HS 2. Hoạt động 2: a. Mục tiêu: b. Nội dung: c. Các bước tiến hành: Hđ của GV Hđ của HS Nd ghi bảng 3. Hoạt động 3: a. Mục tiêu: b. Nội dung: c. Các bước tiến hành: Hđ của GV Hđ của HS Nd ghi bảng 4. Hoạt động 4: a. Mục tiêu: b. Nội dung: c. Các bước tiến hành: Hđ của GV Hđ của HS Nd ghi bảng IV. ĐÁNH GIÁ CUỐI BÀI (5phút) 1. Nội dung đã học 2. Câu hỏi, bài tập về nhà Xem trước bà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: