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

Giao án_11mới hay(đầy đủ)

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

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 130
Dung lượng 1,38 MB

Nội dung

Chương 1: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Tiết1 §1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Ngày soạn: 15/08/2010 Giảng tại các lớp: Lớp Ngày giảng Học sinh vắng mặt Ghi chú 11A 11E I. MỤC ĐÍCH YÊU CẦ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 thông dịch và biên dịch - Biết một trong những nhiệm vụ quan trọng của chương trình dịch là phát hiện lỗi cú pháp của chương trình nguồn. 2. Kỹ năng: 3. Tư tưởng: Giúp học sinh bước đầu làm quen với các khái niệm của NNLT từ đó tạo hứng thú học môn NNLT bậc cao này II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC: - Phương pháp: Thuyết trình, vấn đáp. - Phương tiện: Máy chiếu, máy tính, phòng chiếu hoặc bảng. III. NỘI DUNG BÀI MỚI: 1. Ổn định lớp 2. Kiểm tra bài cũ: 3. Bài mới Thời gian Hoạt động của GV và HS Nội dung * Đặt vấn đề: Em hãy cho biết các bước giải bài toán trên máy tính. HS: Trả lời GV: 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. Xác định bài toán, lựa chọn hoặc thiết kế thuật toán, viết chương trình, hiệu chỉnh, viết tài liệu. GV: Em hãy cho biết có mấy loại ngôn ngữ lập trình? * Khái niệm 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. HS: Trả lời. GV: Phân tích câu trả lời của học sinh có 3 loại ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao. GV: 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? GV:Như vậy với chương trình dịch, có thể coi chương trình nguồn (Chương trình viết trên ngôn ngữ bậc cao) là dữ liệu vào và chương trình đích là chương trình được dịch thành chương trình máy hiểu được thông thường là ngôn ngữ máy) kết quả ra. GV: Đưa ra ví dụ: Bạn không biết tiếng anh vậy làm sao bạn có thể nói chuyện được với người Anh hay đọc một quyển sách tiếng anh. + Khi một người làm phiên dịch thì người đó phải dịch thế nào? (Dịch ngay từng câu khi hai người nói chuyện) + Khi muốn dịch quyển sách đó phải sang tiếng Việt người đó làm thế nào? (Dịch ngay toàn bộ cuốn sách đó sang tiếng việt để người khác có thể đọc được) GV: Như vậy có thể nói rằng để dịch sang tiếng anh như ví dụ trên chúng ta có hai cách? Đối với máy tính chương trình dịch cũng có hai loại (2 cách) để dịch sang máy tính cho máy tính hiểu. Ví dụ: Biên dịch: Khi sử dụng ngôn ngữ chương trình Pascal để dịch một chương * 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ớ của máy tính và bộ nhớ thi hành ngay nhưng nhược điểm phải phụ thuộc vào loại máy tính . * Chương trình viết bằng ngôn ngữ bậc cao ngôn ngữ thân thiện, mặt khác không phụ thuộc vào loại máy nhưng phải sửa sai nhưng ngôn ngữ gần với ngôn ngữ tự nhiên, có tính độc lập cao * Kết luận: 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ới có thể thi hành được * Sơ đồ về quá trình chuyển ngôn ngữ bậc cao sang ngôn ngữ máy. Ctrình -> Ctr dịch -> Ctr đích nguồn (Input) (Output) * Chương trình dịch có 2 loại: Biên dịch và thông dịch trình ra ngôn ngữ máy để máy tính thực hiện + Biên dịch(compiler) thực hiện các bước sau: - 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 trong ctr nguồn. - Dịch toàn bộ ctr nguồn thành chương trình đích để có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần thiết. * 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 là việc lặp lại dãy các bước sau: - Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong ctr nguồn. - Chuyển đổi các câu lệnh đó thành 1 hay nhiều câu lệnh trong ngôn ngữ máy. - Thực hiện các lện ngôn ngữ máy vừa chuyển được. 4. Củng cố: - Qua bài này học sinh nắm được khái niệm lập trình để dịch ngôn ngữ bậc cao cần có chương trình dịch. - Hiểu được bản chất của 2 loại chương trình: Biên dịch và thông dịch Câu hỏi củng cố: 1, Nêu sự giống và khác nhau giữa biên dịch và thông dịch? 2, Tại cần sử dụng ngôn ngữ bậc cao? 5. Dặn dò và hướng dẫn học sinh học và làm bài tập ở nhà: - Về nhà các em xem lại nội dung của bài học sáng nay. - Trả lời các câu hỏi trong sgk. - Đọc trước bài 2: Các thành phần của ngôn ngữ lập trình. VI. TỰ RÚT KINH NGHIỆM SAU GIỜ GIẢNG: Tiết 2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH Ngày soạn: 15/08/2010 Giảng tại các lớp: Lớp Ngày giảng Học sinh vắng mặt Ghi chú 11A 11E I. MỤC ĐÍCH YÊU CẦU 1. Kiến thức: - Biết ngôn ngữ lập trình có 3 thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa. - Hiểu và phân biệt được 3 thành phần này. - Biết các thành phần cơ bản 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 - Phân biệt được tên, hằng và biến - Biết đặt tên đúng. 3. Tư tưởng: Giúp học sinh bước đầu làm quen với các khái niệm của NNLT từ đó tạo hứng thú học môn NNLT bậc cao này II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC: - Phương pháp: Thuyết trình, vấn đáp. - Phương tiện: Máy chiếu, máy tính, phòng chiếu hoặc bảng III. NỘI DUNG BÀI MỚI 1. Ổn định lóp: 2. Kiểm tra bái cũ: Câu 1: Chương trình dịch là gì? Tại sao cần có chương trình dịch? Câu 2: So sánh sự giống nhau và khác nhau giữa biên dịch và thông dịch? 3. Bài mới: Thời gian Hoạt động của GV và HS Nội dung * Đặt vấn đề: Các ngôn ngữ lập trình thường có chung một số thành phần, dùng kí hiệu nào để viết Ctr, viết theo quy tắc nào? và mỗi ngôn ngữ lập trình có một quy tắc viết riêng vậy chúng trong giờ hôm nay chúng ta sẽ đi tìm hiểu các thành phần của ngôn ngữ Pascal. GV: Đưa ra bảng phụ các thành phần chữ cái phân tích . * Lưu ý: Các NNLT khác nhau thì bảng 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, ngữ pháp và ngữ nghĩa. a, Bảng chữ cái: là tập hợp các kí hiệu chữ cái sử dụng trong ngôn ngữ cũng khác nhau. Vi dụ: Ngôn ngữ Pascal không sử dụng các dấu ! ; " \ nhưng trong C và C ++ thì lại dùng. HS: Lắng nghe và ghi chép. GV: Thành phần thứ 2 đó là cú pháp dựa vào bộ quy tắc này người viét cũng như chương trình dịch sẽ cho biết tổ hợp kí tự nào hợp lệ VD: Trong pascal không cho dùng ! \ " khi viết chương trình. HS: lắng nghe. GV: Vậy đó là các thành phần cơ bản của NNLT, bây giờ ta sẽ đi tìm hiểu 1 số khái niệm cơ bản liên quan đến NNLT. GV: Cũng như trong cuộc sống chúng ta muốn phân biệt mọi vật cũng như người này với ngươì kia chúng ta phải đặt tên vậy ở trong NNLT cũng như vậy tất cả mọi đối tượng đều được đặt tên nhưng phải tuân theo quy tắc nào thì chúng ta đi tiếp. HS: Nghe giảng và ghi chép theo ý hiểu dùng để viết chương trình. ta có bảng phụ sau: Loại kí tự Biểu diễn các kí tự Mã ASCII +Các chữ cái in 'A' .'Z' 65 .90 hoa và thường 'a' .'z' 97 .122 +kí tự kiểu số '0' .'9' 48 .57 + Kí tự dấu cách ' ' 32 +Kí tự dấu gạch dưới '_' + Kí tự các phép toán '+','-','*','=', '>', '<' + Kí tự dấu ngoặc: '(', ')', '}', '{', ']','[' + Kí tự khác như dấu . ; " @ $ # $ & b, Cú pháp là bộ quy tắc viết chương trình. + Lưu ý: Những ngôn ngữ khác nhau cũng có quy tắc khác nhau. VD: trong Pascal dùng cặp Begin end để gộp nhiều câu lệnh thành 1 câu lệnh còn trong C thì dùng cặp ngoặc {} c, Ngữ nghĩa: Xác định ý nghĩa thao tác cần phải thực hiện ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó. VD: (sgk - 10) * Tóm lại: (sgk - 10) - Cú pháp cho biết cú pháp của một chương trình hợp lệ còn 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 ctr 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 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 *, Trong Pascal Tên là một dãy liên tiếp không quá 127 kí tự gồm có chữ cái, chữ số và dấu gạch dưới. + Tên bắt đầu bằng chữ cái hoặc dấu gạch dưới. + Tên không bắt đầu bằng chữ số và các GV: Ở đay chúng ta chỉ nghiên cứu quy tắc đặt tên trong Pascal. GV: Tất cả các NNLT đều có 3 thành nhưng các thành phần NN khác nhau mà các tên có ý nghĩa khác nhau. VD: while, void . trong C là tên dành riêng. GV: tên dành riêng dùng với một ý nghĩa riêng xác định, người LT không được sử dụng với một ý nghĩa khác tên dành riêng sẽ có màu khác so với tên khác và câu lệnh. VD: trong Turbo Pascal tên dành riêng có màu trắng. HS: Nghe giảng và ghi chép. GV: Tên chuẩn khác với tên dành riêng: tên được 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ể dùng với một ý nghĩa khác. GV: Đưa ra ví dụ: để viết PT bậc 2 ta phải khai bao những tên sau: + a, b, c là 3 hệ số của PT bậc 2. + x1, x2 là nghiệm của Pt bậc 2 + deta dùng để lưu giá trị deta HS: Lấy ví dụ khác. GV: Khi những giá trị trong chương trình không đổi thì ta gọi là gì? GV: Hằng thường có 2 loại hằng, 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ị được viết trực tiếp vào chương trình. Mỗi NNLT có một quy định về cách viết hằng riêng. Ví dụ biến là đối tượng 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 dùng để lưu trữ kết quả, làm trung gian cho các tính toán . mỗi loại ngôn ngữ khác nhau có những loại biến khác nhau và cách khai báo khác nhau. GV: Khi viết chương trình người lập trình kí hiệu đặc biệt. VD: tên đúng: anh, _12b,; Tên sai: 1am; *khánh; Lưu ý: _ Tên không được chứa dấu cách, bắt đầu bằng chữ số, kí tự đặc biệt để đặt tên. _ Trong Turbo Pascal không phân biệt chữ hoa chữ thường. * Phân loại tên trong NNLT trong Pascal thường có 3 loại tên cơ bản: tên dành riêng, tên chuẩn, tên do người lập trình đặt. _ Tên dành riêng (Từ khoá) VD: Một số từ khoá trong turbo pascal như begin; end; var, const; uses; . _Tên chuẩn: Dùng với ý nghĩa nhất định nào đó. VD: tên chuẩn trong turbo pascal như: real; integer; read; cos; sin . _ Tên do người lập trình đặ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. b. Hằng và biến + Hằng: Là các đại lượng có giá trị không đổi trong qua trình thực hiện chương trình - Hằng số học: số nguyên, số thực. - Hằng xâu là chuỗi kí tự trong bộ mã ASCII . Khi viết phải đặt trong cặp nháy " - Hằng lôgíc là giá trị đúng, sai (true) hoặc (false) VD: + Biến là đại lượng được đặt tên, giá trị có thể thay đổi được trong chương trình. -Các NNLT có nhiều loại biến khác nhau thường có nhu cầu giải thích từng câu lệnh mà mình viết biến phải được khai báo trước khi sử dụng. c. Chú thích: - trong chương trình khi viết chú thích có thể viết cho chương trình. - Chú thích không làm ảnh hưởng cho chương trình. Ví dụ: Trong pascal chú thích được đặt trong {} hoặc (* và *) trong C ++ chú thích đặt trong /* và */ 4, Củng cố - Qua bài này các em cần nắm các thành phần cơ bản để viết chương trình; một số khái niệm như tên: tên dành riêng, tên chuẩn, tên do người lập trình đặt;khái niệm biến hằng. - Bài tập củng cố: 1, Hãy viết ba tên đúng ba tên sai theo quy tắc của pascal. 2, hãy chỉ ra đâu là biểu diễn hằng trong turbo pascal và chỉ lỗi a, 186,23; b, 1.06E15; c, 273; d, lan'; e, a20; f, 'false' 5. Dặn dò và hướng dẫn học sinh học và làm bài tập ở nhà: - Về nhà các em trả lời các câu hỏi 4 -> 6 (sgk - 13) - Đọc lại kiến thức bài 1, 2 và làm bài tập 1.2-> 1.4 (sbt - 6,7) IV. TỰ RÚT KINH NGHIỆM SAU GIỜ GIẢNG Tiết 3 BÀI TẬP Ngày soạn: 15/08/2010 Giảng tại các lớp: Lớp Ngày giảng Học sinh vắng mặt Ghi chú 11A 11E I. MỤC TIÊU CẦN ĐẠT 1. Kiến thức: - Củng cố những kiến thức đã học ở bài 1 và bài 2 2. Kỹ năng: - Làm một số bài tập để nắm trắc lý thuyết, biết đặt tên đúng, sai trong Pascal biết nhận sai cách biểu diễn hằng sai đúng trong pascal. 3. Tư tưởng: - Bước đầu làm quen với NNLT, tạo hứng thú học môn học này hơn. II.PHƯƠNG PHÁP, ĐỒ DÙNG DẠY HỌC: - Đàm thoại đưa ra các dạng bài tập, đặt vấn đề và giải quyết vấn đề. - Giáo án, sgk, sbt . III. NỘI DUNG BÀI MỚI 1. Ổn định lớp 2. Kiểm tra bài cũ: Câu 1: Hãy nêu quy tắc đặt tên trong Pascal? ví dụ tên đúng, tên sai? Câu 2: Hãy cho biêt điểm khác biệt giữa tên dành riêng và tên chuẩn? cho ví dụ về 2 loại tên đó? 3. Nội dung bài mới: Thời gian Hoạt động của giáo viên và học sinh Nội dung GV: Nhắc lại nội dung của bài 2 1, Quy tắc đặt tên trong pascal? 2, Phân biệt tên chuẩn và tên dành riêng? HS: Trả lời GV: Đưa ra các bài tập HS: Đọc bài tập 6 (sgk - 13) và trả lời. GV: Nhận xét và bổ sung Trả lời: 2, Tên dành riêng không được dùng với ý nghĩa đã xác định, còn tên chuẩn có thể dùng với một ý nghĩa khác. Bài 6 (sgk - 13) a. 150.0 ; b, -22; c, 6,23; d, '43' ; e, A20; f, 1.06E.15; g, 4+6; h, 'c; i, 'true' Giải Những biểu diễn không phải là hằng trong pascal c, 6,23 - dấu phẩy thay bằng dấu chấm. e, A20 - là tên chưa rõ giá trị chú ý: g, 4+6 là biểu thức hằng trong pascal cũng coi là hằng trong pascal. i, 'true' là hằng xâu không phải hằng lôgíc. h, 'c sai qui định về hằng xâu; thiếu nháy đơn ở cuối; Bài 1.9(sbt - 7) a, Begin; b, '65c' ; c, 1024; d, -46; e, 5.A8; GV: Đưa ra các bài tập HS: Đọc và trả lời câu hỏi. f, 12.4E-5 Hãy chọn biểu diễn hằng trong Pascal Đáp án: b, c, d, f Bài 1.10 (sbt - 7) Hãy chọn biểu diễn tên trong những biểu diễn sau: a, '*****' b, -5+9-0; c, PpPpPp d, +256.512; e, FA33c9; f, (2) Đáp án: c, e Bài 1.11(sbt-7) Biểu diễn nào là từ khoá trong pascal a, end; b, integer; c, real; d, sqrt; e, 'end' ; f, var; đáp án: a, f Bài 1.16(sbt - 7) Phát biểu nào sau đây là đúng a, Khi cần thay đổi ý nghĩa của một từ khoá nào đó người lập trình cần khai báo theo nghĩa mới. b, tên do người lập trình đặt không trùng với từ khoá nhưng được trùng với tên chuẩn. c, Mọi đối tượng có giá trị thay đổi trong chương trình đều gọi là biến. d, trong chương trình tên gọi cũng là một đối tượng không thay nên cũng có thể xem là hằng. Đáp án: b, c 4. Củng cố: Qua bài này học sinh nắm trắc hơn lý thuyết áp dụng vào để làm bài tập rèn luyện kỹ năng đặt tên trong pascal, phân biệt hằng biến cách biểu diễn của nó trong pascal. 5. Dặn dò học sinh học và làm bài tập ở nhà: - Về nhà làm bài tập 1.7; 1.17 đến 1.20 trong sách bài tập - Về nhà đọc trước bài cấu trúc chương trình. V. RỰ RÚT KINH NGHIỆM SAU GIỜ GIẢNG: CHƯƠNG II: CHƯƠNGTRÌNH ĐƠN GIẢN TIẾT 4: CẤU TRÚC CHƯƠNG TRÌNH Ngày soạn: 24/08/2010 Giảng tại các lớp: Lớp Ngày giảng Học sinh vắng mặt Ghi chú 11A 11E I. MỤC ĐÍCH YÊU CẦU 1. Kiến thức: − Hiểu chương trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình. − Biết cấu trúc của một chương trình Pascal: cấu trúc chung và các thành phần. 2. Kỹ năng: − Nhận biết được các thành phần của một chương trình đơn giản. 3. Tư tưởng: Hình thành ở học sinh bước đầu làm quen đến biết viết một chương trình bằng ngôn ngữ cụ thể II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:  Phương pháp: Thuyết trình, vấn đáp.  Phương tiện: Máy chiếu, máy tính, phòng chiếu hoặc bảng III.TIẾN TRÌNH BÀI GIẢNG 1. Ổn định lớp: 2. Kiểm tra bài cũ 3. Nội dung bài mới Tg Hoạt động của Giáo viên và Học sinh Nội dung GV : Ở chương I chúng ta đã biết được các thành phần cơ bản của 1 NNLT để mô tả những thuật toán đó ta phải viết chương trình vậy viết một chương trình có cấu trúc như nào chúng ta đi vào bài hôm nay. GV: Cũng như ta viết 1 bài văn mặc dù có nhiều thể loại bài văn văn nghị luận, phân tích, mô tả,… nhưng cấu trúc chung để viết một bài văn hoàn chỉnh thì đều có 3 phần đúng không? vậy thì trong NNLT cũng như vậy có ba phần đó là những phần nào ta đi tìm hiểu phần 1. HS: Lắng nghe, ghi chép GV : Thuyết trình đưa ra kiến thức HS : Lắng nghe, ghi chép . GV: đó là cấu trúc chung vậy để hiểu từng thành phần ta đi tiếp phần 2. GV : Phần khai báo sẽ báo cho máy biết 1. Cấu trúc chung - Mỗi chương trình nói chung gồm 2 phần: phần khai báo và phần thân chương trình. [<Phần khai báo>] <Phần thân> 2. Các thành phần của chương trình a.Phần khai báo [...]... bàn + Kết quả thực: phím và gán cho biến M; :: + Kết quả khác: : ví dụ: Write(N:3); Writeln(‘X=’,x:8:2); GV: Vậy đó là cách viết chương trình để chạy chương trình giao tiếp với chương trình dịch như thế nào? ξ 8 Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình • Một số tao tác thường dùng trong GV: Cũng giống như word, pascal cũng là pascal: một phần mềm trong . toán trên máy tính. HS: Trả lời GV: 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. Xác định bài toán, lựa chọn hoặc thiết kế thuật toán,. không? GV: Trong toán học có những phép toán nào? HS: trả lời. GV: Vậy chúng có được dùng trong Bài 6: PHÉP TOÁN, BIỂU THỨC CÂU LỆNH GÁN. - NNLT nào cũng

Ngày đăng: 24/10/2013, 19:11

TỪ KHÓA LIÊN QUAN

w