Vào bài mới: - 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ập trình cụ thể để mô tả dữ liệu GV: Có mấy cách mô tả thuật toán?. - Chương trình dịch: là chương tr
Trang 1Tuần: 1, tiết: 1.
- Biết được khái niệm lập trình và ngôn ngữ lập trình
- 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ữ
- Biết được khái niệm chương trình dịch
- 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 CHUẨN BỊ CỦA THẦY VÀ TRÒ:
- Thầy: SGK + Giáo Aùn.
- Trò: SGK.
III TIẾN TRÌNH TIẾT DẠY:
1 Ổn định lớp.
2 Vào bài mới:
- 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ập trình cụ thể để mô tả dữ liệu
GV: Có mấy cách mô tả thuật toán?
HS: Có 3 cách mô tả thuật toán:
- Mô tả bằng ngôn ngữ tự nhiên
- Mô tả bằng sơ đồ khối
- Mô tả bằng ngôn ngữ lập trình
GV: Mô tả thuật toán bằng ngôn ngữ tự nhiên và
bằng sơ đồ khối thì máy có thể hiểu và thực hiện được không?
HS: Máy không thể hiểu và thực hiện được.
GV: Để máy có thể hiểu và thực hiện được thì
chúng ta phải mô tả thuật toán bằng một ngôn ngữ lập trình cụ thể nào đó
GV: Hoạt động để diễn đạt thuật toán thông qua
một ngôn ngữ lập trình được gọi là lập trình
GV: Hãy phát biểu đầy đủ khái niệm lập trình HS: Xem SGK trả lời câu hỏi.
Trang 2- Chương trình dịch: là chương trình có chức năng
chuyển đổi một chương trình được viết bằng ngôn
ngữ bậc cao thành một chương trình có thể thực
hiện được trên máy
*) Thông dịch: Lần lượt dịch và thực hiện từng
câu lệnh
*) Biên dịch: Kiểm tra, phát hiện lỗi và dịch
toàn bộ chương trình nguồn thành một chương trình
thực hiện trên máy
HS: - Gần gủi với ngôn ngữ tự nhiên.
- Có thể thực hiện được trên nhiều loại máy
GV: Máy tính có thể trực tiếp hiểu và thực hiện
được chương trình viết bằng ngôn ngữ lập trình bậc cao hay không?
HS: Không.
GV: Vậy làm thế nào để máy tính có thể hiểu và
thực hiện được chương trình viết bằng ngôn ngữ bậc cao?
HS: Cần có một chương trình dịch để dịch chương
trình viết bằng ngôn ngữ bậc cao sang ngôn ngữ máy sao cho máy có thể hiểu và thực hiện được
GV: Chương trình dịch là gì?
HS: Dựa vào SGK khái niệm chương trình dịch.
GV: Bạn chỉ biết tiếng Việt, người khách du lịch
chỉ biết tiếng Anh, vậy thì để giới thiệu về trường mình cho người khách đó biết bạn có thể thực hiện bằng cách nào?
HS: Trả lời câu hỏi.
- Khái niệm lập trình và ngôn ngữ lập trình
- Có ba loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ lập trình bậc cao
- Khái niệm chương trình dịch
- Có 2 loại chương trình dịch: Thông dịch và biên dịch
4 Dặn dò và BTVN:
Học bài và làm bài tập ở cuối bài học
Trang 4Ngày soạn: 26/08/2012 Ngày day:27/08/2012.
- Biết ngôn ngữ lập trình có 3 thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa Hiểu và phân biệt ba thành phần này
- Biết một số khái niệm: tên, tên chuẩn, tên dành riêng (từ khoá), hằng và biến
- Yêu cầu học sinh ghi nhớ các quy định về tên, hằng và biến trong một ngôn ngữ lập trình Biết cách đặt tên đúng và nhận biết được tên sai quy định
II CHUẨN BỊ CỦA THẦY VÀ TRÒ:
- Thầy: SGK + Giáo Aùn.
- Trò: SGK.
III TIẾN TRÌNH TIẾT DẠY:
1 Ổn định lớp.
2 Kiểm tra bài cũ:
Câu hỏi: Khái niệm lập trình, ngôn ngữ lập trình?
Câu trả lời:
- 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ập trình cụ thể để mô tả dữ
liệu và diễn đạt các thao tác của thuật toán
- Ngôn ngữ lập trình: là một phần mềm dùng để diễn đạt thuật toán thành một chương trình giúp
cho máy hiểu được thuật toán đó
3 Vào bài mới:
1 Các thành phần cơ bản :
Mỗi ngôn ngữ lập trình có ba thành phần cơ bản
là bảng chữ cái, cú pháp và ngữ nghĩa
a) Bảng chữ cái: Bảng chữ cái các ngôn ngữ lập
trình nói chung không khác nhau nhiều Sau đây là
bảng chữ cái của ngôn ngữ Pascal:
•Các chữ cái thường và chữ cái hoa của bảng
chữ cái tiếng Anh:
a b c d ….z và A B C D … Z
•10 chữ số thập phân: 0 1 2 3 4 5 6 7 8 9
•Các kí tự đặc biệt: + - * / = > < [ ] , ; # ^ $
@ & ( ) {} : ‘ _ (dấu cách)
b) Cú pháp: là bộ quy tắc để viết chương trình.
c) Ngữ nghĩa xác định ý nghĩa thao tác cần phải
GV: Có những yếu tố nào dùng để xây dựng nên
ngôn ngữ tiếng Việt?
- Bảng chữ cái tiếng Việt, số, dấu
- Cách ghép các kí tự thành từ, ghép các từ thành câu
- Ngữ nghĩa của từ và câu
GV: Trong ngôn ngữ lập trình cũng vậy, nó cũng
gồm 3 thành phần: Bảng chữ cái, cú pháp và ngữ nghĩa
GV: Bảng chữ cái tiếng Anh gồm những kí tự nào? HS: Thảo luận theo nhóm trả lời câu hỏi.
GV: Hệ thập phân cần bao nhiêu chữ số để biểu
diễn các số và đó là những số nào?
HS: Trả lời câu hỏi.
GV: Kể ra một số kí tự đặc biêt khác.
GV: Hầu hết các ngôn ngữ đều sử dụng dấu cộng
Trang 5thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh
của nó
* Ghi chú:
- Các lỗi cú pháp được chương trình dịch phát hiện
và thông báo cho người lập trình biết Chỉ có các
chương trình không còn lỗi cú pháp mới được dịch
sang ngôn ngữ máy
- Các lỗi ngữ nghĩa khó phát hiện hơn Chương
trình dịch chỉ phát hiện được lỗi cú pháp chứ không
phát hiện được lỗi ngữ nghĩa Phần lớn các lỗi ngữ
nghĩa chỉ phát hiện khi thực hiện chương trình trên
dữ liệu cụ thể
2 Một số khái niệm:
a) Tên:
+) Tên dành riêng: là những tên được ngôn ngữ
lập trình quy định với ý nghĩa riêng xác định (còn
gọi là từ khoá), người dùng không được dùng với ý
nghĩa khác
+) Tên chuẩn: là tên được ngôn ngữ lập trình dùng
với ý nghĩa riêng nào đó, người lập trình có thể
định nghĩa lại để dùng với ý nghĩa khác
+) Tên do người lập trình tự đặt: Tên được đặt tuỳ
ý, nhưng phải tuân thủ các quy tắc sau:
- Không được dài quá 127 kí tự (Turbo pascal) và
không dài quá 255 kí tự (Free Pascal)
- Không được chứa khoảng trắng (dấu cách)
- Không được bắt đầu bằng chữ số
- Không được chứa các kí tự đặc biệt
- Không được trùng với tên dành riêng
b) Hằng và biến:
- 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, gồm có hằng số
(+) để chỉ phép cộng Giã thiết A, B là đại lượng nhân giá trị nguyên và X, Y là đại lượng nhận giá trị thực Khi đó dấu “+” trong biểu thức A+B là cộng 2 số nguyên, còn trong biểu thức X+Y là cộng
2 số thực
GV: Hãy cho biết phát biểu sau đây đúng hay sai?
Vì sao? “Chương trình nguồn bị lỗi cú pháp thì chương trình đích cũng bị lỗi cú pháp”
HS: Trả lời câu hỏi.
GV: Một chương trình mà chương trình dịch không
còn báo lỗi thì chương trình đó đã đảm bảo hoàn toàn đúng hay chưa?
HS: Trả lời câu hỏi.
GV: Trình bày những hiểu biết của em về tên dành
riêng, cho ví dụ
HS: Tham khảo sách giáo khoa trả lời câu hỏi.
GV: Trình bày những hiểu biết của em về tên
chuẩn, cho ví dụ
HS: Tham khảo sách giáo khoa trả lời câu hỏi GV: Trình bày những hiểu biết của em về tên do
người lập trình tự đặt, cho ví dụ
HS: Tham khảo sách giáo khoa trả lời câu hỏi GV: Cho biết các tên do người lập trình tự đặt sau
đây tên nào đúng và tên nào sai:
A; A BC, 6AB, X!Y
HS: Trả lời câu hỏi.
GV: Hằng là gì? Biến là gì?
HS: Tham khảo SGK trả lời câu hỏi.
GV: Cho ví dụ về hằng số học, logic, chuỗi.
Trang 6Học bài và làm bài tập ở cuối bài học.
Trang 7Tuần: 3, tiết: 3.
I MỤC ĐÍCH, YÊU CẦU:
Hệ thống lại các kiến thức đã học ở chương 1
II CHUẨN BỊ CỦA THẦY VÀ TRÒ:
- Thầy: SGK + Giáo Aùn.
- Trò: SGK.
III.TIẾN TRÌNH TIẾT DẠY:
1 Ổn định lớp.
2 Kiểm tra bài cũ:
Câu hỏi: Hằng là gì? Biến là gì? Có những đại lượng hằng nào?
Trả lời: - 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 Gồm
hằng số học, hằng logic và hằng xâu
- Biến là đại lượng được đặt tên và giá trị có thể bị thay đổi trong quá trình thực hiện chương trình
3 Vào bài mới:
Câu 1: Tại sao người ta phải xây dựng các ngôn ngữ lập
trình bậc cao?
Đáp án:
- Ngôn ngữ bậc cao gần với ngôn ngữ tự nhiên hơn,
do đó thuận tiện cho đông đảo người lập trình
- Chương trình viết bằng ngôn ngữ lập trình bậc cao
chạy được trên nhiều loại máy
- Chương trình viết bằng ngôn ngữ lập trình bậc cao
dễ đọc hiểu, dễ hiệu chỉnh và dễ nâng cấp
- Ngôn ngữ bậc cao cho phép làm việc với nhiều kiểu
dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện
cho mô tả thuật toán
Câu 2: Chương trình dịch là gì? Tại sao phải có chương
trình dịch?
Đáp án:
GV: Ghi câu hỏi lên bảng và gọi 1 HS lên
bảng trả lời câu hỏi
HS: Lên bảng trả lời câu hỏi.
GV: Nhận xét, đánh giá và cho điểm.
GV: Ghi câu hỏi lên bảng và gọi 1 HS lên
bảng trả lời câu hỏi
HS: Lên bảng trả lời câu hỏi.
Trang 8khi cần thiết.
- Trình thông dịch lần lượt dịch từng câu lệnh ra ngôn
ngữ máy rồi thực hiện ngay câu lệnh vừa dịch được
hoặc báo lỗi nếu không dịch được
Câu 4: Hãy cho biết điểm khác nhau giữa tên chuẩn và
tên dành riêng? Kể ra 3 tên chuẩn và 3 tên dành riêng
trong ngôn ngữ Pascal
Đáp án: - Tên dành riêng không được dùng với ý nghĩa
đã xác định, tên chuẩn có thể định nghĩa lại và dùng với
ý nghĩa khác
- 3 tên chuẩn: real, integer, sqrt
- 3 tên dành riêng: Program, BEGIN, End.
Câu 5: Hãy nêu quy tắc đặt tên trong Pascal và cho biết
các tên sau tên nào đúng tên nào sai? Tại sao? (theo
quy tắc đặt tên trong Pascal)
A45; A BC; 6ABC, A#BC
Đáp án:
- Quy tắc đăt tên trong ngôn ngữ Pascal:
+ Không được dài quá 127 kí tự (Turbo Pascal) và
không dài quá 255 kí tự (Free Pascal)
+ Không được trùng tên với tên chuẩn
+ Không được chứa dấu cách và các kí tự đặc biệt
+ Không được bắt đầu bằng chữ số
- A45 đúng
- A BC là tên sai, vì có chứa khoảng trắng
- 6ABC là tên sai, vì chứa chữ số đầu tiên
- A#BC là tên sai, vì chứa kí tự đặc biệt
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à chi rõ lỗi
trong từng trường hợp:
a)150.0 b) -22 c) 6,23 d) ‘43’ e)A20
f) 1.06E-15 g) 4+6 h) ‘C i) ‘TRUE”
Đáp án: c, e, h
GV: Ghi câu hỏi lên bảng và gọi 1 HS lên
bảng trả lời câu hỏi
HS: Lên bảng trả lời câu hỏi.
GV: Nhận xét, đánh giá và cho điểm.
GV: Ghi câu hỏi lên bảng và gọi 1 HS lên
bảng trả lời câu hỏi
HS: Lên bảng trả lời câu hỏi.
GV: Nhận xét, đánh giá và cho điểm.
GV: Ghi câu hỏi lên bảng và gọi 1 HS lên
bảng trả lời câu hỏi
HS: Lên bảng trả lời câu hỏi.
GV: Nhận xét, đánh giá và cho điểm.
4 Củng cố: Ghép một câu ở cột 1 và một câu thích hợp ở cột 2 ở bảng sau:
(1) Biên dịch (A) là đại lượng có giá trị không đổ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 bằng
ngôn ngữ lập trình bậc cao
(C) là những đại lượng được đặt tên, dùng để lưư trử giá trị và giá
trị có thể được thay đổi trong quá trình thự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 95 Dặn dò: Làm các bài tập trong sách bài tập và xem trước bài 3-Chương 2.
Trang 10Ngày soạn: 09/09/2012 Ngày dạy: 11/09/2012.
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 một ngôn ngữ lập trình
- Biết cấu trúc của một chương trình đơn giản: Cấu trúc chung, các thành phần
- Nhận biết được các thành phần của một chương trình đơn giản
II Chuẩn bị của thầy và trò:
Thầy: SGK + Giáo Aùn.
Trò: SGK.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Kiểm tra bài cũ:
Câu hỏi: Nêu quy tắc đặt tên trong ngôn ngữ lập trình Pascal?
Trả lời:
- Không được dài quá 127 kí tự (Turbo pascal) và không dài quá 255 kí tự (Free Pascal)
- Không được chứa khoảng trắng (dấu cách)
- Không được bắt đầu bằng chữ số
- Không được chứa các kí tự đặc biệt
- Không được trùng với tên dành riêng
3 Vào bài mới:
Nội dung cần đạt Hoạt động của thầy và trò
1 Cấu trúc của một chương trình:
[<phần khai báo>]
<Phần thân chương trình>
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:
Program <Tên chương trình>;
GV: Cấu trúc của một chương trình bao gồm mấy
phần? Đó là những thành phần nào?
HS: Gồm 2 phần: Phần khai báo và phấn thân
chương trình
GV: Phần nào bắt buộc phải có, phần nào có thể
có hoặc không?
HS: Phần khai báo có thể có hoặc không, phần
thân chương trình bắt buộc phải có
GV: Tên chương trình không bắt buộc phải có,
nếu có thì phải bắt đầu bằng từ khoá Program, còn tên chương trình phải được đặt theo đúng quy tắc của ngôn ngữ lập trình
GV: Mỗi ngôn ngữ lập trình có sẵn một số thư
viện, mỗi thư viện cung cấp cho chúng ta một số chương trình thông dụng Chúng ta phải khai báo sử dụng thư viện trước khi sử dụng các chương trình trong thư viện đó
Trang 11- Khai báo hằng:
Const <Tên hằng> = <Giá trị>;
VD: Const pi = 3.14;
Max = 1000;
Min = 10;
- Khai báo biến:
Var <DS tên biến>:<Kiểu dữ liệu>;
b) Phần thân chương trình:
BEGIN
[<Dãy lệnh>]
END
3 Ví dụ chương trình đơn giản:
Ví dụ 1: Chương trình đưa ra màn hình dòng chữ
“Xin chào các bạn”
Program Vi_du1;
Begin
Clrscr; (* Xoa Man hinh *)
Writeln(‘Chao cac ban!’);
Readln; (*Tam dung CT de xem ket qua *)
End.
Ví dụ 2: Chương trình đưa ra 2 dòng chữ
“Xin chao cac ban!”,
“Moi cac ban lam quen voi Pascal”
Program Vi_du2;
Uses Crt;
Begin
Clrscr;
Writeln(‘Chao cac ban!’);
Writeln(‘Moi cac ban lam quen voi pascal’);
GV: Cách khai báo biến sẽ được học kĩ hơn ở
phần sau
GV: Theo cách biểu diễn trên thì phần thân
chương có thể không có lệnh nào được hay không?
HS: Có.
GV: Phần thân của chương trình có thể có rất
nhiều lệnh phụ thuộc vào chương trình
GV: Ở ví dụ 1 ta có thể bỏ bớt phần nào mà cũng
không ảnh hưởng đến Nội dung cần đạt của chương trình?
HS: Progran Vi_du1;
GV: Hãy chỉ rõ phần nào là phần khai báo, phần
nào là phần thân của chương trình?
Trang 13Tuần 5 tiết 5.
Đề bài dạy: MỘT SỐ KIỂU DỮ LIỆU CHUẨN VÀ CÁCH 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, kí tự, lôgic
- Xác định được kiểu 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ị của thầy và trò:
Thầy: SGK + Giáo Aùn.
Trò: SGK.
III Tiến trình tiết dạy:
1 Ổ định lớp.
2 Kiểm tra bài cũ:
Câu hỏi: Nêu cấu trúc chung của một chương trình? Phần khai báo báo gồm những khai báo nào? Trả lời: + Cấu trúc của một chương trình:
[<phần khai báo>]
<Phần thân chương trình>
+ Phần khai báo bao gồm: Khai báo tên chương trình, khai báo thư viện, khai báo
hằng, khai báo biến
3 Vào bài mới:
GV: Một số kiểu dữ liệu chuẩn là những kiểu nào?
HS: Dựa vào SGK trả lời câu hỏi.
GV: Tập số nguyên là vô hạn và có thứ tự, đếm
được nhưng trong máy tính kiểu nguyên là hữu hạn,
có thứ tự Kiểu số nguyên cho kết quả là số đúng,
nhưng hạn chế về miền giá trị
GV: Các kiểu số thực cho kết quả tính toán là gần
đúng với sai số không đáng kể, nhưng miền giá trị
được mỡ rộng hơn kiểu nguyên Cũng như kiểu
I Một số kiểu dữ liệu chuẩn: Kiểu số nguyên, số
thực, kiểu kí tự, kiểu lôgic
1 Kiểu nguyên:
SGK
2 Kiểu số thực:
SGK
Trang 14giá trị là 0.
GV: Nêu cú pháp khai báo biến?
HS: Dựa vào SGK trả lời câu hỏi.
GV: Hãy khai báo 1 biến KT thuộc kiểu kí tự, 1 biến
Tuoi thuộc kiểu số nguyên Byte, một biến DTB
thuộc kiểu số thực và một biến Dk thuộc kiểu logic
GV: Khi khai báo một biến ta cần quan tâm đến yếu
tố nào:
HS: Bộ nhớ lưu trữ và phạm vi giá trị.
5 Khai báo biến:
- Cú pháp: Var <DS biến>:<kiểu dữ liệu>;
- VD: Var Kt: Char;
Tuoi:Byte;
DTB: Real;
GT: Boolean;
* Một số chú ý khi khai báo biến: SGK
4 Củng cố: Một số kiểu dữ liệu chuẩn, cách khai báo biến.
5 Dặn dò: Xem trước bài học số 6.
KIỂM TRA 15 PHÚT (lần 1)
Đề: Nêu cấu trúc chung của một chương trình? Phần khai báo có thể có những khai báo
nào, viết cú pháp khai báo và cho ví du trong ngôn ngữ lập trình Pascal.
Đáp án:
- Cấu trúc của một chương trình:
[<phần khai báo>]
<Phần thân chương trình>
- Phần khai báo gồm: Khai báo tên chương trình, khai báo thư viện, khai báo hằng, khai báo biến.
+ Khai báo tên chương trình: Program <Tên chương trình>;
Trang 16Ngày soạn: 23/09/2012 Ngày dạy: 24/09/2011, 01/10/2012.
Đề bài dạy: PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
I Mục đích, yêu cầu:
- Kiến thức:
+ Biết được các phép toán thông dụng trong ngôn ngữ lập trình
+ Biết diễn đạt một biểu thức trong ngôn ngữ lập trình
+ Biết được chức năng của lệnh gán
+ Biết được cấu trúc của lệnh gán và một số hàm chuẩn thông dụng trong ngôn ngữ lập trình pascal
- Kĩ năng:
+ Sử dụng được các phép toán để xây dựng biểu thức
+ Sử dụng được lệnh gán để viết chương trình
II Chuẩn bị của thầy và trò:
- Thầy: Sách giáo khoa, giáo án
- Trò: Sách giáo khoa + vở ghi.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Kiểm tra bài cũ:
Câu hỏi: Kể tên các kiểu dữ liệu chuẩn đã học? Cho biết phạm vi, dung lượng lưu trữ một giá trị? Trả lời:
Kiểu Bộ nhớ lưu trữ một giá trị Phạm vi giá trị
- Kiểu nguyên:
3 Vào bài mới:
Hoạt động của thầy và trò Nội dung cần đạt cần đạt
GV: Cho biết các phép toán đối với số nguyên
trong toán học và kí hiệu của nó
HS: Xem SGK trả lời câu hỏi.
GV: Cho biết các phép toán đối với số thực trong
Trang 17toán học và kí hiệu của nó.
HS: Xem SGK trả lời câu hỏi.
GV: Cho biết các phép toán quan hệ và các phép
toán logic?
HS: Xem SGK trả lời câu hỏi.
GV: Cho biết quy tắc viết biểu thức số học?
HS: Xem SGK trả lời câu hỏi.
GV: Cho biết trình tự thực hiện của các phép toán
trong biểu thức?
HS: Xem SGK trả lời câu hỏi.
GV: Cho biết các hàm chuẩn thường dùng trong
Pascal?
HS: Xem SGK trả lời câu hỏi.
GV: Nêu cú pháp của biểu thức quan hệ?
HS: Xem SGK trả lời câu hỏi.
GV: Biểu thức logic đơn giản là gì?
HS: Xem SGK trả lời câu hỏi.
GV: Biểu thức logic là gì?
- Các phép toán quan hệ: <,<=,=,>,>=,< >
- Các phép toán Logic: not, and, or
2 Biểu thức số học:
- Quy tắc viết biểu thức số họ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 qua phải
+ Không được bỏ qua dấu nhân (*) trong tích
- Trình tự thực hiện các 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 qua phải, theo thứ tự: *,/,div,mod,+,-
3 Hàm số học:
- Ví dụ: ‘Tin hoc’ < ‘Tin hoc A’;
x<5;
i+1<=2*j;
Nếu x có giá trị là 3 thì x<5 cho giá trị True Nếu i có giá trị bằng 2 và j có giá trị bằng 3 thì i+1<=2*j cho giá trị là False
5 Biểu thức logic:
- Biểu thức logic đơn giản là biến logic hoặc hằng logic
Trang 18Ngày soạn 07/10/2012 Ngày dạy 09/10/2012.
I Mục đích yêu cầu:
- Kiến thức:
+ Biết ý nghĩa của thủ tục vào/ra chuẩn đối với lập trình
+ Biết được cấu trúc chung của thủ tục vào ra trong ngôn ngữ lập trình Pascal
- Kĩ năng:
+ Viết đúng lệnh vào/ra dữ liệu
+ Biết nhập đúng dữ liệu khi thực hiện chương trình
II Chuẩn bị của thầy và trò:
- Thầy: Sách giáo khoa, giáo án
- Trò: Sách giáo khoa + vở ghi.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Kiểm tra bài cũ:
Câu hỏi: - Nêu quy tắc viết biểu thức số học và trình tự thực hiện các phép toán?
- Nêu các hàm số học thường dùng trong Pascal?
Trả lời:
- Quy tắc viết biểu thức số họ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 qua phải
+ Không được bỏ qua dấu nhân (*) trong tích
- Trình tự thực hiện các 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 qua phải, theo thứ tự: *, /, div, mod, +, -
- Các hàm số học thường dùng: Sqr(x), Sqrt(x), abs(x), ln(x), exp(x), Sin(x), Cos(x).
3 Vào bài mới:
Hoạt động của thầy và trò Nội dung cần đạt GV: Trong các bước để giải một bài toán trong tin
học thì bước xác định bài toán có nghĩa là ta đi xác
định cái gì?
HS: Xác định Input và Ouput của bài toán.
GV: Cho biết cú pháp của thủ tục nhập dữ liệu trong
ngôn ngữ lập trình Pascal
HS: Dựa vào sách giáo khoa trả lời câu hỏi.
GV: Viết 2 thủ tục nhập giá trị cho biến k và 3 biến
a, b, c
HS: Lên bảng viết thủ tục.
GV: Cho biết cú pháp của thủ tục xuất dữ liệu trong
I Các thủ tục vào/ra chuẩn:
1 Nhập dữ liệu vào từ bàn phím:
- Cú pháp:
Read(<Danh sách các biến vào>);
Hoặc Readln(<Danh sách các biến vào>);
- Ý nghĩa: Nhận giá trị được gõ từ bàn phím
và gán cho danh sách các biến (Mỗi biến cách nhau bởi phím cách hoặc phím Enter)
- Ví dụ: readln(k);
Readln(a,b,c);
2 Đưa dữ liệu ra màn hình:
Trang 19ngôn ngữ lập trình Pascal.
HS: Dựa vào sách giáo khoa trả lời câu hỏi.
GV: Thủ tục Write khác với Writeln chỗ nào?
HS: trả lời câu hỏi.
GV: Cho biết kết quả hiện ra màn hình của 2 thủ tục
sau:
Writeln(k:6:2);
Write(a:4,b:4,a+b:8);
Với k=35.6; a=245; b=65;
GV: Hãy xác định dữ liệu vào và ra của bài toán?
HS: Trả lời câu hỏi.
GV: Viết chương trình minh hoa.
HS: Xem, nghe giảng và ghi chép.
- Cú pháp:
Write(<danh sách kết quả ra>); (1)Writeln(<danh sách kết quả ra>); (2)Writeln;
- Ý nghĩa: Thủ tục (1) đưa danh sách kết quả
ra màn hình và con trỏ nằm ngay sau kết quả cuối cùng, thủ tục (2) sau khi đưa danh sách kết quả ra màn hình thì con trỏ xuống đầu dòng tiếp theo, còn thủ tục (3) không ghi gì hết đưa con trỏ xuống một dòng
- Ví dụ:
Write(‘Nhap he so k=’); Readln(k);
Writeln(‘Nhap he so a, b, c:’); Readln(a,b,c);
* Chú ý: Trang 31-SGK
3 Ví dụ áp dụng: Viết chương trình nhập vào 2
số nguyên Tính và in ra màn hình tổng của 2 số nguyên vừa nhập
Writeln('Nhap vao 2 so nguyen duong:');
Write('Nhap vao so nguyen a:'); readln(a); Write('Nhap vao so nguyen b:'); readln(b); S:=a+b;
Write('Tong cua 2 so la:',s:6);
readln;
END.
4 Củng cố: Các thủ tục vào ra chuẩn của Pascal, các bước để viết chương trình.
5 Dặn dò: Làm bài tập 6-10 (trang 36 SGK).
Trang 20Ngày soạn:15/10/2012 Ngày dạy 16/10/2012.
Đề bài dạy: SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH
I Mục đích yêu cầu:
- Kiến thức:
+ Biết các lệnh vào/ra đơn giản để nhập thông tin từ bàn phím và đưa thông tin ra màn hình
+ 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 Turbol Pascal
- Kĩ năng:
+ Viết được một 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
+ 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
II Chuẩn bị của thầy và trò:
- Thầy: Sách giáo khoa, giáo án, máy tính + một chương trình đã được soạn sẵn, máy chiếu.
- Trò: Sách giáo khoa + vở ghi.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Kiểm tra bài cũ:
Câu hỏi:
- Ngôn ngữ lập trình Pascal có những phép toán nào?
- Cú pháp câu lệnh gán trong ngôn ngữ lập trình Pascal được trình bày như thế nào?
- Cho ví dụ về câu lệnh gán trong ngôn ngữ lập trình Pascal
Trả lời:
- Cú pháp và ý nghĩa thủ tục nhập dữ liệu:
+ Cú pháp:
Read(<Danh sách các biến vào>);
Hoặc Readln(<Danh sách các biến vào>);
+ Ý nghĩa: Nhận giá trị được gõ từ bàn phím và gán cho danh sách các biến.
- Cú pháp và ý nghĩa thủ tục xuất dữ liệu:
+ Cú pháp:
Write(<danh sách kết quả ra>); (1)Writeln(<danh sách kết quả ra>); (2)
+ Ý nghĩa: Thủ tục (1) đưa danh sách kết quả ra màn hình và con trỏ nằm ngay sau kết quả
cuối cùng, còn thủ tục (2) sau khi đưa danh sách kết quả ra màn hình thì con trỏ xuống đầu dòng tiếp theo
3 Vào bài mới:
Hoạt động của thầy và trò Nội dung cần đạt GV: Nêu các cách để khởi động Turbo Pascal.
HS: Lăng nghe và ghi bài.
GV: Soạn thảo chương trình là gì?
HS: Gõ Nội dung cần đạt của chương trình.
II Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình:
- Khởi động chương trình:
C1: Nháy đúp vào biểu tượng Turbo Pascal trên
màn hình nền
C2: Vào C:\Program files\TP\BIN\TURBO.EXE
Trang 21GV: Nêu các bước để lưu một chương trình?
HS: Dựa vào SGK trả lời câu hỏi.
GV: Nêu các thao tác biên dịch, đóng cửa sổ chương
trình, thoát khỏi chương trình
HS: Dựa vào SGK trả lời câu hỏi.
GV: Thực hiện khởi động chường trình Turbo Pascal
và soạn chương trình: Nhập vào 2 số nguyên Tính
và in ra màn hình tổng của 2 số nguyên vừa nhập
Thực hiện các thao tác lưu chương trình, kiểm tra,
sửa lỗi và thực hiện chương trình
HS: Theo dõi thực hiện của giáo viên.
- Soạn thảo chương trình: Gõ Nội dung của chương trình
- Lưu chương trình: Nhấn F2 >gõ tên tệp (ko được có dấu cách) > Enter.
- Biên dịch chương trình: Nhấn F9 để kiểm tra
và sửa lỗi cú pháp (nếu có)
- Chạy chương trình: Nhấn tổ hợp phím
Ctrl+F9.
- Đó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: Alt + X.
4 Củng cố: Các thủ tục vào ra chuẩn của Pascal, các bước để viết chương trình.
5 Dặn dò: Làm bài tập 6-10 (trang 36 SGK).
Trang 22Ngày soạn 21/10/2012 Ngày dạy 23/10/2012.
I Mục đích yêu cầu:
- 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ưu trữ, dịch và thực hiện chương trình
II Chuẩn bị của thầy và trò:
- Thầy: SGK + máy chiếu + phòng máy và chuẩn bị trước một số chương trình đơn giản.
- Trò: SGK và xem trước Nội dung cần đạt của bài tập và thực hành 1.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Kiểm tra bài cũ:
Câu hỏi: Cho biết chức năng của các phím và tổ hợp phím sau: F2, F3, Alt+F9, Ctrl+F9, Alt + X Trả lời: - F2 : Lưu chương trình
- F3 : Mở chương trình
- Alt+F9 : Dịch chương trình
- Ctrl+F9 : Chạy chương trình
- Alt+X : Thoát khỏi phần mềm Turbo Pascal
3 Vào bài mới
- Hãy cho biết cú pháp khai báo tên chương trình,
khai báo thư viện, khai báo hằng và khai báo biến?
- Yêu cầu học sinh gõ chương trình Giai_PTB2
trong SGK
- Quan sát và hướng dẫn việc soạn thảo chương trình
của học sinh
- Cú pháp khai báo tên chương trình:
Program <Tên chương trình>;
- Cú pháp khai báo thư viện:
Uses <Tên thư viện>;
- Khai báo hằng:
Const <Tên hằng> = <Giá trị>;
- Khai báo biến:
Var <Danh sách biến> : <Kiểu dữ liệu>;
Trang 23- GV yêu cầu học sinh lưu lại chương trình vừa soạn
thảo với tên PTB2.PAS lên đĩa.
- Yêu cầu học sinh dịch, kiểm tra và sửa lỗi của
chương trình (nếu có)
- GV yêu cầu học sinh chạy thử chương trình với các
bộ đầu vào đã cho trong SGK và quan sát kết quả
nhận được
- GV yêu cầu HS chạy lại chương trình với bộ đầu
vào khác (1, 0, -2)
- 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 với các bộ dữ
liệu như trên
- 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)
- Chạy chương trình với các bộ đầu vào đã cho trong
mục h và I, quan sát kết quả nhận được
d) Nhấn phím Ctrl + F9 để thực hiện chương trình
Nhập các giá trị 1; -3; 2 Quan sát kết quả trên màn hình (x1=1.00; x2=1.41)
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 trên màn hình 1.41; x2=1.41)
(x1=-f) Thay đoạn chương trình
d:=b*b-4*a*c;
x1:=(-b-sqrt(d))/(2*a);
bằng đoạn chương trình:
x1:=(-b-sqrt(sqr(b)-4*a*c))/(2*a);
Thực hiện lại chương trình với bộ dầu vào trên
g) Sửa lại công thức tính
x2:= (-b+sqrt(sqr(b)-4*a*c))/(2*a);
h) Thực hiện chương trình đã sửa với bộ dữ liệu1; -5;
6 Quan sát kết quả hiện 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
4 Củng cố: Khởi động Tubo Pascal, soạn thảot, lưu trữ, dịch và thực hiện chương trình.
5 Dặn dò: Làm bài tập 1-10 trang 35, 36-SGK để chuẩn bị cho tiết bài tập.
Trang 24Ngày soạn: 21/10/2012 Ngày dạy: 24/10/2012.
I Mục đích, yêu cầu:
- Ôn tập các kiến thức đã học: Hằng, biến, các kiểu dữ liệu chuẩn, biểu thức số học, biểu thức quan hệ, biểu thức logic
- Viết được một chương trình hoàn chỉnh đơn giản
II Chuẩn bị của thầy và trò:
- Thầy: SGK + Giáo án.
- Trò: SGK + làm trước các bài tập trang 35, 36-SGK.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Kiểm tra vở bài tập của học sinh.
3 Vào bài mới:
Câu 1: Cho biết sự khác nhay giữa hằng có đặt tên
và biến
Câu 2: Tại sao phải khai báo biến?
Câu 3: (Trang 35-SGK)
Câu 4: (Trang 35-SGK)
- Biến P có thể khai báo bằng kiểu dữ liệu nào?
- Biến X có thể khai báo bằng kiểu dữ liệu nào?
- Vậy lựa chọn nào là lựa chọn đúng?
Câu 5: (Trang 35-SGK)
- Với A có giá trị nguyên nằm trong phạm vi từ 100
đến 200 thì diện tích S của hình vuông nhỏ nhất và
lớn nhất là bao nhiêu?
- Với diện tích S nhỏ nhất là 10000 và lớn nhất là
40000 thì S có thể được khai báo bằng kiểu dữ liệu
nào trong các kiểu dữ liệu đã nêu là đúng và tốn ít
bộ nhớ nhất?
- 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
- Biến là đại lượng có thể bị thay đổi trong quá trình
- Biến P có thể khai báo bởi kiểu số nguyên byte,
integer, word, longint hay kiểu số thực real, extended
- Biến X có thể khai báo bởi kiểu số thực real hoặc
extended
Đáp án đúng là: B, D
- Diện tích S nhỏ nhất là 10000 và lớn nhất là 40000.
- S khai báo thuộc kiểu Word là đúng và tốn ít bộ nhớ nhất Vậy phương án đúng là C.
Trang 25Câu 6: (Trang 35-SGK) Hãy viết biểu thức toán học
dưới đây trong Pascal:
3 1
y x z
a z a
x
+ +
− +
Câu 7: (Trang 36-SGK) Chuyển biểu thức Pascal
thành biểu thức toán học tương ứng:
a) a/b*2; b) a*b*c/2;
c) 1/a*b/c; d) b/sqrt(a*a+b);
Câu 9: (Trang 36-SGK)
- Xác định dữ liệu vào và dữ liệu ra của bài toán
- Diện tích hình gạch chéo bằng nữa diện tích của
hình tròn Vì vậy diện tích của hình gạch chéo là:
) b
c
b d
Uses Crt;
Const g=9.8;
Var h,v:real;
Trang 26Ngày soạn: 23/10/2011 Ngày dạy: 25/10/2011.
I Mục đích, yêu cầu:
- Ôn tập các kiến thức đã học: Hằng, biến, các kiểu dữ liệu chuẩn, biểu thức số học, biểu thức quan hệ, biểu thức logic
- Viết được một chương trình hoàn chỉnh đơn giản
II Chuẩn bị của thầy và trò:
- Thầy: SGK + Giáo án.
- Trò: SGK + làm trước các bài tập trang 35, 36-SGK.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Kiểm tra vở bài tập của học sinh.
3 Vào bài mới:
GV: Cho biết Input và Output của bài toán?
HS: Input: Độ dài 3 cạnh của tam giác.
Output: Diện tích, Chu vi của tam giác
GV: Nêu công thức tính diện tích và chu vi tam giác.
HS: S = p(p−a)(p−b)(p−c) với
c
c b a
p= + +C=2p
GV: Gọi một học sinh lên bảng viết chương trình.
HS: Lên bảng viết chương trình.
GV: Cho biết Input và Output của bài toán?
HS: Input: Thời gian tính bàng giây.
Output: Giời, phút, giây
Trang 27HS: Số giời =8000 div 3600 =2.
Số phút=(8000 mod 3600) div 60=13
Số giây =8000 mod 60=20
GV: Gọi một học sinh lên bảng viết chương trình.
HS: Lên bảng viết chương trình.
GV: Cho biết Input và Output của bài toán?
HS: Input: Độ dài 3 cạnh của tam giác.
Output: Diện tích, Chu vi của tam giác
GV: Gọi một học sinh lên bảng viết chương trình.
HS: Lên bảng viết chương trình.
4 Củng cố: Hằng, biến, các kiểu dữ liệu chuẩn.
5 Dặn dò: Xem lại các bài toán đã giải và xem trước
Trang 28Ngày soạn: 23/10/2012 Ngày dạy: 26/10/2012.
I Mục đích, yêu cầu:
- Ôn tập các kiến thức đã học: Hằng, biến, các kiểu dữ liệu chuẩn, biểu thức số học, biểu thức quan hệ, biểu thức logic
- Viết được một chương trình hoàn chỉnh đơn giản
II Chuẩn bị của thầy và trò:
- Thầy: SGK + Giáo án.
- Trò: SGK + làm trước các bài tập trang 35, 36-SGK.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Kiểm tra vở bài tập của học sinh.
3 Vào bài mới:
GV: Cho biết Input và Output của bài toán?
HS: Input: Độ dài a.
Output: Diện tích phần gạch chéo
GV: Diện tích phần gạch chéo bàng ½ diện tích hình
tròn Hãy nêu công thức tính diện tích phần gạch
GV: Trong bài toán có những hằng và biến nào?
HS: Có hằng số π và biến a,s
GV: Gọi một học sinh lên bảng viết chương trình.
HS: Lên bảng viết chương trình.
Bài 6: 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 được gạch chéo trong hình1 (Kết quả làm tròn đến 4 chữ số thập phân).
Bài 7: Lập trình tính và đưa ra màn hình vận tốc
v khi chạm đất của một vật rơi tự do từ độ cao h,
a -a
a
-a
x y
Trang 29GV: Cho biết Input và Output của bài toán?
HS: Input: Độ cao h.
Output: Vận tốc v lúc chạm đất
GV: Trong bài toán có những hằng và biến nào?
HS: Có hằng số g và biến h,v.
GV: Gọi một học sinh lên bảng viết chương trình.
HS: Lên bảng viết chương trình.
biết rằng v= 2gh, trong đó g là gia tốc rơi tự do và g=9,8 m/s 2 Độ cao h(m) được nhập từ bàn phím.
4 Củng cố: Hằng, biến, các kiểu dữ liệu chuẩn.
5 Dặn dò: Xem lại các bài toán đã giải và xem trước Bài 9: Cấu trúc rẽ nhánh.
Trang 30Ngày soạn: 30/10/2011 Ngày dạy: 01/11/2011.
I Mục đích yêu cầu:
- Hiểu nhu cầu của cấu trúc rẽ nhánh trong việc giải quyết các bài toán
- Hiểu cơ chế hoạt động của câu lệnh rẽ nhánh dạng thiếu và dạng đủ
- Hiểu câu lệnh ghép
- Sử dụng được cấu trúc rẽ nhánh để 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 áp dụng trong một số trường hợp đơn giản
II Chuẩn bị của thầy và trò:
- Thầy: SGK + Giáo án.
- Trò: SGK.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Vào bài mới:
GV: Nêu ví dụ thực tiển có rất nhiều việc chỉ được
thực hiện khi một điều kiện nào đó được thỏa mãn
VD:
- Nếu ngày mai trời nắng Nam sẽ đi đá bóng.
- Nếu ngày mai trời nắng Nam sẽ đi đá bóng,
ngược lại Nam ở nhà xem ti vi.
GV: Yêu cầu học sinh tìm thêm một số ví dụ một
việc nào đó trong thực tiển mà chỉ được thực hiện
khi thỏa một điều kiện nào đó?
HS: Đưa ra các ví dụ.
GV: Nêu cú pháp của câu lệnh rẽ nhánh dạng
khuyết?
HS: Dựa vào SGK trả lời câu hỏi.
GV: Vẽ sơ đồ khối mô tả hoạt động của câu lệnh if
dạng thiếu?
HS: Dựa vào SGK trả lời câu hỏi.
GV: Nêu ý nghĩa của câu lệnh rẽ nhánh dạng
khuyết?
HS: Dựa vào SGK trả lời câu hỏi.
GV: Hãy viết đoạn lệnh sử dụng cấu trúc rẽ nhánh
dạng khuyết tìm giá trị lớn nhất của 2 số a, b được
Nếu thì , ngược lại thì
2 Câu lệnh if-then:
a) Dạng thiếu (khuyết):
- Cú pháp: if <Điều kiện> then <Câu lệnh>;
- Ý nghĩa: Nếu Điều kiện đúng thực hiện câu lệnh sau từ khóa then, nếu điều kiện sai thì bỏ qua câu
lệnh
- Ví dụ:
(vd1) Tìm Max (số lớn nhất) của a, b.
Max:=a;
If Max<b then Max:=b;
Đúng
Sai
Trang 31GV: Nêu cú pháp của câu lệnh rẽ nhánh dạng đủ?
HS: Dựa vào SGK trả lời câu hỏi.
GV: Vẽ sơ đồ khối mô tả hoạt động của câu lệnh if
dạng đủ?
HS: Dựa vào SGK để vẽ sơ đồ khối.
GV: Nêu ý nghĩa của câu lệnh rẽ nhánh dạng đủ?
HS: Dựa vào SGK trả lời câu hỏi.
GV: Hãy viết đoạn lệnh sử dụng cấu trúc rẽ nhánh
dạng đủ tìm giá trị lớn nhất, nhỏ nhất của 2 số được
nhập vào
HS: Viết đoạn chương trình tìm Max, Min.
GV: Lệnh ghép là gì? Nêu cú pháp câu lệnh ghép.
HS: Dựa cào SGK trả lời câu hỏi.
GV: Hãy viết đoạn chương trình tìm Max, min của 2
số a, b nhập vào
HS: Viết đoạn chương trình tìm Max, Min.
(vd2) Kiểm tra số a có phải là số chẵn hay không?
If a mod 2=0 then Write(‘a la so chan’);
b) Dạng đủ:
- Cú pháp: if <Điều kiện> then <Câu lệnh 1>
Else <Câu lệnh 2>;
- Ý nghĩa: Nếu điều kiện đúng thì thực hiện câu
lệnh 1, ngược lại thì thực hiện câu lệnh 2
- Ví dụ:
(1) Tìm Max, Min của a, b:
If a>b then Max:=aElse Min:=b;
(2) Kiểm tra a là chẵn hay lẻ:
If a mod 2=0 then write(‘a la so chan’)Else write(‘a la so le’);
3 Lệnh ghép: là câu lệnh gộp một dãy lệnh.
- Cú pháp: BEGIN
<các câu lệnh>;
Điều kiện Câu lệnh
1
ĐúngSai
Câu lệnh 2
Trang 32Ngày soạn: 30/10/2011 Ngày dạy: 02/11/2011.
I Mục đích yêu cầu:
II Chuẩn bị của thầy và trò:
- Thầy: SGK + Giáo án.
- Trò: SGK.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Vào bài mới:
GV: Gọi một học sinh lên bảng làm bài tập 4-trang
51 SGK
HS: Lên bảng làm bài tập
Bài 1: Bài 4-Trang 51 SGK
a) if (x*x+y*y<=1) then z:=x*x+y*y;
if(x*x+y*y>1) and (y>=x) then z:=x+y;
if(x*x+y*y>1) and (y<x) then z:=0.5;
b) if sqrt(sqr(x-a)-sqr(x-b))>r then z:=x+yElse z:=x+y;
Bài 2: Viết chương trình nhập vào tọa độ 3 đỉnh của
1 tam giác, tinh tọa độ trọng tâm G và in ra màn hình
Writeln('NHAP TAO DO 3 DINH:');
Write('Nhap toa do dinh A:'); Readln(xa,ya); Write('Nhap toa do dinh B:'); Readln(xb,yb); Write('nhap toa do dinh C:'); Readln(xc,yc);
xG:=(xa+xb+xc)/3; yG:=(ya+yb+yc)/3;
Write('Toa do trong tam G=(',xg:2:1,';',yg:2:1,')'); Readln;
END.
Bài 3: Viết chương trình nhập vào độ dài 3 cạnh của
tam giác ABC Kiểm tra xem tam giác tạo bởi 3 cạnh đó là tam giác gì (đều, cân hay thường)
Program Tamgiac;
Uses Crt;
Var a,b,c:real;
BEGIN Clrscr;
Trang 33Write('Nhap do dai 3 canh cua tam giac:');
Trang 34Ngày soạn: 06/11/2011 Ngày dạy: 08/11/2011.
I Mục đích yêu cầu:
- Ôn tập lại cấu trúc rẽ nhánh
- Rèn luyện kỹ năng viết chương trình sử dụng cấu trúc rẽ nhánh
II Chuẩn bị của thầy và trò:
- Thầy: SGK + Giáo án.
- Trò: SGK.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Vào bài mới:
GV: Nêu thuật toán giải phương trình bậc nhất.
GV: Gọi một học sinh lên bảng viết chương trình.
HS: Một học sinh lên bảng, những học sinh còn lại
viết chương trình vào giấy nháp
GV: Nêu thuật toán tìm Max, Min của 2 số a,b.
GV: Gọi một học sinh lên bảng viết chương trình.
HS: Một học sinh lên bảng, những học sinh còn lại
viết chương trình vào giấy nháp
Bài 1: Viết chương trình giải phương trình bậc nhất ax+b=0.
Program Bai10;
Uses Crt;
Var a,b:real;
BEGIN Clrscr;
Writeln('So lon nhat la: ',Max);
Writeln('So nho nhat la: ',min);
Readln;
END.
Trang 35GV: Nêu thuật toán tìm Max của 2 số a,b, c.
HS:
B1: Nhập 2 số thực a, b, c.
B2: Maxa;
B3: Nếu Max<b thì Maxb;
B4: Nếu Max<c thì Maxc;
B5: Kết thúc.
GV: Gọi một học sinh lên bảng viết chương trình.
HS: Một học sinh lên bảng, những học sinh còn lại
viết chương trình vào giấy nháp
Bài 3: Viết chương trình tìm giá trị lớn nhất (Max) của 2 số bất kỳ a, b, c.
If Max<b then Max:=b;
If Max<c then max:=c;
Write('So lon nhat la:',Max);
Readln;
END.
3 Củng cố: Cấu trúc và ý nghĩa của câu lệnh rẽ nhánh.
4 Dặn dò: Xem lại các bài tập đã giải và làm các bài tập sau:
Bài 1 Giả sử giá điện được tính theo từng mức tiêu thụ như sau:
0 đến 100 550
101 đến 150 650
152 trở lên 800Nhập vào số điện tiêu thụ, tính tiền phải trả
Bài 2: Viết chương trình nhập vào 3 số bất kì Kiểm tra xem nó có thể là độ dài của 3 cạnh của tam giác hay không, nếu phải thì tính diện tích, chu vi của nó và in kết quả ra màn hình Ngược lại thông báo
‘Khong phai 3 canh cua mot tam giac’
Bài 3: Viết chương trình giải và biện luận hệ phương trình bậc nhất: ax by c
Trang 36Ngày soạn: 06/11/2011 Ngày dạy: 09/11/2011.
I Mục đích yêu cầu:
- Ôn tập lại cấu trúc rẽ nhánh
- Rèn luyện kỹ năng viết chương trình sử dụng cấu trúc rẽ nhánh
II Chuẩn bị của thầy và trò:
- Thầy: SGK + Giáo án.
- Trò: SGK.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Vào bài mới:
GV: Nêu thuật toán giải.
HS:
B1: Nhập số kw điện tiêu thụ.
B2: Nếu kw<=100 thì TTkw*550, kết thúc
B3: Nếu kw<=150 thì TT100*550+(kw-100)*650
B4: TT100*550+50*650+(kw-150)*800
B4: Kết thúc.
GV: Gọi một học sinh lên bảng viết chương trình.
HS: Một học sinh lên bảng, những học sinh còn lại
viết chương trình vào giấy nháp
GV: Nhận xét, đánh giá, sửa sai (nếu có) và cho
GV: Gọi một học sinh lên bảng viết chương trình.
HS: Một học sinh lên bảng, những học sinh còn lại
Bài 1 Giả sử giá điện được tính theo từng mức tiêu thụ như sau:
0 đến 100 550
101 đến 150 650
152 trở lên 800 Nhập vào số điện tiêu thụ, tính tiền phải trả.
Program Bai8;
Uses Crt;
var kw,TT:longint;
BEGIN Clrscr;
Write('Nhap vao so dien tieu thu:');
Readln(kw);
if kw<=100 then TT:=kw*550 else if kw<=150 then TT:=100*550+(kw-100)*650 else TT:=100*550+(kw-100)*650+(kw-150)*800; Write('Tien dien phai tra la:',TT);
Readln;
END
Bài 2: Viết chương trình nhập vào 3 số bất kì Kiểm tra xem nó có thể là độ dài của 3 cạnh của tam giác hay không, nếu phải thì tính diện tích, chu vi của nó và in kết quả ra màn hình Ngược lại thông báo ‘Khong phai 3 canh cua mot tam giac’.
Program Tamgiac;
Uses Crt;
Var a,b,c,p,cv,dt:real;
Trang 37viết chương trình vào giấy nháp.
GV: Nêu thuật toán tìm Max của 2 số a,b, c.
HS:
B1: Nhập 2 số thực a, b, c.
B2: Maxa;
B3: Nếu Max<b thì Maxb;
B4: Nếu Max<c thì Maxc;
B5: Kết thúc.
GV: Gọi một học sinh lên bảng viết chương trình.
HS: Một học sinh lên bảng, những học sinh còn lại
viết chương trình vào giấy nháp
BEGIN Clrscr;
Write('Nhap vao do dai 3 canh cua tam giac:');
Uses Crt;
Var a,b,c,d,e,f,dd,dx,dy:real;
BEGIN Clrscr;
Trang 38Ngày soạn: 13/11/2011 Ngày dạy: 17/11/2011.
I Mục đích yêu cầu:
- Kiến thức:
+ Biết được ý nghĩa của cấu trúc lặp, cấu trúc chung của lệnh lặp For trong ngôn ngữ lập trình Pascal.+ Biết sử dụng đúng hai dạng lệnh lặp For trong ngôn ngữ lập trình Pascal
- Kỹ năng:
+ 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
+ Bước đầu sử dụng được lệnh lặp For để lặp trình giải các bài toán đơn giản.
II Chuẩn bị của thầy và trò:
- Thầy: Giáo án + SGK.
- Trò: Vở ghi + SGK.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Kiểm tra bài cũ:
Câu hỏi: Nêu cú pháp và ý nghĩa của câu lệnh rẽ nhánh dạng thiếu và đủ.
Trả lời:
- Dạng thiếu:
+ Cú pháp: if <Điều kiện> then <Câu lệnh>;
+ Ý nghĩa: Nếu Điều kiện đúng thực hiện câu lệnh sau từ khóa then, nếu điều kiện sai thì
bỏ qua câu lệnh
- Dạng đủ:
+ Cú pháp: if <Điều kiện> then <Câu lệnh 1>
Else <Câu lệnh 2>;
+ Ý nghĩa: Nếu điều kiện đúng thì thực hiện câu lệnh 1, ngược lại thì thực hiện câu lệnh 2.
3 Vào bài mới:
GV: Trong thực tiễn cũng như trong khoa học, có
nhiều bài toán đòi hỏi phải thực hiện lặp đi lặp lại
một số thao tác nhất định Tuy nhiên số lần lặp có
thể biết trước hoặc không biết trước
GV: Xét bài toán 1 và bài toán 2 (SGK)
GV: Nêu cú pháp của lệnh lặp For dạng tiến?
HS: Dựa vào SGK trả lời câu hỏi.
GV: Nêu cú pháp của lệnh lặp For dạng lùi?
HS: Dựa vào SGK trả lời câu hỏi.
GV: For, to, Downto, do là gì?
HS: Là các từ khóa.
GV: Biến đếm, giá trị đầu, giá trị cuối có thể nhận
những loại dữ liệu nào?
1 Lặp với số lần biết trước For-do:
a) Cú pháp:
- Cú pháp dạng tiến:
For <BĐ>:=<GT đầu> to <GT cuối> do <câu lệnh>;
- Cú pháp dạng lùi:
For<BĐ>:=<GT cuối> Downto <GT đầu> do <câu lênh>;
Trong đó: For, to, Downto, do là các từ khóa Biến
đếm, giá trị đầu, giá trị cuối phải cùng kiểu và thuộc kiểu dữ liệu đếm được (nguyên, char)
Trang 39HS: Dựa vào SGK trả lời câu hỏi.
GV: Cho biết ý nghĩa của câu lệnh lặp For-do?
HS: Dựa vào SGk trả lời câu hỏi.
GV: Số lần lặp =0 khi nào?
HS: Dựa vào SGK trả lời.
GV: Số lần lặp được tính như thế nào?
HS: Trả lời câu hỏi.
GV: Yêu cầu học sinh viết chương trình in ra màn
hình 10 dòng chữ ‘chao cac ban’ có sử dụng vòng
lặp For-do
HS: Viết chương trình vào nháp.
GV: Viết chương trình in ra màn hình 2 hàng số
nguyên: 1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
HS: Soạn chương trình vào nháp.
GV: Kiểm tra học sinh viết chương trình và sửa lỗi
chương trình cho hs (nếu có)
GV: Yêu cầu học sinh Viết chương trình tính tổng
b) Ý nghĩa:
- Ở lặp tiến: Câu lệnh sau từ khóa DO sẽ được thực
hiện tuần tự với biến đếm lần lượt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối
- Ở lặp lùi: Câu lệnh sau từ khóa DO sẽ được thực
hiện tuần tự với biến đếm lần lượt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu
* Ghi chú:
- SLL=0 Khi cận đầu > cận cuối
- SLL= Cận cuối - cận đầu +1 (For tiến)
c) Các ví dụ:
Ví dụ 1: Viết chương trình in ra màn hình 10 dòng
chữ ‘chao cac ban’
END
Ví dụ 2:Viết chương trình in ra 2 hàng số nguyên:
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
Ví dụ 3: Viết chương trình tính tổng các số chẵn từ 1
tới N Với N nhập từ bàn phím
Trang 40Ngày soạn: 20/11/2011 Ngày dạy: 22/11/2011.
I Mục đích yêu cầu:
- Kiến thức:
+ Biết được ý nghĩa của cấu trúc lặp có số lần lặp chưa xác định
+ Biết được cấu trúc chung của lệnh lặp While trong ngôn ngữ Pascal.
+ Biết được sự thực hiện của máy khi gặp lệnh lặp While.
- Kỹ năng:
+ Phân biệt được sự giống và khác nhau giữa cấu trúc lặp For và While.
+ Sử dụng đúng lệnh lặp While trong lập trình.
+ Bước đầu biết lựa chọn đúng dạng lệnh lặp để lập trình giải quyết được một số bài toán đơn giản
II Chuẩn bị của thầy và trò:
- Thầy: SGK + Giáo án.
- Trò: SGK + vở ghi.
III Tiến trình tiết dạy:
1 Ổn định lớp.
2 Kiểm tra bài cũ:
- Câu hỏi: Nêu cú pháp và ý nghĩa của câu lệnh lặp For tiến.
- Trả lời: + Cú pháp: For <BĐ>:=<GT đầu> to <GT cuối> do <Câu lệnh>;
+ Ý nghĩa: B1: Tính giá trị cận đầu, cận cuối.
B2: Gán GT cận đầu cho biến đếm.
B3: Nếu GT biến đếm <=GT cuối thì thực hiện câu lệnh sau từ khóa Do
Ngược lại thoát khỏi vòng lặp
B4: Tắng giá trị biến đếm và quay lại B3.
3 Vào bài mới:
GV: Nêu cú pháp của cấu trúc lặp?
HS: Dựa vào SGK nêu cú pháp cấu trúc lặp.
GV: Nêu ý nghĩa của cấu trúc lặp?
HS: Dựa vào SGK trả lời câu hỏi.
GV: Hãy cho biết SLL=0 khi nào và trong trường
hợp nào thi câu lệnh While lặp vô hạn lần.
HS: Dựa vào sự hoạt động của câu lệnh While trả
lời câu hỏi
2 Cấu trúc lặp với số lần chưa biết trước, câu lệnh lặp While-do (điều kiện trước):
- Cú pháp: While <Điều kiện> do <Câu lệnh>;
- Ý nghĩa:
B1: Tính giá trị của biểu thức điều kiện.
B2: Nếu điều kiện đúng thì thực hiện câu lệnh sau
Do và quay lại bước 1 Ngược lại thoát khỏi While.
- Nhận xét:
+ SLL=0 nếu ngay từ đầu biểu thức điều kiện có giá
trị False.
+ Nếu biểu thức điều kiện luôn có giá trị đúng thì
While sẽ bị Loop (Lặp vô hạn lần) Do đó các câu
lệnh trong While phải có sự tham gia tính toán làm
thay đổi giá trị của biểu thức điều kiện
- Các ví dụ: