Phân biệt ngôn ngữ bậc cao với ngôn ngữ lập trình khác: - Chương trình viết bằng ngôn ngữ LT bậc cao không phụ thuộc vào loại máy.. - Chương trình viết bằng ngôn ngữ LT bậc cao phải đượ
Trang 1Tuần: 1 Tiết: 1 -Ngày soạn:28/8/2007
Ngày dạy: Lớp:
Chương I: Một số khỏi niệm về lập trỡnh và ngụn ngữ lập trỡnh
Đ1 Khỏi niệm lập trỡnh và ngụn ngữ lập trỡnh
Đ2 Cỏc thành phần của ngụn ngữ lập trỡnh
I Mục đớch, yờu cầu:
Giỳp học sinh hiểu khả năng của ngụn ngữ lập trỡnh bậc cao, phõn biệt được với ngụn ngữ mỏy và hợp ngữ
Hiểu ý nghĩa và nhiệm vụ của chương trỡnh dịch Phõn biệt được biờn dịch và thụng dịch
Biết ngụn ngữ lập trỡnh cú ba 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 ba thành phần này
II Phương phỏp - phương tiện dạy học:
Thuyết trỡnh; nờu và giải quyết vấn đề
Hướng dẫn học sinh đọc sỏch, thảo luận và trả lời cõu hỏi
Túm tắt và ghi ý chớnh
Giỏo viờn chuẩn bị: Giỏo ỏn, sỏch giỏo khoa, sỏch giỏo viờn, bảng thuật toỏn
Học sinh chuẩn bị: Sỏch giỏo khoa, vở ghi
III NộI dung dạy – học:
Nội dung bài giảng Hoạt động của thầy Hoạt động của trũ
ổn định lớp
Ghi sổ đầu bài Chào thầy.Cán bộ lớp báo sĩ số
Nhắc lại kiờn thức về thuật toỏn
Bài toỏn: Tỡm nghiệm của phương
trỡnh bậc 2: ax2+bx+c=0 (a≠0)
Input: Cỏc hệ số a, b, c (a≠0)
Output: Nghiệm của phương trỡnh
Thuật toỏn theo cỏch liệt kờ:
B1: Nhập cỏc hệ số a, b, c;
B2: Tớnh Δ = b2-4ac;
B3: Nếu Δ < 0 PTVN B6
B4: Nếu Δ = 0 PT cú nghiệm
kộp x=-b/2a B6
B5: Nếu Δ > 0 PT cú 2 nghiệm
x1,2=(-b ± ∆)/2a B6
B6: Xuất kết quả Kết thỳc
Khỏi niệm lập trỡnh.
Lập trỡnh là sử dụng cấu trỳc
dữ liệu và cỏc cõu lệnh của ngụn
ngữ lập trỡnh, để mụ tả dữ liệu và
diễn đạt cỏc thao tỏc của thuật
toỏn
Cú 3 loại ngụn ngữ lập trỡnh:
Ghi tờn chương, tờn bài
Nờu bài toỏn
Input và output của bài toỏn là gỡ?
Nờu và trỡnh bày thuật toỏn theo cỏch liệt kờ
Nờu và trỡnh bày thuật toỏn theo
sơ đồ khối (Bảng phụ)
Muốn diễn đạt thuật toỏn trờn cho mỏy tớnh hiểu ta dựng ngụn ngữ nào?
Cần diễn tả thuật toỏn bằng một ngụn ngữ mà mỏy tớnh hiểu
và thực hiện được Ngụn ngữ đú gọi là ngụn ngữ lập trỡnh
Vậy lập trỡnh là gỡ?
Nhận xột cõu trả lời, chốt lại ý chớnh và phõn tớch khỏi niệm
Cú mấy loại ngụn ngữ lập trỡnh?
Mở sgk, vở ghi
Trả lời cõu hỏi Chỳ ý lắng nghe Quan sỏt, lắng nghe
Chỳ ý lắng nghe, ghi bài
Lắng nghe, đọc sỏch
và trả lời cõu hỏi Lắng nghe, ghi bài Trả lời cõu hỏi
Trang 2Ngôn ngữ máy; hợp ngữ; ngôn
ngữ bậc cao
Phân biệt ngôn ngữ bậc cao với
ngôn ngữ lập trình khác:
- Chương trình viết bằng ngôn
ngữ LT bậc cao không phụ thuộc
vào loại máy
- Chương trình viết bằng ngôn
ngữ LT bậc cao phải được chuyển
đổi thành chương trình trên ngôn
ngữ máy mới thực hiện được
Chương trình dịch.
Là chương trình có chức năng
chuyển đổi chương trình được
viết bằng ngôn ngữ lập trình bậc
cao thành chương trình thực hiện
được trên máy tính
CT nguồn CT dịch CT đích
Thông dịch.
Được thực hiện bằng cách lặp đi
lặp lại các bước sau:
- Kiểm tra tính đúng đắn của câu
lệnh tiếp theo trong CT nguồn;
- Chuyển đổi câu lệnh đó thành
một hay nhiều câu lệnh tương
ứng trong ngôn ngữ máy;
- Thực hiện các câu lệnh vừa
chuyển đổi được
Biên dịch.
Được thực hiện qua hai bước:
- Duyệt, phát hiện lỗi, kiểm tra tính
đúng đắn của các câu lệnh trong
chương trình nguồn;
- 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ữ để sử dụng lại khi cần
thiết
§2 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.
Mỗi ngôn ngữ lập trình thường
có 3 thành phần cơ bản:
Bảng chữ cái
Cú pháp
Ngữ nghĩa
a) Bảng chữ cái là tập các kí tự
được dùng để viết chương trình
Viết bảng câu trả lời của HS, chốt lại ý chính
Ngôn ngữ bậc cao khác ngôn ngữ lập trình khác ở những điểm nào?
Nhận xét, chốt lại ý chính
Cần có chương trình dịch để chuyển chương trình viết bằng ngôn ngữ LT bậc cao sang ngôn ngữ máy để có thể thi hành được
Chương trình dịch là gì?
Nhận xét, chốt lại ý chính
Vẽ sơ đồ chương trình dịch
Với CT dịch, ta có thể coi CT nguồn như là dữ liệu vào, CT đích như là kết quả ra
Chương trình dịch có mấy loại?
Cần phân biệt thông dịch và biên dịch
Phân tích ví dụ về thông dịch và biên dịch như trong sách giáo khoa
Như vậy thông dịch là việc lặp đi lặp lại các bước nào?
Nhận xét, chốt lại ý chính
Biên dịch được thực hiện qua các bước nào?
Nhận xét, chốt lại ý chính
Chúng ta kết thúc nội dung bài 1 tại đây Mời các em mở sách giáo khoa sang trang 9 để học tiếp bài
2 Các thành phần của ngôn ngữ lập trình
Mỗi ngôn ngữ lập trình thường có mấy thành phần cơ bản? Kể tên?
Thế nào là bảng chữ cái?
Nhận xét câu trả lời; chốt lại ý chính
Lắng nghe, ghi bài
Lắng nghe, đọc sách
và trả lời câu hỏi Lắng nghe, ghi bài
Lắng nghe, đọc sách
và trả lời câu hỏi Lắng nghe, ghi bài
Đọc sách, trả lời: CT dịch có hai loại là thông dịch và biên dịch
Chú ý lắng nghe Đọc sách và trả lời Lắng nghe và ghi bài
Đọc sách và trả lời Lắng nghe và ghi bài
Mở sách, ghi tên bài
Đọc sách và trả lời các câu hỏi
Lắng nghe và ghi bài
Trang 3Tập các kí tự đó được qui định
trong bảng chữ cái
Ví dụ: Bảng chữ cái trong Pascal
Loại kí tự Biểu diễn của kí tự
Chữ cái in hoa ‘A’ ’Z’
Chữ cái thường ‘a’ ’z’
Chữ số ‘0’ ’9’
Dấu cách ‘ ‘ Dấu gạch dưới ‘ _ ‘ Các phép toán + , -, *, /, =, <, > Dấu ngoặc [, ], (, ), {, } Kí tự khác Dấu chấm, dấu phẩy, dấu hai chấm, dấu chấm phẩy, dấu phẩy trên ( ‘ ), @, $, ^, &, # b) Cú pháp là bộ qui tắc để viết chương trình, cho biết cách viết một CT hợp lệ, từ đó mô tả chính xác thuật toán để máy thực hiện Xét 2 biểu thức: A + B (1); với A, B là các số thực; I + J (2); với I, J là các số nguyên Trong biểu thức (1): Dấu “+” là cộng 2 số thực Trong biểu thức (2): Dấu “+” là cộng 2 số nguyên c) Ngữ nghĩa xác định ý nghĩa của các tổ hợp kí tự trong CT Nêu, phân tích ví dụ về bảng chữ cái trong Pascal (Treo bảng phụ) Bảng chữ cái của các ngôn ngữ lập trình nói chung không khác nhau nhiều Thế nào là cú pháp? Nhận xét, chốt lại ý chính VD: Cú pháp của ngôn ngữ lập trình Pascal dùng cặp từ Begin End để gộp nhiều lệnh thành một lệnh Nêu ví dụ Em hiểu như thế nào về dấu “+” trong 2 biểu thực trên? Nhận xét, chốt lại câu trả lời Như vây, ngữ nghĩa dấu “+” trong 2 ngữ cảnh khác nhau là khác nhau Thế nào là ngữ nghĩa? Chốt lại ý chính Lưu ý: Chương trình dịch phát hiện lỗi về cú pháp chứ không phát hiện được lỗi ngữ nghĩa Quan sát, lắng nghe và ghi bài Đọc sách, trả lời Lắng nghe và ghi bài Lắng nghe, ghi bài, trả lời câu hỏi Chú ý lắng nghe Trả lời câu hỏi Lắng nghe và ghi bài IV Củng cố: Lập trình là gì? Phân biệt ngôn ngữ lập trình bậc cao với ngôn ngữ lập trình khác? Chức năng của chương trình dịch? Phân biệt thông dịch và biên dịch Kể tên các thành phần cơ bản của ngôn ngữ lập trình? Phân biệt các thành phần? V Dặn dò: Trả lời các câu hỏi và bài tập 1, 2, 3 trang 13_sách giáo khoa; Đọc bài đọc thêm 1 trang 6-8_sách giáo khoa; Xem trước phần 2 Một số khái niệm, trong bài 2 trang 10-13_sách giáo khoa VI Rút kinh nghiệm: