Hoạt động của giáo viên Hoạt động của học sinh Biên dịch là: Quá trình dịch toàn bộ chương trình và nó có thể lưu trữ được cả chương trình nguồn - Học sinh quan sát... Hoạt động 1: Kiể
Trang 1III Hoạt động dạy – học
Hoạt động của giáo viên Hoạt động của học sinh
- ổn định tổ chức
- Kiểm tra sĩ số
Mở bài: Tất cả các bài toán sau khi
chúng ta đã xây dựng được thuật
toán( Cách giải) thì chúng ta chọn một
ngôn ngữ để viết ra thuật toán đó làm cho
máy tính có thể hiểu được Việc dùng
ngôn ngữ viết ra bằng lời đó được gọi là
lập trình Để hiểu sâu hơn khái niệm này
chúng ta đi vào bài 1:
1 Hoạt động 1:
Một số khái niệm cơ bản
? Thế nào được gọi là lập trình?
? Có những loại ngôn ngữ lập trình nào?
? Phân biệt ngôn ngữ bậc cao với các
- Học sinh lắng nghe câuhỏi, suy nghĩ và trả lời
- Nhận xét
- Bổ xung
Trang 2* KN 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.
Các loại ngôn ngữ lập trình như: Tubo
pascal 7.0, Tubo C++, Visual Pascal
2.1, Visual C++
Ngôn ngữ lập trình bậc cao khác với
các ngôn ngữ lập trình khác ở chỗ:
+ Chương trình viết bằng ngôn ngữ lập
trình bậc cao không phụ thuộc vào loại
máy
+ Nó phải được dịch sang ngôn ngữ
máy mới có thể thực hiện được
KN Chương trình dịch: Là chương
trình có chức năng chuyển đổi
chương trình viết bằng ngôn ngữ lập
VD: Một người mông và một người
kinh nói chuyện với nhau trong khi đó
người mông không biết tiếng kinh,
người kinh không biết tiếng mông Để
hiểu được 2 người nói gì chúng ta cần
có một người phiên dịch biết cả 2 thứ
- Học sinh nhắc lại kháiniệm câu lệnh, câu lệnhđơn, câu lệnh cấu trúc
+ Câu lệnh diễn tả các thaotác trong các bước của thuậttoán
+ Câu lệnh đơn thực hiệnbước có 1 thao tác
+ Câu lệnh cấu trúc thựchiện bước gồm dãy các thaotác
? Người phiên dịch đó chính là gì?
- Chính là chương trình dịchNếu người mông nói từng câu sau đóngười phiên dịch dịch từng câu sangtiếng kinh cho người kinh và cứ nhưthế cho hết cuộc nói chuyện Cáchnày được gọi là thông dịch
Còn nếu người mông viết tiếng mông
ra một tờ giấy sau đó đưa cho ngườiphiên dịch và người phiên dịch dịchlại ra giấy bằng tiếng kinh và đưa chongười kinh đọc thì cách nói chuyệnnày được gọi là biên dịch
Hoạt động của giáo viên Hoạt động của học sinh
Biên dịch là: Quá trình dịch toàn
bộ chương trình và nó có thể lưu
trữ được cả chương trình nguồn
- Học sinh quan sát
- Ghi chép
Trang 3+ 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 đó
- Về nhà xem SGK
- Học sinh đọc sgk, suynghĩ trả lời câu hỏi
- Có 3 thành phần cơ bản
đó là bảng chữ cái, cúpháp, ngữ nghĩa
VD: Nói đến cú pháp của 1 câu thìgồm chủ ngữ và vị ngữ
VD: 5 + 3 (1)
Và 3,5 + 4,5 (2)Dấu cộng trong 2 phép tính có ý nghĩakhác nhau
ở biểu thức thứ nhất là cộng 2 sốnguyên
ở biểu thức thứ 2 là cộng 2 số thực
IV Đánh giá cuối bài.
a Học sinh biết được:
Học sinh phân biệt được lập trình, chương trình dịch
Biên dịch và thông dịch
Các thành phần cơ bản của ngôn ngữ lập trình
Xác nhận soạn GA ngày tháng năm 2009
Trang 4riêng, tên do người lập trình đặt, hằng, biến và chú thích.
- Phân biệt được tên chuẩn với tên giành riêng và tên tự đặt
- Nhớ các quy tắc về tên, hằng và biến
- Biết đặt tên đúng và nhận biết được tên sai quy định
- Sử dụng đúng chú thích
II Đồ dùng dạy học:
1 Chuẩn bị của giáo viên:
- SGK, GA, tranh, ảnh chưa các vd về tên đúng, sai để hs phân biệt
2 Chuẩn bị của học sinh:
- SGK, vở ghi
III Hoạt động dạy – học
Hoạt động của giáo viên Hoạt động của học sinh
- ổn định tổ chức
- Kiểm tra sĩ số
1 Hoạt động 1: Kiểm tra bài cũ
Câu hỏi: Trình bày khái niệm ngôn ngữ
lập trình, chương trình dịch, phân biệt
giữa biên dịch và thông dịch
*Mục tiêu: Học sinh biết và phân biệt
được một số loại tên: Tên giành riêng, tên
chuẩn, tên do người lập trình đặt
- Học sinh lắng nghe câuhỏi, suy nghĩ và trả lời
- Nhận xét
Hoạt động của giáo viên Hoạt động của học sinh
Trang 5?Mọi đối tượng trong chương trình đều
phải đặt tên Vậy quy ước để đặt tên
trong pascal ra sao?
? Pascal có phân biệt chữ hoa và chữ
thường trong cách đặt tên không?
? Có những loại tên nào?
*Kết luận:
+ Quy ước đặt tên:
- Tên gồm các chữ cái, chữ
số và dấu ghạch dưới
- Bắt đầu bằng chữ cái hoặc
dấu gạch dưới
- Độ dài không quá 127 kí
tự
+ Pascal không phân biệt chữ hoa và
chữ thường trong cách đặt tên.
+ Có 3 loại tên trong pascal
- Tên dành riêng: Là những tên được
ngôn ngữ lập trình quy định dùng với ý
nghĩa xác định( Còn gọi là từ khóa),
người lập trình không được dùng với ý
nghĩa khác
- Tên chuẩn: Là những tên được ngôn
ngữ lập trình quy định dùng với 1 ý
nghĩa nào đó, người lập trình có thể định
nghĩa lại để dùng nó với ý nghĩa khác
- Tên do người lập trình đặt: Là tên
được dùng theo ý nghĩa riêng của từng
người lập trình, tên này được khai báo
trước khi sử dụng Các tên không được
trùng với tên giành riêng
Cho VD sau: Hãy xác định tên dành
riêng, tên chuẩn, tên do người lập
trình đặt.
Program, Abs, Integer, Type, Baitap,
Xctb, Byte, Tong
- HS nghiên cứu sách giáo khoa và trả lời câu hỏi
- Nhận xét, bổ xung
- HS quan sát, ghi chép bài
Xét VD sau và chỉ ra những tên đúng, tên sai? Giải thích
AvCd (1)
A BCDG (2)
14rfg (3)
Cd12 (4)
D#B (5)
_34 (6)
-Các tên đúng: (1),(4),(6) vì tên được bắt đầu bằng các chữ cái hoặc dấu gạch dưới
-Các tên sai: (2),(3),(5) vì tên không được có dấu cách, không bắt đầu bằng số, không có chứa dấu thăng
- Hs đọc lại cách đặt tên, suy nghĩ
- 1 Học sinh lên bảng chỉ
ra các cách đặt tên trong
vd trên
- HS ở dưới nhận xét, bổ xung
- Các tên dành riêng: Program, Type
- Các tên chuẩn: Byte, Integer, Abs
- Các tên do người lập trình đặt:
Baitap, Xctb, Tong
Trang 63.Hoạt động 3:
Hằng, biến và chú thích.
*Mục tiêu: Học sinh biết được các khái
niệm về hằng, biến và chú thích Phân
biệt được hằng và biến Thấy được ý
+ Hằng: Là đại lượng có giá trị không
đổi trong quá trình thực hiện chương
trình Có 3 loại hằng
- Hằng số học: Các số nguyên, số thực,
có dấu hoặc không dấu
- Hằng xâu: Chuỗi các kí tự được đặt
trong cặp dấu nháy đơn
- Hằng lôgíc: Có giá trị đúng(True)
hoặc sai(False)
+ Biến: Là đại lượng được đặt tên
dùng để lưu trữ giá trị và giá trị này
có thể được thay đổi trong quá trình
thực hiện chương trình Các biến dùng
trong chương trình đều phải được khai
báo
+ Chú thích được đặt giữa cặp dấu {}
hoặc(* *) dùng để giải thích cho các
- HS quan sát, ghi chép bài
VD về hằng số học: 70, -36,5
VD về hằng xâu: ‘ Lớp10’; ‘Tin 10’
VD về hằng lôgíc: True
VD về biến: Tong, xyt
VD về chú thích: { lenh nhap dữ liêu}
? Tên biến và tên hằng là tên dànhriêng hay tên chuẩn hay tên do ngườilập trình đặt?
- Tên do người lập trình đặt
? Các lệnh được đặt trong cặp dấu { }
có được pascal thực hiện không?
- Không vì đó là dòng chú thích
- Hằng số: -34567, 1.2E + 4
- Hằng xâu: ‘Baitap’, ‘50’
IV Đánh giá cuối bài.
Các khái niệm: Tên, tên chuẩn, tên dành riêng, tên do người lập trình đặt, biến, hằng, chú thích
Xác nhận soạn GA ngày tháng năm 2009
Tổ trưởng
Trang 8III Hoạt động dạy – học
Hoạt động của giáo viên Hoạt động của học sinh
- ổn định tổ chức
- Kiểm tra sĩ số
Mở bài: Qua những bài học trước, mặc
dù chưa được lập trình trực tiếp trên máy
nhưng cũng giúp cho các em hiểu hơn
phần nào về ngôn ngữ lập trình và các
thành phần của nó
Bài thực hành hôm nay sẽ giúp các em có
thêm hiểu biết sâu hơn về những kiến
- Cho học sinh đọc bài tập 1/13sgk.
Cho 1 số học sinh lên phát biểu ý kiến của
mình dựa trên những gì đã học ở bài 1 và
- Nhận xét
- Bổ xung
Hoạt động của giáo viên Hoạt động của học sinh
Trang 9*Chúng ta phải xây dựng ngôn ngữ lập
trình bâc cao vì:
-Ngôn ngữ lập trình bậc cao gần với
ngôn ngữ tự nhiên, thuận tiện cho đông
đảo người lập trình
-Chương trình viết bằng ngôn ngữ lập
trình bậc cao nói chung không phụ
thuộc vào phần cứng máy tính và một
chương trình có thể thực hiện trên nhiều
loại máy tính khác nhau
-Chương trình viết bằng ngôn ngữ bậc
cao dễ hiểu, dễ hiệu chỉnh và dễ nâng
cấp
-Ngôn ngữ bậc cao cho phép làm việc
với nhiều kiểu dữ liệu và cách tổ chức
dữ liệu đa dạng, thuận tiện cho mô tả
thuật toán
Bài 2: Hãy chọn những biểu diễn
hằng trong những biểu diễn dưới đây.
Bài 3: Hãy chọn những biểu diễn dưới
đây, biều diễn nào là từ khoá trong
pascal.
A END B integer C Real
D sqrt E ‘end’ F Var
*Mục tiêu: Giúp học sinh hiểu được các
từ khoá trong pascal
- Chọn ra đáp án đúng
- HS chú ý và ghi chép bàitập
- Học sinh lắng nghe, liên
hệ bài học trước, phátbiểu
- Byte, bit, kilôbyte,mêgabyte,
- Học sinh 1 phát biểu
- Học sinh 2 phát biểu
- Học sinh suy nghĩ , liên
hệ kiến thức cũ để trảlời
- Gọi 1 hs lên làm bài tập
- Gọi 2 học sinh lên nhậnxét, đánh giá bài làm củabạn
- Nhắc lại kiến thức cũ
- Học sinh suy nghĩ , liên
hệ kiến thức cũ để trảlời
Hoạt động của giáo viên Hoạt động của học sinh
*Cách tiến hành.
? Từ khoá là gì? ( tên dành riêng)
- Hs trả lời câu hỏi lýthuyết
- Gọi 1 hs lên làm bài tập
Trang 10trong những biểu diễn dưới đây.
A ‘ ****’ B -5+9+0 C PpPpPp
D +234.345 E FA334C F (2)
*Mục tiêu: Giúp học sinh hiểu được
các quy ước về tên và cách đặt tên
*Cách tiến hành:
? Các quy ước trong cách đặt tên
? Vậy đáp án nào là đáp án đúng trong
các đáp án trên
Đáp án đúng: C, E.
Bài 5: Phát biểu nào sau đây là
đúng?.
A, Khi cần thay đổi ý nghĩa của 1 từ
khoá nào đó người lập trình cần khai
báo theo ý nghĩa mới
B, Tên do người lập trình đặt không
được trùng với từ khoá nhưng có thể
trùng với tên chuẩn
C, Mọi đối tượng có giá trị thay đổi
trong chương trình đều gọi là biến
D, Trong chương trình tên gọi cũng là
một đối tượng không thay đổi nên cũng
có thể xem là hằng
*Mục tiêu: Giúp học sinh phân biệt
được từ khoá, tên, hằng, biến
- Nhớ lại kiến thức đã học
và trả lời câu hỏi
- HS nhận xét, bổ sung
- Rút ra đáp án đúng
Trang 11Hoạt động của giáo viên Hoạt động của học sinh
Bài 6: Xét một chương trình viết
bằng ngôn ngữ bậc cao được dịch
sang ngôn ngữ máy Điều khẳng định
nào sau đây là đúng.
A Chương trình trên ngôn ngữ máy
chứa ít câu lệnh hơn chương trình ở
ngôn ngữ bậc cao ban đầu
B Số câu lệnh của hai chương trình là
như nhau
C Chương trình trên ngôn ngữ máy
chứa nhiều câu lệnh hơn chương trình ở
ngôn ngữ lập trình bậc cao ban đầu
*Mục tiêu: Giúp học sinh biết được
một số kiến thức về ngôn ngữ bậc cao
và ngôn ngữ máy
*Cách tiến hành:
? Ngôn ngữ nào là ngôn ngữ gần với
ngôn ngữ tự nhiên và ngắn gọn, dễ hiểu
Vậy đáp án nào là đúng trong các đáp
án trên?
Đáp án đúng: Đáp án C.
Bài 6/13sgk:
Biểu diễn nào không phải là biểu
diễn hằng trong các đáp án sau:
- 2 HS lên bảng làm bàitập, nhận xét bài làm củabạn
- Học sinh suy nghĩ trả lờicâu hỏi
- Đó là ngôn ngữ lập trìnhbậc cao
Dựa vào kiến thức đã học vềhằng và các loại hằng để trảlời câu hỏi
IV Đánh giá cuối bài.
- Học sinh hiểu và biết được sự khác nhau giữa ngôn ngữ máy và ngôn ngữlập trình bậc cao Biết phân biệt được hằng, biến, các loại tên
Xác nhận soạn GA ngày tháng năm 2009
Tổ trưởng
Đào Thơ Ngày soạn :
Ngày giảng:
Trang 12Bài 3: Cấu trúc chương trình
1 Chuẩn bị của giáo viên:
- SGK, GA, tranh, ảnh chứa các vd để hs phân biệt
2 Chuẩn bị của học sinh:
- SGK, vở ghi
III Hoạt động dạy – học
Hoạt động của giáo viên Hoạt động của học sinh
- ổn định tổ chức
- Kiểm tra sĩ số
1 Hoạt động 1: Kiểm tra bài cũ
Câu hỏi: Trình bày khái niệm hằng, biến
Cho ví dụ?
- Nhận xét cho điểm
Mở bài: Để viết được 1 bài văn hoàn
chỉnh chúng ta phải nắm chắc được cấu
trúc 3 phần của nó đó là mở bài, thân bài,
kết bài Còn trong pascal để làm được 1
bài tập trên máy tính chúng ta cũng ta
cũng phải nắm được cấu trúc của nó Để
giúp các em hiểu được vấn đề này chúng
ta cùng đi vào bài 3
2 Hoạt động 2:
Cấu trúc chung
*Mục tiêu: Học sinh biết được chương
trình có 2 phần và nội dung của từng
- Học sinh lắng nghe câuhỏi, suy nghĩ và trả lời
- Nhận xét
Hoạt động của giáo viên Hoạt động của học sinh
Trang 13? Tại sao khi viết văn chúng ta phải chia
*Mục tiêu: Học sinh biết được các
thành phần trong phần khai báo và phần
? Khai báo thư viện để làm gì?
? Hãy lấy VD về các khai báo trên?
*Kết luận:
+ Khai báo tên chương trình:
Program < tên chương trình>
-Tên chương trình do người lập trình đặt
theo đúng quy tắc đặt tên
VD: program baitap1;
+ Khai báo thư viện:
- để dễ viết, dễ đọc, dễhiểu
- HS nghiên cứu sách giáokhoa và trả lời câu hỏi
- Nhận xét, bổ xung
VD: < đưa ra bảng phụ> trình chiếutrên máy tính
program Giảiptb2 ; Uses CRT;
Var a, b, c: Real;
D, x1, x2: Real;
Be gin Clrscr;
Write(‘a, b, c’);
Readln( a, b, c);
D : = b*b-4a*c;
If D = 0 then writeln( ‘ pt vonghiem’);
Else Begin x1:= -b – sqrt(D))/ (2*a); x2:= -b +sqrt(D))/ (2*a); writeln(‘x1 =’,x1,‘x2 =’,x2); end;
readln;
end
- Học sinh đọc sgk, suynghĩ trả lời câu hỏi
- Có khai báo tên chươngtrình, khai báo hằng,khai báo biến, khai báothư viện
- Hs chú ý quan sát, lắngnghe, ghi chép
- Lấy các VD khác
- Khai báo thư viện đểchúng ta có các lệnh để làm
Trang 14Trong pascal: Uses : crt;
Trong C++ : Include < stdio.h>
+ Khai báo biến:
- Mọi biến sử dụng trong ct đều phải
khai báo để ct dịch biết để xử lý và lưu
Phần thân ct là một dãy lệnh được đặt
trong cặp từ khoá begin end
4 Hoạt động 4:
VD chương trình đơn giản.
* Mục tiêu: Giúp học sinh biết được
cấu trúc, các thành phần trong ví dụ
* Cách tiến hành:
? Hãy quan sát VD1 và VD2 của ct
pascal và cho biết trong 2 VD trên khác
nhau ở chỗ nào?
trong 2 VD trên thì ở VD1 có phần khai
báo: program < Vi_du>
Còn ở VD2 thì không có phần khai báo
Nhưng 2 VD trên đều có thể thực hiện
được và cho ta kết quả
Việc với màn hình, bàn phím
VD: Sau câu lệnh uses trong pascal cócâu lệnh: clrscr; dùng để xoá mànhình
- HS quan sát, ghi chép bài
- Có thể lấy 1 số VD khác
- HS đọc sgk, suy nghĩ, trảlời câu hỏi
- Chỉ ra VD ở phần 1 thânchương trình
- Quan sát sgk, suy nghĩ,trả lời câu hỏi
- HS khác bổ sung, nhậnxét
IV Đánh giá cuối bài.
Nhắc lại các khái niệm mới
Một chương trình gồm 2 phần
Trang 15Mọi biến trong chương trình đều phải được khai báo, cấu trúc chung của khai báo biến.
Xác nhận soạn GA ngày tháng năm 2009
Trang 16- Biết một số dữ liệu chuẩn : Nguyên, thực, kí tự, lôgic:
- Xác định được kiểu cần khai báo của dữ liệu đơn giản
II Đồ dùng dạy học:
1 Cuẩn bị của giáo viên
- Giáo án : Máy chiếu, máy tính, phông chiếu hoặc bảng < nếu có>
2 Chuẩn bị của học sinh
- Vở nghi, SGK học bài
III Hoạt động dạy – học
Hoạt động của giáo viên Hoạt động của học sinh
- ổn định tổ chức
- Kiểm tra sĩ số
1 Hoạt động 1:
* Mở bài: Tiết trước chung ta đã được
lam quen và biết được cấu trúc của một
chương trình, cách khai báo một
chương trình, gồm có khai báo tên ,
khai báo thư viện , khai báo hằng, khai
báo biến
- Phần thân chương trình là bắt buộc
phải có
* Vậy bài hôm nay chúng ta nghiên
cứu một số kiểu dữ liệu chuẩn Kiểu
nguyên, kiểu thực
- Dữ liệu là thông tin đã được mã hóa
trong máy tinh
2 Hoạt Động 2 :
? Có bao nhiêu kiểu dữ liệu chuẩn
trong ngôn ngữ Pascal
- Lớp trưởng báo cáo sĩ số
Hoạt động của giáo viên Hoạt động của học sinh
? Trong ngôn ngữ Pascal có những
kiểu nguyên nào thường dùng, phạm vi
biểu diễn của mỗi loại ?
? Em hãy lấy 1 số VD
? Trong ngôn ngữ Pascal có những
kiểu số thực nào thường dùng, phạm vi
biểu diễn của mỗi loại
HS : Trả lời
- Có 4 loại : Byte, Word, Integer, Longint
VD : 1 Byte 0…255Integer : - 32768 …32767Word : 0 …65555Longint : -214847 …214847347
HS : Trả lời :
- Có 2 loại : Real, Extended
VD : Real 6 Bety 2.9E-39 …17E38 Extended 10 Bety 3.4E-932…
Trang 17? Trong Pascal có bao nhiêu kiểu ký tự
- Các ký tự có quan hệ so sánh, việc so
sánh dựa trên bảng mã của từng ký tự
- Tên kiểu là : Char
- Miền giá trị là ký tự trong bảng mã
- Tên kiểu : Boolean
- Miền giá trị : Chỉ có 2 giá trị là TRUE ( đúng) hoặc FALSE ( sai)
- Một số ngôn ngữ có cách
tả các giá trị lôgic = cách sau
- Khi viết chương trìnhbằngnhững lập trình nào thì cần tìm hiểu đặc trưng củacác kiểu dữ liệu ngôn ngữ đó
Hoạt động của giáo viên Hoạt động của học sinh
3 Hoạt Động 3
Khai báo biến
? Em hãy cho biết cách khai báo trong
ngôn ngữ lâpj trình Pascal ntn ?
- Pascal : VAR < danh sách
biến> < kiểu dữ liệu >
? Em hãy lấy 1 số vĩ dụ về cách khai
báo biến ?
HS suy nghĩ trả lời
VD1 : Giải phương trình bậc 2
ax2 + bx + c = 0VAR : a,b,c,x1,x2 : real;
VD 2 : Để tính chu vi diện tích của mộttam giác ?
Trang 18- Nhắc lại các kiểu dữ liệu đơn giản hay dùng
- Cho về nhà 1 số vĩ dụ về việc lưu trữ DL trong cuộc sống và yêu cầuhọc sinh tìm hiểu kiểu dữ liệu tương ứng
Xác nhận soạn GA ngày tháng năm 2009
Bài 6 : các phép toán biểu thức câu lệnh gán
I.Mục đích, yêu cầu
Trang 19Hoạt động của giáo viên Hoạt động của học sinh
ổn định lớp
Kiểm tra sĩ số
Kiểm tra bài cũ
Hỏi : Có bao nhiêu kiểu dữ liệu chuẩn
trong ngôn ngữ Pascal và lấy vĩ dụ về
cách khai báo biến ?
- Nhận xét và cho điểm
Đặt vấn đề : Trong khi viết chương
trình ta thường phải thực hiện các phép
toán, thực hiện các so sánh, để quyết
định xem làm việc gì ? Vậy chương
trình ta phải viết như thế nào ? có giống
ngôn ngữ của tự nhiên hay không ? ta
đi tim hiểu bài mới
Hoạt động của giáo viên Hoạt động của học sinh
? Những phép toán trong lập trình
pascal ta viết như thế nào ?
? Các phép toán quan hệ được viết như
Mục tiêu : HS biết được khái niệm về
biểu thức số học và biểu thức lôgic, biết
- Kiểu thực lôgic
HS lắng nghe và ghi bài
Trang 20ĐVĐ : Trong toán học ta đã làm quen
với một số hàm số học, hãy kể tên một
VD 3 : ((x+y)/ 1-(2/z)+ (x*x)/ (2*z))
HS Trả lời :
- Hàm trị tuyệt đối, hàm cănbậc 2, hàm sin, hàm cos…Viết bằng NN lập trình :
(-b + Sqrt(b*b-4 * a * c))/ (2*a)Hoặc : (-b+sqrt(sqr(b)-4*a*c))/(2*a)
Hoạt động của giáo viên Hoạt động của học sinh
4.Hoạt Động 4
Biểu thức quan hệ
ĐVĐ : Khi 2 biểu thức liên kết với
nhau bằng phép toán quan hệ ta được
biểu thức mới, biểu thức đó gọi là biểu
thức gì ? Hãy lấy 1 vi dụ về biểu thức
ĐVĐ : Các phép toán liên kết với nhau
bởi phép toán lôgic gọi là biểu thức
< Biểu thức 1> <Phép toán quan hệ>
<Biểu thức 2>
Trả lời :
- Tính giá trị các biểu thức
- Thực hiện các phép toán quan hệ
HS suy nghĩ trả lời :
VD : ( a>b) or (x+1) < y) (5>2) and ((3+2)<7)
HS trả lời :
VD : x1 := (-b-Sqrt(b*b-4*a*c))/(2*a) i:=i+1;
Trang 21VI.Đánh giá cuối bài
- Nhắc lại một số khái niệm mới
Xác nhận soạn GA ngày tháng năm 2009
Bài 7,8 : Các thủ tục vào/ra đơn giản
Soạn thảo, dịch, thực hiện và hiệu chỉnh ct
I Mục đích yêu cầu:
- Biết các lệnh vào, ra đơn giản để nhập thông tin từ bàn phím và đưathông tin 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 và thực hiện, hiệu chỉnh chương trình
- Biết một số công cụ của môi trường pascal
- Bước đầu sử dụng được chương trình để 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ủachương trình dịch và tính hợp lý của kết quả thu được
II Đồ dùng dạy học:
1 Chuẩn bị của giáo viên:
- SGK, GA, tranh, ảnh chứa các vd để hs phân biệt
2 Chuẩn bị của học sinh:
- SGK, vở ghi
III Hoạt động dạy – học
Hoạt động của giáo viên Hoạt động của học sinh
- ổn định tổ chức
- Kiểm tra sĩ số
1 Hoạt động 1: Kiểm tra bài cũ
Câu hỏi: Cấu trúc của câu lệnh gán, khi
viết câu lệnh gán cần chú ý điều gì?
- Nhận xét cho điểm
2 Hoạt động 2:
Nhập dữ liệu vào từ bàn phím.
Khi giải quyết một bài toán, ta phải đưa
- Lớp trưởng báo cáo sĩsố
- Học sinh lắng nghe
- HS lên bảng trả lời
Trang 22liệu cố định Để chương trình giải quyết
được nhiều bài toán hơn, ta phải sử dụng
thủ tục nhập dữ liệu
? Cấu trúc chung của thủ tục nhập dữ liệu
trong pascal dùng để nhập giá trị cho biến
- Học sinh đọc sách giáokhoa, suy nghĩ, trả lời câuhỏi
Hoạt động của giáo viên Hoạt động của học sinh
Trang 23* Chú ý: Khi nhập dữ liệu vào từ bàn
phím 2 lệnh trên có ý nghĩa như nhau,
thường dùng READLN hơn vì nó luôn
chờ gõ phím enter.
*VD: Khi viết ct giải ptb1: ax + b = 0 ta
phải nhập vào các đại lượng nào? Viết
lệnh nhập?.
Chiếu một chương trình đơn giản
có lệnh nhập dữ liệu của nhiều
biến lên cho học sinh quan sát và
nhận xét
? Khi nhập giá trị cho nhiều biến ta
phải thực hiện như thế nào?
3.Hoạt động 3:
Đưa dữ liệu ra màn hình.
Sau khi xử lí xong, kết quả được lưu
trong bộ nhớ Để thấy được kết qủa trên
màn hình ta sử dụng thủ tục xuất dữ
liệu
? Cấu trúc của thủ tục xuất dữ liệu?
? Chức năng của 2 lệnh trên?
? Sự khác nhau giữa hai lệnh write và
chữ và đưa con trỏ xuống dòng
*VD: Khi viết ct giải ptb1 ta phải đưa
ra màn hình nghiệm của pt là x = -b/a.
Lệnh này được viết ntn?
* Chiếu 1 ct pascal đơn giản cho hs
thấy kết quả và cho hs thấy sự khác
- Hs lắng nghe, ghi chép
- Ta phải nhập vào 2 biến:
a, b
Lệnh nhập READLN( a, b);
- Các giá trị này phải cách nhau ítnhất 1 dấu cách hoặc một dấu xuốngdòng
- HS đọc sgk, suy nghĩ, trảlời câu hỏi
- HS so sánh, phân biệtđược sự khác nhau của 2lệnh trên
-Writeln( ‘ no của pt la’, -b/a);
Trang 24nhau giữa 2 lệnh write và writeln
-Biên dịch chương trình: Alt + F4
-Soát lỗi chương trình: F9
-Chạy chương trình: Ctrl + F9
-Đóng cửa sổ chương trình: 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 Tp: Alt + X
- GồmThanh bảng chọn,tên chương trình, con trỏsoạn thảo, dòng cột
- HS quan sát ghi chép
IV Đánh giá cuối bài.
Lấy 1 VD đơn giản lập trình trực tiếp trên máy cho hs quan sát
Nhắc lại sự hoạt động của Write/writeln, Read/ Readln
Xác nhận soạn GA ngày tháng năm 2009
Tổ trưởng
Đào Thơ
Trang 25- 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 tubopascal hoặc freepasacltrong việc soạn thảo văn bản, dịch và thực hiện chương trình
III Hoạt động dạy – học
Hoạt động của giáo viên Hoạt động của học sinh
- Biết soạn một chương trình
- Biết lưu, biên dịch, thực hiện chương
Hoạt động của giáo viên Hoạt động của học sinh
Trang 26write( ‘ x1= ’, x1:6:2, ‘x2 = ’, x2: 6: 2);
readln
end.
* Chiếu chương trình lên bảng.
? Lưu chương trình ta thực hiện lệnh
+ Hỏi: Vì sao có lỗi xuất hiện?
+ Sửa lại chương trình không dùng biến
D
+Sửa lại chương trình với công thức
tính x2
+ Thực hiện chương trình đã sửa nhập
vào 1 -5 6 thông báo kết quả ra
màn hình
+ Thực hiện chương trình với dữ liệu
nhập vào 1 1 1 thông báo kết quả
ra màn hình
2.Hoạt động 2:
Tổ chức cho học sinh làm và giải
quyết các thắc mắc của học sinh.
- Cho học sinh thực hiện các yêu cầu từ
b đến i để hiểu hơn về một chương trình
pascal đơn giản và các cách lưu chương
trình, dịch chương trình, trở lại chương
- Soạn thảo chương trìnhvào máy
ấn F2Alt + F9Ctrl + F9x1 = 1.00 x2 = 2.00
EnterCtrl + F9Thông báo lỗi
Vì do căn bậc 2 của một số âmReadln( a, b, c);
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);
x2: = -b/a – x1;
x1= 2.00 ; x2= 3.00
- Học sinh nhớ lại kiếnthức đã học để hoànthành các câu hỏi và cácyêu cầu trong bài tậpthực hành
-Hoạt động của giáo viên Hoạt động của học sinh
trình, các sự thay đổi khi nhập vào bàn
phím các giá trị khác nhau
Quan sát học sinh thực hành, giải
quyết các vướng mắc trong quá trình
- Học sinh lần lượt thực hiện các yêucầu, nếu chưa nghĩ ra cách giải hay
Trang 27làm bài và thao tác trên máy của học
sinh
- Chiếu lên bảng lần lượt các ý của bài
tập để học sinh thấy được kết quả đúng
và rút ra cái chưa được trong bài lam
của mình
chương trình chưa chạy thì phải hỏi lạigiáo viên
IV Đánh giá cuối bài.
- Các bước hoàn thành 1 chương trình
- Phân tích bài toán để xác định dữ liệu vào, dữ liệu ra
- Xác định thuật toán
- Soạn chương trình vào máy
- Lưu trữ chương trình
- Biên dịch chương trình
- Thực hiện và hiệu chỉnh chương trình
Xác nhận soạn GA ngày tháng năm 2009
Trang 281 Chuẩn bị của giáo viên:
- SGK, GA, các bài tập
2 Chuẩn bị của học sinh:
- SGK,SBT, vở ghi
III Hoạt động dạy – học
Hoạt động của giáo viên Hoạt động của học sinh
- Cho học sinh đọc bài tập 1/35sgk.
Cho 1 số học sinh lên phát biểu ý kiến của
mình dựa trên những gì đã học ở các bài
trước
- Nhận xét những ý kiến trên và bổ xung
những điều còn thiếu
* Sự khác nhau giữa hằng có đặt tên và
biến là: Xét về mặt lưu trữ giá trị của
hằng và biến trong RAM thì giá trị trong
ô nhớ của hằng có đặt tên là không thay
đổi, còn giá trị trong ô nhớ của biến thì
có thể thay đổi được tại từng thời điểm
Trang 29Bài 2: Tại sao phải khai báo biến.
Khai báo biến nhằm các mục đích sau:
- Xác định kiểu của biến Trình dịch sẽ
biết cách tổ chức ô nhớ chứa giá trị của
biến
- Đưa tên biến vào danh sách các đối
tượng được chương trình quản lý
- Trình dịch biết cách truy cập giá trị
của biến và áp dụng thao tác thích hợp
a X, P: Byte; b Var P, X: Real;
c Var P: Real; d Var X: Real;
X: Byte; P: byte;
Đáp án :
Khai báo đúng là: Câu b, d Tuy nhiên
khai báo của câu d tốt hơn.
Bài 5: Để tính diện tích S của hình
vuông có cạnh A với giá trị nguyên
nằm trong phạm vi từ 100 đến 200,
cách khai báo S nào dưới đây là đúng
và tốn ít bộ nhớ nhất
a Var S : Integer; b Var S : Real;
c Var S : word; d Var S :
Longint;
e S : Boolean;
Đáp án đúng:Vì cạnh A chỉ nhận giá
trị nguyên trong phạm vi từ 100 đến
200 nên các khai báo b, c, d đều đúng.
Khai báo c là tốt nhất vì tiết kiệm được
bộ nhớ cần lưu trữ.
- HS chú ý và ghi chép bàitập
- Học sinh lắng nghe, liên
hệ bài học trước, phátbiểu
- Học sinh 1 phát biểu
- Học sinh 2 phát biểu
- Học sinh suy nghĩ , liên
hệ kiến thức cũ để trảlời
- Gọi 1 hs lên làm bài tập
- Gọi 2 học sinh lên nhậnxét, đánh giá bài làm củabạn
Trang 30Bài 6: Hãy Viết biểu thức toán học
dưới đây trong pascal.
( 1 + z)
3
1 1
y x z a
Bài 7: Hãy chuyển biểu thức trong
pascal dưới đây sang biểu thức toán
Bài 8: Hãy viết biểu thức logic cho
kết quả true khi toạ độ ( x, y) là điểm
Bài 9: Hãy viết chương trình nhập số
a ( a> 0) rồi tính và đưa ra diện tích
phần được ghạch chéo trong hình
- Gọi 1 hs lên làm bài tập
- Gọi 2 học sinh lên nhậnxét, đánh giá bài làm củabạn
- HS liên hệ kiến thức cũ
để làm bài tập
- Nhớ lại các cách viết từtoán học sang pascal vàngược lại Các hàm đãhọc
- Học sinh đọc và quan sátcác hình vẽ trong sgk
- Nhớ lại kiến thức đã học
và trả lời câu hỏi
- HS nhận xét, bổ sung
- Rút ra đáp án đúng
Trang 31Hoạt động của giáo viên Hoạt động của học sinh
pascal và được kí hiệu là Pi Giá trị của
vật rơi từ độ cao h, biết rằng v =
2 gh, trong đó g là gia tốc rơi tự do
- 2 HS lên bảng làm bàitập, nhận xét bài làm củabạn
- Học sinh suy nghĩ trả lờicâu hỏi
- bài này khai báo hằng là
gì và khai báo như thếnào?
- Khai báo những biến nào
và khai báo như thế nào?
IV Đánh giá cuối bài.
Hiểu được cách viết chương trình sử dụng phép toán cộng, trừ, nhân để tính giá trị biểu thức
Biết khai báo hằng, biến trong các bài tập đơn giản
Xác nhận soạn GA ngày tháng năm 2009
Tổ trưởng
Đào Thơ
Trang 32Ngày giảng:
Tiết 10
Bài 9 : Cấu trúc rẽ nhánh
I Mục đích yêu cầu:
- Hiểu được 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 đủ)
- Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng đểthể hiện được thuật toán của 1 bài toán đơn giản
II Đồ dùng dạy học:
1 Chuẩn bị của giáo viên:
- SGK, GA, tranh, ảnh, máy chiếu
2 Chuẩn bị của học sinh:
- SGK, vở ghi
III Hoạt động dạy – học
Hoạt động của giáo viên Hoạt động của học sinh
- ổn định tổ chức
- Kiểm tra sĩ số
1 Hoạt động 1: Khái niệm rẽ nhánh.
Trong đời sống hàng ngày của các em có
rất nhiều câu nói giả định như:
Nếu chăm chỉ học thì em sẽ được điểm
tốt
Nếu trời mưa thì tôi sẽ không đi chơi,
nếu trời không mưa thì tôi sẽ ở nhà
Và ở trong pascal cũng có các câu nói giả
định như vậy và người ta gọi đó là cấu
- Tính D( Denta)
Trang 33Hoạt động của giáo viên Hoạt động của học sinh
? Có mấy trường hợp xảy ra với D? Với
từng trường hợp hãy kết luận về nghiệm
? Có mấy loại rẽ nhánh đó là những loại
nào? Nêu cấu trúc của từng loại
? ý nghĩa của các câu lệnh?
- Dạng thiếu: Nếu điều kiện đúng thì
câu lệnh được thực hiện, nếu điều kiện
sai thì không thực hiện gì
- Dạng đủ: Nếu điều kiện đúng thì thực
hiện câu lệnh 1, nếu điều kiện sai thì
thực hiện câu lệnh 2
Giáo viên trình chiếu bài toán giải ptb2
và chỉ cho học sinh thấy được dạng đủ
Yêu cầu học sinh chia nhóm và hoạt
động với câu hỏi sau:
Hãy viết câu lệnh dạng đủ và dạng thiếu
của bài toán trên
- HS đã được làm quen với
vd này và trả lời câu hỏi
- Hs lắng nghe, ghi chép
- Dùng câu lệnh if – then
- HS đọc sgk, suy nghĩ, trảlời câu hỏi
- HS chú ý, quan sát trênmáy chiếu hình vẽ củacấu trúc 2 câu lênh dạngthiếu và dạng đủ hình 5
và 6 trang 39 sgk và trảlời câu hỏi
x2: = (- b + sqrt(D))/(2*a);
writeln(‘ x1=’,x1, ‘x2 =’, x2); end;
readln
Trang 34IV Đánh giá cuối bài.
- Nắm được cấu trúc của câu lệnh rẽ nhánh dạng thiếu và dạng đủ
Xác nhận soạn GA ngày tháng năm 2009
Tổ trưởng
Đào Thơ
Trang 351 Chuẩn bị của giáo viên:
- SGK, GA, tranh, ảnh, máy chiếu
2 Chuẩn bị của học sinh:
- SGK, vở ghi
III Hoạt động dạy – học
Hoạt động của giáo viên Hoạt động của học sinh
- Không đi chơi
- Không nấu cơm
?Vậy khi có 1 giả thiết đặt ra mà có
những 3 công việc xảy ra ta phải làm như
thế nào?
Trong pascal cũng xảy ra các trường
hợp này và người ta dùng cặp từ khoá
begin end để nhóm các lệnh lại với
- Lớp trưởng báo cáo sĩsố
- Học sinh lắng nghe
- HS lên bảng trả lời
Trang 36nhau thành 1 lệnh lớn Và người ta gọi
GV chiếu bài toán giải ptb2 lên bảng
cho học sinh thấy, chỉ rõ các lệnh trong
* Lưu ý là cặp từ khoá này là cặp từ
khóa của chương trình con nên đằng
sau end là phải có dấu chấm phẩy
- Ta phải nhóm các côngviệc lại với nhau thành 1công việc
- Hs quan sát, đọc sgk vàtrả lời câu hỏi
- Các câu lệnh trên lànhững câu lệnh đơn
- Hs quan sát trên bảng vàtheo dõi lời giảng củagiáo viên
IV Đánh giá cuối bài.
- Cấu trúc của câu lệnh ghép và một số ví dụ đơn giản
Xác nhận soạn GA ngày tháng năm 2009
Tổ trưởng
Đào Thơ
Trang 37Ngày soạn :
Ngày giảng :
Tiết : 12
Bài 10 : Cấu trúc lặp
I.Mục đích, yêu cầu
- Hiểu nhu cầu cấu trúc lặp, trong biểu diễn thuật toán
- Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước
- Biết vận dụng tính đúng đắn cấu trúc lặp vào tình huống cụ thể
Kiểm tra bài cũ
Hỏi : Viết cấu trúc rẽ nhánh ở dạng
thiếu và dạng đủ của phương trình bậc
2 ax2 +bx + c = 0
ĐVĐ : Tiết trước chúng ta đã học cấu
trúc rẽ nhánh hôm nay chung ta sẽ đ i
vào tìm hiểu cấu trúc lặp như thế nào
trong các bài toán lập trình
1.Hoạt động 1 : Lặp
Đua ra bài toán, yêu cầu học sinh tìm
cách để giả i các bài toán
Bài toán 1: Tính tổng và đưa kết qua ra
màn hình
VD1 : Xét bài toán như sau a>2 là một
số nguyên cho trước
Trang 38Bài toán 2 : Tính tổng
S2=
Cách giải :
- Bắt đầu S được gán giá trị 1/a
- Tiếp theo mỗi lần cộng thêm vào S là
1/ (a+N) với N=1,2,3,
- Với N=100 thì lặp 100 lần nhưng việc
kiểm tra điều kiện thì không biết phải
làm theo cách nào ?
- Trong lập trình có những thao tác phải
lặp lại nhiều lần khi đó ta gọi là cấu
For < biến đếm > : = <giá trị đầu > to <
giá trị cuối> do < câu lệnh >
Lặp ở dạng lùi :
For < biến đếm > : = <giá trị cuối >
dowto < giá trị đầu> do < câu lệnh >
? Thế nào được gọi là biến đơn
? Giá trị đầu và giá trị cuối của biểu
thức được thể hiện như thế nào ?
? Hoạt động của lệnh for và do được
thực hiện như thế nào ?
(SGK T 44)
- Với bài toán 2 : việc cộng thêm dừng khi 1/ (a+N)<0.0001, -> số lần lặp chưabiết
- Lặp với số lần biết trước
- Lặp với số lần không biết trước
VD : For N : = 1 to 100 do
VD : For N:= 100 dowto 1 do
HS trả lời :-Biến đếm là biến đơn, thường có kiểu nguyên
- Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm và giá trị đầu <= giá trị cuối
Nếu giá trị đầu lớn hơn giá trị cuối thì vòng lặp không thực hiện
IV Đánh giá cuối bài
Nhắc lại cấu trúc chung của lệnh For
Ra bài tập về nhà
Xác nhận soạn GA ngày tháng năm 2009
Tổ trưởng
Đào Thơ
Trang 39- Biết được ý nghĩa của cấu trúc lặp có số lần 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 này
- Phân biệt được sự giống và khác nhau củ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 1
số bài toán đơn giản
II Đồ dùng dạy học:
1 Chuẩn bị của giáo viên:
SGK, GA, tranh, ảnh, máy chiếu
2 Chuẩn bị của học sinh:
SGK, vở ghi
III Hoạt động dạy – học
Hoạt động của giáo viên Hoạt động của học sinh
- ổn định tổ chức
- Kiểm tra sĩ số
1 Hoạt động 1: Kiểm tra bài cũ.
CH: Hãy nêu cấu trúc lặp dạng tiến và
dạng lùi, cho ví dụ
- GV nhận xét, cho điểm
2.Hoạt động 2: Lặp với số lần chưa
biết trước và câu lệnh while - do
Xét Bài toán 2 trong sách giáo khoa
trang 42
Đưa nội dung của bài toán này lên máy
chiếu
? Sự khác nhau của bài toán này so với
bài toán ở tiết trước?
? Số lần lặp là bao nhiêu?
? Lặp đến khi nào?
? Cấu trúc của câu lệnh này?
? Sự hoạt động của câu lệnh?
? Sơ đồ của câu lệnh này?
* Cấu trúc:
while< điều kiện> do < câu lệnh>;
Lớp trưởng báo cáo sĩ số.Học sinh lắng nghe
HS lên bảng trả lời
HS quan sát, lắng nghe gợiý
Bài trước: Cho giới hạn N
Bài này: Cho giới hạn S
- Chưa xác định được ngay
- Đến khi điều kiện (1/(a + N)) <0,0001 được thoả mãn
HS chú ý, quan sát trên máy chiếuthuật toán của 2 dạng: dạng tiến vàdạng lùi và trả lời câu hỏi
Trang 40Trong đó:
Điều kiện: thường là biểu thức quan hệ
hoặc logic
Câu lệnh: là một câu lệnh của pascal.
* Hoạt động của câu lệnh
a Khi điều kiện còn đúng thì còn
thực hiện câu lệnh do sau đó
quay lại kiểm tra điều kiện
*Sơ đồ:
Các VD1,2 trong sgk/47,48
ở VD1 là bài lập trình của bài toán trên
Chiếu lên bảng, phân tích cho học sinh
từng bước và trong vòng lặp while – do
những công việc nào cần lặp lại thì
chúng ta cho vào cặp từ khoá begin –
end Còn nếu chỉ có 1 lệnh thì không
B2: nếu 1/(a + N) < 0,0001 thì chuyểnsang bước 5;
- Với VD2 hs đọc và giảithích thuật toán cũngnhư chương trình để hiểuhơn về cấu trúc của câulệnh lặp không xác định
Hs theo dõi chương trình nàytrên máy chiếu và xem cáccâu lệnh của bài toán để hiểuhơn về cấu trúc vòng lặp
- Chú ý ở trong bài lập trình có câulệnh while not – do có nghĩa là:Chừng nào biểu thức 1/(a + N) chưanhỏ hơn 0.0001 thì ta thực hiện cáccâu lệnh
Điều kiện
Sai
Câu lệnh Đúng