Hoạt động 2: • Hình thức : giới thiệu • Nội dung : Tập thể cùng nhau tìm hiểu một số tên dành riêng được quy định trong ngôn ngữ lập trình Pascal ở trang 128 của sách giáo khoa.. • Kiến
Trang 1Chương I :
Bài 1: § 1 KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Tiết PPCT : 1
I)Mục đích, yêu cầu:
1) Kiến thức :
- Một số khái niệm cơ sở về lập trình, những đặc điểm chủ yếu của ngôn ngữ bậc cao;
- Vai trò và phân loại chương trình dịch, khái niệm thông dịch và biên dịch
2) Kỹ năng:
3) Thái độ:
- Nhận thức đúng đắn tầm quan trọng của lập trình trong đời sống xã hội
II) Chuẩn bị:
1) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số bài tập và câu hỏi trong sách giáo khoa
2) Dụng cụ , thiết bị:
- Hình ảnh trong sách giáo khoa
III) Tiến trình lên lớp:
1) Ổn định, tổ chức lớp: sỉ số, tình hình chuẩn bị trước tiết học, trật tự lớp
2) Kiểm tra bài cũ:bài đầu tiên
3) Bài giảng:
Hoạt động của thầy và trò Nội dung ghi bảng
Hoạt động 1:
• Hình thức : giảng giải
• Nội dung : Tại sao NNLT được giảng dạy
trong chương trình tin học 11 ? Lí do tại
sao lại chọn ngôn ngữ lập trình là Pascal
• Kiến thức : Một nền kinh tế phát triển thì
cần phải có những công nghệ tốt để đáp
ứng Chính công nghệ thông tin là đòn
bẩy cho sự phát triển đó Aán độ nhờ nắm
bắt được điều này nên đã nhanh chóng
giúp đất nước thoát nghèo và vươn lên là
một trong những nước có nền công
nghiệp gia công phần mềm lớn nhất trên
thế giới.Con người Việt Nam được thế
giới đánh giá là thông minh, sáng tạo thì
tại sao chúng ta không làm được như
thế ?Việt Nam muốn đi tắt, đón đầu trong
việc phát triển kinh tế thì ngay từ bây giờ
cần có một lực lượng thật hùng hậu về
công nghệ thông tin để đáp ứng yêu cầu
của thời đại Hai lí do để sử dụng NNLT
Pascal là: Thứ nhất , đội ngũ giáo viên
hiện nay chủ yếu được đào tạo và giỏi vể
ngôn ngữ Pascal, thứ hai, ngôn ngữ Pascal
là một ngôn ngữ của học đường, Pascal
+ Lập trình là sử dụng cấu trúc dữ liệu và cáccâu lệnh của 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à sử dụng ngôn ngữ đểviết chương trình
Bao gồm: ngôn ngữ máy, hợp ngữ , ngôn ngữlập trình bậc cao
+ Chương trình dịch : Là chương trình đặc biệtcó chức năng chuyển đổi chương trình được viếtbằng ngôn ngữ lập trình bậc cao thành chươngtrình thực hiện được trên máy tính
Trang 2được viết chủ yếu dùng cho việc giảng
dạy
Hoạt động 2:
• Hình thức : theo nhóm
• Nội dung : Học sinh cùng nhau tìm hiểu
về lí do tại sao người ta phải xây dựng
các ngôn ngữ lập trình bậc cao ? Làm thế
nào để máy hiểu một ngôn ngữ lập trình
bậc cao ?
• Kiến thức : Có 4 lí do đó là : Gần với
ngôn ngữ tự nhiên, thuận tiện cho đông
đảo người lập trình( không chỉ dành cho
những người lập trình chuyên nghiệp) ;
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 loại máy tính khác nhau.; Dễ hiểu,
dễ hiệu chỉnh và dễ nâng cấp ; 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
việc mô tả thuật toán Để máy tính hiểu
một ngôn ngữ lập trình bậc cao thì cần
phải có chương trình dịch
Hoạt động 3:
• Hình thức : cá nhân
• Nội dung : Thế nào là chương trình dịch ?
• Kiến thức : Là một chương trình đặc biệt
có chức năng chuyển đổi một 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ực
hiện trên máy tính điện tử
Hoạt động 4:
• Hình thức :theo nhóm
• Nội dung : Tại sao cần phải lập trình và
những ứng dụng của lập trình trong thực
tế ? (3 ví dụ / nhóm)
• Kiến thức : Máy tính hoạt động theo
chương trình Một máy tính muốn sử dụng
được cần phải có phần mềm, phần mềm
chính là những chương trình Lập trình là
để tạo ra chương trình Ví dụ: Tự động lái
tàu;phi thuyền, tên lửa, hoạt động sản
xuất, game, nhạc , web, robot, những
phần mềm ứng dụng
Biên dịch được thực hiện qua hai bước:
1.Duyệt, phát hiện lỗi , kiểm tra tính đúng đắncủa các câu lệnh trong chương trình nguồn.2.Dịch toàn bộ chương trình nguồn thành chươngtrì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
Trang 3Thông dịch : dịch từng câu lệnh Biên
dịch : Dịch toàn bộ chương trình
4) Tổng kết nội dung, đánh giá cuối bài:
- Nắm được thế nào là lập trình và ngôn ngữ lập trình
- Tại sao chúng ta lại xây dựng ngôn ngữ lập trình bậc cao
- Làm thế nào để máy tính có thể hiểu được ngôn ngữ lập trình bậc cao
- Phân biệt được như thế nào là thông dịch, như thế nào là biên dịch
5) Dặn dò , kế hoạch học tập tiết sau :
- Tìm kiếm thêm một số ví dụ trong thực tiễn có ứng dụng lập trình
- Xem trước bài học tiếp theo “Một số thành phần của ngôn ngữ lập trình” để có thể nắm bắt được bài học ở tiết sau một cách nhanh chóng hơn
IV) Những vấn đề cần rút kinh nghiệm:
- Khi giảng bài cần chú ý đến âm điệu, tốc độ lời nói, diễn đạt được cảm xúc khi truyền đạt
- Lưu ý đến sự chính xác của những khái niệm trong sách giáo khoa khi giảng bài
- Bảo đảm đúng tiến trình lên lớp , tránh thừa giờ
- Kích thích lòng đam mê, hứng thú trong học tập của học sinh bằng những ví dụ hay, thực tế, sinh động , có tính thời sự hơn
Trang 4Chương I :
Bài 2: § 2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
Tiết PPCT : 2
I)Mục đích, yêu cầu:
1) Kiến thức :
- 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, ngữ nghĩa
- Biết 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, 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) Thái độ:
II) Chuẩn bị:
1) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số bài tập và câu hỏi trong sách giáo khoa
2) Dụng cụ , thiết bị:
- Hình ảnh trong sách giáo khoa
III) Tiến trình lên lớp:
1) Ổn định, tổ chức lớp: sỉ số, tình hình chuẩn bị trước tiết học, trật tự lớp
2) Kiểm tra bài cũ:
- Lí do tại sao lại xây dựng ngôn ngữ lập trình bậc cao.?
- Phân biệt giữa thông dịch và biên dịch ?
3) Bài giảng:
Hoạt động của thầy và trò Nội dung ghi bảng
Hoạt động 1:
• Hình thức : tìm hiểu tập thể
• Nội dung : Cho biết sự khác biệt giữa
bảng chữ cái , cú pháp, ngữ nghĩa trong
ngôn ngữ lập trình với ngôn ngữ chúng ta
đang sử dụng
• Kiến thức : Dùng bảng chữ cái tiếng anh,
có một số kí tự chỉ dùng trong máy tính
Về cú pháp và ngữ nghĩa thì có những
khái niệm gần như là giống nhau
Hoạt động 2:
• Hình thức : giới thiệu
• Nội dung : Tập thể cùng nhau tìm hiểu
một số tên dành riêng được quy định
trong ngôn ngữ lập trình Pascal ở trang
128 của sách giáo khoa
• Kiến thức : Nhận biết được đâu là tên
dành riêng Giới thiệu một số tên dành
riêng và chức năng của những tên này
1) Các thành phần cơ bản :
- Mỗi ngôn ngữ lập trình thường có 3 thànhphần cơ bản là : 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ươngtrình.Gồm các kí tự trong bảng chữ cái(thường vàhoa) ;10 chữ số thập phân và các kí tự đặc biệt
Trang 5Hoạt động 3:
• Hình thức :theo nhóm/cá nhân
• Nội dung : Cho biết sự khác nhau cơ bản
giữa tên dành riêng và tên chuẩn được
dùng trong ngôn ngữ lập trình Pascal
• Kiến thức : Tên dành riêng thì được
dùng với ý nghĩa riêng xác định , không
được dùng với ý nghĩa khác Tên chuẩn
thì được dùng với ý nghiã nhất định và
người lập trình có thể khai báo và dùng
chúng với ý nghĩa và mục đích khác
Hoạt động 4:
• Hình thức : theo nhóm
• Nội dung : Các em sẽ xác định cách đặt
tên đúng và sai trong phiếu học tập do
GVBM đưa
• Kiến thức : Xác định chính xác cách đặt
tên đối với ngôn ngữ lập trình Pascal
Trong Pascal , Tên không phân biệt giữa
chữ hoa và chữ thường
Hoạt động 5:
• Hình thức : vấn đáp
• Nội dung : Thế nào là hằng và thế nào là
biến Khi nào ta sử dụng hằng, khi nào sử
dụng biến trong khai báo Sự khác biệt
giữa chúng là gì?
• Kiến thức : Hằng là đại lượng có giá trị
không thay đổi trong quá trình thực hiện
chương trình và biến là đại lượng được
đặt tên, dùng để lưu trữ giá trị và giá trị
có thể thay đổi trong quá trình thực hiện
chương trình Tuỳ theo từng trường hợp
cụ thể mà ta dùng hằng hay biến
Hoạt động 6:
• Hình thức : theo nhóm
• Nội dung : Mỗi nhóm sẽ cho 3 ví dụ về
tên theo đúng quy tắc của Pascal Thực
hiện Câu hỏi và bài tập 6 / trang 13 trong
sách giáo khoa.( Xác định những biểu
diễn nào không phải là những biểu diễn
hằng)
• Kiến thức : Giúp các em nắm bắt được
cách đặt tên trong Pascal Xác định được
đâu là những hằng đúng trong bài tập 6
trang 13
Ví dụ : Abc_123H_a_oNgôn ngữ Pascal không phân biệt chữ hoa, chữthường trong tên
Nhiều ngôn ngữ lập trình, trong đó có Pascal,phân biệt 3 loại tê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 :
Là tên được ngôn ngữ lập trình quy định dùngvới ý nghĩa riêng xác định, người lập trình khôngđược sử dụng với ý nghĩa khác
Ví dụ: Var, begin, end, program
Tên chuẩn :
Là tên được ngôn ngữ lập trình dùng với ý nghĩaxác định nào đó Tuy nhiên, người lập trình cóthể khai báo và dùng chúng với ý nghĩa và mụcđích khác
Ví dụ: real, abs, break, integer
Tên do người lập trình đặt :
Tên do người lập trình đặt được dùng với ý nghĩariêng, xác định bằng cách khai báo trước khi sửdụng Các tên này không được trùng với têndành riêng
Ví dụ: Giai_toan, Vidu, real, integer
b) Hằng và Biến : Hằng:
Hằng là đại lượng có giá trị không thay đổi trongquá trình thực hiện chương trình
Thông thường có các hằng số học, hằng logic,hằng xâu
Ví dụ: A,B,C : real;
Trang 6Ví dụ: (* Day la chuong trinh Pascal *).
4) Tổng kết nội dung, đánh giá cuối bài:
- Thực hiện phiếu học tập 1 và 2
- Các thành phần của ngôn ngữ lập trình : bảng chữ cái, cú pháp, ngữ nghĩa
- Mọi đối tượng trong chương trình đều phải được đặt tên
- Sự khác biệt giữa hằng và biến : Hằng là đại lượng có giá trị không thay đổi Biến là đại lượng được đặt tên , giá trị của biến có thề thay đổi trong quá trình thực hiện chương trình
5)Dặn dò , kế hoạch học tập tiết sau :
- Sau bài học này các em cần phân biệt được giữa tên dành riêng và tên chuẩn, giữa hằng và biến trong chương trình
- Thế nào là hằng, biến
- Xem trước các bài tập ở trong sách bài tập để học tiết bài tập và thực hành ở tiết sau
IV) Những vấn đề cần rút kinh nghiệm:
- Làm thế nào để truyền đạt một cách cô đọng, dễ hiểu nhất
- Cho những ví dụ thực tế , vận dụng vào bài học sau này
- Có một số Phiếu học tập cho các em vào cuối tiết học nhằm ôn tập lại những vấn đề được đề cập trong tiết học vừa qua
Trang 7Phiếu học tập số 1: (Bài 2)
• Bằng hai chữ cái A và B người ta có thể viết được bao nhiêu tên đúng :
a) Có độ dài không quá 2 chữ cái.
b) Có độ dài đúng bằng 3 chữ cái.
c) Có độ dài không quá 3 chữ cái.
Phiếu học tập số 2: (Bài 2)
Hãy xác định tên đúng trong một số tên được đặt sau đây :
( giải thích lí do tại sao đúng, tại sao sai)
7.Quay dau la bo 8.Em&Anh 9.Vithieugia9tuoi
Trang 8- Vai trò của chương trình dịch.
- Biết khái niệm về thông dịch và biên 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,ngữ
nghĩa,tên, tên chuẩn, tên riêng, 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 trong Turbo Pascal
3) Thái độ:
- Tích cực đóng góp ý kiến
II) Chuẩn bị:
1) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số ví dụ thực tế , dễ hiểu
2) Dụng cụ , thiết bị:
III) Tiến trình lên lớp:
1) Ổn định, tổ chức lớp: sỉ số, tình hình lớp
2) Kiểm tra bài cũ:
- Các thành phần cơ bản của ngôn ngữ lập trình?
- Các khái niệm về tên: tên riêng, tên chuẩn, tên do người lập trình đặt.?
- Phân biệt giữa hằng và biến?
3) Bài giảng:
Nội dung thảo luận: Kiến thức:
+ Có 3 lớp ngôn ngữ lập trình và các mức của
ta có thể khai thác triệt để các đặc điểm củaphần cứng máy tính
Các lệnh viết bằng ngôn ngữ máy ở dạng mã
Trang 9nhị phân hoặc mã hexa.
Tuy nhiên ngôn ngữ máy không thuận lợi chocon người trong việc viết hoặc hiểu chươngtrình Với ngôn ngữ máy, ta phải nhớ một cáchmáy móc các dòng số không gợi ý nghĩa củalệnh đồng thời phải dùng nhiều câu lệnh đểdiễn tả các thao tác của thuật toán
* Hợp ngữ:
Cho phép sử dụng một số từ ( thường là từ viếttắt của Tiếng Anh) để thể hiện các lệnh cầnthực hiện
* Ngôn ngữ bậc cao:
Hợp ngữ là ngôn ngữ đã thuận lợi hơn cho cácnhà lập trình chuyên nghiệp nhưng vẫn chưathật thích hợp với đông đảo người lập trình.Ngôn ngữ bậc cao có các câu lệnh được viếtgần với ngôn ngữ tự nhiên hơn, có tính độc lậpcao, ít phụ thuộc vào loại máy cụ thể: Ngắngọn, dễ hiểu, dễ hiệu chỉnh và nâng cấp, kiểudữ liệu và cách tổ chức dữ liệu đa dạng, thuậntiện cho mô tả thuật toán
+ Vai trò của 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 bằng ngôn ngữ lậptrình bậc cao thành chương trình thực hiệnđược trên máy tính
+ Khái niệm biên dịch và thông dịch ? Thông dịch:
Được thực hiện bằng cách lặp lại dãy các bướcsau :
1 Kiểm tra tính đúng đắn của câu lệnh tiếptheo trong chương trình nguồn
2 Chuyển đổi câu lệnh đó thành một haynhiều câu lệnh tương ứng trong ngôn ngữ máy
3 Thực hiện các câu lệnh vừa chuyển đổiđược
Biên dịch:
Biên dịch được thực hiện qua hai bước :1.Duyệt, phát hiện lỗi, kiểm tra tính đúng đắncủa các câu lệnh trong chương trình nguồn2.Dịch toàn bộ chương trình nguồn thành mộtchương trình đích có thể lưu trữ trên máy vàcó thể lưu trữ để có thể sử dụng lại khi cầnthiết
1
+ Các thành phần của ngôn ngữ lập trình ? + Bảng chữ cái:
Gồm các chữ cái tiếng anh, các chữ số , cácdấu phép toán và một số kí tự thông dụngkhác dùng để diễn đạt ngôn ngữ
Trang 10+ Cú pháp:.
Là bộ quy tắc để viết chương trình Dựa vàochúng người lập trình và chương trình dịch biếtđược tổ hợp nào của các kí tự trong bảng chữcái là hợp lệ và tổ hợp nào là không hợp lệ
+ Ngữ nghĩa:
Xác định ý nghĩa thao tác cần phải thực hiện
+ Một số khái niệm + Tên : Mỗi đối tượng (hằng, biến, hàm, kiểu
dữ liệu)đều được đặt tên Mỗi trình dịch đềucó chức năng quản lí các tên đã gán cho cácđối tượng Cách đặt tên là những quy ước pháituân theo trong mỗi ngôn ngữ lập trình và trìnhdịch tương ứng.(về độ dài, những kí tự thuộctên, tên bắt đầu bằng kí tự loại nào, tên dànhriêng-từ khoá,tên chuẩn , tên do người lậptrình đặt ).Tên không được trùng với từ khoávà không nên trùng với tên chuẩn
Trong Pascal quy định tên chỉ gồm một dãyliên tiếp các chữ cái, chữ số, dấu gạch dưới vàtên không được bắt đầu bằng chữ số, khôngphân biệt chữ hoa và chữ thường trong tên
+ Tên dành riêng:
Được ngôn ngữ lập trình quy định dùng với ýnghĩa riêng xác định, người lập trình khôngđược sử dụng với mục đích khác
+ Tên chuẩn:
Được ngôn ngữ lập trình dùng với ý nghĩa nhấtđịnh nào đó
+ Tên do người lập trình đặt:
- Được dùng với ý nghĩa riêng
- Được xác định bằng cách khaibáo trước khi sử dụng
- Không được trùng với tên dànhriêng
+ Hằng và biến:
Hằng là đại lượng có giá trị không thay đổitrong quá trình thực hiện chương trình Gồm:Hằng số học, xâu, logic
Biến là đại lượng được đặt tên, dùng để lưutrữ giá trị và giá trị có thể được thay đổi trongquá trình thực hiện chương trình
+ Chú thích:
- Không ảnh hưởng đến nội dungchương trình và được chươngtrình dịch bỏ qua
Trang 11- Giúp người đọc nhận biết được
ý nghĩa của chương trình đó dễhơn
Phiếu học tập số 1:
THẢO LUẬN
1) Hãy giải thích tại sao Hợp ngữ chưa thích hợp lắm so với đa số người dùng?
2) Chương trình trên ngôn ngữ máy chứa ít hay nhiều câu lệnh hơn chương trình ở ngôn ngữ bậc cao ban đầu?
3) Tại sao nói chương trình được viết bằng ngôn ngữ lập trình bậc cao ít phụ thuộc vào loại máy cụ thể?
4) Tại sao phải kiểm tra tính đúng đắn của chương trình bằng nhiều bộ dữ liệu khác nhau?Cho ví dụ để dẫn chứng?
5) Có phải mọi bài toán đều có chương trình để giải trên máy tính?
Phiếu học tập số 2 :
KHẲNG ĐỊNH NỘI DUNG
1) Mọi đối tượng có giá trị thay đổi trong chương trình đều được gọi là biến ? Đúng hay Sai?
2) Tên do người lập trình đặt có thể trùng với từ khoá nhưng không thể trùng với tên chuẩn làphát biểu Đúng hay Sai ?
3) Để biên soạn một chương trình trên ngôn ngữ bậc cao có thể sử dụng nhiều hệ soạn thảo khác nhau là phát biểu Đúng hay Sai ?
4) Chương trình dịch là thành phần chính của ngôn ngữ bậc cao là phát biểu Đúng hay Sai ?
Trang 125) Nếu chương trình nguồn có lỗi cú pháp thì chương trình đích cũng có lỗi cú pháp là phát biểu Đúng hay Sai ?
Phiếu học tập số 3:
ÔN TẬP KIẾN THỨC
1) Chương trình viết bằng hợp ngữ không có đặc điểm nào trong những đặc điểm sau đây:
A>Ngắn gọn hơn so với chương trình được viết bằng ngôn ngữ bậc cao
B>Tốc độ thực hiện nhanh hơn so với chương trình được viết bằng ngôn ngữ bậc cao
C>Diễn đạt gần với ngôn ngữ tự nhiên
D>Sử dụng trọn vẹn khả năng của máy tính
2) Chương trình viết bằng ngôn ngữ bậc cao không có đặc điểm nào trong những đặc điểm
sau
A>Không phụ thuộc vào loại máy, chương trình có thể thực hiện trên nhiều loại máy
B>Ngắn gọn, dễ hiểu, dể hiệu chỉnh và dễ nâng cấp
C>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ật toán
D> Máy tính có thể hiểu và thực hiện trực tiếp chương trình này
3) Chương trình dịch không có khả năng nào trong các khả năng sau đây:
A>Phát hiện lỗi ngữ nghĩa B>Phát hiện được lỗi cú phápC>Thông báo lỗi cú pháp D>Tạo được chương trình đích
4) Điền vào chỗ trống( ) trong câu sau :”Ba thành phần cơ bản của ngôn ngữ lập trình bậc
cao là : bảng chữ cái, , và ngữ nghĩa”
5)
(1)Biên dịch (A) là các đại lượng có giá trị không thay đổi
trong quá trình thực hiện chương trình
(2) Thông dịch (B) dịch và thực hiện từng câu lệnh, nếu còn câu
lệnh tiếp theo thì quá trình này còn tiếp tục(3) Chương trình viết trên
ngôn ngữ lập trình bậc cao
(C)là những đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể thay đổi trong quá trìnhthực hiện chương trình
(4) Biến (D) 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
(5) Hằng (E)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
Trang 134) Tổng kết nội dung, đánh giá cuối bài:
- Thực hiện phiếu học tập 1, 2 và 3
- Hiểu rõ cách đặt tên trong Turbo Pascal
- Các thành phần cơ bản của ngôn ngữ lập trình
- Có thể phân biệt được các khái niệm tên dành riêng, tên chuẩn; hằng , biến
5) Dặn dò, kế hoạch học tập tiết sau :
- Các thành phần của một chương trình
- Cách xây dựng một chương trình Pascal đơn giản
IV) Những vấn đề cần rút kinh nghiệm:
- Cần có thêm nguồn tài liệu phong phú hơn để có thể giảng giải tốt hơn
- Chuẩn bị bài giảng cần chu đáo hơn
- Lưu ý trình tự thực hiện phiếu học tập
- Cho một số ví dụ để các em làm quen trước
Trang 14- 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
- Biết một số kiểu dữ liệu chuẩn :nguyên , thực, kí tự, logic và miền con
2) Kỹ năng:
- Nhận biết được các phần của một chương trình đơn giản
- Xác định được kiểu cần khai báo của dữ liệu đơn giản
3) Thái độ:
- Nhận thức đúng đắn tầm quan trọng của lập trình trong đời sống xã hội
II) Chuẩn bị:
1) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số bài tập và câu hỏi trong sách giáo khoa
2) Dụng cụ , thiết bị:
- Hình ảnh trong sách giáo khoa
III) Tiến trình lên lớp:
1) Ổn định, tổ chức lớp: sỉ số, tình hình chuẩn bị trước tiết học, trật tự lớp
2) Kiểm tra bài cũ:
- Các thành phần của ngôn ngữ lập trình ?
- Phân biệt tên, hằng và biến.?
- Cho các ví dụ về cách đặt tên đúng đối với ngôn ngữ lập trình Pascal?
3) Bài giảng:
Hoạt động của thầy và trò Nội dung ghi bảng
Hoạt động 1:
• Hình thức : giảng giải
• Nội dung : Làm rõ cách diễn đạt về cấu
trúc chung của một ngôn ngữ lập trình bất
kì
• Kiến thức : Phần khai báo được đặt trong
ngoặc vuông có nghĩa là có thể có hoặc
1 ) Cấu trúc chung :
Chương trình được viết bằng ngôn ngữ bậc caothường gồm: phần khai báo và phần thân
Cấu trúc của một chương trình được mô tả nhưsau:
[<phần khai báo>]
<phần thân>
Trang 15không Phần khai báo gồm tên chương
trình, tên thư viện, hằng và biến
Hoạt động 2:
• Hình thức : giảng giải
• Nội dung : Nói rõ hơn về phần khai báo
• Kiến thức : Khai báo tên chương trình chỉ
có ý nghĩa để ghi nhớ tên bài toán cần
giải Một số ngôn ngữ lập trình không cần
phần khai báo tên chương trình, có thể
dùng các dòng chú thích đặt ngay đầu
chương trình để tóm tắt nội dung bài toán
cũng như một số thông tin khác như tên
thuật toán, tên lập trình viên, thời gian
viết… .Tuỳ theo từng chương trình cụ thể,
phần khai báo tên thư viện, hằng và biến
có thể có hoặc không có
• Khai báo các đối tượng nhằm tổ chức
chúng trong bộ nhớ trong và quản lí
chúng khi dịch hoặc thực hiện chương
trình.Chỉ những đối tượng được khai báo
mới sử dụng được
Hoạt động 3:
• Hình thức : giảng giải
• Nội dung : Về các thành phần của
chương trình
• Kiến thức : Các loại như tên chương
trình, tên các thư viện, tên hằng phải
được đặt vàkhai báo đúng cú pháp
• Khai báo hằng sẽ tạo điều kiện thuận lợi
cho việc chỉnh sửa lại giá trị của hằng
trong toàn bộ chương trình khi cần thiết
Khi sửa lại giá trị của hằng tại phần khai
báo thì toàn bộ tên của hằng này ở mọi vị
trí trong chương trình đều nhận được giá
trị mới
• Pascal dùng dấu ; để ngăn cách các câu
lệnh
Hoạt động 4:
• Hình thức : Ví dụ mô phỏng
2) Các thành phần của chương trình:
a) Phần khai báo:
Khai báo tên chương trình:
Phần này có thể có hoặc không Nếu có , phầnnày trong Pascal thường bắt đầu với từ khóaProgram, tiếp đến là tên chương trình
Program <tên chương trình>;
Ví dụ: program phuong_trinh_bac_2;
Program vi_du_2;
Khai báo thư viện:
Để sử dụng được các chương trình thông dụng đãđược lập sẵn ta cần khai báo thư viện
Ví dụ: uses crt;
Uses graph;
Khai báo hằng:
Khai báo hằng thường sử dụng cho những giá trịxuất hiện nhiều lần trong chương trình
Ví dụ: const PI= 3.1416;
Hang = 12345;
Khai báo biến:
Tất cả các biến dùng trong chương trình đều phảiđược đặt tên và phải khai báo cho chương trìnhdịch lưu trữ và xử lí
Ví dụ: Để giải bài toán phương trình bậc hai tacần những biến sau :
A,b,c :real;
Khai báo biến sẽ được trình bày riêng trong bài 5
b) Phần thân chương trình:
Dãy lệnh trong phạm vi được xác định bởi cặpdấu hiệu mở đầu và kết thúc tạo thành thânchương trình
Ví dụ: Trong Turbo PascalBegin
[<Dãy lệnh>]
End
3) Viù dụï chương trình đơn giản :
Trang 16• Nội dung : Cho ví dụ về một chương trình
Pascal hoàn chỉnh
• Kiến thức : Giúp các em hình dung được
một chương trình pascal đơn giản hoàn
chỉnh Trình tự thực hiện của chương
trình Cách nhận biết các phần khai báo
trong chương trình ( dựa vào từ khoá )
Hoạt động 5:
• Hình thức : theo nhóm
• Nội dung : thảo luận theo phiếu học tập
số 3
• Kiến thức : nắm rõ được :
• Khi có nhiều kiểu dữ liệu khác nhau thì
thông tin sẽ dễ dàng được biểu diễn hơn
do thông tin rất đa dạng Mỗi kiểu được
đặc trưng bởi tên kiểu, miền giá trị, kích
thước trong bộ nhớ, các phép toán , các
hàm và các thủ tục sử dụng chúng
• Khi tìm hiểu một kiểu dữ liệu chuẩn ta
cần nắm được bộ nhớ và phạm vi giá trị
có thể biểu diễn của kiểu dữ liệu đó
• Chúng ta không nên khai báo bộ nhớ chỉ
vừa đủ để sử dụng do nhu cầu khai thác
bài toán của chúng ta càng ngày càng
tăng cao Khi đó phạm vi giá trị biểu diễn
cũng tăng dần và buộc chúng ta phải khai
báo lại
• Khi người lập trình đặt tên cho biến, hằng
thì không nên trùng với tên chuẩn, vì như
thế sẽ dễ dàng gây khó hiểu cho người
lập trình do trùng tên với nhau, khó phân
biệt được giữa biến, hằng và tên chuẩn
• Trong thực tế, ngôn ngữ lập trình Pascal
không hổ trợ tiếng Việt
Ví dụ:
Program vi_du 1;
BeginWriteln(‘Xin chao cac ban’);
End
Ví dụ2 : BeginWriteln(‘Xin chao cac ban !’);
Writeln(‘Moi cac ban lam quen voi Pascal’);End
§ 4 MỘT SỐ KIỂU DỮ LIỆU CHUẨN 1) Kiểu nguyên:
Kiểu Bộ nhớ Phạm vi lưu trữ byte 1 byte 0 -> 255
Integer 2 byte -2 15 -> 2 15 -1 word 2byte 0 -> 2 16 - 1 longint 4 byte -2 31 -> 2 31 - 1
2) Kiểu thực :
Kiểu Bộ
nhớ
Phạm vi
real 6 byte 0 hoặc có giá trị tuyệt
đối nằm trong phạm vi
boolean 1 byte True hoặc false
4) Tổng kết nội dung, đánh giá cuối bài:
Trang 17- Thực hiện phiếu học tập 1, 2 và 3.
- Biết được một số thành phần cơ bản khi viết chương trình của ngôn ngữ lập trình Pascal
- Các kiểu dữ liệu khác nhau bao gồm : bộ nhớ và phạm vi biểu diễn
- Phần khai báo có thể có hoặc không
- Phần thân chương trình nếu không có thì đó là một chương trình rỗng
5) Dặn dò , kế hoạch học tập tiết sau :
- Thực hiện một số chương trình đơn giản, lắp ghép những nội dung đã được học
- Chuẩn bị và tìm hiểu trước nội dung của bài tiếp theo
- Cần chuẩn bị một số câu hỏi để dễ dàng nắm bắt được nội dung của bài học
IV) Những vấn đề cần rút kinh nghiệm:
- Có những ví dụ hay , thực tế hơn ngoài những ví dụ về toán học
- Giúp tất cả học sinh nắm vững cách khai báo tên, hằng
- Hình dung được một chương trình đơn giản là bao gồm những thành phần nào
- Nên có nhiều bài tập hơn để tiết học bớt nhàm chán
Phiếu học tập số 3 :
THẢO LUẬN
1) Tại sao lại có nhiều kiểu dữ liệu khác nhau ?
2) Khi tìm hiểu một kiểu dữ liệu chuẩn thì ta cần phải nắm được các đặc trưng nào ?
3) Chúng ta có nên khai báo bộ nhớ chỉ vừa đủ để sử dụng hay không? Tại sao ? 4) Khi người lập trình đặt tên cho tên chương trình, biến, hằng thì có nên trùng với tên chuẩn hay không ? Tại sao ?
Trang 185) Trong thực tế đối với ngôn ngữ lập trình Pascal , có thể dùng Tiếng Việt để đặt tên hay không ? Tại sao?
Phiếu học tập số 1 :
{Sau đây là chương trình tính chu vi và diện tích hình tròn :}
Writeln(‘Chu vi cua hinh tron la: ’, C:4:3);
Writeln(‘Dien tich hinh tron la: ’, S:4:3);
Readln;
End.
Phiếu học tập số 2 :
(* Sau đây là chương trình tính số Mol của nguyên tử có trong 60g C, 30g Mg, 20g N, 50g
O :*)
Program tinh_so_Mol;
Trang 19Writeln(‘So Mol nguyen tu trong 60g C la : ’, 60/C:4:3);
Writeln(‘So Mol nguyen tu trong 30g Mg la : ’, 30/Mg:4:3);
Writeln(‘So Mol nguyen tu trong 20g N la : ’, 20/(N*2):4:3);
Writeln(‘So Mol nguyen tu trong 50g O la : ’, 50/(O*2):4:3);
- Hiểu được cách khai báo biến
- Biết các khái niệm: phép toán, biểu thức số học , hàm số học chuẩn, biểu thức quan hệ
- Hiểu lệnh gán
- Nhận biết khai báo sai
- Viết được lệnh gán
- Viết được các biểu thức số học và logic với các phép toán thông dụng
- Nhận thức đúng đắn tầm quan trọng của lập trình trong đời sống xã hội
II) Chuẩn bị:
1) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số bài tập và câu hỏi trong sách giáo khoa
2) Dụng cụ , thiết bị:
- Hình ảnh trong sách giáo khoa
III) Tiến trình lên lớp:
1) Ổn định, tổ chức lớp: sỉ số, tình hình chuẩn bị trước tiết học, trật tự lớp
2) Kiểm tra bài cũ:
- Cấu trúc chung của một ngôn ngữ lập trình bậc cao là gì ?
- Các thành phần của chương trình ?
- Cách khai báo tên chương trình, khai báo thư viện, khai báo hằng ?
Trang 20- Một chương trình có phần thân không có bất kì câu lệnh nào được hay không ?
3) Bài giảng:
Hoạt động của thầy và trò Nội dung ghi bảng
Hoạt động 1:
• Hình thức : cá nhân
• Nội dung : Tại sao phải khai báo
biến ? Cú pháp khai báo biến là gì ?
Những lưu ý khi khao báo biến ?
• Kiến thức : Mọi biến dùng trong
chương trình đều cần phải khai báo
tên và kiểu dữ liệu Khai báo biến
để cấp phát bộ nhớ cho biến Sau
khai báo sẽ có một vùng nhớ dành
cho biến này với kích thước đúng
bằng với kích thước kiểu của nó để
lưu trữ giá trị của biến Khai báo
biến nhằm đưa tên biến vào danh
sách các đối tượng cần quản lí của
chương trình Kiểu của biến giúp
cho chương trình dịch biết cách tổ
chức lưu trữ , truy cập giá trị của
biến và áp dụng các thao tác thích
hợp trên biến đó
Var <danh sách biến>:<kiểu dữ liệu>;
Sau từ khoá var có thể khai báo nhiều
danh sách biến khác nhau Mỗi biến chỉ
được khai báo một lần Không phân biệt
chữ hoa, thường trong khai báo
• Đặt tên biến ( gồm chữ cái, chữ số,
dấu gạch dưới và không được bắt
đầu bằng chữ số ) sao cho gợi nhớ
đến ý nghĩa của biến đó , tên không
được quá ngắn hay qúa dài, phạm vi
giá trị của biến
Hoạt động 2:
• Hình thức : cá nhân
• Nội dung : Khai báo biến thường
được đặt ở vị trí nào ? Nếu khai báo
thừa (không dùng tới) thì chương
trình dịch có báo sai hay không ?
Một số trường hợp khai báo biến sai
qui định
• Kiến thức : Khai báo biến thường
được đặt sau khi khai báo hằng
Cũng có thể đặt khai báo biến trên
khai báo hằng nếu khai báo biến
không liên quan đến giá trị của
§ 5 KHAI BÁO BIẾN
Mọi biến dùng trong chương trình đều cần khai báotên và kiểu dữ liệu
Var <danh sách biến>:<kiểu dữ liệu>;
+ Tên biến dùng để xác lập quan hệ giữa biến với địachỉ bộ nhớ nơi lưu trữ giá trị biến
+ Danh sách biến là một hoặc nhiều tên biến, các tênbiến được viết cách nhau bởi dấu phẩy
+ Kiểu dữ liệu : thường là một trong những kiểu dữliệu chuẩn hoặc kiểu dữ liệu do người lập trình địnhnghiã
Ví dụ: Cho 2 số thực a,b Tính tổng của chúng
Var a,b,tổng : real ;Lưu ý: Sau từ khoá Var có thể khai báo nhiều danhsách biến khác nhau
Ví dụ : Var a,b,c : real;
E,f,g : longint;
L,m,n : integer;
Một số chú ý :
* Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa củabiến đó
* Không nên đặt tên biến quá ngắn hay quá dài, dễmắc lỗi khi viết nhiều lần tên biến
* Khi khai báo biến cần đặc biệt lưu ý đến phạm vi giátrị của biến
§ 6 PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
1 ) Phép toán :
Tương tự như trong toán học :
Phép toán Trong toán học Trong Pascal
Các phép toánsố học với sốnguyên
Cộng, trừ,nhân,chia
nguyên(div), lấyphần dư (mod)
+, - , * , div ,mod
Các phép toánsố học với sốthực
Cộng, trừ, nhân,chia
Trang 21hằng Nếu khai báo biến thừa thì
chương trình dịch vẫn không báo
lỗi Sai với qui định đặt tên, các
biến khai báo phải được phân cách
bằng dấu phẩy, tên biến trùng nhau,
sử dụng biến chưa khai báo, các
biến trong danh sách chưa cùng
kiểu
Hoạt động 3:
• Hình thức : theo nhóm
• Nội dung : Trong một ngôn ngữ
lập trình bậc cao thì tối thiểu phải
có bao nhiêu loại biểu thức ?
• Kiến thức : Biểu thức số học, biểu
thức Logic, biểu thức quan hệ
Hoạt động 4:
• Hình thức : trao đổi
• Nội dung : Cách biểu diễn các phép
toán trong toán học và trong
Pascal.Một số phép toán mới : div,
mod, not , and , or
• Kiến thức :Nắm được các qui tắc
khi biểu diễn phép toán
• Mod : lấy phần dư của phép chia
• Div : lấy phần nguyên của phép
chia
• Not : phép toán phủ định
• And : phép toán điều kiện kết hợp
• Or : phép toán điều kiện lựa chọn
Hoạt động 5:
• Hình thức :cá nhân
• Nội dung : Trong bất kì biểu thức
nào , ngôn ngữ lập trình dùng loại
ngoặc nào để xác định trình tự thực
hiện phép toán ?
• Kiến thức : Trong các biểu thức,
ngôn ngữ lập trình dùng loại ngoặc
tròn để xác định trình tự thực hiện
các phép tính
Hoạt động 6:
• Hình thức : cá nhân
• Nội dung : Cho ví dụ minh hoạ để
chuyển từ cách viết một biểu thức
trong ngôn ngữ lập trình tương ứng
với cách viết trong toán học như thế
nào ?
• Kiến thức : hình thành các kỹ năng
bằng, bằng , khácCác phép toán
logic
Phủ định, hoặc ,và Not, or, and
2) Biểu thức số học :
Là một biến kiểu số hoặc một hằng số hoặc các biếnkiểu số và các hằng số liên kết với nhau bởi một sốhữu hạn các phép toán số học, các dấu ngoặc tròn ( và) tạo thành biểu thức có dạng như trong toán học
Qui tắc :
- Chỉ dùng cặp ngoặc tròn để xác định trình tựthực hiện phép toán trong trường hợp cần thiết
- Viết lần lượt từ trái sang phải
- Không được bỏ qua dấu nhân (*) trong tích
Thứ tự thực hiện phép toán :
- Thực hiện các phép toán trong ngoặc trước
- Trong dãy các phép toán không chứa ngoặc thìthực hiện từ trái sang phải, theo thứ tự các phéptoán nhân, chia, chia nguyên, lấy phần dư thựchiện trước và các phép toán cộng, trừ thực hiệnsau
Ví dụ : 5x + 7y 5 * x + 7 * y
3 ) Hàm số học chuẩn :
Các ngôn ngữ lập trình đều có thư viện chứa một sốchương trình tính giá trị những hàm toán học thườngdùng Mỗi hàm chuẩn có tên chuẩn riêng Đối số củahàm là một hay nhiều biểu thức số học được đặt trongcặp ngoặc tròn ( và ) sau tên hàm
Hàm Bd toán
học
Bd trong Pacal
Kiểu đối số
Kiểu kết quả
Bìnhphương
X2 Sqr(x) Thực
hoặcnguyên
Theokiểu củađối sốCăn bậc
hai x Sqrt(x) Thựchoặc
nguyên
Thực
Giá trịtuyệt đối
| x| Abs(x) Thực
hoặcnguyên
Theokiểu củađối sốLogarit
tự nhiên Lnx Ln(x) Thực Thực Luỹ
thừa của e
Trang 22tạo biểu thức đúng trên cơ sở sử
dụng đúng các hàm số học, các mức
độ ưu tiên của các phép toán
Hoạt động 7:
• Hình thức : cá nhân
• Nội dung : chức năng của câu lệnh
gán ?
• Kiến thức : Câu lệnh gán có chức
năng gán giá trị cho một biến ,
nghĩa là thay giá trị cũ trong ô nhớ
tương ứng với biến bởi giá trị mới
Giá trị mới là giá trị của một biểu
thức Biểu thức này đã có giá trị xác
định thuộc phạm vi của biến Kiểu
giá trị của biểu thức phải phù hợp
với kiểu của biến
Hoạt động 8:
• Hình thức : quan sát
• Nội dung : Quan sát cú pháp câu
lệnh gán và mô tả
• Kiến thức : Bên trái lệnh gán là tên
biến, bên phải là biểu thức đã xác
định
Một số điểm chú ý khi sử dụng lệnh
gán:
• Phải viết đúng kí hiệu lệnh gán
• Biểu thức bên phải cần được xác
định giá trị trước khi gán, nghĩa là
mọi biến trong biểu thức đã được
xác định giá trị và các phép toán
trong biểu thức có thể thực hiện
được trong miền giá trị của biến
• Kiểu của giá trị biểu thức bên phải
dấu gán phải phù hợp với kiểu dữ
liệu của biến
số eSin Sinx Sin(x) Thực ThựcCos cosx Cos(x) Thực Thực
Ví dụ: Biểu thức toán học :
a
ac b
b
2
4
2 −+
− trong Pascal có thể viết dưới dạng:
(-b + sqrt(b*b-4*a*c))/(2*a)
4) Biểu thức quan hệ :
Hai biểu thức cùng kiểu liên kết với nhau bởi phéptoán quan hệ cho ta một biểu thức quan hệ
Có dạng :
<biểu thức 1> <phép toán quan hệ> < biểu thức 2>Trong đó , biểu thức 1 và biểu thức 2 cùng là xâu hoặccùng là biểu thức số học
Ví dụ:
X< 5A+B >= 3 * CBiểu thức quan hệ được thực hiện theo trình tự : + Tính giá trị các biểu thức
+ Thực hiện phép toán quan hệ
Kết quả của biểu thức quan hệ là giá trị logic true hoặcfalse
5 ) Biểu thức logic :
Biểu thức logic đơn giản là biến logic hay hằng logic Biểu thức logic là các biểu thức logic đơn giản, cácbiểu thức quan hệ liên kết với nhau bởi phép toánlogic
Giá trị biểu thức logic là true hoặc false
Ví dụ : (5 <= x) and (x<= 11)
6) Câu lệnh gán :
Lệnh gán là một trong những lệnh cơ bản nhất của cácngôn ngữ lập trình
Trong Pascal câu lệnh gán có dạng :
<tên biến > := <biểu thức>;
Biểu thức cũng có thể là một hằng
Ví dụ:
A := 5;
A:= B+ C ;
4) Tổng kết nội dung, đánh giá cuối bài:
- Thực hiện phiếu học tập 1, 2 và 3
- Khai báo biến cho một bài toán bất kì
- Nắm được cách viết các biểu thức toán học trong pascal, dùng các hàm chuẩn của Pascal để biểu diễn
- Thể hiện được thông tin và dữ liệu một cách xúc tích, ngắn gọn
Trang 23- Biết được cú pháp và thực hành gán đối tượng cũng như giá trị trong ngôn ngữ lập trình Pascal
5) Dặn dò , kế hoạch học tập tiết sau :
- Xác định được trình tự thực hiện phép toán
- Các quy tắc chuyển đổi giữa toán học và cách thể hiện biểu thức trong ngôn ngữ lập trình Pascal
- Ôn tập lại kiến thức đã học về ngôn ngữ Pascal
- Xem trước bài “ Các thủ tục chuẩn vào/ ra đơn giản”
IV) Những vấn đề cần rút kinh nghiệm:
- Xem kỹ nội dung trong sách giáo khoa để truyền đạt cho học sinh, tránh những sai xót không đáng có
- Có những ví dụ hợp lí và mang tính giáo dục
- Thực hiện chuẩn bị lời giảng giúp tiết học bớt nhàm chán
Phiếu học tập số 1:
Hãy xác định biến và khai báo biến cho những bài toán sau:
Trang 24Viết biểu thức sau sang dạng biểu diễn tương ứng trong Pascal.1) x 2 + y 2
yz x
−
+
−+
5) 3x2 −e5x+2
Phiếu học tập số 2 :
Viết biểu thức sau sang dạng toán học:
Trang 25- Khai báo được biến của một bài toán bất kì.
- Thực hiện chuyển đổi cách biểu diễn các phép toán số học, logic, quan hệ
- Hiểu rõ hơn về câu lệnh gán trong ngôn ngữ lập trình Pascal
2) Kỹ năng:
- Thao tác chuyển đổi cách biểu diễn
- Phân tích một bài toán, đưa ra số lượng biến cần khai báo.Chọn kiểu dữ liệu để khai báo
3) Thái độ:
II) Chuẩn bị:
1) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số bài tập và câu hỏi trong sách giáo khoa
2) Dụng cụ , thiết bị:
- Hình ảnh trong sách giáo khoa
III) Tiến trình lên lớp:
1) Ổn định, tổ chức lớp: sỉ số, tình hình chuẩn bị trước tiết học, trật tự lớp
2) Kiểm tra bài cũ:
- Lí do tại sao lại xây dựng ngôn ngữ lập trình bậc cao.?
- Phân biệt giữa thông dịch và biên dịch ?
3) Bài giảng: Hãy khai báo biến cho những bài toán sau :
Trang 26Bài 1: Nhập một số thực x, nếu x>0 thì tính x, nếu x≤ 0 thì thông báo ‘x không phải là số nguyên dương’
Bài 2: Tính diện tích và cạnh huyền của một tam giác vuông.
Bài 3: Tính diện tích hình tròn
Bài 4: Hãy đổi chỗ 2 số nguyên có dùng biến phụ.
Bài 5: Giải và biện luận phương trình bậc hai : ax2 + bx + c = 0
Bài 6: Nhập vào một kí tự rồi cho biết đó là chữ, số hay phép tính.
Bài 7: Trăm trâu trăm cỏ
Trâu đứng ăn năm
Trâu nằm ăn ba
Ba trâu già ăn một
Hỏi có bao nhiêu trâu đứng, trâu già, trâu nằm ???
Bài 8: Một tờ giấy có độ dày 0,1 mm Phải gấp đôi tờ giấy bao nhiêu lần để nó trở nên dày hơn 1 m.
Bài 9 : Cho biết số giờ làm việc trong tháng và tiền lương trên mỗi giờ Hãy tính tổng lương.
*** Thực hiện một số bài tập trong sách bài tập : 2.10 2.17 trang 10 , 11
4) Tổng kết nội dung, đánh giá cuối bài:
- Thực hiện được mục tiêu đặt ra
- Tổng số lượng bài tập quá nhiều khó có thể giải quyết trong một tiết học
- Bài tập tổng kết hết toàn bộ nội dung của hai bài 5 và 6
5)Dặn dò , kế hoạch học tập tiết sau :
- Cần tự đánh giá lại bản thân qua một số ví dụ
- Chú ý ôn tập lại những kiến thức về ngôn ngữ lập trình Pascal
- Chuẩn bị trước nội dung của bài “ Các thủ tục chuẩn vào ra đơn giản”
IV) Những vấn đề cần rút kinh nghiệm:
- Cần phân tích bài toán một cách cụ thể để học sinh có cách nghĩ chính xác về bài toán
- Yêu cầu học sinh phải nắm bắt được một cách chi tiết cách khai báo biến, biểu diễn biểu thức trong Pascal
- Cần chỉ rõ cách thức thực hiện khi xác định số lượng biến cần khai báo của bất kỳ một bài toán nào
Trang 271) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số bài tập và câu hỏi trong sách giáo khoa
2) Dụng cụ , thiết bị:
- Hình ảnh trong sách giáo khoa
III) Tiến trình lên lớp:
4) Ổn định, tổ chức lớp: sỉ số, tình hình chuẩn bị trước tiết học, trật tự lớp
5) Kiểm tra bài cũ:
- Khai báo biến cho một bài toán bất kì
- Chuyển đổi cách biểu diễn từ dạng toán học sang biểu diễn trong Pascal và ngược lại
6) Bài giảng:
Trang 28Hoạt động của thầy và trò Nội dung ghi bảng
Hoạt động 1:
• Hình thức : giảng giải
• Nội dung : Câu lệnh read
• Kiến thức : Khi gặp câu lệnh read ,
chương trình sẽ chờ người dùng nhập giá
trị cho danh sách biến và nhấn phím
enter, chỉ sau khi nhấn phím enter thì việc
nhập giá trị cho danh sách biến mới kết
thúc và lệnh tiếp theo được thực hiện
Khi nhập giá trị cho danh sách biến phải
chú ý các giá trị được nhập có kiểu tương
ứng với các biến trong danh sách, giữa
hai giá trị liên tiếp phải nhấn phím space
hoặc nhấn phím enter
Hoạt động 2:
• Hình thức : giảng giải
• Nội dung : Phân biệt read và readln
• Kiến thức : Việc nhập giá trị của biến từ
bàn phím được kết thúc bằng việc nhấn
phím enter nên không phân biệt giữa read
và readln Do đó khi nhập từ bàn phím
nên dùng readln Ngoài ra , readln không
tham số có tác dụng chờ người dùng nhấn
phím enter trước khi tiếp tục thực hiện
chương trình, nhờ đó người dùng có thể
xem kết quả còn lưu trên màn hình Tuy
nhiên , lưu ý khi không cần xem kết quả
trên màn hình thì không nên dùng readln
không tham số và không có thông báo
hướng dẫn thì người dùng có thể nhầm
tưởng chương trình đang chạy và không
• Kiến thức : Với pascal , có hai cách trình
bày dữ liệu trên màn hình gồm dạng
không qui cách và dạng có qui cách
• Dạng không qui cách sẽ căn lề theo bên
trái.Số thực được viết ra dưới dạng dấu
phẩy động
• Dạng có qui cách sẽ căn lề theo bên
phải.Dạng này có qui định độ rộng để
biểu diễn , riêng trong trường hợp biểu
diễn số thực còn qui định cả số chữ số
phần phân trong biểu diễn dữ liệu
1) Nhập dữ liệu vào từ bàn phím :
Dữ liệu được đưa vào từ bàn phím hoặc từ đĩavào gán cho các biến, làm cho chương trình trởnên linh hoạt, có thể tính toán với nhiều bộ dữliệu khác nhau
Việc nhập dữ liệu từ bàn phím đựơc thực hiệnbằng thủ tục chuẩn :
Read (<danh sách biến vào>);
HoặcReadln(<danh sách biến vào>);
Trong đó danh sách biến vào là một hoặc nhiềutên biến đơn ( trừ biến kiểu boolean ) Trongtrường hợp nhiều biến thì các tên biến được viếtcách nhau bởi dấu phẩy
Ví dụ :
Read (N);
Readln(a,b,c);
2) Đưa dữ liệu ra màn hình :
Đưa dữ liệu ra màn hình, Pascal cung cấp thủ tụcchuẩn :
Write (<danh sách kết quả ra>);
HoặcWriteln(<danh sách kết quả ra>);
Trong đó , danh sách kết quả ra có thể là tênbiến đơn, biểu thức hoặc hằng
Các hằng xâu thường được dùng để tách các kếtquả hoặc đưa ra chú thích.Các thành phần trongkết quả ra được viết cách nhau bởi dấu phẩy.Với thủ tục write, sau khi đưa các kết quả ra mànhình , con trỏ không chuyển xuống dòng tiếptheo Với thủ tục writeln , sau khi đưa thông tin
ra màn hình , con trỏ sẽ chuyển xuống đầu dòngtiếp theo
Trang 29Hoạt động 4:
• Hình thức : tập thể
• Nội dung : Làm quen với một chương
trình Pascal đơn giản hoàn chỉnh
• Kiến thức : Hiểu rõ các thủ tục vào ra
đơn giản Cách sử dụng , vị trí, chức năng
của thủ tục vào ra
Writeln(‘Hay nhap 3 so thuc : ’);
Readln(a,b,c);
Writeln(‘Tong cua 3 so la : ’, a+b+c);
Readln;
End
4) Tổng kết nội dung, đánh giá cuối bài:
- Nắm được cách thức đưa dữ liệu ra màn hình và nhập dữ liệu từ bàn phím
5)Dặn dò , kế hoạch học tập tiết sau :
- Lưu ý cách định dạng khi đưa thông tin ra màn hình
- Đọc trước bài :” Soạn thảo, dịch , thực hiện và hiệu chỉnh chương trình”
IV) Những vấn đề cần rút kinh nghiệm:
- Cần có những ví dụ sát với một bài toán cụ thể nào đó
- Giúp học sinh phân biệt được giữa read và readln, giữa write và writeln
- Cách định dạng số thực, số nguyên khi đưa ra màn hình
- Lưu ý cách thức đưa ra màn hình một chuỗi
- Biết các bước : Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình
- Biết một số công cụ của môi trường Turbo Pascal
2 Kỹ năng:
- Bước đầu sử dụng được chương trình dịch để phát hiện lỗi
- Bước đầu chỉnh sửa được chương trình dựa vào thông báo lỗi của chương trình dịch và tính hợp lí của kết quả thu được
3 Thái độ:
II) Chuẩn bị:
1) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số bài tập và câu hỏi trong sách giáo khoa
2) Dụng cụ , thiết bị:
- Hình ảnh trong sách giáo khoa
III) Tiến trình lên lớp:
1) Ổn định, tổ chức lớp: sỉ số, tình hình chuẩn bị trước tiết học, trật tự lớp
2) Kiểm tra bài cũ:
- Sử dụng thủ tục vào /ra để áp dụng cho một số bài toán đơn giản
- Hoàn tất một chương trình Pascal đơn giản
Trang 30- Xác định bài toán
- Lựa chọn và xây dựng thuật toán
• Kiến thức : Chương trình dịch TP thuộc
loại biên dịch.Lỗi cú pháp được phát hiện
ngay trong quá trình dịch Khi gặp lỗi ,
TP sẽ không dịch tiếp mà dừng lại cho
biết lỗi và vị trí của lỗi Vì vậy , trong
quá trình soạn thảo chương trình có thể
dùng chương trình dịch để sửa đổi các lỗi
của chương trình
Hoạt động 4:
• Hình thức : tập thể / theo nhóm
• Nội dung : Cách thức để giải một bài
toán phức tạp? Cho ví dụ minh hoạ ?
• Kiến thức : Chia bài toán thành nhiều
nhiệm vụ độc lập và viết bổ sung dần
từng đoạn chương trình tương ứng với
từng nhiệm vụ ấy.Mỗi lần viết xong một
đoạn chương trình tương ứng với một
nhiệm vụ người ta dùng chương trình dịch
để sửa lỗi ngay đoạn vừa viết Có thể lấy
ví dụ các công đoạn trong việc sản xuất
sản phẩm may mặc, giày dép, chế tạo
ôtô, đóng gói, canh tác…
Hoạt động 5:
Để có thể thực hiện chương trình được viết bằngmột ngôn ngữ lập trình, ta cần soạn thảo, sửdụng chương trình dịch để dịch chương trình đósang ngôn ngữ máy
Trong chương trình tin học 11 để phục vụ choviệc soạn thảo, dịch và hiệu chỉnh chương trình
ta dùng ngôn ngữ lập trình Pascal : Turbo Pascalhay Free Pascal
+ Soạn thảo : Gõ nội dung của chương trình gồmphần khai báo và các lệnh trong thân chươngtrình Về cơ bản, việc soạn thảo chương trìnhtương tự như soạn thảo văn bản Lưu chương
trình vào đĩa bằng cách nhấn phím F2 , nhập tên tệp rồi nhấn phím Enter (phần mở rộng ngầm định là pas).
+ Biên dịch chương trình : Nhấn tổ hợp phím Alt
+ F9 Nếu chương trình có lỗi cú pháp , phần
mềm sẽ hiển thị một thông báo Cần phải sửalỗi nếu có, lưu lại chương trình và tiến hành biêndịch lại cho tới khi không còn lỗi
+ Chạy chương trình : Nhấn tổ hợp phím Ctrl +
F9.Nếu trước đó ta vừa dịch và không có lỗi thì
chương trình được thực hiện ngay Trong trườnghợp ngược lại, chương trình sẽ được dịch và đượcthực hiện nếu không có lỗi
Có trường hợp không còn lỗi khi thực hiệnchương trình nhưng kết quả thu được vẫnsai.Trong trường hợp này , nguyên nhân thường
do đọc dữ liệu sai hoặc viết chương trình chưathể hiện đúng thuật toán hoặc thuật toán trongchương trình không đảm bảo tính đúng đắn.+ Đóng cửa sổ chương trình : Nhấn tổ hợp phím
Alt + F3
+ Thoát khỏi phần mềm : Nhấn tổ hợp phím Alt
+ X
Trang 31• Hình thức : cá nhân
• Nội dung : tìm hiểu thêm nội dung ở
trang 122 + trang 136
• Kiến thức : Cho biết một số phụ lục liên
quan đến việc sử dụng Pacal Ở trang 122
: môi trường làm việc của Turbo
Pascal.Có rất nhiều nội dung hữu ích
như : thanh bảng chọn, thao tác, trợ giúp,
các hệ thống phục vụ lập trình trên
Pascal Một số thông báo lỗi(lỗi biên
dịch, lỗi sinh ra trong quá trình chạy
chương trình)
Hoạt động 6:
• Hình thức :tìm hiểu theo nhóm
• Nội dung : để kiểm tra tính đúng đắn của
thuật toán ta dùng một bộ dữ liệu đặc biệt
để kiểm tra.Đặc điểm của bộ dữ liệu
này?
• Kiến thức : kích thước nhỏ, dễ dàng đóan
nhận được kết quả , dễ dẫn đến những
trường hợp sai, kích thước lớn nhưng có
qui luật tìm ra output bằng suy luận
không nhờ máy tính, giá trị ngẫu nhiên
4) Tổng kết nội dung, đánh giá cuối bài:
- Màn hình soạn thảo, cách thức làm việc với màn hình soạn thảo turbo Pascal
- Chương trình dịch và những lỗi thường được thông báo khi dịch chương trình
- Cách thức thực hiện chương trình
- Hiệu chỉnh như thế nào ? Tại sao cần phải hiệu chỉnh
5)Dặn dò , kế hoạch học tập tiết sau :
- Cố gắng đánh máy một chương trình bất kì và thưc hiện dịch và chạy thử chương trình
- Kiểm tra lỗi khi dịch , hiệu chỉnh, xem kết quả ban đầu
- Ôn tập lại tất cả kiến thức và làm tất cả các bài tập của chương II đã được học từ bài 1 đến bài 8 nhằm chuẩn bị cho tiết bài tập và thực hành
- BTVN : Tính thời gian của một việc nào đó là X giây Hãy chuyển đổi và viết ra trên màn hình số thời gian trên dưới dạng bao nhiêu giờ, bao nhiêu phút, bao nhiêu giây ???
IV) Những vấn đề cần rút kinh nghiệm:
- Giúp các em nắm rõ các thao tác với bàn phím khi soạn thảo trong môi trường Turbo Pascal
- Giới thiệu một số lỗi thường gặp phải ở phần cuối của sách giáo khoa
- Hỗtrợ các em khi soạn thảo , chạy chương trình
Một số bài tập :
Bài 1 : Viết chương trình tính cạnh huyền của một tam giác vuông dùng định lí Pitago khi ta biết hai
cạnh còn lại của tam giác này
Trang 32Bài 2 : Viết chương trình nhập vào bán kính của một đường tròn Tính chu vi và diện tích của đường
tròn đã cho
Bài 3: Viết chương trình đổi giá trị của hai số nguyên có dùng biến phụ
Bài 4 : Cho biết số giờ làm việc trong tháng và tiền lương trên mỗi giờ Viết chương trình tính tổng
lương nhận được
Bài 5: Hãy viết chương trình tính biêủ thức :
Z = ea+sin(2x) – x
Chương II:
CHƯƠNG TRÌNH ĐƠN GIẢN BÀI TẬP VÀ THỰC HÀNH 1 Tiết PPCT : 9,10
I)Mục đích, yêu cầu:
1) Kiến thức :
- Giới thiệu một chương trình Pacal hoàn chỉnh , đơn giản
- Làm quen với một số dịch vụ cơ bản của Turbo Pascal hoặc Free Pascal trong việc soạn thảo , dịch , lưu trữ và thực hiện chương trình
2) Kỹ năng:
- Phân tích một bài toán , bước đầu viết được chương trình đơn giản
- Soạn thảo chương trình, dịch , thực hịên chương trình
3) Thái độ:
II) Chuẩn bị:
1) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số bài tập và câu hỏi trong sách giáo khoa
2) Dụng cụ , thiết bị:
III) Tiến trình lên lớp:
1) Ổn định, tổ chức lớp: sỉ số, tình hình chuẩn bị trước tiết học, trật tự lớp
2) Kiểm tra bài cũ:
- Soạn thảo chương trình
Trang 33- Biên dịch chương trình ta dùng tổ hợp phím ?.
- Thực hiện chương trình , đóng cửa sổ, đóng chương trình ta sử dụng tổ hợp phím ?
B) Nhấn phím F2 và lưu với tên chương trình là PTB2.PAS lên đĩa
C) Nhấn tổ hợp phím Alt + F9 để dịch và sửa lỗi cú pháp
D) Nhấn tổ hợp phím Ctrl + F 9 để thực hiện chương trình.Nhập các giá trị 1;-3;và 2 Quan sát kếtquả hiển thị trên màn hình (x1 =1.00 ; x2 = 2.00)
E) Nhấn tổ hợp phím Ctrl + F9 rồi nhập các giá trị 1;0;-2.Quan sát kết quả hiển thị trên màn hình(x1= - 1.41 ; x2 = 1.41)
F) Sửa lại chương trình trên sao cho 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 trên
G) Sửa lại chương trình nhận được ở câu C bằng cách thay đổi công thức tính x2 ( có 2 cách để tính x2)
H) Thực hiện chương trình đã sửa với bộ dữ liệu 1;-5;6.Quan sát kết quả trên màn hình ( x1 = 2.00;x2 = 3.00)
I) Thực hiện chương trình với bộ dữ liệu 1;1;1 và quan sát kết quả trên màn hình
PHẦN CÂU HỎI VÀ BÀI TẬP
1) Hãy cho biết sự khác nhau giữa hằng có đặt tên và biến
Sự khác nhau giữa hằng có đặt tên và biến là : Xét về mặt lưu trữ giá trị của hằng và biến trong RAM thì giá 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 thì có thể thay đổi được tại từng thời điểm thực hiện chương trình
2) Tại sao phải khai báo biến ?
- 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ách truy cập giá trị của biến và áp dụng thao tác thích hợp cho 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ể khai báo bằng các kiển dữ liệu nào ?
* integer ; word ;longint
4) Biến P nhận các giá trị : 5;10;15;20;25;30;60;90 và biến X nhận các giá trị
0,1;0,2;0,3;0,4;0,5 Khai báo nào trong các khai báo sau là đúng?
a) var X,P : byte b) var P,X : real;
Trang 34c ) var P : real;X : byte d) var X: real; P : byte;
5) Để 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;
e) var S : booleanl;
6) Hãy viết biểu thức toán học dưới đây trong Pascal :
3
11)
1(
x a z
y x z
+
−
++
b
+
2
8) Hãy viết biểu thức cho kết quả True
((y < 1 ) or (y = 1)) and (( y > abs (x)) or ( y= abs (x)))
Hoặc ( y < =1 ) and (y > = abs (x))
9) Hãy viết chương trình nhập số a (a>0) rồi tính và đưa ra diện tích phần bị gạch chéo trong hình
Program tinhdientich;
Var a : real ;
Begin
Write(‘nhap gia tri a (a > 0 ) : ’ ); readln(a) ;
Write ( ‘Dien tich phan gach la :’, a * a* pi / 2 : 10:4) ;
Trang 35- Hoàn thành một chương trình Pascal đơn giản.
- Khả năng phân tích một bài toán
5)Dặn dò , kế hoạch học tập tiết sau :
- Làm tất cả các bài tập đã dặn
- Xem trước bài tiếp theo “Cấu trúc rẽ nhánh và lặp”
IV) Những vấn đề cần rút kinh nghiệm:
- Cần chuẩn bị trước đáp án các bài tập trong sách bài tập cẩn thận , chi tiết hơn
- Chuẩn bị thêm một số bài tập để làm thêm khi thời gian còn thừa
- Lưu ý kỹ thuật trình bày chương trình, các lỗi thường xuyên gặp phải
- Soạn thảo , kiểm tra chương trình được viết trước khi giảng dạy
- Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán
- Hiểu câu lệnh rẽ nhánh (dạng thiếu và đủ)
- Hiểu câu lệnh ghép
2) Kỹ năng:
- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản
- Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản
3) Thái độ:
II) Chuẩn bị:
1) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số bài tập và câu hỏi trong sách giáo khoa
2) Dụng cụ , thiết bị:
- Hình ảnh trong sách giáo khoa
III) Tiến trình lên lớp:
1) Ổn định, tổ chức lớp: sỉ số, tình hình chuẩn bị trước tiết học, trật tự lớp
2) Kiểm tra bài cũ:
- Ôn tập lại kiến thức về chương trình, câu lệnh
Trang 36- Cách khai báo tên, biến, hằng trong Turbo Pascal.
- Nắm rõ cách biểu diễn hàm số học
3) Bài giảng:
Hoạt động của thầy và trò Nội dung ghi bảng
Hoạt động 1:
• Hình thức : cá nhân
• Nội dung : Cho các ví dụ về những
trường hợp xảy ra(rẽ nhánh) trong cuộc
sống ?
• Kiến thức : Nắm rõ được ý nghĩa của cấu
trúc câu lệnh rẽ nhánh.Cấu trúc rẽ nhánh
là một điều khiển chọn thực hiện hay
không thực hiện công việc phù hợp với
một điều kiện đang xảy ra
Hoạt động 2:
• Hình thức : cá nhân
• Nội dung : Ý nghĩa thực hiện của cú pháp
câu lệnh if then ?
• Kiến thức : Ở dạng thiếu :sau khi kiểm
tra điều kiện Nếu điều kiện cho kết quả
là True thì câu lệnh sẽ được thực hiện
• Ở dạng đủ : Kiểm tra điều kiện , nếu cho
giá trị True thì câu lệnh 1 thực hiện , cho
giá trị Fasle thì câu lệnh 2 sẽ được thực
hiện
Hoạt động 3:
• Hình thức : tìm hiểu câu lệnh
• Nội dung : Trong câu lệnh rẽ nhánh , loại
biểu thức nào nhất định sẽ có mặt ?.Một
câu lệnh rẽ nhánh chứa n câu lệnh if lồng
nhau dạng đủ Câu lệnh đó tạo ra bao
nhiêu nhánh chương trình?
• Kiến thức : Loại biểu thức cho giá trị
logic Câu lệnh có n câu lệnh if dạng đủ
sẽ tạo ra n + 1 nhánh chương trình
Hoạt động 4:
• Hình thức : tập thể / theo nhóm
• Nội dung : Tìm hiểu 2 ví dụ trong sách
giáo khoa Phân tích bài toán, xác định
bài toán, đưa ra ý tưởng để giải bài toán
Từ ý tưởng chuyển sang thuật toán ở
dạng liệt kê Xem cách viết chương trình
trong sách giáo khoa
- Khi một điều kiện cụ thể nào đó được thoả mãnthì vấn đề sẽ được xử lí
Ví dụ :
* Nếu con đạt được danh hiệu học sinh giỏitrong học kỳ này thì ba sẽ tặng con một chiếc xeđạp mới
* Các em vui thì học còn buồn thì thôi
2) Câu lệnh If – then
Để mô tả cấu trúc rẽ nhánh trong Pascal ta dùngcấu trúc sau :
a) Dạng thiếu :
if <điều kiện> then <câu lệnh>;
b) Dạng đủ :
If <điều kiện> then <câu lệnh 1>
Else <câu lệnh 2 >;
Trong đó :+ Điều kiện là biểu thức logic (True hoặc False)+ Câu lệnh, câu lệnh 1, câu lệnh 2 là một câulệnh của Pascal
Ví dụ : + if a > b then max :=a;
+ if a > b then max:=a else max:=b;
3) Câu lệnh ghép :
Theo cú pháp thì sau từ khoá ( then, else) phảilà một câu lệnh Tuy nhiên trong thực tế , cácthao tác sau những tên dành riêng đó thường kháphức tạp , đòi hỏi không phải một mà là dùngkhá nhiều câu lệnh để mô tả Trong trường hợpnhư thế , ngôn ngữ lập trình cho phép gộp mộtdãy câu lệnh như thế thành một câu lệnh ghép.Trong Pascal , câu lệnh ghép có dạng như sau :Begin
<các câu lệnh>;
End;
Ví dụ :
* Nếu trời hôm nay mưa thì văn nghệ trường sẽtạm hoãn
Trang 37• Ví dụ 2: Tìm số ngày của năm N được
nhập vào từ bàn phím
Input : N
Output : số ngày
Ý tưởng : Năm nhuận là năm chia hết cho
400 hoặc chia hết cho 4 nhưng không chia hết
cho 100
Thuật toán :
B1 : Nhập N
B2 : kiểm tra nếu (N mod 400 = 0 ) hoặc ((N
mod 4 = 0 ) and (N mod <> 0)) thì là năm
nhuận có số ngày bằng 366
B3 : Ngược lại , có số ngày 365
B4 : Đưa ra số ngày của năm đã nhập
Hoạt động 5:
• Hình thức : theo nhóm
• Nội dung : Hoàn tất ví dụ 1 sử dụng câu
lệnh if (trường hợp delta = 0)
• Kiến thức : Sử dụng các câu lệnh if lồng
ghép nhau
Hoạt động 6:
• Hình thức :tìm hiểu theo nhóm
• Nội dung : Có thể dùng cấu trúc rẽ nhánh
dạng thiếu để mô tả cấu trúc dạng đủ
được không ? Hãy chỉnh sửa lại ví dụ 1
trong sách giáo khoa sử dụng cấu trúc rẽ
nhánh dạng thiếu
• Kiến thức : Ta có thể dùng cấu trúc rẽ
nhánh dạng thiếu để mô tả cấu trúc rẽ
nhánh dạng đủ
If D<0 then writeln(‘phuong trinh vo
4) Một số ví dụ:
Tìm hiểu hai ví dụ trong sách giáo khoa
Ví dụ 1 :Tìm nghiệm thực của phương trình bậc haiProgram giai_PTB2;
Uses crt;
Var a,b,c,D,x1, x2 : real;
Begin Clrscr;
X2:= (-b + sqrt (D))/(2 *a);
Writeln(‘x1 =’,x1:8:4,’x2 = ’, x2 :8:4);
SN := 355;
Writeln(‘So ngay cua nam ’, N ,’la : ’, SN);Readln;
End
Trang 38X1:= (-b – sqrt(D))/(2*a);
X2:= (-b + sqrt (D))/(2 *a);
Writeln(‘x1 =’,x1:8:4,’x2 = ’, x2 :8:4);
End;
4) Tổng kết nội dung, đánh giá cuối bài:
- Hiểu và vận dụng những trường hợp rẽ nhánh trong cuộc sống
- Có sự so sánh , liên hệ trong mọi vấn đề
- Nắm được cấu trúc của câu lệnh rẽ nhánh (dạng thiếu và đủ) trong Turbo Pascal
- Vận dụng một cách chính xác để giải một số bài toán đơn giản
5)Dặn dò , kế hoạch học tập tiết sau :
- Cần liên hệ thực tế nhiều hơn nữa để hiểu rõ hơn về câu lệnh
- Nắm bắt được các yêu cầu của cú pháp trong câu lệnh rẽ nhánh
- Chuẩn bị thật kỹ nội dung của bài học tiếp theo “Cấu trúc lặp”
- Trả lời được câu hỏi “Tại sao cần phải lặp ?”, “Lặp là như thế nào ???”
IV) Những vấn đề cần rút kinh nghiệm:
- Đưa ra thật nhiều ví dụ dẫn chứng cho bài học, vận động học sinh tham gia
- Giúp học sinh nắm bắt được cú pháp của ngôn ngữ
- Chuẩn bị bài giảng kỹ hơn, thêm, lồng ghép nhiều nội dung , cũng như có phiếu học tập để tiết học thêm sinh động
- Cho thật nhiều bài tập dạng rẽ nhánh để học sinh dễ nắm được nội dung bài học
Trang 39Ngày soạn : 01 / 12 / 07
Bài 10 § 10 CẤU TRÚC LẶP
Tiết PPCT : 13, 14, 15
I)Mục đích, yêu cầu:
1) Kiến thức :
- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán
- Hiểu cấu trúc lặp kiểm tra điều kiện trước , cấu trúc lặp với số lần định trước
- Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào từng tình huống cụ thể
2) Kỹ năng:
- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp
- Viết đúng các lệnh lặp kiểm tra điều kiện trước , lệnh lặp với số lần định trước
- Viết được thuật toán giải một số bài toán đơn giản
3) Thái độ:
II) Chuẩn bị:
1) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số bài tập và câu hỏi trong sách giáo khoa
2) Dụng cụ , thiết bị:
- Hình ảnh trong sách giáo khoa, phòng máy vi tính, máy chiếu
III) Tiến trình lên lớp:
1) Ổn định, tổ chức lớp: sỉ số, tình hình chuẩn bị trước tiết học, trật tự lớp
2) Kiểm tra bài cũ:
- Cấu trúc rẽ nhánh trong biểu diễn thuật toán (dạng thiếu và dạng đủ)
- Aùp dụng thể hiện giải một số bài toán
3) Bài giảng:
Hoạt động của thầy và trò Nội dung ghi bảng
Hoạt động 1:
• Hình thức : cá nhân
• Nội dung : thực hiện tính tổng s ở cả 2 ví
dụ Cách thức tính được tổng
• Kiến thức : Thấy được số lần lặp khi tính
tổng s ở trong hai trường hợp này hoàn
toàn khác nhau.Đối với bài toán ở ví dụ
1, ta nhận biết được số lần lặp lại là 5 và
công việc tính tổng sẽ kết thúc khi đã
thực hiện việc cộng 5 lần
Đối với bài toán ở ví dụ 2, số lần lặp lại là chưa
Ví dụ 2 : Tính S = 1 + 2 + 3 + 4+ 5 +6 + …+ N
Điều kiện : S < 50Thực hiện công việc : S = 0
Trang 40thể biết trước trước nhưng việc cộâng vào tổng S
sẽ được kết thúc khi đã thoả mãn điều kiện S <
• Kiến thức : Phân biệt được thao tác lặp :
lặp với số lần biết trước và lặp với số lần
chưa biết trước
Hoạt động 3:
• Hình thức : giới thiệu, phân tích, giảng
giải
• Nội dung : Mô tả cấu trúc lặp với số lần
biết trước Pascal dùng câu lệnh For – do
ở 2 dạng : dạng lặp tiến và dạng lặp lùi
• Kiến thức : nắm được cú pháp câu lệnh,
Câu lệnh được thực hiện như thế
nào?.Trong câu lệnh for – do thì biến
đếm sẽ được gán cho giá trị đầu và tự
động tăng dần sau mỗi lần lặp cho đến
khi bằng với giá trị cuối.Ngược lại đối với
câu lệnh lặp ở dạng lùi
Hoạt động 4:
• Hình thức : theo nhóm
• Nội dung : Tìm hiểu bài toán, xác định
bài toán, ý tưởng để giải bài toán, từ ý
tưởng sẽ chuyển sang thuật toán ở dạng
liệt kê và dùng ngôn ngữ pascal để viết
chương trình cho bài toán được nêu
• Kiến thức : Xây dựng được cách thức để
giải một bài toán trên máy tính.Dựa vào
nhóm để làm việc, hoạt động nhóm để
cùng nhau tạo ra một chương trình hoàn
chỉnh
Hoạt động 5:
• Hình thức :trình bày theo nhóm
• Nội dung : Trình bày chương trình được
viết cho bài toán tính tổng s =
1+2+3+4+5 Nhận xét và đóng góp ý
kiến
• Kiến thức : Nắm được cách thức để viết
một chương trình Thành phần của một
chương trình Thấy và sửa được các lỗi
sai khi xây dựng một chương trình
Hoạt động 6:
• Hình thức : theo nhóm
• Nội dung : tìm hiểu về câu lệnh lặp với
Lần 1 : S = 0 + 1 =1Lần 2 : S = 1 + 2 = 3Lần 3 : S = 3 + 3 = 6Lần 4 : S = 6 + 4 = 10Lần 5 : S = 10 +5 = 15Lần 6 : S = 15 + 6 =21Lần 7 : S= 21 + 7 = 28Lần 8 : S = 28 + 8 = 36Lần 9 : S = 36 + 9 = 45Lần 10 : S = 45 + 10 = 55 (loại)Nói chung trong một số thuật toán có những thaotác được lặp đi lặp lại một số lần Cấu trúc lặpmô tả thao tác lặp và được phân biệt thành hailoại : lặp với số lần chưa biết trước và lặp với sốlần biết trước
2) Lặp với số lần biết trước và câu lệnh for-do:
- Để mô tả cấu trúc lặp với số lần biết trước,Pascal dùng câu lệnh lặp for-do với 2 dạng tiếnvà lùi như sau :
* dạng lặp tiến :
For <biến đếm> := <giá trị đầu> to <giá trị
cuối> do <câu lệnh>;
*Dạng lặp lùi :
For <biến đếm> := <giá trị cuối> downto <giá
trị đầu> do <câu lệnh>;
Trong đó :+ Biến đếm là biến đơn , thường có kiểu nguyên.+ Giá trị đầu, giá trị cuối là các biểu thức cùngkiểu với biến đếm và giá trị đầu phải nhỏ hơnhoặc bằng giá trị cuối Nếu giá trị đầu nhỏ hơngiá trị cuối thì vòng lặp không thể thực hiệnđược
Hoạt động của câu lệnh For - do:
+ Ở dạng lặp tiến : câu lệnh viết sau từ khoá dođược thực hiện một cách tuần tự với biến đếmlần lượt nhận các giá trị liên tiếp tăng từ giá trịđầu cho đến giá trị cuối
+ Ở dạng lặp lùi : câu lệnh viết sau từ khoá dođược thực hiện một cách tuần tự với biến đếmlần lượt nhận các giá trị liên tiếp giảm từ giá trịcuối cho đến giá trị đầu
Chú ý: Giá trị của biến đếm được điều chỉnh tự
động , vì sau câu lệnh viết sau do không đượcthay đổi giá trị biến đếm
Ví dụ :
Viết chương trình tính tổng : S= 1+ 2 +3 +4 + 5Program tinhtong;
Uses crt;