HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNGnguồn Chuyển đổi câu lệnh đóthành một hoặc nhiều câu lệnh tươngứng trong NN máy Thực hiện câu lệnh vừachuyển được b Biên dịch: Duyệt, phát
Trang 1CHƯƠNG I: MỘT SỐ KHÁI NIỆM VỀ CHƯƠNG TRÌNH
VÀ NGÔN NGỮ LẬP TRÌNH § 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
I MỤC ĐÍCH, YÊU CẦU
- Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ngôn ngữ máy và hợp ngữ;
- Hiểu ý nghĩa và nhiệm vụ của chương trình dịch;
- Phân biệt được biên dịch và thông dịch
II PHƯƠNG PHÁP
Phát vấn kết hợp diễn giảng
III PHƯƠNG TIỆN DẠY HỌC
SGK, SGV, bảng vẽ khổ lớn… nếu có máy chiếu thì tốt
IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP
1 Ổn định lớp (Kiểm tra sĩ số)
2 Ôn lại kiến thức cũ (nếu có)
3 Hoạt động dạy và học
Hoạt động 1: tìm hiểu khái niệm
? Có mấy bước để giải bài toán
trên máy tính? Kể tên?
Chúng ta thấy ở bước thứ 3 viết
chương trình hay còn gọi là lập
Ngôn ngữ máy là ngônngữ máy có thể hiểu trựctiếp
Hợp ngữ: sd từ tiếng AnhNgôn ngữ lập trình bậccao:
Các bước để giải bài toántrên máy tính:
- Xác định bài toán
- Xây dựng và lựa thuậttoán
- Viết chương trình (lậptrình)
Trang 2HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Đó là thuật toán của bài toán
? Để diễn tả thuật toán cho
người nước ngoài hiểu em dùng
ngôn ngữ nào?
? Còn để cho máy hiểu em dùng
ngôn ngữ nào?
Dẫn dắt vấn đề: như vậy hoạt
động diễn đạt một thuật toán thông
qua ngôn ngữ lập trình được gọi là
Nhưng do đặc điểm vượt trội của
ngôn ngữ bậc cao nên người ta
thường sd nó để lập trình
? Những đặc điểm đó là những
đặc điểm nào? Và để sd ngôn ngữ
lập trình bậc cao phải có cái gì?
Đó là những đặc điểm của ngôn
ngữ lập trình Nhưng khi sd ngôn
Bước 4: nếu a = 0 và b=0thì pt có vô số nghiệm
Em dùng tiếng AnhNgôn ngữ lập trình
HS phát biểu
HS chia nhóm thảo luậntrong 3 phút
Dịch từ ngôn ngữ khácsang ngôn ngữ máy
Biên dịch:
- Dịch toàn bộ chươngtrình
- Có thể lưu trữ để sd lạiThông dịch:
- Dịch từng câu lệnh
- Không lưu lại được
1 Khái niệm lập trình
Lập trình là sử dụng cấu trúc dữliệu và các câu lệnh của ngôn ngữ lậptrình cụ thể để mô tả dữ liệu và diễnđạt các thao tác của thuật toán
2 Chương trình dịch
Chức năng: chuyển đổi chươngtrình được viết bằng NNLT bậc caothành chương trình thực hiện trên máyđược
Chương trình dịch có hai loại: biêndịch và thông dịch
Trang 3HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
nguồn
Chuyển đổi câu lệnh đóthành một hoặc nhiều câu lệnh tươngứng trong NN máy
Thực hiện câu lệnh vừachuyển được
b) Biên dịch:
Duyệt, phát hiện lỗi, kiểm tratính đúng đắn của câu lệnh
Dịch toàn bộ chương trìnhnguồn thành chương trình đích có thểthực hiện trên máy và có thể lưu trữ
để sử dụng lại khi cần thiết
V CỦNG CỐ - DẶN DÒ
a Củng cố:
Thế nào là lập trình?
Chức năng của chương trình dịch?
Sự giống và khác nhau của biên dịch và thông dịch?
b Dặn dò:
Soạn bài trước:
? Thành phần của NNLT?
? Thế nào là tên? Qui tắc đặt tên?
? Có mấy loại tên? tại sao phải nhớ tên riêng?
? Thế nào là hằng? thế nào là biến?
Học bài và trả lời câu hỏi SGK
VI RÚT KINH NGHIỆM
Trang 4§ 2 CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH
I MỤC ĐÍCH YÊU CẦU
- Biết ngôn ngữ lập trình có ba thành phần cơ bản
- Biết một số khái niệm tên, tên dành riêng, tên chuẩn, hằng và biến
- HS nhớ qui định về cách đặt tên hằng, biến Biết nhận biết tên đặt sai, đúng
II PHƯƠNG PHÁP
Diễn giảng kết hợp phát vấn
III PHƯƠNG TIỆN DẠY HỌC
SGK, SGV, nếu có máy chiếu thì tốt
IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP
1 Ổn định lớp (Kiểm tra sỉ số)
2 Kiểm tra bài cũ
Câu 1: Chức năng của chương trình dịch
Câu 2: Sự giống và khác nhau giữa biên dịch và thông dịch
có thể mô tả thuật toán để
−Bảng chữ cái tiếng Việt,
số, dấu
− Cách ghép kí tự thànhcâu, cách ghép từ thành câu
Không được dùng bất cứ kí tự nàongoài các kí tự qui định trong bảng chữcái
Ví dụ:
Trong Pascal bảng chữ cái bao gồm:Chữ cái thường và chữ cái in hoa tiếngAnh
b) Cú pháp Là bộ qui tắt để viết chương
trình
Tiết CT: 2 Tuần: 2
Ngày soạn: 22.07.2013
Ngày dạy: 22.08.2013
Trang 5HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Tên phải được đặt theo qui
tắc đặt tên tuỳ vào từng NNLT
? Những tên sao đây tên nào
đúng qui tắc tên nào sai qui
Lưu ý: NNLT Pascal không
phân biệt chữ hoa chữ thường
tên riêng nào?
Ý nghĩa của tên chuẩn được
qui định trong các thư viện
của NNLT
? Trong Pascal có những
tên chuẩn nào?
Chúng ta nên đặt tên sao
cho gợi nhớ nội dung của nó
không nên đặt quá dài hay quá
ngắn vd: để đặt tên cho điểm
Những tên đúng:
LOP11C2 LOP_11C2Những tên sai
c) Ngữ nghĩa xác định ý nghĩa thao tác
cần phải thực hiện, ứng với tổ hợp kí tựdựa vào ngữ cảnh của nó
2 Một số khái niệm
a) Tên
Mọi đối tượng trong chương trình đềuphải đặt tên theo qui tắc của NNLT và củatừng chương trình dịch cụ thể
* Trong Turbo Pascal tên:
- Không chứa dấu cách, không quá
127 kí tự, không chứa kí hiệu đặc biệt
- Bắt đầu bằng chữ cái hoặc dấu gạchdưới
* Tên chuẩn: được dùng với một ý nghĩa
nào đó Nhưng ta có thể khai báo và dùngvới ý nghĩa và mục đích khác
Vd: abs, sqr, sqrt, byte, integer, real,longin
Trang 6HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
môn toán thì ta nên đặt dtoan
không nên đặt dt hay
Để khi đặt tên không trùng
* Tên do người lập trình đặt: tên này xácđịnh bằng cách khai báo trước khi sd,không được trùng với tên dành riêngVd: X1; X2; DELTA, CT_VD; BAI6_3
b) Hằng và biến
* Hằng:
Hằng là đại lượng không thay đổitrong quá trình thực hiện chương trình.Vd: - hằng số học: 2; 0; -5; 1.25; -2.36
- hằng logic: TRUE; FALSE
- hằng xâu: ‘tin hoc’;
‘nguyen_van_A’; ‘Truong THPT DuyenHai’
* Biến:
Biến là đại lượng được đặt tên,dùng để lưu trữ giá trị và giá trị có thểđược thay đổi trong quá trình thực hiệnchương trình
c) Chú thích:
Đặt chú thích để người đọc chươngtrình đó dễ hiểu hơn
Trong pascal chú thích được đặt trongdấu (* và *) hoặc { và }
V.CỦNG CỐ - DẶN DÒ
1 Củng cố:
- Thành phần của NNLT: bảng chữ cái, cú pháp, và ngữ nghĩa
- Một số khái niệm: tên, hằng, biến
2 Dặn dò:
Về nhà học bài và trả lời câu hỏi trong SGK tiết sau giải bài tập
VI RÚT KINH NGHIỆM
Trang 7BÀI TẬP CUỐI CHƯƠNG 1
- -I MỤC ĐÍCH - YÊU CẦU
- Củng cố lại kiến thức chương 1
- Giải một số bài tập của chương
II PHƯƠNG PHÁP
Phát vấn kết hợp làm việc theo nhóm và diễn giảng
III NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP
1 Ổn định lớp: (Kiểm tra sĩ số)
2 Kiểm tra bài cũ
Câu 1: Hãy kể tên thành phần của NNLT?
Câu 2: Thế nào là tên dành riêng? Tại sao ta phải nhớ tên dành riêng?
Câu 3: Những tên nào sau đây là đúng qui tắc, sai qui tắc?
_VIDU1; A#B; VI_DU1; VAR; VAR1
3 Nội dung:
Câu 1 Tại sao người ta phải
Câu 4 Cho biết sự các điểm
khác nhau giữa tên riêng và
tên chuẩn?
Gọi một em trả lời
Trao đổi nhóm trong 7 phút
Trao đổi nhóm trong 2 phút?
Trả lời câu hỏi
Trả lời câu hỏi-3 tên đúng: VI_DU, _BAI6,
- Chương trình viết bằng NNLT bậc cao
ít phụ thuộc vào máy
- Chương trình viết bằng NNLT bậc cao
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ạngthuận tiện cho mô tả thuật toán
Câu 2:
- SGK trang 4
- Nhờ có chương trình dịch mà chươngtrình dịch mà máy có thể thực hiện đượcchương trình viết bằng NNLT bậc cao
Câu 4: tên dành riêng không được dùng
với ý nghĩa khác; tên chuẩn có thể dùngvới ý nghĩa khác
Tiết CT: 3 Tuần: 3
Ngày soạn: 29.07.2013
Ngày dạy: 29.08.2013
Trang 8HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DỤNG
Câu 5: Hãy viết ra 3 tên đúng
và 3 tên sai theo qui tắc của
Pascal
Câu 6: 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ỉ lỗi từng trường
Câu 7: Hãy chỉ ra những tên
nào đúng tên nào sai trong
Pascal giải thích lí do:
Chú thích sai:
a : sai vì thiếu dấu )
c : sai vì mở là (* nhưngđóng }
d : sai vì thiếu dấu }
Những biểu diễn không là hằng:
6,23: dấu phẩy (nếu là dấu chấm thìđúng)
A20: tên không rõ giá trị
‘C: sai qui định về hằng xâu: thiếu dấunháy đơn ở cuối
IV DẶN DÒ
Về nhà học bài tiết sau kiểm tra 15 phút
Soạn bài trước theo câu hỏi sau:
Câu 1: Cấu trúc của một chương trình được viết bằng NNLT?
Câu 2: Các cách khai báo trong Pascal: khai báo tên chương trình, khai báo thư viện, khai báohằng, khai báo biến
Câu 3: thân chương trình của Pascal gồm những từ khoá nào?
Câu 4: để viết được lệnh đưa thông báo ra màn hình ta dùng lệnh nào?
V RÚT KINH NGHIỆM
Trang 9KIỂM TRA ĐÁNH GIÁ 15 PHÚT
I MỤC ĐÍCH
Kiểm tra lại khả năng tiếp thu cũng như quá trình học tập của HS Từ đó có thể điều chỉnhphương pháp giảng dạy
II BẢNG RA ĐỀ KIỂM TRA
III NỘI DUNG
IV KẾT QUẢ KIỂM TRA
Trang 10CHƯƠNG II CHƯƠNG TRÌNH ĐƠN GIẢN
-
-§ 3 CẤU TRÚC CHƯƠNG TRÌNH
I MỤC ĐÍCH – YÊU CẦU
Hiểu chương trình là sự mô tả của thuật toán bằng NNLT
Biết cấu trúc của chương trình đơn giản: cấu trúc chung và các thành phần
Nhận biết được thành phần của một chương trình đơn giản
II PHƯƠNG PHÁP
Phát vấn kết hợp với diễn giảng
III PHƯƠNG TIỆN DẠY HỌC
Câu 2: Thế nào là tên dành riêng? Viết một số tên dành riêng mà em biết?
Câu 3: Tên dành riêng khác với tên chuẩn ở điểm nào?
Phần khai báo được đặt trong dấu
ngoặc vuông có nghĩa là có thể có
hoặc không Phần thân nhất thiết
phải có
? Trong khai báo có những loại
nào?
? Để khai báo tên chương trình ta
bắt đầu bằng từ khoá nào?
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ố NNLT có thể không cần
phải khai báo tên chương trình
Lắng nghe, suy nghĩ trả lời:
Tiết CT: 4 Tuần: 4
Ngày soạn: 05.08.2013
Ngày dạy: 05.09.2013
Trang 11HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
khai báo thư viện chứa nó
Trong thư viện CRT trong
pascal cung cấp các chương trình
có sẵn để làm việc với màn hình
văn bản và bàn phím
Khai báo hằng thường được sử
dụng cho những giá trị xuất hiện
nhiều lần trong chương trình
? Yêu cầu lấy ví dụ khai báo
hằng trong Pascal
Tất cả các biến dùng trong chương
trình đều phải đặt tên và phải khai
báo cho chương trình dịch biết để
lưu trữ và xử lí
Khai báo biến ta sẽ học ở bài 5
Ở đây ta làm quen khái niệm biến
đơn
Ví dụ: khi khảo sát phương
trình đường thẳng ax + by + c = 0
các hệ số a, b, c có thể được khai
báo như một biến đơn
Ngoài ra ta còn khai báo chương
trình con được trình bày ở chương
VI
? Dấu hiệu nào để nhận biết thân
chương trình
Hướng dẫn học sinh các bước
− Khai báo tên chương trình
Một em lên bảng trình bày các em khác làm trong nháp
a2) Khai báo thư viện
Cú pháp:
USES <tên thư viện>;
Ví dụ: khai báo thư viện trong pascal:
CONST Tên _hằng = giá trị;
a4) Khai báo biến:
Biến đơn là biến chỉ nhận một giá trị tại mỗi thời điểm thực hiện chươngtrình
b) Phần thân chương trình:
Thân chương trình trong Pascal
3 Ví dụ chương trình đơn giản
Ví dụ 1: viết chương trình đưa ra
màn hình thông báo ‘Xin chao cac ban!’
Trang 12HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
nhưng thêm câu lệnh Writeln
Yêu cầu học sinh viết chương
End.
V CỦNG CỐ − DẶN DÒ
1 Củng cố:
−Cấu trúc của chương trình có mấy phần?
− Các từ khoá trong khai báo: tên chương trình; hằng; thư viện
− Dấu hiệu nhận biết thân chương trình trong Pascal
2 Dặn dò
Về nhà soạn bài 4, 5 SGK
− Trong Pascal sử dụng kiểu dữ liệu nào? Phạm vi của từng kiểu?
− Cách khai báo biến Ví dụ khai báo biến trong Pascal.
− Khi khai báo biến ta cần chú ý đến điểm nào?
VI RÚT KINH NGHIỆM
Trang 13§ 4 MỘT SỐ KIỂU DỮ LIỆU CHUẨN
§ 5 KHAI BÁO BIẾN
I MỤC ĐÍCH – YÊU CẦU
Biết một số kiểu dữ liệu chuẩn: nguyên; thực, logic, kí tự
Xác định được kiểu cần khai báo của dữ liệu đơn giản
Hiểu cách khai báo biến
Biết khai báo biến đúng
II PHƯƠNG PHÁP
Diễn giảng, phát vấn kết hợp làm việc nhóm
III PHƯƠNG TIỆN DẠY HỌC
Bảng vẽ khổ lớn, SGK, giáo án…
IV NỘI DUNG VÀ DIỄN BIẾN TIÉT DẠY
1 Ổn định lớp (kiểm tra sĩ số)
2 Kiểm tra bài cũ
Câu 1: Cấu trúc chung của chương trình viết bằng NNLT bậc cao?
Câu 2: Trong Pascal khi khai báo tên chương trình, thư viện, hằng ta dùng từ khoá nào?
3 Nội dung
Các bài toán trong thực
tế thường có dữ liệu vào
Thường dung hơn cả là
các kiểu được liệt kê trong
§ 4 MỘT SỐ KIỂU DỮ LIỆU CHUẨN
Phạm vi giá trịReal 6 Byte
0 hoặc giá trị tuyệt đối nằm trong phạm vi
Phạm vi giá trịChar 1 Byte 256 Ktự trong mã
ASCII
Trang 14HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Chú ý: người lập trình
cần tìm hiểu đặc trưng của
các kiểu dữ liệu chuẩn
được xác định bởi bộ dịch
và sử dụng để khai báo
biến
Như nói ở trên, mọi
biến dùng trong chương
trình đều cần khai báo tên
và kiểu dữ liệu Tên biến
dung để xác lập quan hệ
giữa biến với địa chỉ bộ
nhớ nơi lưu giữ giá trị
biến
? Trong chương trình biến
được khai báo bao nhiêu
lần?
Phần này được trình
bày trong chương IV
Ta sẽ khai báo như thế
§ 5 KHAI BÁO BIẾN
Mọi biến dùng trong chương trình đều cần khai báo tên và kiểu dữ liệu
Trong Pascal khai báo biến bắt đầu bằng từ khoá
VAR
Cú pháp VAR <danh sách biến>: <kiểu dữ liệu>;
Danh sách biến: gồm một hoặc nhiều biến, các
biến được viết cách nhau bởi dấu phẩy;
Kiểu dữ liệu là kiểu dữ liệu chuẩn hoặc kiểu dũ
liệu do người lập trình tự định nghĩa
Ví dụ 1: GSử trong chương trình cần các biến
Trang 15HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
- Ví dụ: cần đặt tên hai
biến biểu diễn điểm toán,
điểm tin mà không nên vì
nên khai báo biến đó thuộc
kiểu byte, nhưng nếu là số
HS toàn trường thì phải là
kiểu word
I, J là 2 byte
N là 2 byteTổng cộng: 23 byte
- Các kiểu dữ liệu chuẩn: số nguyên (integer), số thực (real), kí tự (char), logic (Boolean)
- Mọi biến trong chương trình đèu phải được khai báo tên và kiểu dữ liệu
VAR <danh sách biến>: <kiểu dữ liệu>;
2 Dặn dò
Về nhà học bài trả lời các câu hỏi 1; 2; 3; 4; 5 SGK trang 35
Soạn bài 6:
Yêu cầu 1: lớp chia làm 3 nhóm chuẩn bị bảng phụ ghi những bảng sau:
Tổ 1: ghi bảng phép toán trong Pascal
Tổ 2: ghi qui tắt viết biểu thức toán học trong Pascal
Tổ 3: chuẩn bị bảng một số hàm chuẩn
Yêu cầu 2: soạn phần 4, 5, 6
Câu 1: biểu thức quan hệ có dạng nào? Trình tự thực hiện biểu thức quan hệ? Kết quả biểu thức quan hệ?
Câu 2: Biểu thức lôgic gồm những biểu thức nào? Các biểu thức quan hệ đặt đâu? Giá trị khi thực hiện biểu thức logic?
Câu 3: Trong Pascal câu lệnh gán có dạng nào? Kiểu của biểu thức như thế nào với kiểucủa biến?
Trang 16§ 6 PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
2 Kiểm tra bài cũ
Câu 1: Có những kiểu dữ liệu chuấn nào?
Câu 2: Để khai báo tuổi của con người tốt nhất ta dùng kiểu dữ liệu nào?
Câu 3: giả sử ta có các biến sau: x, y nhận giá trị thực; i, j nhận giá trị nguyên vậy ta khai báo
như thế nào?
3 Nội dung
Để mô tả các thao tác của
thuật toán, mỗi NNLT đều xác
định và sd khái niệm cơ bản:
Phép toán, biểu thức gán giá trị
Giải thích phép toán div,
mod, not, or, and.
Chú ý:
Kết quả các phép toán quan
hệ cho giá trị logic
Ứng dụng của phép toán
logic là để tạo ra các biểu thức
Cộng, trừ, nhân, chia, lấy phần dư, chia nguyên…
Lên treo bảng phụ đã chuẩn
+, -, x, /, div,mod
+, -, x, /,div, mod
Các phép toán số họcvới số thực +, -, x, / +, -, x, /Các phép
>=, =, <>Các phép
toán lôgic
¬(phủ dịnh),
∧(hoặc), ∨(và)
not, or, and
Tiết CT: 5 Tuần: 5
Ngày soạn: 12.08.2013
Ngày dạy: 12.09.2013
Trang 17HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
phức tạp từ các quan hệ đơn
giản
Hoạt động 2
Trong lập trình, biểu thức số
học là một biến kiểu số hoặc
các biến kiểu sô và các hằng số
liên kết với nhau bởi một số
Nếu biểu thức chứa hằng
hay biến thực thì ta có biểu
thuận tiện hơn, các NNLT đều
có thư viện chứa một số chương
- Viết lần lượt từ trái sang phải
- Không được bỏ qua dấu nhân (*) trongtích
Thứ tự thực hiện phép toán:
- Trong ngoặc thực hiện trước
- Nếu không có dấu ngoặc thì thực hiện
từ trái sang phải theo thứ tự nhân, chia, div, mod, thực hiện trước sau đó cộng, trừ.Vd: 3x+7y→3*x+7*y
c b a c
Ax2 + + → * * + * +
xy
z x x
y
−
+21
Kiểuđối số
KiểukếtquảBình
phương x2 sqr(x) I or R
Theokiểuđối sốCăn bậc
Theokiểuđối số
Lũy thừa của
x exp(x
Trang 18HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Hoạt động 4
Hai biểu thức cùng kiểu liên
kiết với nhau bởi phép toán
quan hệ cho ta biểu thức quan
Giải thích biểu thức quan hệ
Kết quả biểu thức quan hệ
cũng là TRUE hoặc FALSE
Hoạt động 6
Trong trường hợp đơn giản
tên biến là biến đơn
Kiểu của biểu thức phải
cùng kiểu của biến
VD: biến là kiểu thực thì
biểu thức phải là kiểu thực
Dấu := có nghĩa là giá trị
mới bằng giá trị của biểu thức ở
Ý nghĩa của lệnh 4 là tăng
giá trị x lên một đơn vị
b
2
4
2 −+
- Kết quả: TRUE hoặc FALSE
VD: not(4>6) (5 <= x) and (x<=11)(M mod 3 = 0) or (N mod 3 = 0)
Trang 192 Dặn dò
Học bài và xem trước bài 7 – 8
VI RÚT KINH NGHIỆM
Trang 20§7 CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
§8 SOẠN THẢO, DỊCH, THỰC HIỆN HIỆU CHỈNH CHƯƠNG TRÌNH
I MỤC ĐÍCH – YÊU CẦU
Biết các lệnh vào/ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra màn hình
Viết được một số lệnh vào ra đơn giản
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
Bước đầu sd đượ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 thong 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
II PHƯƠNG PHÁP
Phát vấn và diễn giảng
III PHƯƠNG TIỆN DẠY HỌC
Máy chiếu, máy tính có soạn sẵn chương trình đơn giản, SGK, giáo án…
IV NỘI DUNG VÀ DIỄN BIẾN TIÉT DẠY
1 Ổn định lớp (kiểm tra sĩ số)
2 Kiểm tra bài cũ
Câu 1: Viết biểu thức biểu diễn trong toán học sang biểu thức trong pascal
d
b c
a + ; (x y)
y
z x xz
y x
++
−
Câu 2: Biểu diễn hàm sau trong pascal:
x x
x x
sin1cos
)(sin
gán để gán một giá trị cho biến
Như vậy mỗi chương trình luôn
làm việc với một bộ dữ liệu
vào
Để chương trình có thể làm
việc với nhiều bộ dữ liệu vào
khác nhau, thư viện của các
NNLT cung cấp một số chương
trình dùng để dưa dữ liệu vào
và đưa dữ liệu ra
Các chương trình đưa dữ liệu
vào và ra được gọi chung là các
thủ tục chuẩn vào/ra đơn giản
Trang 21HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Danh sách biến gồm 1 hoặc
nhiều biến(trừ biến kiểu
Boolean) Trường hợp có nhiều
biến thì tên biến được viết cách
nhau bởi dấu phẩy
? Lệnh thứ nhất và lệnh thứ
hai dùng để làm gì?
Khi nhập giá trị cho nhiều
biến, những giá trị này được gõ
cách nhau ít nhất một dấu cách
hoặc xuống dòng (nhấn Enter)
Nhập giá trị biến nguyên
không được sd dấu chấm thập
Lên bảng viết
Write khi đưa kết quả ra màn hình con trỏ không chuyển xuống dòng, còn đối với thủ tục writeln khi đưa ra màn hình con trỏ tự động xuống dòng
Read(<danh sách biến vào>);
Vd để nhập giá trị cho biến M ta dùng
Writeln('nhap gia tri M’);
Readln(M);
*Chú ý:
Các thủ tục readln và write có thể không có tham số.
Trong thủ tục write hoặc writeln, sau mỗi kết quả có thể qui cách ra:
+ Đối với kết quả thực :<độ rộng>:<số chữ số thập phân>
+ Đối với kết quả khác:
Trang 22HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Việc soạn thảo giống như
soạn thảo trong word và lưu ý
là không bỏ dấu
Nếu chương trình có lỗi cú
pháp phần mềm sẽ hiển thị
thông báo Cần sửa lỗi lại và
biên dịch lại tới khi không còn
lỗi
§8 SOẠN THẢO, DỊCH, THỰC HIỆN HIỆU CHỈNH CHƯƠNG TRÌNH
- Màn hình làm việc của Pascal
- Soạn thảo: gõ nội dung chương trình gồm phần khai báo và các lệnh trong phần thân
- Lưu chương trình:
Nhấn phím F2 → gõ tên tệp
Vào File → Save → gõ tên tệp
- Biên dịch chương trình: Nhấn Alt +F9
Viết được thủ tục đưa dữ liệu vào/ra: write( ) hoặc writeln( ), read( ) hoặc readln
Các thao tác lưu tệp, dịch chương trình, đóng cửa sổ, đóng phần mềm, mở tệp
2 Dặn dò
Học bài xem trước bài tập thực hành 1
VI RÚT KINH NGHIỆM
Trang 23BÀI THỰC HÀNH 1
I MỤC ĐÍCH – YÊU CẦU
1 Kiến thức
− Giới thiệu một chương trình Pascal 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, lưutrữ, dịch và thực hiện chương trình
Nêu vấn đề giải quyết vấn đề
III PHƯƠNG TIỆN DẠY HỌC
Phòng máy thực hành của trường, máy chiếu nếu có
IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP
1 Ổn định lớp (kiểm tra sĩ số)
2 Nội dung
Phổ biến nội qui phòng máy
Chiếu chương trình lên bảng
yêu cầu học sinh thực hiện các
nhiệm vụ
Hướng dẫn học sinh cách
khởi động chương trình Pascal
Soạn chương trình vào máy
Lưu chương trình với tên
? Vì sao có lỗi xảy ra
Sửa lại chương trình không
dùng biến D
Khởi động chương trình Pascal
Gõ nội dung vào máy
End.
x1 = (−b − sqrt(b*b−4*a*c))/(2*a);x2 = (−b +sqrt(b*b − 4*a*c))/(2*a)writeln(‘x1= ‘, x1:6:2,’x2 = ‘,x2:6:2);readln
Nếu còn thời gian cho thêm bài
tập
Viết chương trình tính diện tích hình được
tô màu, với a được nhập vào bàn phím
Tiết CT: 7 Tuần: 7
Ngày soạn: 26.08.2013
Ngày dạy: 26.09.2013
Trang 24HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Chiếu nội dung bài tập lên bản
Yêu cầu HS soạn chương
trình và lưu trên đĩa
Quan sát hướng dẫn HS
trong lúc thực hành
Yêu cầu HS nhập dữ liệu và
thông báo kết quả
a = 3
Quan sát lắng nghe
Dữ liệu vào a
Dữ liệu ra STính diện tích hình tròn và diện tích hình vuôngDiện tích hình tô đen = diện tích hình tròn - diện tích hình vuông
- Soạn chương trình
- Nhấn phím F2, gõ tên vào
- Nhấn phím Alt + F9, dịch sửa lỗi nếu có
- Nhấn phím Ctrl + F9 để thực hiện chương trình Nhập dữ liệu vào
S1:= Pi*R*R;
S2:= sqr(a*sqrt(2));
S := S1- S2;
Với a = 3 ta được S = 10.26Với a = - 3 kết quả không đúng vì độ dài cạnh phải là hình vuông
V CỦNG CỐ - DẶN DÒ
1 Củng cố:
Các bước để hoàn thành một chương trình
- Xác định dữ liệu vào, dữ liệu ra
Trang 25BÀI TẬP CHƯƠNG 2
I MỤC ĐÍCH – YÊU CẦU
1 Kiến thức
− Cũng cố những nội dung đã đạt được ở tiết thực hành 1
− Biết sử dụng thủ tục chuẩn vào/ra
− Biết xác định Input và Output
II PHƯƠNG PHÁP
Nêu vấn đề giải quyết vấn đề
III PHƯƠNG TIỆN DẠY HỌC
Hình vẽ khổ lớn, bảng phụ…
IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP
1 Ổn định lớp (kiểm tra sĩ số)
2 Kiểm tra bài cũ:
Câu 1 Trong Pascal, nếu một biến chỉ nhận giá trị nguyên từ phạm vi 10 đến 25532 thì biến đó có
thể được khai báo bằng các kiểu dữ liệu nào?
Câu 2 Viết dạng của thủ tục vào/ra? Cho biết sự khác nhau giữa thủ tục write và writeln?
Câu 3 Biến P có thể nhận giá trị 5, 10, 15, 20, 30, 60, 90 biến X có thể nhận giá trị 0.1, 0.2, 0.3,
0.4, 0.5 Khai báo nào trong khai báo sau là đúng?
3 Nội dung
Yêu cầu 2 học sinh lên bảng
biểu diễn
Yêu cầu 4 HS lên bảng
Lên bảng biểu diễn trong Pascal
a
b
a b
1(
x a
z
y x z
+
−
++
Trang 26HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Hãy lên biểu diễn hình 2b
Hãy đưa ra phương án giải
Thảo luận trong vòng 3 phút
Ta thấy nếu lấy một tam giác và một phần cung bị bôi đen thì là ¼ đường tròn
Nếu cộng lại thì được ½ diện tích đường tròn
Vậy ta chỉ tính diện tích đường tròn rồi chia hai
vùng gạch chéo kể cả biên của các hình 2.a
1
x
yabc
1
x
ya
−1
Trang 27HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Hướng dẫn sau đó yêu cầu HS
g = 9.8 m/s2 Độ cao h (m) được nhập từ bàn phím
Chương trìnhProgram BAI_10;
Const g = 9.8;
Var v, h: real;
BEGINWrite('nhap vao do cao cua vat d = ’); Readln(h);
Về nhà tự tìm bài tập trong sách bài tập tin học 11
Xem trước bài 9 và 10
VI RÚT KINH NGHIỆM
Trang 28CHƯƠNG III: CẤU TRÚC RẼ NHÁNH LẶP
§ 9 CẤU TRÚC RẼ NHÁNH
I MỤC ĐÍCH – YÊU CẦU
1 Kiến thức
− 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à dạng đủ)
− 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 tả thuật toán của một số bài toán đớn z giản
− Viết được câu lệnh rẽ nhánh dạng đủ, dạng thiếu và áp dụng để thể hiện được thuật toán của một số bài toán đơn giảng
Nêu ví dụ thực tiễn minh
hoạ cho tổ chức rẽ nhánh:
Chiều nay, nếu trời không
mưa An sẽ đi xem đá bóng nếu
trời mưa An sẽ mở Tivi xem
Yêu cầu HS lấy một vài ví
dụ tương tự
Yêu cầu học sinh đưa ra cấu
trúc chung của cách diễn đạt đó
Yêu cầu HS lấy ví dụ dạng
khuyết và đưa ra cấu trúc chung
? Hãy nêu các bước kết lụân
nghiệm phương trình bậc hai
ax2 + bx + c = 0 (a ≠ 0) ?
Như vậy, sau khi tính D tuỳ
thuộc vào giá trị của D, một
Nếu đội tuyển VN thắngIndonesia thì đá tiếp tranhhuy chương vàng với TháiLan, nếu không thắngIndonesia thì sẽ tranh huychương đồng với Mianma
Nếu… thì … nếu không
Xét bài giải phương trình bậc 2
ax2 + bx + c = 0 (a ≠ 0)
Tiết CT: 10 Tuần: 10
Ngày soạn: 17.09.2013
Ngày dạy: 17.10.2013
Trang 29HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
trong hai thao tác sẽ được thực
Yêu cầu học sinh lên bảng
viết dạng thiếu và dạng đầy đủ
Ở dạng thiếu: điều kiện sẽ
được tính và kiểm tra Nếu điều
kiện đúng thì câu lệnh sẽ được
thực hiện, ngược lại câu lệnh sẽ
Theo cú pháp sau từ khoá then
hoặc esle phải là một câu lệnh.
Nhưng nếu sau từ khoá đó có
nhiều câu lệnh thì ta gọi câu
x1 :=(−b − sqrt(D))/(2*a);
Điều
kiện
Câu lệnh True
False
Điều kiện
Câu lệnh True
False Câu lệnh 2
Begin
<các câu lệnh>;
End;
Trang 30HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Ví dụ 1: Tìm nghiệm thực của
PTB2: ax2 + bx + c = 0 (a ≠0)
? Hãy xác định bài toán?
Hướng dẫn HS viết chương
trình
Yêu cầu HS lên bảng viết
Ví dụ 2: Viết chương trình tính
số ngày của năm N, biết rằng là
năm chia hết cho 400 hoặc chia
hết cho 4 nhưng không chia hết
cho 100
? Hãy xác định bài toán?
Hướng dẫn HS viết chương
trình
Yêu cầu HS lên bảng viết
Lên bảng viết chương trình
Lên bảng viết chương trình
Trang 31VI KINH NGHIỆM
Trang 32BÀI THỰC HÀNH 2
I MỤC ĐÍCH – YÊU CẦU
1 Kiến thức
− Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh
− Tiếp tục làm quen với việc hiệu chỉnh chương trình
Nêu vấn đề giải quyết vấn đề
III PHƯƠNG TIỆN DẠY HỌC
Phòng máy thực hành vi tính , máy chiếu
IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP
1 Ổn định lớp (kiểm tra sĩ số)
2 Nội dung
Gợi ý để HS nêu khái niệm về
Dành thời gian cho học sinh
gõ nội dung vào
Ba số nguyên dương a, b, c được gọi là bộ số Pi ta go nếu tổng bình phương hai
số bằng bình phương số còn lại
writeln('ba so da nhap la bo so Pi ta go)
Tiết CT: 11 Tuần: 11
Ngày soạn: 24.09.2013
Ngày dạy: 24.10.2013
Trang 33HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Lưu chương trình với tên
PITAGO vào thư mục lớp mình
Nhấn phím F7 để thực hiện
từng câu lệnh chương trình,
nhập các giá trị a = 3, b = 4,
c=5
Vào bảng Debug mở cửa sổ
hiệu chỉnh để xem giá trị a2,
b2, c2
Nhấn phím F7 để thực hiện
câu lệnh tính những giá trị nói
trên và so sánh với kết quả
= 3, b = 4, c=5 nêu kết quả
Vào bảng debug
Nhấn F7 và so sánh kết quả
Tiếp tục nhấn F7 để theodõi quá trình rẽ nhánh
Nhập bộ số: a = 700,b=1000, c = 800 Thôngbáo kết quả
Thay đổi câu lệnh với bộ
Về nhà học bài và làm bài tập chương III
VI RÚT KINH NGHIỆM
Trang 34KIỂM TRA ĐÁNH GIÁ 1 TIẾT
I MỤC ĐÍCH
Kiểm tra lại khã năng tiếp thu cũng như quá trình học tập của HS Từ đó có thể điều chỉnhphương pháp giảng dạy
II BẢNG RA ĐỀ KIỂM TRA
III NỘI DUNG
IV KẾT QUẢ KIỂM TRA
Biết Câu 1, 3, 6, 28, 30 Câu 2, 5, 9, 17, 18, 20, 21,
Trang 35§ 10 CẤU TRÚC LẶP
I MỤC ĐÍCH – YÊU CẦU
− 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 với số lần biết trước bằng câu lệnh for … do …
2 Kiểm tra bài cũ:
Câu 1: Viết cú pháp của cấu trúc lặp: dạng thiếu và dạng đủ
Câu 2 Begin
clrscr;
write(‘nhap nam: ’); readln(N);
(N mod 400 = 0) ((N mod 4 = 0) ((N mod 100 <> 0)) then
Nêu vấn đề bài toán 1:
Ta thấy cả hai bài toán cách
hình tổng
100
1
2
11
11
++++
+++
=
a a
a a S
Bài toán 2: tính và đưa kết quả ra màn hình tổng
1
2
11
1
++++
+++
=
N a a
a a S
cho đến khi 1 <0,0001
+N a
+ Xuất phát S được gán cho giá trị
a
1+ Tiếp theo cộng vào S một giá trị:
N
a+
1 với N =1, 2, 3,
* Cấu trúc lặp có hai loại: lặp với số lần biết trước và lặp với số lần không biết trước.
Tiết CT: 13 Tuần: 13
Ngày soạn: 07.10.2013
Ngày dạy: 07.11.2013
Trang 36
HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
sẽ kết thúc khi đã thực hiện
việc cộng 100 lần
Còn ở bài toán 2: số lần lặp
chưa biết trước nhưng việc
cộng vào tổng kết thúc khi điều
kiện 1 <0,0001
+N
mãn
Nói chung một số thuật toán
có những thao tác lặp đi lặp lại
một số lần
Các NNLT đều có các câu
lệnh để mô tả cấu trúc lặp
Hoạt động 2
Trao đổi nhóm trong 3 phút
và lên bảng viết thuật toán 1a
và 1b:
Nhóm 1, 2, 3 nghiên cứu
thuật toán 1a;
Nhóm 4, 5, 6 nghiên cứu thuật
toán 1b;
Ta thấy thuật toán Tong_1a
giá trị N khi bắt đầu tham gia
vòng lặp là 1 và sau mỗi lần lặp
là tăng lên 1cho đến khi N >100
Thuật toán Tong_1b giá trị
N khi bắt đầu tham gia vòng lặp
là 100 và sau mỗi lần lặp là
giảm xuống 1 cho đến khi N <1
Ta nói cách lặp ở thuật toán
Tong_1a là dạng tiến còn
Tong_1b là dạng lùi
Ở dạng lặp tiến câu lệnh sau
từ khoá do được thực hiện tuần
tự, biến đếm lần lược nhận giá
trị liên tiếp từ giá trị đầu đến
giá trị cuối
Ở dạng lặp lùi câu lệnh sau từ
khoá do được thực hiện tuần tự,
biến đếm lần lược nhận giá trị
giảm liên tiếp từ giá trị cuối đến
Thuật toán Tong_1a
B1: S ← 1/a; N ← 0; {khởi tạo S,N}; B2: N ← N + 1;
B 3: Nếu N > 100 thì chuyển đến B5;
B 4: S ← S + 1/(a+N) rồi quay lại B2;B5: Đưa S ra màn hình rồi kết thúc
Thuật toán Tong_1a
B1: S ← 1/a; N ← 101; {khởi tạo S,N}; B2: N ← N − 1;
For <biến đếm>:=<giá trị cuối> downto
<giá trị đầu> do <câu lệnh>;
•Biến đếm là biến đơn và là kiểu nguyên
•Giá trị đầu giá trị cuối cùng kiểu với biến đếm
* Chú ý: giá trị biến đếm được điều chỉnh
tự động, vì vậy câu lệnh viết sau do không
được thay đổi giá trị biến đếm
V CỦNG CỐ - DẶN DÒ
1 Củng cố:
Trang 37Cấu trúc lặp dạng lặp với số lần biết trước
Cú pháp của dạng lặp tiến và lặp lùi
2 Dặn dò
Về nhà học bài và xem tiếp phần sau
VI RÚT KINH NGHIỆM
Trang 38§ 10 CẤU TRÚC LẶP (tt)
I MỤC ĐÍCH – YÊU CẦU
− Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể
− Mô tả một số thuật toán của một số bài toán đơn giản có sd lệnh lặp
− Viết được chương trình đơn giản có sd dòng lặp for ……do……
− Biết sử dụng cấu trúc lặp với số lần chưa biết trước bằng câu lệnh while … do…
2 Kiểm tra bài cũ:
Câu hỏi: Viết cú pháp của câu lệnh lặp dạng tiến và dạng lùi và giải thích biến đếm, giá trị đầu giá trị cuối phải như thế nào ?
Trao đổi nhóm trong 5 phút
lên bảng viết chương trình Lên bảng trình bày Các nhóm còn lại chú ý
Trang 39HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Hãy xác định bài toán
Thảo luận trong 4 phút lên bảng
trình bày
Nhận xét đánh giá cho điểm
Thảo luận nhóm đưa để đưa ra
thuật toán tính tổng bài toán 2
Nhận xét, đánh giá cho điểm
Như vậy, việc lặp với số lần
chưa biết trước sẽ chỉ kết thúc
khi một điều cho trước được
thoả mãn
Để mô tả cấu trúc lặp như vậy
trong Pascal người ta dùng câu
Lên bảng trình bày
Begin và end
For N:=100 to 1 do S:= S+1/(a+N);
Trang 40HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Treo sơ đồ khối thuật toán
Tong_2
Có nhiều thuật toán khác nhau
tìm ƯCLN của M, N Ở lớp 10
các em đã học thuật toán này
Treo hình thuật toán liệt kê
từng bước và sơ đồ khối
Quan sát theo dõi
If M > N then M:= M − N else N:= N − M;
writeln(‘UCLN= ’, M);
readln
end.
Chú ý: câu lệnh trong dòng lặp thường
được lặp lại nhiều lần, vì vậy để tăng hiệu
Điều kiện
Câu lệnh TRUE
FALSE