Sản phẩm: Học sinh liên hệ được kiến thức đã học ở lớp 10; phân biệt được các ngôn ngữ lập trình; Tại sao cần phải xây dựng ngôn ngữ lập trình; Để chuyển từ chương trình nguồn sang chươ
Trang 1Ngày soạn: Tuần dạy:01
- 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 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
b Về kĩ năng
- Nắm được khái niệm lập trình và ngôn ngữ lập trình
- Nắm được vai trò của chương trình dịch, phân biệt được biên dịch và thông dịch
- Có tác phong của nhà khoa học
2 Năng lực định hướng hình thành và phát triển cho học sinh
- Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận
- Bài giảng, máy chiếu, máy chiếu vật thể
- Yêu cầu học sinh tập hợp kiến thức đã học ở lớp 10 Cụ thể là bài 4, bài 5 và bài 6 của SGK lớp 10
- Chuẩn bị các bài toán đơn giản, ngôn ngữ lập trình cụ thể VD như ngôn ngữ lập trình Pascal
2 Học sinh
- Sách giáo khoa, vở ghi
- Kiến thức đã học ở lớp 10
Trang 2III TỔ CHỨC HOẠT ĐỘNG DẠY HỌC
1 Khởi động
a Mục tiêu hoạt động:
- Để giải bài toán trên máy tính cần phải có ngôn ngữ lập trình
- Phân biệt được các loại ngôn ngữ lập trình
- Hiểu ý nghĩa và nhiệm vụ của chương trình dịch
b Phương pháp, phương tiện dạy học: Cá nhân, thảo luận nhóm
c Phương tiện: Máy chiếu, máy tính
d Sản phẩm: Học sinh liên hệ được kiến thức đã học ở lớp 10; phân biệt được
các ngôn ngữ lập trình; Tại sao cần phải xây dựng ngôn ngữ lập trình; Để chuyển từ chương trình nguồn sang chương trình đích cần phải có chương trình dịch
Nội dung hoạt động
Hoat động của giáo viên Hoạt động của học sinh
Chiếu bài toán: Kết luận nghiệm của
+ Các bước giải bài toán trên máy tính?
+ Làm sao để máy tính có thể hiểu và
thực hiện các thuật toán đã lựa chọn để
- Xác định bài toán:
+Input: a, b +Output: x=-b/a, VN, VSN
Các bước để giải bài toán:
Trang 3giải bài toán?
- Như vậy hoạt động để diễn đạt một
thuật toán trên máy tính thông qua một
ngôn ngữ lập trình được gọi là lập
trình Và để máy tính hiểu và thực hiện
được câu lệnh đó thì NNLTBC cần phải
được chuyển đổi về NN của máy để
máy tính hiểu và thực hiện được
2.1 Khái niệm lập trình – các ngôn ngữ lập trình
a Mục tiêu: Giúp HS hiểu được khái niệm lập trình, phân biệt được các ngôn ngữ lập
trình
b Phương pháp/Kĩ thuật: Đàm thoại, phát hiện Khai thác mối quan hệ giữa giải bài toán trên giấy và giải bài toán trên máy tính
c Hình thức tổ chức hoạt động: Làm việc cá nhân, thảo luận nhóm
d Phương tiện dạy học: SGK, máy tính, máy chiếu
e Kết quả: học sinh hiểu được khái niệm lập trình, phân biệt được các loại NNLT Nội dung hoạt động
Hoat động của giáo viên Hoạt động của học sinh
1 Khái niệm lập trình
+ Nghiên cứu SGK và nêu khái niệm
lập trình
Giải thích:
Chiếu một chương trình đơn giản để
giải thích kĩ hơn về khái niệm (Câu
lệnh diễn tả các thao tác trong các bước
của thuật toán; câu lệnh đơn thực hiện
bước có một thao tác; câu lệnh cấu trúc
thực hiện bước gồm dãy các thao tác)
Quan sát chương trình và ghi
Trang 4+ Kết quả của hoạt động lập trình là gi?
Lưu ý: - Thuật toán và cấu trúc dữ liệu
luôn đi liền với nhau
- Lập trình là giai đoạn tìm tòi,
phát minh thuật toán hoặc tìm cách tổ
chức cấu trúc dữ liệu mới
- Là ngôn ngữ duy nhất máy tính có thể
trực tiếp hiểu và thực hiện
- Mỗi loại máy tính có một ngôn ngữ
riêng của mình
b Hợp ngữ:
- Phát triển từ ngôn ngữ máy
- Ít phụ thuộc vào máy và dễ viết
chương trình hơn ngôn ngữ máy Rất
gần với ngôn ngữ máy
c Ngôn ngữ bậc cao:
- Khá gần với ngôn ngữ tự nhiên
- Không phụ thuộc vào loại máy Có
thể thực hiện trên nhiều loại máy tính
khác nhau
? Phân biệt ngôn ngữ lập trình bậc cao
với các ngôn ngữ khác ở những nội
dung nào?
+ Có nhiều loại ngôn ngữ lập trình, được chia làm ba loại chính: NN máy, hợp ngữ và NNLT bậc cao
Trang 5? Tại sao người ta phải xây dựng ngôn
+ Dự kiến tình huống: Có thể HS
không nhớ kiến thức của lớp về
NNLT
+ Trong quá trình HS trải nghiệm, GV
theo dõi quá trình và hỗ trợ kịp thời
+ Dự kiến thời gian hoàn thành sản
phẩm: 10-15 phút
2.2 Chương trình dịch
a Mục tiêu: Biết vai trò của chương trình dịch, hiểu được các giai đoạn của chương
trình dịch; Phâm biệt được chương trình thông dịch và chương trình biên dịch
b Phương pháp/Kĩ thuật: Đàm thoại, phát hiện
c Hình thức tổ chức hoạt động: Làm việc cá nhân hoặc thảo luận nhóm
d Phương tiện dạy học: SGK, máy tính, máy chiếu
e Kết quả: HS hiểu được vai trò của chương trình dịch, phân biệt được các loại chương trình dịch
Nội dung hoạt động
Hoat động của giáo viên Hoạt động của học sinh
? Theo các em chương trình được viết
bằng ngôn ngữ bậc cao và chương trình
được viết bằng ngôn ngữ máy khác nhau
như thế nào ?
? Khi chương trình được đưa vào máy
tính thì máy tính đã hiểu và thực hiện
được chưa?
? Làm thế nào để chuyển một chương
trình viết bằng ngôn ngữ bậc cao sang
ngôn ngữ máy ?
+ 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ớ và thực hiện ngay
+ Chương trình viết bằng ngôn ngữ lập trình bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ lập máy thì mới thực hiện được
+ Chưa
-Phải sử dụng một chương trình dịch để chuyển đổi
Chương trình dịch
CTD là chương trình đặc biệt có chức
Trang 6? Nghiên cứu SGK cho biết khái niệm về
chương trình dịch
Nhận xét chuẩn hóa kiến thức
Chiếu sơ đồ của CTD SGK-trang 4
? Vì sao không lập trình trên ngôn ngữ
máy để khỏi mất công chuyển đổi khi lập
trình với ngôn ngữ bậc cao
? Theo các em đối với chương trình dịch:
chương trình nào là chương trình nguồn
và chương trình đích
Chiếu hai ví dụ SGK – trang 4
? Cho nhận xét về tiến trình của hai ví dụ
trên
? Vậy với mỗi cách dịch như vậy người
ta gọi là gi?
? Hai cách dịch này có gì khác nhau
Kết luận: Như vậy chương trình dịch có
hai loại: Thông dịch và biên dịch
? Nghiên cứu SGK và nêu tiến trình của
thông dịch và biên dịch
Nhận xét chuẩn hóa kiến thứ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 có thể thực hiện được trên máy tính
+ Ngôn ngữ bậc cao dễ viết, dễ hiểu Ngôn ngữ máy khó viết
Có thể xem sách hoặc nhìn lên máy chiếu
- Quan sát kết hợp SGK để trả lời câu hỏi + Chương trình nguồn là chương trình viết bằng ngôn ngữ lập trình bậc cao + Chương trình đích là chương trình thực hiện chuyển đổi sang ngôn ngữ máy Tiến trình của hai ví dụ:
+ VD1: Bạn nói bằng tiếng việt -> người phiên dịch nghe sau đó dịch từ mỗi câu hoặc một vài câu giới thiệu trọn một ý, người phiên dịch dịch sang tiếng ánh, việc giới thiệu và phiên dịch là luân phiên cho đến khi kết thúc nội dung
+ VD2: Bạn soạn nội dung ra giấy -> người phiên dich dịch toàn bộ nội dung
đó sang tiếng anh Việc dịch được thực hiện khi nội dung giới thiệu đã hoàn tất Hai công việc được hoàn thiện trong hai khoảng thời gian độc lập
Hai cách dịch:
+ VD1: Thông dịch + VD2: Biên dịch Khác nhau:
+ VD1: Không có văn bản nào lưu lại + VD2: Có văn bản để lưu lại
Tiến trình của thông dịch và biên dịch: +Thông dịch:
B1: Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn; B2: Chuyển lệnh đó thành ngôn ngữ máy
B3: Thực hiện các câu lệnh vừa được
Trang 7chuyển đổi
+Biên dịch:
B1: 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
B2: 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
+ Dự kiến tình huống: Có thể HS trình
bày rõ được tiến trình của hai loại
chương trình dịch (thông qua ví dụ và
SGK) tuy nhiên có thể chưa hiểu kĩ vấn
đề
+ Trong quá trình HS tìm hiểu, GV theo
dõi quá trình và hỗ trợ kịp thời
+ Dự kiến thời gian hoàn thành sản
phẩm: 10-15 phút
3 Vận dụng
a Mục tiêu:Vận dụng các kiến thức về NNLT, lập trình và chương trình dịch để
luyện tập củng cố kiến thức
b Phương pháp/kĩ thuật: Rèn luyện tư duy phân tích tổng hợp
c Hình thức tổ chức hoạt động: cá nhân hoặc thảo luận nhóm
d Phương tiện dạy học: máy tính, máy chiếu, SGK
e Sản phẩm: HS trả lời được phiếu câu hỏi về vận dụng NNLT, lập trình và
chương trình dịch để giải quyết vấn đề (vận dụng thấp và cao)
Nội dung hoạt động
PHIẾU CÂU HỎI
A Phần cơ bản
1.1 Lập trình là:
A Sử dụng giải thuật để giải các bài toán
B Dùng máy tính để giải các bài toán
C 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 cụ thể để giải các bài toán trên máy tính
Trang 8A Máy tính có thể hiểu được trực tiếp chương trình này
B Kiểu dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho việc nhập mô tả thuật toán
C Diễn đạt gần với ngôn ngữ tự nhiên
D Tốc độ thực hiện nhanh hơn so với chương trình được viết bằng NNBC
4 Tìm tòi mở rộng
a Mục tiêu: HS tìm tòi được mối liên hệ giữa lập thuật toán và cấu trúc dữ liệu
Các khía cạnh khác của lập trình Tìm hiểu được các giai đoạn của chương trình dịch
b Phương pháp/kĩ thuật: Rèn luyện tư duy phân tích tổng hợp
c Hình thức tổ chức hoạt động: cá nhân hoặc thảo luận nhóm
d Phương tiện dạy học: máy tính, máy chiếu, SGK
e Sản phẩm: HS trả lời được phiếu câu hỏi về vận dụng NNLT, lập trình và
chương trình dịch để giải quyết vấn đề (vận dụng thấp và cao)
Nội dung hoạt động
1.1 Mối liên hệ giữa thuật toán và cấu trúc dữ liệu? Ví dụ minh họa (có thể sử dụng
ví dụ có sẵn)
1.2 Việc tìm tòi, phát minh thuật toán thuộc giai đoạn nào?
1.3 Hãy cho biết đặc điểm của ngôn ngữ lập trình bậc cao
5 Hướng dẫn học ở nhà
- Ôn lại bài học hôm nay;
- Chuẩn bị trước cho tiết sau: Bài 2 “các thành phần của ngôn ngữ lập trình”
NGƯỜI DUYỆT
NGƯỜI SOẠN
Trang 9- Phân biệt được ba thành phần:bảng chữ cái ,cú pháp và ngữ nghĩa
- Phân biệt được tên, hằng và biến biết đặt tên đúng
c Tư duy và thái độ :
- Tư duy logic
- Thái độ cẩn thận, chính xác
2 Năng lực định hướng hình thành và phát triển cho học sinh
- Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận
- Bài giảng, máy chiếu, máy chiếu vật thể
- Yêu cầu học sinh tập hợp kiến thức đã học ở lớp 10 Cụ thể là bài 4, bài 5 và bài 6 của SGK lớp 10
- Chuẩn bị các bài toán đơn giản, ngôn ngữ lập trình cụ thể VD như ngôn ngữ lập trình Pascal
Trang 10* Mục tiêu: Kiểm tra kiến thức của bài học trước về lập trình và NNLT
* Phương thức:
- GV giao nhiệm vụ cho học sinh:
(?) Hãy nêu khái niệm lập trình? Có mấy loại NN lập trình?
(?) Chương trình dịch là gì? Có mấy loại chương trình dịch?
- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến hoạt động của HS
-Giáo viên nhận xét cho điểm
Hoạt động 2:
* Mục tiêu: HS hiểu được NNLT có những thành phần nào
* Phương thức:
- GV giao nhiệm vụ cho học sinh:
(?) Để diễn tả một ngôn ngữ tự nhiên ta cần phải biết những gì? lấy ví dụ
(?) Quan sát chương trình viết bằng ngôn ngữ lập trình bậc cao so sánh với ngôn ngữ tự nhiên
- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý để nhận xét phần thực hiện của HS
B HOẠT ĐỘNG KIẾN THỨC HÌNH THÀNH
1 Hoạt động 1: Tìm hiểu các thành phần cơ bản của NNLT
* Mục tiêu: Hiểu được các thành phần của NNLT: bảng chữ cái, cú pháp và ngữ nghĩa
* Phương thức:
Trang 11- GV giao nhiệm vụ cho học sinh: Quan sát hai chương trình viết bằng ngôn ngữ lập trình bậc cao: pascal, C++ và kết hợp nội dung SGK trang 9 phần 1, cho nhận xét về hai chương trình:
(?) So sánh quy cách viết của hai ngôn ngữ này
(?) Ngôn ngữ lập trình gồm mấy thành phần
(?) Quan sát chương trình viết bằng NNLT pascal cho biết thành phần của bảng chữ cái?
(?) Khái niệm về bảng chữ cái
(?) Khái niệm về cú pháp, tác dụng của cú pháp
(?) cho hai số a và b có hai trường hợp sau: Nếu a và b là hai số nguyên thì biểu thức a+b có nghĩa là gì? Nếu a và b là hai số thực thi a+b có nghĩa là gì?
(?) Khái niệm ngữ nghĩa
- Trong hoạt động này GV có thể tổ chức cho HS hoạt động nhóm để tìm hiểu
- Học sinh suy nghĩ, nghiên cứu, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến các các HS để có thể gợi ý hoặc trợ giúp HS khi các em gặp khó khăn
* Gợi ý sản phẩm:
- Ngôn ngữ LT thường có ba thành phần: bảng chữ cái, cú pháp và ngữ nghĩa
- Bảng chữ cái: là tập các kí tự dùng để viết chương trình:
+ Chữ cái thường và các chữ cái in hoa của bảng chữ cái tiếng anh + 10 chữ số thập phân Ả Rập
+ Các kí tự đặc biệt
- Cú pháp: Là bộ quy tắc để viết chương trình
- Tác dụng: Mô tả chính xác thuật toán
- 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:- Nếu cho a và b là 2 số nguyên thì dấu + trong biểu thức a+b là phép cộng hai số nguyên
- Nếu cho a và b là 2 số thực thì dấu + trong biểu thức a+b là phép cộng hai số thực
Vậy trong ngữ cảnh khác nhau thì ý nghĩa của các tổ hợp kí tự cũng khác nhau
2 Hoạt động 2: Tìm hiểu một số khái niệm
* Mục tiêu: học sinh hiểu một số khái niệm về tên, hằng và biến khi viết một chương trình nhận biết được tổ hợp kí tự dùng để viết chú thích
Trang 12(?) Khi đặt tên cho các đối tượngcủa chương trình có cần theo quy tắc nào không (?) Em thấy cách đặt tên chương trình của hai ngôn ngữ này thế nào
(?) Đọc SGK – T10 cho biết quy tắc đặt tên trong ngôn ngữ lập trình pascal
(?) Hãy chỉ ra các tên sai trong cách đặt tên sau đây: A, R23, _65, A GH, P34_c, 8Jh, F#j, GJ, F@j ?
(?) NNLT pascal phân biệt thành mấy loại tên để dùng trong trương trình và kể tên các loại tên đó
(?) Nêu khái niệm về ba loại tên này
(?) Trong toán học em hiểu thê nào là hằng, lấy VD
(?) NNLT thường có loại hằng nào
(?) Em hiểu thế nào là biến, cho VD
(?) Quan sát đoạn chương trình này em thấy phần nôi dung đặt trong cặp dấu {và} hoặc (*và*) có ý nghĩa gì?
- Trong hoạt động này GV có thể tổ chức cho HS hoạt động cá nhân sau đó trao đổi đàm thoại ở các cặp đôi hoặc nhóm để tìm hiểu
- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến các các HS để có thể gợi ý hoặc trợ giúp HS khi các em gặp khó khăn
* Gợi ý sản phẩm:
a Tên:
Khái niệm: Trong ngôn ngữ turbo pascal tên là một dãy liên tiếp không quá 127 kí tự
bao gồm: chữ số, chữ cái hoặc dấu gạch dưới và bắt đầu bằng chữ cái hoặc gạch dưới
Trong pascal : program, uses, var, const,
Trong c++: main, include, if,
* Tên chuẩn: là nhữnh tên được ngôn ngữ lập trình dùng với ý nghĩa nhất định nào
đó Trong các thư viện của ngôn ngữ lập trình
Trang 13Ví dụ :
Trong pascal: real, integer, char,
Trong c++: cin, count,
* Tên do người lập trình đặt: Được dùng với ý nghĩa riêng, xác định bằng cách khai báo trước khi sử dụng
+ Hằng xâu: Là chuỗi kí tự trong bộ mã ASCII, được đặt trong cặp dấu nháy
Ví dụ: ‘ Day la hang xau ‘, ‘tour’
* Biến: Là đại lượng được đặt tên, dùng để lưu trữ gí trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình
Biến phải khai báo trước khi sử dụng
Ví dụ: Tong, Tam, x, y,
c Chú thích
- Chú thích giúp cho người đọc và người lập trình nhận biết ý nghĩa của chương trình
đó dễ hơn
Trong Pascal, chú thích được đặt giữa cặp dấu {} hay (* *)
Ví dụ: Var x,y: integer ; (* khai báo biến x, y thuộc kiểu số nguyên *)
Const Min = 10; { Khai báo hằng }
C HOẠT ĐỘNG LUYỆN TẬP
* Mục tiêu: Nhằm củng cố, hệ thống hóa, hoàn thiện kiến thức mới mà HS đã được
lĩnh hội ở hoạt động hình thành kiến thức: Các thành phần cơ bản và các khái niệm của NNLT
* Phương thức:
- GV giao nhiệm vụ cho HS: GV giao nhiệm vụ cho HS và chủ yếu cho làm việc cá nhân, trong quá trình làm việc HS có thể trao đổi với bạn hoặc thầy, cô giáo
1 Hãy cho biết điểm khác nhau giữa tên dành riêng và tên chuẩn?
2 Hãy viết ba tên đúng theo quy tắc pascal?
3 Hãy cho ví dụ về các hằng và biến sử dụng trong viết chương trình?
* Dự kiến sản phẩm
Trang 141 Tên danh riêng không được dùng khác với ý nghĩa đã xác định, tên chuẩn có thể dùng với ý nghĩa khác
2 A_1; Baitap1; _bai1
3 Hằng: 123; -12; 6.23; ‘abc’; biến: a, b, x
D VẬN DỤNG VÀ MỞ RỘNG
* Mục tiêu: Nhằm vận dụng kiến thức mới mà HS đã được lĩnh hội để giải quyết những vấn đề mới trong học tập và thực tiễn về cách sử dụng các thành phần của NNLT, cách đặt tên, xác định ý nghĩa của các loại tên, hằng và biến
* Phương thức: - GV giao nhiệm vụ cho HS (học sinh có thể làm bài tập ở nhà):
1 Cú pháp và ngữ nghĩa khác nhau như thế nào?
2 Hãy cho biết những biểu diễn nào dưới đây không phải là biểu diễn hằng trong pascal và chỉ rõ lỗi trong từng trường hợp (bài 6-T13)
3 Cho VD sau: viết chương trình giải PTBH: với a, b, c là ba số nguyên Cho biết:
- Chương trình này sẽ sử dụng những tên nào?
- e- là tên chưa rõ giá trị
- h – sai quy định về hằng xâu: thiếu dấu nháy đơn ở cuối
3 Để viết một chương trình giải phương trình bậc hai ta cần khai báo những tên sau: a,b,c là ba tên dùng để lưu ba hệ số của phương trình
- x1,x2 là hai tên dùng để lưu nghiệm ( nếu có)
- Delta là tên dùng để lưu giá trị của delta
NGƯỜI SOẠN NGƯỜI DUYỆT
Trang 15- 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ữ
- 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ử
4 Định hướng phát triển năng lực:
Năng lực tự giải quyết vấn đề, cộng tác, phối hợp
II THIẾT BỊ, TÀI LIỆU DẠY - HỌC
+ Dạy học theo quan điểm hoạt động
+ Sử dụng máy chiếu, máy tính, SGK, sách bài tập và hệ thống các câu hỏi trắc nghiệm
II PHƯƠNG PHÁP DẠY HỌC, PHƯƠNG TIỆN DẠY HỌC CHỦ YẾU
A HOẠT ĐỘNG TẠO TÌNH HUỐNG HỌC TẬP
1 Mục tiêu: Kiểm tra lại một phần kiến thức trong bài học trước
2 Phương thức: thuyết trình vấn đáp
- Chuyển giao nhiệm vụ:
GV: Câu hỏi: Em hãy phân biệt 3 loại tên trong pascal?
- Tiếp nhận và thực hiện nhiệm vụ: HS trả lời
Trang 161 Hoạt động 1: kiến thức cơ bản về khái niệm Lập trình và NNLT
* Mục tiêu: củng cố lại kiến thức
*Phương thức: cá nhân và hoạt động nhóm
* Gợi ý sản phẩm:
Nội dung hoạt động
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? Câu hỏi 2: Chương trình dịch là gì? Tại sao cần phải có chương trình dịch?
Câu hỏi 3: Biên dịch và thông dịch khác nhau như thế nào?
→ Đáp án:
Câu 1:
- Ngôn ngữ bậc cao gần với ngôn ngữ tự nhiên hơn, thuận tiện cho đông đảo người
lập trình
- Chương trình viết bằng ngôn ngữ bậc cao nói chung 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
- Chương trình viết bằng ngôn ngữ bậc cao dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp
- Ngôn ngữ bậc cao 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:
- Chương trình dịch là chương trình đặc biệt, có chức năng chuyển đổi chương trình
được viết trên 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 cụ thể
Chương trình nguồn -> Chương trình dịch -> Chương trình đích
Câu 3:
- 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
2 Hoạt động 2: Ôn tập lại kiến thức về các thành phần của của NNLT
* Mục tiêu: củng cố lại kiến thức
*Phương thức: cá nhân và hoạt động nhóm
* Gợi ý sản phẩm: Câu trả lời của học sinh
Nội dung hoạt động
Câu hỏi 5 (SGK): Hãy tự viết ra ba tên đúng theo quy tắc của Pascal
Trang 17Những biểu diễn sau đây không phải là hằng trong Pascal:
6,23 dấu phẩy phải thay bằng dấu chấm;
A20 là tên chưa rõ giá trị;
4+6 là biểu thức hằng trong Pascal chuẩn cũng được coi là hằng trong Turbo Pascal;
‘TRUE’ là hằng xâu nhưng không là hằng lôgic
* Mục tiêu: tự vận dụng kiến thức đã học và ôn tập
*Phương thức: cá nhân
* Gợi ý sản phẩm: bài kiểm tra 15’
Nội dung hoạt động
ĐỀ KIỂM TRA 15’
Câu 1: Em hãy chỉ ra đâu là tên đặt đúng, đâu là tên sai
a) Begin b) crt c) x1 d)2x e)x-1 d) cosnt f)x\1; g)Use s
Câu 2: Hãy cho biết những biểu diễn nào dưới đây là hằng và những biểu diễn nào không phải là hằng trong Pascal Phân loại hằng đúng và chỉ rõ lỗi đối với hằng sai?
a)1,00E b)’5+7 c) false d) 2.5
e)2017 f) x1 g) ‘dung’ h) ‘false’
NGƯỜI SOẠN
NGƯỜI DUYỆT
Trang 18+ Mong muốn nhanh chóng tạo ra được một chương trình chạy trên máy tính
4 Định hướng phát triển năng lực
+ Năng lực tự giải quyết vấn đề, cộng tác, phối hợp
II THIẾT BỊ, TÀI LIỆU DẠY - HỌC
+ Dạy học theo quan điểm hoạt động
+ Sử dụng máy chiếu, Slide bài giảng, bài tập mẫu, máy tính
II PHƯƠNG PHÁP DẠY HỌC, PHƯƠNG TIỆN DẠY HỌC CHỦ YẾU
A HOẠT ĐỘNG TẠO TÌNH HUỐNG HỌC TẬP
1 Mục tiêu: Kiểm tra kiến thức cũ và hình thành kiến thức mới
2 Phương thức: Rèn tư duy phân tích và so sánh tương tự, làm việc nhóm
- Chuyển giao nhiệm vụ: Quan sát 2 chương trình đơn giản(loại 1: cộng
2 số a, b; loại 2: hiển thị một thông báo) trên máy chiếu và thảo luận trả lời các câu hỏi sau:
readln END
Trang 19Câu 1: Các chương trình trên sử dụng những từ khóa nào? Nêu ý nghĩa?
Câu 2: Em hãy tìm hiểu và đưa ra những điểm chung giữa 2 chương trình?
Câu 3: Đoán nhận ý nghĩa mỗi chương trình làm gì?
- Tiếp nhận và thực hiện nhiệm vụ: 4 nhóm cùng thảo luận
- Báo cáo kết quả: Các nhóm đưa ra câu trả lời trên bảng phụ
- Đánh giá, nhận xét
B HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC
1 Hoạt động 1: Tìm hiểu cấu trúc chung của một chương trình
(1) Mục tiêu: Học sinh hiểu được một chương trình thường có 2 phần và phần thân chương trình bắt buộc phải có
(2)Phương Pháp: Thuyết trình GV và Rèn luyện khả năng quan sát
(3)Hình thức tổ chức: cá nhân và thảo luận nhóm (4)Phương tiện dạy học: SGK, máy tính, máy chiếu (5)Sản phẩm: Học sinh hiểu được cấu trúc chương trình chung Nội dung hoạt động
- Từ 2 chương trình GV rút ra nêu tên gọi các phần giống nhau về cấu trúc mà học sinh rút ra
Readln(a,b);
Tong:=a+b;
Write(‘a+b = ’,tong);
readln END
Uses crt;
BEGIN Write(‘chao mung cac ban den với NNLT Pascal ’);
readln END
lần 2: Cũng với a= 5; b=7 nhưng bỏ đi dòng program
lần 3: bỏ đi đoạn phần thân chương trình
- Yêu cầu học sinh quan sát và trả lời câu hỏi:
1) lần 1, lần 2 kết quả có thay đổi hay không?
Trang 20GV: Nhận xét câu trả lời và kết luận phần khai báo không bắt buộc phải có kí hiệu, phần thân chương trình bắt buộc phải có
Đưa kí hiệu tương ứng vào phần cấu trúc trên
2 Hoạt động 2: Tìm hiểu cách các thành phần và cách viết trong phần khai báo
(1) Mục tiêu: học sinh biết cách khai báo và sử dụng các thành phần của phần khai báo
(2)Phương Pháp: rèn tư duy phân tích và tổng hợp
(3)Hình thức tổ chức: cá nhân và thảo luận nhóm
(4)Phương tiện dạy học:SGK, máy tính, máy chiếu
(5)Sản phẩm: Học sinh viết được các ví dụ khai báo
Nội dung hoạt động
GV: cho học sinh nghiên cứu SGK thảo luận nhóm phân tích trên chương trình 1: Câu hỏi 1: đâu là khai báo tên chương trình và đưa ra cấu trúc?
Câu hỏi 2: đâu là khai báo thư viện đưa ra cấu trúc
* Khai báo tên chương trình
Uses graph; {Thư viện graph chứa các hàm đồ hoạ}
- Để xoá những gì trên màn hình sau khi khai báo crt thì dùng lệnh clrscr
GV: Giới thiệu thêm các thành phần khai báo khác: hằng, biến và chương trình con
* Khai báo hằng:
- Trong Pascal:
Const MaxN = 1000; PI = 3.1416;
Chú ý: Nói sơ qua về khai báo biến và chương trình con
3 Hoạt động 3: Tìm hiểu về phần thân chương trình
(1) Mục tiêu: học sinh biết cách viết thân chương trình và ý nghĩa của nó (2)Phương Pháp: thuyết trình, vấn đáp
(3)Hình thức tổ chức: thảo luận nhóm
(4)Phương tiện dạy học: SGK, máy tính, máy chiếu
(5)Sản phẩm: Học sinh hiểu cấu trúc và phân biệt được trên ví dụ phần thân chương trình
Nội dung hoạt động
Trang 21GV: yêu cầu HS quan sát kĩ điểm chung giữa 2 phần thân chương trình trên ví dụ
và rút ra cấu trúc chung
HS: Quan sát và đưa ra cấu trúc
Thân chương trình: BEGIN
1) Em hãy cho biết các lỗi trong chương trình trên
2) Sau khi sửa lỗi hãy cho biết chương trình trên khai báo những gì?
3) Đoán nhận kết quả của chương trình
3 Gợi ý sản phẩm:
Câu 1: lỗi: vi du //thừa dấu cách
Pi:=3.14 //bỏ dấu : Uses // chưa có tên thư viện Thiếu END Kết thúc chương trình
4 Dự kiến sản phẩm: Là các đáp án trả lời các câu hỏi nêu trên
Ninh Bình, ngày tháng 08 năm 2018
NGƯỜI SOẠN NGƯỜI DUYỆT
Trang 22- Biết được một số kiểu dữ liệu chuẩn
- Cách khai báo biến
2 Kỹ năng
- Xác định được kiểu khai báo của dữ liệu
- Khai báo biến đúng cấu trúc
3 Thái độ
- Học sinh hứng thú học tập, có tác phong làm việc khoa học
4 Định hướng phát triển năng lực
- Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận
- Năng lực tự hoc
- Năng lực hợp tác
- Năng lực giao tiếp, sử dụng ngôn ngữ
II THIẾT BỊ, TÀI LIỆU DẠY - HỌC
3 Phương pháp: Gợi mở thông qua hoạt động tư duy
- Dạy học theo quan điểm hoạt động
- Sử dụng máy chiếu, máy tính, cài đặt môi trường NNLT pascal, SGK để minh họa, bảng phụ
II PHƯƠNG PHÁP DẠY HỌC, PHƯƠNG TIỆN DẠY HỌC CHỦ YẾU
A HOẠT ĐỘNG TẠO TÌNH HUỐNG HỌC TẬP
a Mục tiêu: học sinh nắm được một số kiểu dữ liệu trong thực tiễn
E
FALS
E
TRU
E
TRU
E
FALS
E
FALS
E
FALS
E
FALS
E
1 Bảng số liệu chứa những kiểu thông tin gì?
Trang 232 Lấy ví dụ (tình huống) sử dụng kiểu thông tin trên?
- Trong hoạt động này GV có thể tổ chức cho HS hoạt động nhóm để tìm hiểu
- Học sinh suy nghĩ, nghiên cứu, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến các HS để có thể gợi ý hoặc trợ giúp HS khi các em gặp khó khăn
c Gợi ý sản phẩm: HS Phân biệt được các kiểu dữ liệu
+ Bảng số liệu trên: Dòng 1: là kiểu số nguyên: Sĩ số HS trong một lớp
Dòng 2: là kiểu số thực: nghiệm của một PTB2 Dòng 3: là kiểu kí tự: Đánh dấu chỉ mục
Dòng 4: là kiểu logic: kết quả của các phép so sánh
B HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC
1 Hoạt động 1: Một số kiểu dữ liệu chuẩn
a Mục tiêu: Biết được một số kiểu chuẩn
b phương thức:
- GV giao nhiệm vụ cho HS: Yêu cầu học sinh nghiên cứu sách giao khoa Trả lời các câu hỏi sau:
- Có bao nhiêu dữ liệu chuẩn trong ngôn ngữ Pascal ?
- Trong ngôn ngữ Pascal, có những kiểu nguyên nào, phạm vi biểu diễn của mỗi loại?
- Trong ngôn ngữ Pascal, có những kiểu thực nào, phạm vi biểu diễn của mỗi loại?
- Trong hoạt động này GV có thể tổ chức cho HS hoạt động nhóm để tìm hiểu
- Học sinh suy nghĩ, nghiên cứu, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến các HS để có thể gợi ý hoặc trợ giúp
HS khi các em gặp khó khăn
c Gợi ý sản phẩm: Biết 4 kiểu dữ liệu chuẩn trong NNLT Pascal
- Trong pascal có 4 kiểu dữ liệu chuẩn : kiểu nguyên, thực, kí tự, lôgic
Phạm vi giá trị
Phạm vi giá trị
Trang 24trữ một giá trị
Real 6 Byte
0 hoặc giá trị tuyệt đối nằm trong phạm vi
10-38 Đến 1038
Exte
nded
10 Byte
0 hoặc giá trị tuyệt đối nằm trong phạm vi
10-4932 đến 104932
3 Kiểu kí tự
Kiểu
Bộ nhớ lưu trữ một giá trị
- Kiểu dữ liệu nào cũng có miền giới hạn của nó, máy tính không thể lưu trữ tất cả các số trên trục số nhưng nó có thể lưu trữ với độ chính xác cực cao
2 Hoạt động 2: Khai báo biến
a Mục tiêu: Biết cách khai báo biến
b Phương thức:
- GV giao nhiệm vụ cho HS: Hãy quan sát ví dụ, nghiên cứu SGK và trả lời câu hỏi:
Trang 25Khai báo biến là chương trình báo cho máy biết phải dùng những tên nào trong chương trình
Ví dụ :
- Để giải phương trình bậc hai
ax2 + bx + c = 0
cần khai báo các biến như sau:
Var a, b, c, x1, x2, delta : real;
- Để tính chu vi và diện tích tam giác cần khai báo các biến sau:
Var a, b, c: integer;
p, s, cv: Real;
- Cấu trúc khai báo biến trong ngôn ngữ Lập trình Pascal?
- Khi khai báo biến cần chú ý những điều gì ?
- Trong hoạt động này GV có thể tổ chức cho HS hoạt động nhóm để tìm hiểu
- Học sinh suy nghĩ, nghiên cứu, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến các HS để có thể gợi ý hoặc trợ giúp
HS khi các em gặp khó khăn
c Gợi ý sản phẩm: Biết cách khai báo biến
- Trong ngôn ngữ Pascal, biến đơn được khai báo như sau :
Var <danh sách biến> : <kiểu số liệu>
Trong đó:
+ Var : là từ khóa dùng để khai báo biến
+ Danh sách biến : tên các biến cách nhau bởi dấu phẩy
+ Kiểu dữ liệu : là một kiểu dữ liệu nào đó của ngôn ngữ Pascal
- Chú ý:
+ Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa của nó
+ Không nên đặt tên quá ngắn hay quá dài, dễ dẫn tới mắc lỗi hoặc hiểu nhầm + Khai báo biến cần quan tâm đến kiểu biến và phạm vi giá trị của nó
C HOẠT ĐỘNG LUYỆN TẬP
1 Hoạt động 1: Luyện Tập kiểu dữ liệu và khai báo biến
a Mục tiêu: Nhằm củng cố, hệ thống hóa, hoàn thiện kiến thức về kiểu dữ liệu và
khai báo biến
b Phương thức
- GV giao nhiệm vụ cho HS: Đọc câu hỏi trả lời
Câu 1 Cho ví dụ để khai báo một biến nguyên và một biến kiểu kí tự?
Câu 2 Yêu cầu học sinh chọn khai báo đúng trong ngôn ngữ lập trình Pascal? Var
Trang 26z: Longint;
h: integer;
i: byte;
- Trong hoạt động này GV có thể tổ chức cho HS hoạt động nhóm để tìm hiểu
- Học sinh suy nghĩ, nghiên cứu, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến các HS để có thể gợi ý hoặc trợ giúp
HS khi các em gặp khó khăn
c Gợi ý sản phẩm: Là các đáp án trả lời các câu hỏi nêu trên
Câu1: Để khai báo một biến nguyên và một biến kiểu kí tự:
a Mục tiêu: Nhằm vận dụng Kiểu dữ liệu và khai báo biến mà HS đã được lĩnh
hội để giải quyết những vấn đề mới trong học tập và thực tiễn về (bám vào nd của bài)
b Phương thức:
- GV giao nhiệm vụ cho HS: (học sinh có thể làm bài tập ở nhà):
Câu 1 Chương trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau?
VAR M, N, P : Integer;
A, B: Real;
C: Longint;
A 20 byte B 24 byte C 22 byte D 18 byte
Câu 2 Biến x nhận giá trị nguyên trong đoạn [-300 ; 300], kiểu dữ liệu nào sau đây là phù hợp nhất để khai báo biến x ?
Câu 3 Kiểu nào sau đây có miền giá trị lớn nhất?
A.Byte B Word C Longint D.Integer
Câu 4 Trong 1 chương trình, biến M có thể nhận các giá trị: 10, 15, 20, 30, 40, và biến N có thể nhận các giá trị: 1.0 , 1.5, 2.0, 2.5 , 3.0, khai báo nào trong các khai báo sau là đúng?
A Var M,N :Byte; B Var M: Real; N: Word;
C Var M, N: Longint; D Var M: Word; N: Real;
Trang 27Câu 5 Khai báo 3 biến A,B,C nào sau đây đúng cú pháp trong Pascal?
A VAR A; B; C: Byte; B VAR A; B; C Byte
C VAR A, B, C: Byte; D VAR A B C : Byte;
, ngày… tháng… năm
c Gợi ý sản phẩm: Phần hướng dẫn hs trả lời các câu hỏi (Đáp án và các tình
huống trả lời câu hỏi phần vận dụng của hs)
Câu 1: C 22 byte
Câu 2: B Integer
Câu 3: C Longint
Câu 4: D Var M: Word; N: Real;
Câu 5: C VAR A, B, C: Byte;
Trang 28Chủ đề: THỦ TỤC CHUẨN VÀO/ RA ĐƠN GIẢN - SOẠN THẢO, DỊCH,
THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH
- Viết được một số lệnh vào/ ra đơn giản
- Soạn thảo chạy được 1 số chương trình đơn giản
c Tư duy và thái độ :
- Ham muốn tìm hiểu các biên soạn và thực hiện chương trình
- Thái độ cẩn thận, chính xác
d Năng lực định hướng hình thành và phát triển cho học sinh
- Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận
- Bài giảng, máy chiếu, máy chiếu vật thể
- Yêu cầu học sinh tập hợp kiến thức đã học Cụ thể là bài 4, bài 5 và bài 6 của SGK lớp 11
- Chuẩn bị các bài toán đơn giản
Hoạt động 1: Kiểm tra bài cũ
* Mục tiêu: Kiểm tra kiến thức của bài học trước phép toán biểu thức câu lệnh gán
* Phương thức:
- GV giao nhiệm vụ cho học sinh:
(?) Viết biểu thức từ toán học sang biểu thức trong Pascal
a Ax4 + – lnx b ex
(?) Viết câu lệnh gán giá trị cho biến a, b để giải quyết bài toán giải phương trình bậc nhất
- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến hoạt động của HS
- Giáo viên nhận xét cho điểm
Trang 29Hoạt động 1: Kiểm tra bài cũ
* Mục tiêu: Kiểm tra kiến thức của bài học trước phép toán biểu thức câu lệnh gán
* Phương thức:
- GV giao nhiệm vụ cho học sinh: Quan sát chương trình, trả lời câu hỏi:
(?) Khi gán giá trị cụ thể bằng phép gán mỗi lần muốn thay đổi giá trị của biến làm thế nào?
- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến hoạt động của HS
* Gợi ý sản phẩm:
- GV nhận xét câu trả lời của học sinh
- GV đưa ra câu hỏi có thể nhập vào thay đổi giá trị của biến a, b một cách nhanh chóng hơn không ? Để trả lời cho câu hỏi này chúng ta vào bài học hôm
nay
B HOẠT ĐỘNG KIẾN THỨC HÌNH THÀNH
1 Hoạt động 1: Các thủ tục chuẩn vào
* Mục tiêu: Hiểu được thủ tục vào (nhập dữ liệu vào từ bàn phím)
* Phương thức:
- GV giao nhiệm vụ cho học sinh:
(?) Khi giải một bài toán, những đại lượng đã biết phải nhập thông tin vào, như vậy khi lập trình ta nhập bằng cách nào?
(?) Làm thế nào nhập giá trị cho bàn phím?
(?) Thủ tục READ sau khi dọc xong giá trị con trỏ không xuống dòng còn READLN
là xuống dòng
(?) Thủ tục READLN không có tham số có chức năng lamg gì? dừng chương trình Thủ tục READLN không có tham số dừng chương trình
- Học sinh suy nghĩ, nghiên cứu, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến các các HS để có thể gợi ý hoặc trợ giúp HS khi các em gặp khó khăn
* Gợi ý sản phẩm:
- Trong pascal ta dùng thủ tục chuẩn sau:
Read(danh sách biến vào);hoặc Readln(danh sách biến vào);
- Ví dụ: Read(N); Readln(a,b,c);
- Chú ý:
+ Khi nhập dữ liệu từ bàn phím READ, READLN, có ý nghĩa như nhau,
thường hay dùng READLN hơn
+ Khi nhập giá trị cho các biến thủ tục, những giá trị này được gõ cách nhau một dấu cách hoặc phím Enter
GV: Giao nhiệm vụ cho học sinh nhập dữ liệu cho 1 số bài toán đơn giản
HS: Viết nhập dữ liệu theo yêu cầu của giáo viên
2 Hoạt động 2: Các thủ tục chuẩn ra
* Mục tiêu: Hiểu được thủ tục ra (đưa dữ liệu ra màn hình)
* phương thức:
Trang 30- GV giao nhiệm vụ cho học sinh: khi tính được nghiệm của phương trình thì in ra màn hình kết quả như thế nào?
(?) Dữ liệu kết quả nghiệm cần in ra thì làm thế nào?
(?) Trường hợp thủ tục WRITELN; không có tham số thì thì thủ tục có tác dụng để làm gì?
(?) Trường hợp thủ tục WRITELN; không có tham số thì thì thủ tục có tác dụng đưa con trỏ xuống dòng tiếp theo
(?) Lệnh WRITE và WRITELN khác nhau ntn?
(?) Độ rộng, số chữ số thập phân là các hằng nguyên dương
- Trong hoạt động này GV có thể tổ chức cho HS hoạt động cá nhân sau đó trao đổi đàm thoại ở các cặp đôi hoặc nhóm để tìm hiểu
- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến các các HS để có thể gợi ý hoặc trợ giúp HS khi các em gặp khó khăn
* Gợi ý sản phẩm:
- write(<Danh sách kết quả ra>); hoặc writeln(<Danh sách kết quả ra>);
trong đó <Danh sách kết quả ra>có thể tên biến đơn, biểu thức, hằng
Ví dụ: write(‘Nap so N:’); Readln(N);
* Chú ý:
- writeln sau khi đưa kết quả ra con trỏ xuống dòng mới
- Ngoài ra trong TPcó quy cách đưa thông tin ra nàm hình sau:
Hoạt động 3 : Tìm hiểu cách soạn thảo, dịch, thực hiện, hiệu chỉnh chương trình
* Mục tiêu: Hiểu được một số thao tác thường dùng trong Pascal
* phương thức:
- GV giao nhiệm vụ cho học sinh khi tính được nghiệm của phương trình thì in ra màn hình kết quả như thế nào? học sinh suy nghĩ và trả lời câu hỏi:
(?) Khi soạn thảo muốn xuống dòng làm thế nào? (nhấn Enter)
(?) Ghi file vào đĩa như thế nào? ( F2)
(?) Mở file đã có như thế nào? ( F2)
(?) Biên dịch chương trình? ( Alt +F9)
(?) Chạy chương trình? (Ctrl + F9)
(?) Đóng cửa sổ chương trình? ( Alt + F3)
(?) Chạy chương trình ntn? (F9)
(?) Thoát khỏi phần mền: Alt + X
(?)GV: giao 1 số chương trình đơn giản cho học sinh soạn thảo thành 1 chương trình rồi thực hiện các thao tác cơ bản dịch, sửa lỗi, lưu…
* Gợi ý sản phẩm:
Trang 31- Để thực hành trong Free Pascal ta khởi động bằng cách: Nháy dúp vào biểu tượng Free Pascal trên màn hình
* Mục tiêu: Nhằm củng cố, hệ thống hóa, hoàn thiện kiến thức mới mà HS đã được
lĩnh hội ở hoạt động hình thành kiến thức
* Phương thức:
- GV giao nhiệm vụ cho HS:
1 Hãy cho biết điểm khác nhau giữa thủ tục vào và ra?
2 Nhắc lại hoạt động của read/readln; write/writeln?
3 Hãy cho ví dụ thủ tục vào, ra?
4 Cách soạn thảo,chạy chương trình, ghi vào đĩa, thoát khỏi Free Pascal
5 Viết 1 số chương trình đơn giản soạn thảo, dịch, hiệu chỉnh và thực hiện
chương trình Chủ yếu cho làm việc cá nhân, trong quá trình làm việc HS có thể trao đổi với bạn hoặc thầy, cô giáo thực hiện các lệnh, các thao tác
* Dự kiến sản phẩm:
Viết, hiệu chỉnh chạy được một số chương trình hoàn chỉnh giải quyết các bài toán đơn giản như: Giải Phương trình bậc nhất, bậc hai, các bài toán tính diện tích các hình tam giác, hcn, …
- GV giao nhiệm vụ cho HS: (học sinh có thể làm bài tập ở nhà):
- Cho VD sau: viết chương trình giải PTBH: với a, b, c là ba số nguyên
3 Gợi ý sản phẩm:
1 Viết một chương trình giải phương trình bậc hai ta cần khai báo những tên sau:
a,b,c là ba tên dùng để lưu ba hệ số của phương trình đã biết nhập vào từ bàn phím
- x1, x2 là hai tên dùng để lưu nghiệm ( nếu có)
- Delta là tên dùng để lưu giá trị của delta
2 Viết chương trình bài toán tính diện tích hình tròn biết bán kính R được nhập
từ bàn phím
3 Về nhà làm bài tập trong sách trang 35,36
Trang 324 Định hướng phát triển năng lực
- Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận
- Năng lực tự hoc
- Năng lực hợp tác
- Năng lực giao tiếp, sử dụng ngôn ngữ
II PHƯƠNG PHÁP, THIẾT BỊ, TÀI LIỆU DẠY - HỌC
1 Giáo viên: Phòng máy tính đã cài sẵn chương trình Turbo Pascal hoặc Free
Pascal, các chương trình làm ví dụ
2 Học sinh:
- Sách giáo khoa, sách bài tập và bài viết sẵn ở nhà
- Xem trước nội dung bài bài tập trang 35-36 SGK
Trang 333 Phương pháp: Gợi mở thông qua hoạt động tư duy
- Dạy học theo quan điểm hoạt động
- Sử dụng máy chiếu, máy tính, cài đặt môi trường NNLT pascal, SGK để minh họa, bảng phụ
II PHƯƠNG PHÁP DẠY HỌC, PHƯƠNG TIỆN DẠY HỌC CHỦ YẾU
A HOẠT ĐỘNG TẠO TÌNH HUỐNG HỌC TẬP
1 Hoạt động 1: Kiểm tra bài cũ
a Mục tiêu:
- Nắm chắc các khái niệm cở bản
- Hiểu được tại sao cần khai báo biến cho chương trình
- Biết các kiểu dữ liệu chuẩn
b Phương thức:
- GV Chuyển giao nhiệm vụ cho HS
(1) Hãy cho biết sự khác nhau giữa hằng có đặt tên và biến
(2) Tại sao phải khai báo biến
(3) trong Pascal, nếu một biến chỉ nhân giá trị nguyên trong phạm vi từ 10 đến
25532 thì biến đó có thể được khai báo bằng các kiểu dữ liệu nào
(4) để tính diện tích S của hình vuông có cạnh A với giá trị nguyên nằm trong phạm vi từ 100 đến 200, cách khai báo S nào dưới đây là đúng và tốn ít bộ nhỏ nhất
a Var S:integer; b Var S:real; c Var S:word;
d Var S:longint; e Var S: boolean;
- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến hoạt động của HS
- Giáo viên nhận xét cho điểm
c Gợi ý sản phẩm:
(1) Sự khác nhau giữa hằng có đặt tên và biến là: Xét về mặt lưu giá trị của hằng và biến trong RAM thì gí trị trong ô nhớ của hằng có đặt tên là không thay đổi, còn giá trị trong ô nhớ của biến thig có thể thay đổi được tại từng thời điểm thực hiện chương trình
(2) Khai báo biến nhằm các mục đích sau:
+ Xác định kiểu của biến Trình dịch sẽ biết cách tổ chức ô nhớ chứa giá trị của biến
+ Đưa tên biến vào danh sách các đối tượng được chương trình quản lí
+ Trình dịch biết cạc truy cập giá trị của biến và áp dung thao tác thích hợp cho biến
(3) Khai báo đúng là:
+ Var P, X: real;
+ Var X: real;
P: byte;
Trang 34(4) - Vì cạnh A chỉ nhận giá trị nguyên trong phạm vi từ 100 đến 200 nên các khai báo b, c, d đều đúng
- Cách khai báo c là tốt nhất vì tiết kiệm ô nhớ cần lưu chữ
ĐVĐ: Các em vừa trả lời về cách đặt tên biến, chọn kiểu dữ liệu cho biến Vậy
để biết trong một biểu thức, bài toán cụ thể thì các giá trị nhập của biến được nhập như nào, và kết quả được hiện thị trên màn hình như nào Ta đi giải quyết các bài tập tiếp để hiểu hơn về cách đặt tên biến, viết biểu thức và viết chương trình đơn giản
B HOẠT ĐỘNG KIẾN THỨC HÌNH THÀNH
1 Hoạt động 1: Luyện tập viết biểu thức
a Mục tiêu: Nhận biết cách viết biểu thức, phân biệt được cách viết các công thức
trong toán học với trong pascal
b Phương thức:
- GV Chuyển giao nhiệm vụ cho HS:
(1) Quan sát biểu thức, hãy viết biểu thức toán dưới đây trong pascal:
- Cho biết đặc điểm của tọa độ (x, y)?
- Viết biểu thức logic cho kết quả true khi tọa độ (x, y) là điểm nằm trong vùng gạch chéo kể cả biên của các hình 2.a và 2.b
- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến hoạt động của HS
H.a (y>=abs(x)) and (y<=1)
H.b (abs(x)<=1) and (abs(y)<=1)
2 Hoạt động 2: Luyện tập viết chương trình
a Mục tiêu: Nhận biết cách viết chương trình đơn giản, sử dụng kiểu dữ liệu cho
biến
b Phương thức:
- GV Chuyển giao nhiệm vụ cho HS:
(1) Đọc bài tập 9 – SGK – Trang36, trả lời câu hỏi sau:
- Hãy xác định bài toán?
- Nhận xét đặc điểm diện tích vùng gạch chéo?
Trang 35- Viết chương trình?
- Nếu cho a =2, kết quả sẽ là bao nhiêu?
- sửa chương trình bằng việc khai báo thêm biến S, cho nhận xét? (2) Đọc bài 10 SGK-Trang 36, trả lời câu hỏi sau:
begin clrscr;
write('Nhap do cao h(m)= ') readln(h(m));
v = sqrt(2*g*h) writeln(van toc khi g cham dat la v= ',v (m/s));
readln end
- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến hoạt động của HS
- Giáo viên nhận xét
c Gợi ý sản phẩm:
(1) - XĐBT
Input: a (a>0);
Output: diện tích S phần gạch chéo
- Nhận xét: Diện tích phần gạch chéo bằng ½ diện tích hình tròn tâm O(0,0) bán kính R =a
write('Nhap gia tri a= ');
readln(a);
writeln('dien tich phan gach la: ',a*a*pi/2:10:4);
readln end
- Nếu cho a = 2 thì kết quả sẽ là: 6.82
Trang 36write('Nhap do cao h(m)= ') readln(h);
v := sqrt(2*g*h);
writeln(van toc khi g cham dat la v= ',v ‘m/s’);
readln end
C HOẠT ĐỘNG LUYỆN TẬP
a Mục tiêu: Nhằm củng cố, hệ thống hóa, hoàn thiện kiến thức mà HS đã được lĩnh
hội
b Phương thức:
- GV giao nhiệm vụ cho HS: Hãy quan sát các câu hỏi và trả lời:
(1) Nếu khai báo m, n, k là các biến kiểu byte , biết rằng m=100, n=200, hãy cho biết giá trị của k trong các trường hợp sau:
- k= m div 2 +n; (div là phép chia nguyên)
Trang 37- Cách khai báo biến
- Viết biểu thức, câu lệnh gán
- Sử dụng các thủ tục chuẩn
- Tìm hiểu thêm các bài toán liên quan đến bài học ở sách BT, nguồn Internet
2 Phương thức:
- GV giao nhiệm vụ cho HS (học sinh có thể làm bài tập ở nhà):
(1) Cho biết kết quả và kiểu dữ liệu của các biểu thức sau:
a 3 + 5.0
b 6/3 + 2 div 3
c (10*((45 mod 3 + 12)/6
d (5 <= 3) and (not true and (12 div 3 <=1))
(2) Một người có số tiền là A đồng , lãi suất tiết kiệm là s% một tháng, hỏi sau t tháng người đó có cả vốn và lãi là bao nhiêu? Lập chương trình với số tiền A là
20 triệu, s = 0.7%, t = 30 tháng, các giá trị này nhập từ bàn phím
- HS có thể viết thuật toán hoặc chương trình
- HS chia sẻ với bạn bằng việc thông qua trao đổi sản phẩm cho bạn, gửi thư điện tử…
- GV đánh giá sản phẩm của HS: nhận xét, tuyên dương, khen gợi…
3 Gợi ý sản phẩm:
(1) Hướng dẫn:
- Tính giá trị của biểu thức
- Dựa vào kết quả để xác định kiểu dữ liệu
Trang 381 Kiến thức
- Biết được một chương trình Pascal hoàn chỉnh
- Làm quen với các dịch vụ chủ yếu của Turbo Pascal trong việc soạn thảo, dịch, thực hiện, và hiệu chỉnh chương trình
4 Định hướng phát triển năng lực
- Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận
- Năng lực tự hoc
- Năng lực hợp tác
- Năng lực giao tiếp, sử dụng ngôn ngữ
II PHƯƠNG PHÁP, THIẾT BỊ, TÀI LIỆU DẠY - HỌC
1 Giáo viên: Phòng máy tính đã cài sẵn chương trình Turbo Pascal hoặc Free
Pascal, các chương trình làm ví dụ
2 Học sinh:
- Sách giáo khoa, sách bài tập và bài viết sẵn ở nhà
- Đọc trước phần phụ lục B1 trang 122 - Môi trường Turbo Pascal
- Xem trước nội dung bài thực hành số 1
3 Phương pháp: Gởi mở thông qua hoạt động tư duy
- Dạy học theo quan điểm hoạt động
- Sử dụng máy chiếu, máy tính, cài đặt môi trường NNLT pascal, SGK để minh họa, bảng phụ
Trang 39II PHƯƠNG PHÁP DẠY HỌC, PHƯƠNG TIỆN DẠY HỌC CHỦ YẾU
A HOẠT ĐỘNG TẠO TÌNH HUỐNG HỌC TẬP
Hoạt động 1: Khởi động Free pascal
1 Mục tiêu: Nhớ lại kiến thức khởi động một phần mềm, môi trường làm việc
của phần nó
2 Phương thức:
GV giao nhiệm vụ cho HS:
(1)- Hãy nêu cách để khởi động một phần mềm ứng dụng bất kì?
(2)- Khởi động phần mềm công cụ free pascal?
(3)- Khởi động phần mềm free pascal có khác gì so với phần mềm ứng dụng khác không?
(4) Em hãy giới thiệu về màn hình làm việc của free pascal?
(5) Chương trình viết bằng NNLT pascal có phân biệt chữ hoa chữ thương không?
(5) Mở tệp tin mới, mở tệp tin đã có trên đĩa
(6)- Hãy cho biết pascal có những phiên bản nào?
(7)- Phần mềm Free pascal này có tính năng gì?
- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến hoạt động của HS
- Giáo viên nhận xét:
3 Gợi ý sản phẩm: Mỗi HS có thể trình bày sản phẩm với các mức độ khác nhau, GV lựa chọn một câu trả lời nào đó của HS để làm tình huống kết nối vào bài thực hành
B HOẠT ĐỘNG KIẾN THỨC HÌNH THÀNH
1 Hoạt động 1: Nhập chương trình
* Mục tiêu: Biết nhập một chương trình pascal hoàn chỉnh
* Phương thức:
GV giao nhiệm vụ cho HS:
- Hãy đọc chương trình pascal Giai_PTB2 trang 34 SGK và gõ vào máy
- Nhấn phím F2 để lưu chương trình với tên PTB2.PAS lên đĩa
- Thực hiện lưu bằng menu
- Học sinh tiếp nhận nhiệm vụ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến hoạt động của HS
- Giáo viên nhận xét
* Sản phẩm:
-Chương trình Giai_PTB2 đã được gõ
- Thực hiện lưu trữ chương trình bằng hai cách (bàn phím F2 hoặc menu file
save)
2 Hoạt động 2: Dịch, sửa lỗi cú pháp chương trình
* Mục tiêu: Biết dịch, sửa lỗi cú pháp một chương trình pascal hoàn chỉnh
Trang 40* Phương thức:
GV giao nhiệm vụ cho HS:
- Để biên dịch chương trình dùng tổ hợp phím nào?
- Ngoài cách dùng bàn phím để biên dịch chương trình ta còn cách nào? Hãy nêu thao tác?
- Ngoài cách biên dịch em hãy thử dịch chương trình bằng phím F7-F8, rồi nhận xét
- Yêu cầu học sinh thao tác:
- Nhấn phím Alt + F9 (F9) để dịch và sửa lỗi cú pháp(nếu có)
- Quan sát dòng báo lỗi màu đỏ (nếu có), tiến hành sửa lỗi (nếu có) Lưu lại chương trình Tiếp tục tiến hành biên dịch lại cho tới khi không còn lỗi
- Học sinh tiếp nhận nhiệm vụ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến hoạt động của HS
- Giáo viên nhận xét
* Sản phẩm: Dịch và sửa lỗi được chương trình
- Tác dụng của phím Alt + F9 (F9);
- Sửa lỗi cú pháp của chương trình
3 Hoạt động 3: Chạy chương trình
* Mục tiêu: Biết dịch, sửa lỗi cú pháp một chương trình pascal hoàn chỉnh
- Thực hiện chạy chương trình bằng menu Run nhập các giá trị 1; 0; -2
- Nhận xét về hai lần thực hiện nhập giá trị cho a, b, c?
- Học sinh tiếp nhận nhiệm vụ, trao đổi thực hiện theo yêu cầu
- Trong quá trình HS làm việc, GV chú ý đến hoạt động của HS
- Giáo viên nhận xét
* Sản phẩm:
- Thực hiện chạy chương trình (Ctrl + F9 hoặc menu Run) với hai bộ thử
nghiệm (a, b, c)
- Nhận xét được hai bộ thử nghiệm (a, b, c)
4 Hoạt động 4: Sửa chương trình
* Mục tiêu: Biết dịch, sửa lỗi cú pháp một chương trình pascal hoàn chỉnh
* Phương thức:
GV giao nhiệm vụ cho HS:
- Chỉnh sửa chương trình trên để có chương trình không dùng biến trung gian D
- Thực hiện chương trình đã sửa với các bộ dữ liệu ở HĐ 3