- Rèn kỹ năng diễn đạt thuật toán, rèn ý thức cần có của 1 người lập trình là viết chương trình với khối lượng tính toán ít nhất có thể. - Góp phần hình thành và rèn luyện tư duy lập trì[r]
Trang 1Soạn: 1/9/09 Giảng: 3/9/09
lập trình và ngôn ngữ lập trình
Tiết 1
Khái niệm lập trình và ngôn ngữ lập trình
- Các thành phần của ngôn ngữ lập trình
I Mục tiêu
- HS 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 cụ của chơng trình dịch Phân biệt đợc biên dịch và thông dịch
- Biết ngôn ngữ lập trình có 3 thành phần cơ bản: bảng chữ các, cú pháp và ngữ nghĩa Hiểu và phân biệt đợc 3 thành phần này
II Chuẩn bị
1 Thầy: Bảng phụ
2 Trò: Đọc trớc bài
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2.Bài mới
Hoạt động 1
Bài mới- bài 1
? Em hãy cho biết các
b-ớc giải 1 bài toán trên
máy tính
GV: nhắc lại kiến thức
lớp 10
? Có những loại ngôn
ngữ lập trình nào
GV: yêu cầu HS phân
biệt ngôn ngữ bậc cao
với ngôn ngữ lập trình
? Lập trình là làm gì
GV: yêu cầu HS đọc khái
niệm SGK/4
GV: treo bảng phụ
? Thế nào là chơng trình
dịch
Gọi HS nhận xét
GV: Yêu cầu HS đọc ví
dụ SGK/4
? Làm thế nào để chuyển
chơng trình viết = ngôn
ngữ bậc cao sang ngôn
ngữ máy
HS trả lời
HS: Ngôn ngữ C, Pascal, Visua Basic HS: trả lời
HS: trả lời
HS đọc khái niệm SGK
HS trả lời
HS nhận xét
1 HS đọc, cả lớp theo dõi
HS trả lời
Bài 1 Khái niệm lập trình và ngôn ngữ lập trình
a, Các khái niệm
- Ngôn ngữ lập trình:
- Lập trình: là sử dụng cấu trúc dữ liệu và câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dự liệu, diễn tả các thao tác của thuật toán
- Chơng trình dịch: là chơng trình có chức năng chuyển đổi chơng trình
đ-ợc viết = 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
Trang 2GV:Giới thiệu qua về
Thông dịch và Biên dịch
? So sánh các thao tác
thực hiện của 2 loại CTD
trên
Gọi HS nhận xét
? Loại nào thông dụng
hơn
Hoạt động 2
Bài 2 mục 1
? Dùng kí hiệu nào để
viết chơng trình, viết
theo quy tắc nào, viết nh
vậy có ý nghĩa là gì
GV: đa ra 1 ví dụ về
bảng chữ cái, cú pháp,
ngữ nghĩa
? Thế nào là bảng chữ
cái
? Cú pháp chơng trình là
gì
? Ngữ nghĩa đợc hiểu ntn
Hoạt động 3
Củng cố
- Nhắc lại khái niệm lập
trình, chơng trình dịch
-Thành phần của ngôn
ngữ lập trình
1HS đứng lên so sánh
1HS nhận xét
HS trả lời
HS trả lời
HS trình bày theo SGK
HS tra lời
HS trả lời
b, Đặc điểm của Thông dịch và biên dịch
- Thông dịch: SGK/5
- Biên dịch: SGK/5
Bài 2 Các thành phần của ngôn ngữ lập trình
1 Các thành phần cơ bản
a, Bảng chữ cái
Là tập các kí tự đợc dùng để viết chơng trình
b, Cú pháp
Là bộ quy tắc để viết chơng trình, giúp mô tả chính xác thuật toán
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ó
3 Dặn dò
- Học các khái niệm và nhớ các thành phần của ngôn ngữ lập trình
- Đọc trớc mục 2 bài 2 và bài đọc thêm 1
- Làm bài 1.1 ->1.8 SBT/5, 6, 7
Soạn: 8/9/09 Giảng: 10/9/09
Tiết 2
Các thành phần của ngôn ngữ lập trình
I Mục tiêu
- HS biết các thành phần cơ sở của Pascal: Bảng chữ cái, tên, tên chuẩn, tên riêng, khoá, hằng và biến
- Phân biệt đợc tên, hằng, biến
- Biết đặt tên đúng, nhận biết đợc tên sai
II Chuẩn bị
1 Thầy: Bảng phụ
2 Trò: Đọc trớc bài
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2.Bài mới
Hoạt động 1
Kiểm tra bài cũ
Trang 3GV: yêu cầu HS tìm hiểu
và nêu đặc điểm của các
1HS nhận xét
HS nghiên cứu sách
HS: trả lời
HS: phát biểu KN trong SGK
1HS nhận xét
1HS đọc, cả lớp theo dõi
2 Một số khái niệm
a, Tên
* Khái niệm: Là 1 dãy liên tiếp
không quá 127 kí tự 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 dấu gạch dới
VD : Tên đúng: A; _Thu 15; Thu_15Tên sai:A BC ( chứa dấu cách) 15thu (bắt đầu bằng chữ số) m#thu(chứa # không hợp lệ)
- Các loại hằng:
+ Hằng số học+ Hằng logic+ Hằng xâu
- Ví dụ: SGK/12
* Biến
- Khái niệm : Biến là đại lợng đợc đặttên, dùng để lu trữ giá trị và giá trị cóthể đợc thay đổi trong quá trình thực hiện chơng trình
Trang 4Giảng: … /9/09
Tiết 3
Bài tập
I Mục tiêu
- HS biết 2 loại chơng trình dịch là thông dịch và biên dịch
- Phân biệt đợc tên, hằng, biến
- Biết đặt tên đúng, nhận biết đợc tên sai
II Chuẩn bị
1 Thầy: Bảng phụ
2 Trò: Đọc trớc bài
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2.Bài mới
Hoạt động 1
Kiểm tra bài cũ
? Trình bày quy tắc đặt
tên trong Pascal Lấy ví
dụ minh hoạ
? Nêu đặc điểm để phân
biệt 3 loại tên phân biệt
tên trong ví dụ ở bảng
phụ
? Khái niệm biến, hằng
Hoạt động 2
Nhắc lại lý thuyết
? Bài 1 đã tìm hiểu
những kiến thức nào
Gọi HS nhận xét
? Nếu khái niệm CTD và
lập trình
? Bài 2 nói tới những
kiến thức nào
? Kiến thức quan trọng
cần hiểu và nhớ của bài
là gì
Hoạt động 3
Luyện tập
GV: Yêu cầu 2 HS lên
bảng làm bài 1.3, 1.4SBT
Gọi HS nhận xét
GV: yêu cầu 1 HS trả lời
bài 1.9, 1.10 SBT/7
Gọi HS nhận xét
GV: yêu cầu HS làm bài
HS1 trả lời
HS2 trả lời
HS 3 trả lời
HS: trả lời 1HS nhận xét
HS trình bày khái niệm
HS trả lời
HS: trả lời
HS1 làm bài 1.3 HS2 làm bài 1.4
1HS nhận xét 1HS trả lời, cả lớp theo dõi
I Lý thuyết Bài 1
- Khái niệm lập trình, chơng trình dịch
- Các bớc thực hiện dịch chơng trình của thông dịch và biên dịch
Bài 2
- 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
- Một số khái niệm + Tên
+ Hằng và biến
II Luyện tập Bài 1.3
Không thể khẳng định chơng trình
đúng vì có thể vẫn chứa lỗi ngữ nghĩa
Bài 1.4
Không thể khẳng định Cú pháp của các câu lệnh cha thực hiện đợc kiểm tra
Bài 1.9
B, C, D, F
Bài 1.10
C, E
Trang 51.16, 1.17
Gọi HS nhận xét
GV: yêu cầu trả lời câu
hỏi 1SGK/13
Hoạt động 4
Củng cố
Yêu cầu vài HS nhắc lại
khái niệm: Lập trình,
ch-ơng trình dịch, hằng và
biến
HS nhận xét 1HS trả lời, cả lớp theo dõi
HS nhận xét câu trả lời của bạn
HS suy nghĩ trả lời
1 vài HS trả lời
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 biết =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à 1 chơng trình có thể thực hiện trên nhiều loại máy khác nhau Dễ hiều, dễ điều chỉnh và 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ật toán
3 Dặn dò
nhà lập trình đặt
Soạn:21/9/09 Giảng: … /9/09
Tiết 4
Cấu trúc chơng trình
I Mục tiêu
- HS hiểu chơng trình là sự mô tả của thuật toán bằng 1 ngôn ngữ lập trình
- Biết cấu trúc của 1 chơng trình đơn giản: cấu trúc chung và các thành phần
- Nhận biết đợc các phần của 1 chơng trình đơn giản
II Chuẩn bị
1 Thầy: Bảng phụ
2 Trò: Đọc trớc bài
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2.Bài mới
Hoạt động 1
Kiểm tra bài cũ
? Tên trong Pascal đợc
hiểu ntn, lấy 3 ví dụ về 3
loại tên
HS trả lời
Trang 61HS lên bảng1HS nhận xét
HS quan sát
HS trả lờiNhận xét
HS nghe giảng
I Cấu trúc chung
Chơng trình gồm 2 phần chính [<Phần khai báo>]
< Phần thân >
- Phần nằm trong [] có thể có hoặc không
- Phần nằm trong < > là các diễn giải bằng ngôn ngữ tự nhiên
II Các thành phần của ch ơng trình
a Khai báo
Có thể khai báo tên chơng trình, th viện, hằng , biến…
* Khai báo tên chơng trình
- Tên chơng trình do ngời lập trình
đặt theo qui tắc đặt tên
- Cấu trúc Program < tên chơng trình >;
* Khai báo th viện
Cấu trúc Uses < tên th viện >;
* Khai báo hằng
Đợc sử dụng cho những giá trị xuất hiện nhiều lần
* Khai báo biến
- Mọi biến đều phải đợc khai báo
- Mỗi biến chỉ mang 1 giá trị
b Phần thân chơng trình
- Thân chơng trình thờng có cặp dấu hiệu bắt đầu và kết thúc
- Thân chơng trình thờng là nơi chứa toàn bộ các câu lệnh của chơng trình hoặc lời gọi chơng trình con
- Cấu trúc Begin [<Dãy lệnh>]
End
III Ví dụ ch ơng trình đơn giản
Ví dụ 1
Có cả phần khai báo và thân chơng trình
Ví dụ 2Chỉ có phần thân chơng trình
Trang 73 Dặn dò
Soạn:28/9/09 Giảng: … /10/09
Tiết 5
Một số kiểu dữ liệu chuẩn
& Khai báo biến
I Mục tiêu
- Biết một số kiểu dữ liệu chuẩn: nguyên, thực, kí tự, logic
- 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 Chuẩn bị
1 Thầy: Bảng phụ
2 Trò: Đọc trớc bài
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2.Bài mới
Hoạt động 1
Kiểm tra bài cũ
? Nêu cấu trúc chung
của 1 chơng trình, ý
nghĩa của các kí hiệu
Hoạt động 2
1 số kiểu dữ liệu chuẩn
GV: treo bảng phụ(bảng
quản lý học sinh)
? Quan sát bảng phụ và
cho biết ta cần quản lí
thông tin ở dạng nào
GV: dạng số thực, dạng
số nguyên, dạng logic,
dạng kí tự văn bản
? Bảng 1 SGK cho biết
gì
GV: Cần ghi nhớ tên
kiểu, miền giá trị và số
lợng ô nhớ
Yêu cầu HS kẻ bảng vào
vở
? Em đã biết những
bảng mã nào
GV: chú ý NGLT Pascal
chỉ sử dụng bộ mã
ASCII
? Quan sát H3 kiểu kí tự
có tên là gì
? Kiểu logic cho mấy
giá trị
GV: ngoài ra còn có
HS trả lời
HS quan sát
HS trả lời
HS trả lời
HS kẻ bảng vào vở
HS trả lời
HS trả lời
HS trả lời
I Một số kiểu dữ liệu chuẩn
1 Kiểu nguyên
Gồm : Byte, integer, word, longint
Integer 2byte
Longin 4byte
2 Kiểu thực
Gồm: Read, extended
Extended 10byte
3 Kiểu kí tự
Chỉ có kiểu Char, các kí tự thuộc bộ mã ASCII
4 Kiểu logic
Có tên là logic, chỉ nhận 2 giá trị: True
Trang 8kiểu miền con( là doạn
số nguyên liên tiếp nằm
trong câu lệnh For - do)
Hoạt động 3
Khai báo biến
GV: treo bảng phụ
? Biến đợc khai báo sau
từ khoá nào
? cấu trúc của 1 câu lệnh
khai báo biến là gì
Yêu cầu HS quan sát
bảng phụ và trả lời
? Đâu là danh sách biến
? Đâu là kiểu dữ liệu
? Khi khai báo biến cần
chú ý điều gì
GV: nhận xét, bổ xung
Hoạt động 4
Củng cố
Nhắc lại các loại dữ liệu
chuẩn, cách khai báo
biến
HS trả lời
HS trình bày
HS quan sát và trả
lời
HS trình bày
hoặc False
II Khai báo biến
* Cấu trúc
Var <danh sách biến>:<kiểu dữ liệu>;
Trong đó:
- Danh sách biến: là 1 hay nhiều tên,
đợc viết cách nhau bởi dấu (,)
- Kểu dữ liệu: là 1 trong các kiểu chuẩn hoặc do ngời lập trình định nghĩa
* Ví dụ
(Bảng phụ)
* 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á dài, ngắn dễ dẫn tới mắc lỗi hoặc hiểu lầm
- Khai báo biến cần quan tâm đến phạm vi giá trị của nó
3 Dặn dò
- Bài tập: Để khai báo các thông tin về 1 nhân viên vào máy tính cần phải khai báo những thông tin sau: Họ tên, ngày sinh, quê quán, giới tính, đảng viên Em hãy cho biết kiểu dữ liệu của các thông tin trên
Soạn:28/09/09 Giảng:1/10/09
Tiết 6
Bài toán - bểu thức - câu lệnh gán
I Mục tiêu
- HS 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 và 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
II Chuẩn bị
1 Thầy: Bảng phụ
2 Trò: Đọc trớc bài
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2.Bài mới
Hoạt động 1
Kiểm tra bài cũ
? Cho biết cấu trúc khai
Trang 9b¸o biÕn, ý nghÜa c¸c
? Cho biÕt sù kh¸c nhau
gi÷a phÐp to¸n trong
GV: Nªu qui t¾c viÕt
biÓu thøc trong Pascal
GV: ®a ra vÝ dô yªu cÇu
- PhÐp to¸n logic: Not, or, and
II C¸c lo¹i biÓu thøc
a BiÓu thøc sè häc
- Lµ 1 d·y c¸c phÐp to¸n c¸c biÕn kÓu
sè, h»ng
- Quy t¾c SGK/25
- 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
3 DÆn dß
- Häc cÊu tróc vµ ý nghÜa cña lÖnh g¸n vµ c¸c lo¹i biÓu thøc
Trang 10- Làm bài 2.4 ->2.24 SBT/9,10,11
Ngày … tháng … năm 200
Soạn:30/09/09 Giảng:2/10/09
Tiết 7
Các thủ tục chuẩn vào/Ra đơn giản Soạn thảo- dịch - thực hiện- hiệu chỉnh chơng trình
I Mục tiêu
- HS biết các lệnh vào/ra đơn giản để nhập dữ kiệu từ bàn phím hoặc đa dữ liệu ra màn hình
- HS 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 1 số công cụ của môi trờng turbo pascal
- Viết đợc 1 số lệnh vào ra đơn giản
- Bớc đầu sử dụng đợc chơng trình dịch để phát hiện lỗi
II Chuẩn bị
1 Thầy: Máy tính, máy chiếu
2 Trò: Đọc trớc bài
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2.Bài mới
Hoạt động 1
Kiểm tra bài cũ
? Nêu cấu trúc của 1 biểu
thức quan hệ và biểu
thức gán? lấy ví dụ minh
họa
Hoạt động 2
Các thủ tục chuẩn vào/ ra
đơn giản
GV: đa ra cấu trúc câu
lệnh để nhập dữ liệu
? HS lấy ví dụ
GV: đa 1 chơng trình
đơn giản lên máy chiếu
? Quan sát SGK cho biết
câu lệnh nào dùng để đa
dữ liệu ra màn hình
? Yêu cầu HS đa cấu
trúc lên bảng
GV: đa 1ví dụ lên máy
chiếu
? Kết quả đa ra màn hình
là gì
GV: nêu chú ý
HS trả lời
HS nghe và ghi bài
HS trả lời
HS: trả lời
HS lên bảng trình bày
HS trả lời
I Các thủ tục chuẩn vào/ra đơn giản
1 Nhập dữ liệu vào từ bàn phím
* Cấu trúc
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);
2 Đa dữ liệu ra màn hình
* Cấu trúc
Write (<danh sách kết quả ra>);
hoặc
Writeln (<danh sách kết quả ra>);
* Ví dụ:
Writeln (‘ Xin chào các bạn’);
Write (‘ Xin chào);
Trang 11Hoạt động 3
Soạn thảo, dịch, thực
hiện và hiệu chỉnh chơng
trình
GV giới thiệu màn hình
làm việc của Pascal
GV: chỉ trên màn hình
các thao tác và phím
th-ờng sử dụng để soạn
thảo, thực hiện chơng
trình
Hoạt động 4
Củng cố
Nhắc lại các cấu trúc
câu lệnh ra vào đơn giản
Các phím tắt hay dụng
trong pas
1HS ghi bài
HS quan sát
HS quan sát và ghi bài
HS ghi nhớ
II Soạn thảo- dịch - thực hiện - hiệu chỉnh ch ơng trình
Một số thao tác thờng dùng trong Pascal
- Xuống dòng: Enter
- Ghi file vào đĩa: F2
- Mở file đã có: F3
- Biên dịch chơng trình: Alt + F9
- Soát lỗi chơng trình: F9
- Chạy chơng trình: Ctrl + F9
- Đóng cửa sổ: Alt + F3
- Chuyển qua lại giữa các cửa sổ: F6
- Xem lại màn hình kết quả: Alt + F5
- Thoát khỏi Pas: Alt + X
3 Dặn dò
Soạn:5/10/09 Giảng:7/10/09
Tiết 8
Bài tập và thực hành 1
I Mục tiêu
- Giới thiệu 1 chơng trình Pascal hoành chỉnh đơn giản
- Làm quen với 1 số dịch vụ cơ bản của Turbo pascal hoặc Free pascal trong việc soạn thảo, lu trữ, dịch và thực hiện chơng trình
II Chuẩn bị
1 Thầy: Máy tính
2 Trò:
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2.Bài mới
Hoạt động 1
Kiểm tra bài cũ
? Tên trong Pascal đợc
hiểu ntn, lấy 3 ví dụ về 3
loại tên
Hoạt động 2
Cấu trúc chơng trình
GV: treo bảng phụ( viết
cấu trúc 1 chơng trình)
? Cấu trúc1 chơng trình
gồm mấy phần
HS trả lời
I Cấu trúc chung
Chơng trình gồm 2 phần chính [<Phần khai báo>]
< Phần thân >
- Phần nằm trong [] có thể có hoặc
Trang 121HS lên bảng1HS nhận xét
HS quan sát
HS trả lờiNhận xét câu trả
* Khai báo tên chơng trình
- Tên chơng trình do ngời lập trình
đặt theo qui tắc đặt tên
- Cấu trúc Program < tên chơng trình >;
* Khai báo th viện
Cấu trúc Uses < tên th viện >;
* Khai báo hằng
Đợc sử dụng cho những giá trị xuất hiện nhiều lần
* Khai báo biến
- Mọi biến đều phải đợc khai báo
- Mỗi biến chỉ mang 1 giá trị
b Phần thân chơng trình
- Thân chơng trình thờng có cặp dấu hiệu bắt đầu và kết thúc
- Thân chơng trình thờng là nơi chứa toàn bộ các câu lệnh của chơng trình hoặc lời gọi chơng trình con
- Cấu trúc Begin [<Dãy lệnh>]
End
III Ví dụ ch ơng trình đơn giản
Ví dụ 1
Có cả phần khai báo và thân chơng trình
Ví dụ 2Chỉ có phần thân chơng trình
3 Dặn dò
Ngày … tháng … năm 200
Trang 13Nhận xét của tổ chuyên môn
Soạn:10/10/09 Giảng:12/10/09
Tiết 9
Chữa bài tập
I Mục tiêu
- Củng cố những nội dung đã đạt đợc ở tiết thực hành 1
- Biết sử dụng các thủ tục chuẩn vào/ra
- Biết xác định input và output
II Chuẩn bị
1 Thầy:
2 Trò:
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2.Bài mới
Hoạt động 1
Nhắc lại lý thuyết (10
phút)
?Nêu cấu trúc chung của
1 chơng trình
? Có những kiểu dữ liệu
nào
? Trình bày cách khai
báo biến
GV: nêu lại các phép
toán, biểu thức, hàm số
học chuẩn, câu lệnh gán
? Cho biết cấu trúc của
thủ tục vào/ra dữ liệu
Hoạt động 2
Bài tập (30 phút)
GV: yêu cầu HS trả lời
HS1 trả lời
HS1: Kiểu nguyên, kiểu thực, kiểu kí
tự, kiểu logic
HS2: Var <ds biến>:<kiểu dl>
HS nghe giảng
HS: Dùng Read, và Write để đa dl vào
ra
I Lý thuyết
Bài 3 Cấu trúc chơng trình Cấu trúc
[<phần khai báo>]
<Phần thân>
Phần khai báo gồm:
+ KB tên chơng trình + KB biến + KB th viện + KB hằng Bài 4 Một số kiểu dl chuẩn
+ Kiểu nguyên + Kiểu thực + Kiểu kí tự + Kiểu logic Bài 5 Khai báo biến
Var <ds biến>:<kiểu dl >;
Bài 6 Phép toán, biểu thức, câu lệnh gán
Câu lệnh gán <tên biến>: = <biểu thức>; Bài 7 Các thủ tục chuẩn vào/ra đơn giản
- Đa dữ liệu vào
Read (<danh sách biến vào>);
hoặc
Readln (<danh sách biến vào>);
- Đa dữ liệu ra
Write (<danh sách kết quả ra>);
hoặc
Writeln (<danh sách kết quả ra>);
II Luyện tập Bài 2.1 SBT/9
ví dụ: Đa ra 1 thông báo hoặc 1 hiển
Trang 141HS lên bảng giải
HS1 trả lời bài 2.15
HS2 trả lời bài 2.19
HS lên bảng làm1HS nhận xét
1HS đứng tại chỗ nêu ý tởng
1HS lên bảng viết, cả lớp làm vào vở
Readln (a, b, c, d, x);
T: = ((a * x + b) * x + c) * x + d; Writeln (‘ ket qua la: ‘ , T : 6: 2)End
Program tinh;
Var t,K: integer;
Begin write (‘t = ’);
Readln (t);
K: = 20 t ; Writeln (‘ K.cach: ‘ , K,’ Km.’)End
3 Dặn dò
Soạn:17/10/09Giảng: 19/10/09
- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của 1 số bài toán đơn giản
- Viết đợc các lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đầy đủ và áp dụng để thể hiện
đ-ợc thuật toán của 1 số bài toán đơn giản
Trang 151 ổn định tổ chức
………
………
………
………
2 Bài mới
Hoạt động 1:
Rẽ nhánh (17phút)
GV treo bảng phụ
Yêu cầu HS tìm ra đặc
điểm chung của các ví dụ
trên
GV: các mệnh đề có dạng
nếu …thì hoặc nếu….thì,
nếu không thì…đợc gọi
lại cấu trúc rẽ nhánh
? Yêu cầu HS lấy ví dụ về
mệnh đề có dạng của cấu
trúc rẽ nhánh
GV: Gọi HS nhận xét
Hoạt động 2:
Câu lệnh if - then
(23phút)
GV treo bảng phụ cấu
trúc câu lệnh rẽ nhánh
? So sánh đặc điểm khác
nhau của 2 cấu trúc trên
GV: giải thích thêm về 2
dạng rẽ nhánh trên
GV: Yêu cầu HS chuyển
sơ đồ hình 4 thành câu
lệnh rẽ nhánh if - then -
else
Hoạt động 5:
Củng cố (5phút)
Nhắc lại cấu trúc rẽ nhánh
dạng thiếu và đủ
HS lên bảng trả lời
HS quan sát trả lời chúng đều có dạng nếu…thì; nếu…thì
nếu không thì
2HS đứng tại chỗ lấy ví dụ
1HS nhận xét
HS: Cấu trúc đủ có
2 câu lệnh, cấu trúc thiếu có 1 câu lệnh
HS nghe GV giới thiệu
1HS đứng tại chỗ trả lời
I Rẽ nhánh
Cấu trúc rẽ nhánh là cấu trúc dùng để
mô tả các mệnh đề có dạng nh Nếu …thì…
hoặc Nếu…thì, nếu không thì…
đợc gọi là cấu trúc rẽ nhánh thiếu và
đủ
II Hợp ngữ
Cấu trúc
- Dạng thiếu
If<điều kiện>then<câu lệnh>;
- Dạng đủ
If <điều kiện>then<câu lệnh1> else
<câu lệnh 2>;
trong đó:
- Điều kiện là biểu thức logic
- Câu lệnh, câu lệnh 1, câu lệnh 2 là
1 câu lệnh của Pascal
- Chú ý: Kết quả đúng luôn đợc đặt
sau then, sau else luôn là kết quả điều
kiện khi sai
3 Dặn dò
- Trả lời các câu hỏi trong SGK /46
- Làm bài tập 1 49 -> 1.52 SBT/ 22
Soạn:24/10/09 Giảng: 26/10/09
Tiết 11
Cấu trúc rẽ nhánh (tiếp)
I Mục tiêu
- 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 lệnh rẽ nhánh (dạng thiếu và dạng đủ)
Trang 16- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của 1 số bài toán đơn giản
- Viết đợc các lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đầy đủ và áp dụng để thể hiện
đ-ợc thuật toán của 1 số bài toán đơn giản
II Chuẩn bị
1.Thầy: Bảng phụ
2.Trò:
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2 Bài mới
Hoạt động 1:
Kiểm tra bài cũ (5phút)
? Trình bày khái niệm và
cấu trúc của câu lệnh rẽ
nhánh Lấy ví dụ
GV: Gọi HS nhận xét câu
trả lời của bạn
Hoạt động 2:
Câu lệnh ghép(12phút)
GV: đa ra 1 vài ví dụ về
câu lệnh ghép trong
Pascal
? Câu lệnh ghép có dạng
ntn
? Câu lệnh ghép đợc đặt ở
đâu trong cấu trúc rẽ
nhánh
GVnhắc lại
Hoạt động 4:
Một số ví dụ (25phút)
GV yêu cầu HS đọc 2 ví
dụ SGK/41
? Giải thích câu lệnh rẽ
nhánh trong 2 ví dụ trên
GV: nhận xét
Hoạt động 5:
Củng cố (3phút)
Nhắc lại cấu trúc rẽ nhánh
dạng thiếu và đủ, cấu trúc
rẽ nhánh có câu lệnh ghép
1HS lên bảng trả
bài 1HS nhận xét
HS: có dạng begin…end
HS: đợc đặt sau else
HS nghe giảng
HS đọc SGK
VD 1: nếu D < 0 thì pt vô nghiệm, nếu không thì có nghiệm x1, x2
VD 2: Nếu N chia
400 d 0 hoặc N chia 4 d 0 và N chia 100 d khác 0 thì SN = 366 nếu không thì SN = 365
HS: nghe bài
III Câu lệnh ghép
Cấu trúc
If <điều kiện> then <câu lệnh 1> else
< câu lệnh ghép>
- Câu lệnh ghép thờng có dạng là:
Begin
< Các câu lệnh>;
end;
IV Một số ví dụ
Ví dụ 1 SGK/ 41
Ví dụ 2 SGK / 41
3 Dặn dò
- Trả lời các câu hỏi trong SGK /46
Trang 17- Làm bài tập 1 49 -> 1.52 SBT/ 22
Soạn:31/10/09 Giảng:2/10/09
Tiết 12
Cấu trúc Lặp
I Mục tiê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
- 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ả đợc thuật toán của 1 số bài toán đơn giản có sử dụng lệnh lặp
- Viết đúng lệnh lặp với số lần biết trớc
- Viết đợc thuật toán của 1 số bài toán đơn giản
II Chuẩn bị
1.Thầy: Bảng phụ, máy tính
2.Trò:
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2 Bài mới
Hoạt động 1
Kiểm tra bài cũ(5phút)
? Thế nào là cấu trúc rẽ nhánh,
viết cấu trúc của rẽ nhánh
dạng thiếu và đủ
Hoạt động 2
Lặp (15 phút)
GV: Yêu cầu HS đọc 2VD
SGK/42 và cho biết chúng có
đặc điểm chung gì
GV: chúng đều thực hiện công
việc lặp
? Cho biết số lần lặp của Bài
toán 1,2
GV: có 2 loại lặp, lặp với số
lần biết trớc và cha biết trớc
? Cấu trúc lặp dùng để làm gì
GV: Cấu trúc lặp đk công việc
lặp khi cha đủ số lần lặp hoặc
khi 1 đk nào đó còn đúng
Hoạt động 3:
Lặp với số lần biết trớc và câu
lệnh For - do (25 phút)
GV treo bảng phụ 2 bài toán
? Điểm giống nhau của 2 thuật
toán là gì
HS lên bảng trả lời
HS đọc ví dụ và trả
lời: đều xuất phát S
từ 1/a và cộng thêm vào S 1/(a+N) với N=1,2,…
HS: bài 1 lặp với số lần biết trớc là 100 bài 2 lặp với số lần cha biết trớc nhng có
đk
HS: là mô tả thao tác lặp gồm lặp số lần biết trớc và lặp với số lần cha biết trớc
HS ghi ý nghĩa
HS: Đều khởi tạo giá
1 Lặp
Cấu trúc lặp dùng để mô tả các thao tác lặp và đợc phân biệt hai loại là lặp với số lần biết trớc và lặp với số lần cha biết trớc
Ví dụ: SGK/ 42
2 Lặp với số lần biết tr ớc và câu lệnh for - do
Cấu trúc:
+ Dạng lặp tiến
For <biến đếm>:=<giá trị đầu>
Trang 18? Ngời ta dùng câu lệnh nào
để mô tả cấu trúc lặp
GV:Có lặp tiến và lặp lùi
GV nêu cấu trúc
? 2 Thuật toán trên, thuật toán
nào là lặp lùi, thuật toán nào là
lặp tiến? vì sao
Gọi 2HS chuyển đổi các bớc
thuật toán thành câu lệnh
GV nêu chú ý
GV: yêu cầu HS đọc VD2 và
cho biết
? giá trị khởi tạo của T là bao
nhiêu
? Vòng lặp tiến hay lùi, chạy
từ đâu tới đâu
? Bài toán này sử dụng những
cấu trúc nào đã học
Hoạt động 4:
Củng cố (5phút)
- ý nghĩa của lặp
- Cấu trúc câu lệnh lặp for - do
trị đầu, đều có câu lệnh giống nhau
HS dùng câu lệnh For - do
HS ghi bài
HS thuật toán 1a lặp tiến, 1b lặp lùi vì giá
trị khởi tạo 1a là từ
gt đầu, 1b là giá trị cuối
HS nêu câu lệnh chuyển đổi
HS ghi bài
HS: T = 0 HS: chạy tiến, chạy
từ M tới N HS: Cấu trúc rẽ nhánh và cấu trúc lặp
to <giá trị cuối> do <câu lệnh>;
+ Dạng lặp lùi
For<biến đếm>:=<giá trị cuối> Donwto <giá trị đầu> do <câu
lệnh>;
Chú ý: SGK/44
Ví dụ: SGK/45
3 Dặn dò
- Làm các bài tập trong SBT/
- Đọc trớc phần 3 bài Cấu trúc lặp
Soạn: 7/11/09 Giảng: 9/11/09
Tiết 13
Cấu trúc Lặp (tiếp)
I Mục tiê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 cha biết trớc
- Mô tả đợc thuật toán của 1 số bài toán đơn giản có sử dụng lệnh lặp
- Viết đúng lệnh lặp với số lần cha biết trớc
- Viết đợc thuật toán của 1 số bài toán đơn giản
II Chuẩn bị
1.Thầy: Bảng phụ, máy tính
2.Trò:
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2 Bài mới Hoạt động của GV Hoạt động của HS Ghi bảng Hoạt động 1 Kiểm tra bài cũ(5phút) ?Trình bày cấu trúc lặp tiến,lùi Hoạt động 2 Lặp với số lần cha biết trớc và câu lệnh white - do(20phút) GV: Treo bảng phụ thuật toán tính tổng- 2 HS lên bảng trả lời 1 Lặp với số lần ch a biết tr ớc
và câu lệnh white - do
Cấu trúc:
White<điều kiện>do<câulệnh>;
Trang 19? Giá trị đầu tiên khởi tạo là
bao nhiêu
? Giá trị cuối cùng của vòng
lặp là bao nhiêu
GV cấu trúc lặp trong ví dụ
trên gọi là cấu trúc lặp White
-do
Yêu cầu HS quan sát hình 7
SGK/46
GVgiới thiệu lệnh white - do
? Cấu trúc trên giống và khác
cấu trúc For - to - do ở điểm
nào
Yêu cầu HS quan sát ví dụ 1
SGK/46
GV:Gọi 1 HS giải thích
Hoạt động 3:
Luyện tập (15 phút)
GV yêu cầu HS làm ví dụ 2
SGK
GV hớng dẫn HS làm
? Dịch nghĩa từng dòng câu
lệnh trong ví dụ trên
Hoạt động 4:
Củng cố (5phút)
? Dùng câu lệnh White - do
trong trờng hợp nào
GV
HS: S = 1/a; N = 0 HS:1/(a+N) < 0.0001
HS nghiên cứu SGK
Là cấu trúc lặp cha biết trớc số lần lặp nhng vẫn có đk giới hạn thao tác lặp 1HS giải thích
1 HS đứng tại chỗ trả
lời
HS dới lớp thực hiện
trong đó:
+ Điều kiện là biểu thức logic + Câu lệnh là 1 câu lệnh đơn hoặc ghép
Ví dụ1: SKG / 46
Ví dụ 2 SGK/48
3 Dặn dò
- Làm các bài tập trong SBT
- Ôn các bài đã học tiết sau kiểm tra 1 tiết
Soạn: 14/11/09 Giảng: 16/11/09
Tiết 14
Kiểm tra 1 tiết
I Mục tiêu
- Kiểm tra các kiến thức cơ bản của chơng 1, 2, 3
- Vận dụng các kiến thức trên vào việc làm bài tập
- Rèn luyện khả năng t duy
II Chuẩn bị
1.Thầy: Đề bài
2.Trò: Ôn các kiến thức đã học
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
2 Đề bài
Phần I Trắc nghiệm (3 đ): Chọn đáp án đúng trong mỗi câu điền vào bảng bên dới
Câu 1 Trong các biểu diễn sau biểu diễn nào là từ khóa trong Pascal
Câu 2 Cho biểu thức đợc biểu diễn trong Pascal nh sau: SQRT(P*(P-A)), đâu là công
thức toán học tơng ứng
A)
-(P.(P
Trang 20Câu 3 Chơng trình dịch có mấy loại
Câu 4 Trong pascal tên đợc đặt phải không đợc quá bao nhiêu kí tự
Câu 5 Tên nào dới đây là tên đợc biểu diễn sai trong pascal
Câu 6 Chơng trình viết bằng Pascal thờng gồm mấy phần
Câu 7 Kiểu Integer thuộc loại kiểu dữ liệu nào dới đây
Câu 8 Dùng thủ tục nào dới đây để nhập dữ liệu vào từ bàn phím
Câu 9 Để màn hình xuất hiện dòng chữ Moi nhap: ta cần viết câu lệnh nào dới đây?
A Write (' Moi nhap:') B Readln (' Nhap:') C Read (' Moi nhap:') D Real(' Nhap:')
Câu 10 Để chạy chơng trình ta ấn tổ hợp phím nào sau khi đã kiểm tra lỗi
Câu 11 Cấu trúc nào kiểm tra đk đúng thì thực hiện câu lệnh, ngợc lại thì bỏ qua
Câu 12 Cấu trúc Uses crt; dùng để khai báo điều gì?
Phần II Phần tự luận (7 điểm)
Câu 1 Tìm và nêu lỗi sai của đoạn chơng trình sau rồi viết lại chơng trình cho đúng
Uses crt;
Begin
Crt;
Realn
End
Câu 2 Viết chơng trình tính
x x neu x
neu x
3 Nhận xét tiết kiểm tra
4 Đánh giá kết quả
Lớp SL Giỏi % SL Khá % SL Trung Bình % SL Yếu %
5 Dặn dò
- Đọc trớc bài 11
Soạn: 21/11/09 Giảng: 23/11/09
Tiết 15
Bài tập và thực hành 2
I Mục tiêu
- Xây dựng chơng trình có cấu trúc rẽ nhánh
- làm quen với các công cụ hiệu chỉnh chơng trình
II Chuẩn bị
1.Thầy: Máy tính
Trang 212.Trò:
III Tiến trình dạy học
1 ổn định tổ chức
………
………
………
………
………
………
………2
Bài mới Hoạt động của GV Hoạt động của HS Ghi bảng Hoạt động 1: Thực hành(35phút) Yêu cầu HS đọc đề bài ? Xác định bài toán ? Yêu cầu HS gõ bài tập vào máy ? Để lu tên chơng trình cần làm gì GV làm mẫu các thao tác cần làm ở mục c, d ? Trình bày thao tác lu chơng trình ? Để thực hiện từng câu lệnh cần làm gì ? Yêu cầu HS thực hiện tếp mục e, f SGK/50 GV hớng dẫn HS làm Hoạt động 2: Củng cố (10phút) ? Nhắc lại cấu trúc rẽ nhánh HS đứng tại chỗ trả lời HS thực hiện gõ bài tập vào máy HS: cần ấn F2 -> gõ tên cần lu HS thực hiện trên máy HS: ấn F2 -> gõ pitago -> ok(save) HS: ấn F7 -> nhập giá trị a, b, c vào máy HS thực hiện trên máy HS: nhắc lại Bài toán: Bộ số Pi - Ta - Go - Xác định bài toán: Input: Cho a, b, c Output: Kiểm tra
- Gõ chơng trình Program pitago;
uses crt;
var a, b, c: integer;
a2, b2, c2 : logint;
Begin clrscr;
write (’a, b,c:’);
readln (a, b, c);
a2: = a; b2: = b; c2: = c;
a2:= a2*a; b2:=b2*b; c2:=c2*c;
if (a2= b2+c2)or(b2= a2+c2)
or (c2= b2+a2) then writeln(’ba so da nhap là
bo so pitago’); readln
End
- Lu chơng trình
ấn F2 -> gõ pitago -> ok(save)
- Thực hiện câu lệnh
ấn F7 -> nhập giá trị a, b, c vào máy
- Vào bảng Debug
Trang 22Yêu cầu HS mở bài Pi ta go
? Yêu cầu HS làm mục g
SGK/50
GV hớng dẫn và uốn nắn
GV gợi ý cho HS tìm kết quả
và giải thích nguyên nhân làm
thay đổi kết quả
? Yêu cầu HS làm mục h
HS trả lời và thực hiện lu
HS thực hiện gõ bài tập vào máy
HS thực hiện thay dãy lệnh trên máy
bo so pitago’); readln
End
Thay
a2: = a*a; b2: = b*b; c2: = c*c;Program pitago;
uses crt;
var a, b, c: integer;
a2, b2, c2 : logint;
Begin clrscr;
write (’a, b,c:’);
Trang 23readln (a, b, c);
a2: = a*a; b2: = b*b; c2: = c*c;
if (a2= b2+c2)or(b2= a2+c2)
or (c2= b2+a2) then writeln(’ba so da nhap lµ
bo so pitago’); readln
Program tim_max;
var a, b, c:integer;
Begin clrscr;
write(’nhap a’); readln(a); write(’nhap b’); readln(b); write(’nhap c’); readln(c); max:=a
if max<b then max:=b;
if max<c then max:= c else max:=a;
writeln(’ gia tri max lµ:’); readln
- LuyÖn tËp cÊu tróc lÆp, chó ý bµi to¸n t×m tæng cña d·y sè
- TiÕp tôc lµm quen víi c¸c c«ng cô phôc vô hiÖu chØnh ch¬ng tr×nh
Trang 242 Bài mới
Hoạt động 1
Trả lời câu hỏi (10 phút)
? Trả lời câu hỏi 1 SGK/50
? Trả lời câu hỏi 2 SGK/50
HS 3 trả lời câu hỏi
2 HS lên bảng làmCả lớp làm ra nháp
và nhận xét
HS cả lớp làm trên máy
HS ghi bài và nghe giảng
Câu 3
var S: real;
a, n:integer;
Begin write(’nhap a’); readln(a);
S := 1/a; n:=0;
White n< 100 do n:=n+1;
S:=S+ 1/(a+n);
writeln (’tong S là’, S:6:4); readln
Y := 0;
for n:=1 to 50 do Y:= Y + n/n+1;
writeln(’gia tri bieu thuc là:’, y:6:4); readln
end
b) var e, i: real;
n:longint;
Begin i:=1/2; n:=2; e:=2+i;
white i > 2* 1E - 6 do Begin