Nội dung: Mọi bài toán đều có thuật toán để giải trên máy tính điện tử + Xác định bài toán + Xây dựng thuật toán + Lập trình Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của mộ
Trang 1Ngày soạn: 03/9/2007
Tiết theo PPCT: Tiết 1
Khái niệm lập trình và ngôn ngữ lập trình
I Mục tiêu
- Biết đợc khái niệm lập trình và ngôn ngữ lập trình
- Biết đợc khái niệm chơng trình dịch
- Phân biệt đợc hai loại chơng trình dịch là biên dịch và thông dịch
II đồ dùng dạy học
1 Chuẩn bị của giáo viên
Bảng viết, SGK, phiếu học tập
2 Chuẩn bị của học sinh
Sách giáo khoa
III Hoạt động dạy học
1 Hoạt động 1: Tìm hiểu khái niệm ngôn ngữ lập trình
a Mục tiêu:
- Giúp học sinh biết đợc khái niệm lập trình là gì ý nghĩa của việc lập trình
- Biết đợc khái niệm ngôn ngữ lập trình và một số loại ngôn ngữ lập trình
b Nội dung:
Mọi bài toán đều có thuật toán để giải trên máy tính điện tử
+ Xác định bài toán
+ Xây dựng thuật toán
+ Lập trình
Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của một ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán
Ngôn ngữ lập trình là một phần mềm dùng để diễn đạt thuật toán thành một chơng trình giúp cho máy tính hiểu đợc thuật toán đó
Một số loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao
Trang 2c Các bớc tiến hành:
Hoạt động của giáo viên Hoạt động của học sinh
1 Chiếu nội dung bài toán đặt vấn đề: Kết
luận nghiệm của phơng trình: ax + b = 0
- Hãy xác định Input và Output của bài
toán?
- Hãy xác định các bớc để tìm Output?
- Diễn giải: Hệ thống các bớc này đợc gọi
là thuật toán
- Nếu trình bày thuật toán với một ngời nớc
ngoài, em sẽ dùng ngôn ngữ nào để diễn
đạt?
- Nếu diễn đạt thuật toán này cho máy
hiểu, em sẽ dùng ngôn ngữ nào?
- Diễn giải: Hoạt động để diễn đạt một
thuật toán thông qua một ngôn ngữ lập
trình đợc gọi là lập trình
- Yêu cầu học sinh đọc SGK và cho biết
khái niệm lập trình
- Hỏi: kết quả của hoạt động lập trình?
2 Phát phiếu học tập Yêu cầu các em ghi
các loại ngôn ngữ lập trình mà em biết (sử
dụng kĩ thuật động não để viết)
- Đọc nội dung một số phiếu học tập cho
cả lớp nghe
- Hỏi: Em hiểu nh thế nào về ngôn ngữ
máy, hợp ngữ và ngôn ngữ bậc cao?
1 Quan sát nội dung bài toán và theo dõi yêu cầu của giáo viên
Input: a, b,
Output: x= b/a, Vô nghiệm, VSN Bớc 1: Nhập a, b
Bớc 2: Nếu a<>0, kết luận có nghiệm x=-b/a Bớc 3: Nếu a = 0 và b<>0, kết luận VN Bớc 4: Nếu a = 0 và b=0, kết luận VSN
- Ngôn ngữ tiếng Anh
- Em dùng ngôn ngữ lập trình
- Lập trình là việc sử dụng cấu trúc dữ liệu
và các lệnh của một ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán
- Ta đợc một chơng trình
2 Tham khảo SGK và sử dụng vốn hiểu biết về tin học để điền vào phiếu học tập
- Ngôn ngữ máy
- Hợp ngữ
- Ngôn ngữ bậc cao
- Ngôn ngữ máy: các lệnh đợc mã hoá thành các kí hiệu 0-1 Chơng trình đợc viết trên ngôn ngữ máy có thể đợc nạp vào bộ
Trang 3nhí vµ thùc hiÖn ngay
Trang 4- Hỏi: Làm thế nào để chuyển một chơng
trình viết từ ngôn ngữ bậc cao sang ngôn
ngữ máy?
- Hỏi: Vì sao không lập trình trên ngôn
ngữ máy để khỏi mất công chuyển đổi mà
ngời ta thờng lập trình bằng ngôn ngữ bậc
cao?
- Hợp ngữ: Là ngôn ngữ có sự kết hợp giữa ngôn ngữ máy và ngôn ngữ tự nhiên
- Ngôn ngữ bậc cao: Các lệnh đợc mã hoá
bằng một ngôn ngữ gần với ngôn ngữ tiến Anh Chơng trình viết trên ngôn ngữ bậc cao phải đợc chuyển đổi thành chơng trình trên ngôn ngữ máy mới có thể thực hiện
đ-ợc trên máy
- Phải sử dụng một chơng trình dịch để chuyển đổi
- Lập trình bằng ngôn ngữ bậc cao dễ viết hơn vì các lệnh đợc mã hoá gần với ngôn ngữ tự nhiên Lập trình trên ngôn ngữ máy rất khó
2 Hoạt động 2: Tìm hiểu hai loại chơng trình dịch: thông dịch và biên dịch
a Mục tiêu:
- Học sinh biết đợc khái niệm chơng trình dịch và sự cần thiết của chơng trình dịch
- Phân biệt đợc thông dịch và biên dịch
b Nội dung:
- Chơng trình dịch là một chơng trình có chức năng chuyển đổi một chơng trình viết bằng hợp ngữ hoặc ngôn ngữ bậc cao sang ngôn ngữ máy
- Đầu vào của chơng trình dịch là một chơng trình đợc viết bằng hợp ngữ hoặc ngôn ngữ bậc cao Đầu ra cũng là một chơng trình nhng đợc viết bằng ngôn ngữ máy
- Biên dịch: Kiểm tra, phát hiện lỗi và dịch toàn bộ chơng trình nguồn thành một chơng trình đích
- Thông dịch: lần lợt dịch và thực hiện từng lệnh một
c Các bớc tiến hành:
Hoạt động của giáo viên Hoạt động của học sinh
1 Nêu vấn đề: Em muốn giới thiệu về
tr-ờng mình cho một ngời khách du lịch quốc
tế biết tiếng Anh, có hai cách để thực hiện
1 Chú ý lắng nghe ví dụ của giáo viên và thảo luận để tìm ra ví dụ tơng tự
Trang 5Cách 1: Cần một ngời biết tiếng Anh, dịch
từng câu nói của em sang tiếng Anh cho
ngời khách
Cách 2: Em soạn nội dung cần giới thiệu ra
giấy và ngời phiên dịch dịch toàn bộ nội
dung đó sang tiếng Anh rồi đọc cho ngời
khách
- Hãy lấy ví dụ tơng tự trong thực tế về
biên dịch và thông dịch từ tiếng Anh sang
tiếng Viết
2 Yêu cầu học sinh nghiên cứu SGK và sử
dụng các ví dụ trên để cho biết các bớc
trong tiến trình thông dịch và biên dịch
- Khi thủ tớng chính phủ trả lời phỏng vấn trớc một nhà báo quốc tế, họ thờng cần một ngời thông dịch để dịch từng câu tiếng Việt sang tiếng Anh
- Khi thủ tớng đọc một bài diễn văn tiếng Anh trớc Hội nghị, họ cần một ngời biên dịch để chuyển văn bản tiếng Việt thành tiếng Anh
2 Nghiên cứu SGK và suy nghĩ để trả lời
- Biên dịch:
Bớc 1: Duyệt, phát hiện lỗi, kiểm tra tính
đúng đắn của lệnh trong chơng trình nguồn Bớc 2: Dịch toàn bộ chơng trình nguồn thành một chơng trình trên ngôn ngữ máy (thuận tiện cho các chơng trình ổn định và cần thực hiện nhiều lần)
- Thông dịch:
Bớc 1: Kiểm tra tính đúng đắn của lệnh tiếp theo tiếp theo trong chơng trình nguồn Bớc 2: Chuyển lệnh đó thành ngôn ngữ máy
Bớc 3: Thực hiện các câu lệnh vừa đợc chuyển đổi
(phù hợp với môi trờng đối thoại gia ngời
và máy)
Trang 6IV đánh giá cuối bài
1 Những nội dung đã học
- Khái niện lập trình và ngôn ngữ lập trình
- Có ba loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao
- Khái niệm chơng trình dịch
- Có hai loại chơng trình dịch là biên dịch và thông dịch
2 Câu hỏi và bài tập về nhà
- Mỗi loại ngôn ngữ lập trình phù hợp với những ngời lập trình có trình độ nh thế nào?
- Kể tên một số ngôn ngữ lập trình bậc cao có sử dụng kĩ thuật biên dịch và một số ngôn ngữ lập trình có sử dụng kĩ thuật thông dịch
- Trả lời câu hỏi 1, 2, 3 SGK – trang 13
- Xem bài đọc thên 1: Em biết gì về các ngôn ngữ lập trình? SGK – trang 6
- Xem trớc bài học: Các thành phần của ngôn ngữ lập trình