Tiến trình bài học: Hoạt động 1: Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình + Hãy xác định Input, Outputcủa bài toán trên.. B1: Kiểm tra tính đúng đắn củacâu lệnh tiếp theo trong
Trang 1Ngày soạn: 01/09/07
I Mục tiêu
+ Kiến thức:
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ợpngữ
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
+ Thái độ: Ham muốn tìm hiểu các ngôn ngữ lập trình.
II Chuẩn bị của giáo viên và học sinh
+ Giáo viên:
+ Học sinh: Đọc trước SGK, xem lại một số kiến thức Tin học lớp 10.
III Phương pháp: Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.
IV Tiến trình bài học:
Hoạt động 1: Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình
+ Hãy xác định Input, Outputcủa bài toán trên
+ Hãy xác định các bước đểgiải bài toán trên
-Hệ thống các bước này chúng
ta gọi là thuật toán Làm thếnào để máy tính điện tử có thểhiểu được thuật toán này ?-Diễn giải: Hoạt động để diễnđạt một thuật toán thông quamột ngôn ngữ lập trình đượcgọi là lập trình
-Các em hãy cho biết kháiniệm về lập trình ?
Bài 1
KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Trang 24’
3’
3’
-Nghiên cứu nội dung trong SGK
và trả lời câu hỏi
ngôn ngữ bâc cao
-Nghiên cứu SGK và trả lời câu
hỏi
+ Chương trình viết bằng ngôn
ngữ máy có thể nạp trực tiếp vào
bộ nhớ và thực hiện ngay
+ Chương trình viết bằng ngôn
ngữ lập trình bậc cao phải được
chuyển đổi thành chương trình
trên ngôn ngữ lập máy thì mới
thực hiện được
-Phải sử dụng một chương trình
dịch để chuyển đổi
Ngôn ngữ bậc cao dễ viết, dễ
hiểu Ngôn ngữ máy khó viết
- Kết quả của hoạt động lậptrình ?
-Ngôn ngữ lập trình gồmnhững loại nào ?
-Theo các em chương trìnhđược viết bằng ngôn ngữ bậccao và chương trình được viếtbằng ngôn ngữ máy khác nhaunhư thế nào ?
-Làm thế nào để chuyển mộtchương trình viết bằng ngônngữ bậc cao sang ngôn ngữmáy ?
-Vì sao không lập trình trênngôn ngữ máy để khỏi mấtcông chuyển đổi khi lập trìnhvới ngôn ngữ bậc cao
- Lập trình là việc sử
dụng cấu trúc dữ liệu vàcác lệnh của ngôn ngữlập trình cụ thể để mô tả
dữ liệu và diễn đạt cácthao tác của thuật toán
Hoạt động 2: Tìm hiểu hai loại chương trình dịch: thông dịch và biên dịch
Trang 3B1: Kiểm tra tính đúng đắn của
câu lệnh tiếp theo trong chương
trình nguồn;
B2: Chuyển lệnh đó thành ngôn
ngữ máy
B3: Thực hiện các câu lệnh vừa
được chuyển đổi
-Nêu vấn đề: Em muốn giớithiệu về trường mình cho mộtngười khách du lịch quốc tếbiết tiếng Anh, có hai cáchthực hiện:
C1: Cần một người biết tiếngAnh dịch từng câu nói của emsang tiếng Anh cho ngườikhách Cách mày gọi lagthông dịch
C2: Em soạn nội dung giớithiệu ra giấy và người phiêndịch dịch toàn bộ nội dung đósang tiếng Anh rồi đọc chokhách nghe Cách này gọi làbiên dịch
-Chương trình dịch gồmthông dịch và biên dịch.a) Thông dịch
B1: Kiểm tra tính đúngđắn của câu lệnh tiếp theotrong chương trình nguồn;B2: Chuyển lệnh đó thànhngôn ngữ máy
B3: Thực hiện các câulệnh vừa được chuyểnđổi
+Biên dịch:
B1: Duyệt, phát hiện lỗi,kiểm tra tính đúng đắncủa các câu lệnh trongchương trình nguồn.B2: Dịch toàn bộ chươngtrình nguồn thành mộtchương trình đích có thểthực hiện trên máy và có
Trang 4nguồ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
thể lưu trữ để sử dụng lạikhi cần thiết
Hoạt động 3(3’): Củng cố kiến thức
-Khái niệm lập trình và ngôn ngữ lập trình
-Các ngôn ngữ lập trình: ngôn ngữ máy, ngôn ngữ bậc cao, hợp ngữ
-Khái niệm chương trình dịch
- Phân biệt được ba thành phần:bảng chữ cái ,cú pháp và ngữ nghĩa
- Phân biệt được tên, hằng và biến biết đặt tên đúng
3 Tư duy và thái độ :
- Tư duy logic
Mỗi ngôn ngữ lập trình có một quyđịnh riêng về những thành phầnnày
Trang 5kí tự như dấu nháy kép(“), dấu sổngược(\), dấu chấm than(!).
- HĐTP3: Giớ thiệu cú pháp
- Cú pháp ngôn ngữ lập trìnhkhác nhau cũng khác nhau ngônngữ pascal dùng cặp từ Begin-End để gộp nhiều lệnh thành mộtlệnh nhưng trong C++ dùng cặp kíhiệu {}
Ví dụ : Xét 2 biểu thức A+B (1)
A,B là các số thực
I+J (2) với I,J là các số nguyênHỏi HS: Về ngữ nghĩa 2 biểu thứctrên có khác nhau không?
- Mỗi nôn ngữ khác nhau cũng cóngữ nghĩa khác nhau
1 Các thành phần
cơ bản
- Mỗi ngôn ngữ lập trìnhthường có ba thànhphần cơ bản là: bảngchữ cái ,cú pháp và ngữnghĩa
a.Bảng chữ cái:Là tập
các kí hiệu dùng để viếtchương trình
b Cú pháp
- Là bộ quy tắc để viếtchương trình
c Ngữ nghĩa
Xác định ý nghĩa thao táccần phải thực hiện, ứngvới tổ hợp kí tự dựa vàongữ cảnh của nó
Tóm lại:
- cú pháp cho biết cáchviết một chương trình
Trang 6xác định ý nghĩa củacác tổ hợp kí tự trongchương trình
- Các lỗi cú pháp đượcchương trình dịch pháthiện và thông báo chongười lập trình biết.chương trình khôngcòn lỗi cú pháp thì mới
có thể dịch sang ngônngữ máy
- Lỗi ngữ nghĩa đượcphát hiện khi chạychương trình
HĐ2: Giới thiệu Tên(15’)
5’
Lắng nghe và ghi chép
- Trong các ngôn ngữ lập trình nóichung,các đối tượng sử dụngtrong chương trình đều phải đặttên để tiện cho việc sử dụng
Việc dặt tên trong các ngôn ngữkhác nhau là khác nhau,có ngônngữ phân biệt chữ hoa,chữthường, có ngôn ngữ không phânbiệt chữ hoa, chữ thường
- Ngôn ngữ lập trình pascal khôngphân biệt chữ hoa chữ thườngnhưng một số ngôn ngữ lập trìnhkhác(như C++) lại phân biệt chữhoa, chữ thường
2 Một số khái niệm
- Mọi đối tượng trongchương trình đều phảiđược đặt tên theo quy tắccủa ngôn ngữ lập trình
- Trong ngôn ngữ turbopascal tên là một dãy liêntiếp không quá 127 kí tựbao gồm: chữ số, chữ cáihoặc dấu gạch dướivà bắtđầu bằng chữ cái hoặcgạch dưới
- Ví dụ : Trong ngôn ngữ
pascal+ Các tên đúng: A, Bre1,-ten,
+ Các tên sai: a bc, 6hgf,x# y,
- Ngôn ngữ lập trình có 3loại tên: tên dành riêng, tênchuẩn, tên do người lậptrình đặt
dành riêng: Là những
tên được ngôn ngữ lậptrình quy định với ý
Trang 75’
5’
nghĩa riêng xác định màngười lập trình khôngđược dùng với ý nghĩakhác
- Tên dành riêng được gọi là
từ khoá
- Ví dụ: một số tên dànhriêng:
- Trong pascal : program,uses, var, const,
- Trong c++: main, include,if,
- * Tên chuẩn: là nhữnh tên
được ngôn ngữ lập trìnhdùng với ý nghĩa nhất địnhnào đó Trong các thư việncủa ngôn ngữ lập trình
cách trước khi sử dụng,không được trùng với têndành riêng
- a,b,c là ba tên dùng để lưu ba hệ
- - Các ngôn ngữ lập trìnhthường có:
- + Hằng số học: số nguyênhoặc số thực
- + Hăng logic: Là cácgiá trịđúng hoặc sai
- Ví dụ ( bảng phụ 2:vd vềhằng sgk trang 12)
- * Biến:Là đại lượng được
đặt tên, dùng để lưu trữ gítrị và giá trị có thể được
Trang 8thay đổi trong quá trìnhthực hiện chương trình
- Biến phải khai báo trướckhi sử dụng
- C Chú thích:
- - Trong khi viết chươngtrình có thể viết các chúthích cho chương trình.Chú thích không làm ảnhhưởng đến chương trình
- Trong pascal chú thíchđược đặt trong {} hoặc (*
*)
- Trong C++ chú thích đặttrong: /* */
HĐ4: Củng cố toàn bài:(4’)
Giáo viên mở một chương trình pascal đơn giản có chứa các thành phần là các khái niệm của bàihọc, nếu không có máy thì sử dụng bảng phụ đẻ chỉ cho HS từng khái niệm trong chương trình
Trang 9- Biết vai trò của chương trình dịch.
- Biết khái niệm biên dịch và thông dịch.
- Biết các thành phần cơ bản của ngôn ngữ lập trình: bảng chữ cái, cú pháp và ngữ nghĩa.
- 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 (từ khóa), hằng và
biến.
2 Về kỹ năng:
- Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể
3 Về tư duy và thái độ:
- Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin
học nhằm giải các bài toán thực tiễn ngày càng phức tạp
- Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằng máy tính điện
tử
II Chuẩn bị của giáo viên và học sinh:
1 Giáo viên: chuẩn bị nội dung để giải bài tập cuối chương và một số câu hỏi trắc nghiệm của
2 Kiểm tra bài cũ.
3 Tiến trình tiết dạy:
5 ‘ - Đọc yêu cầu của câu hỏi
và bài tập cuối chương
trang 13 SGK
- Suy nghĩ để đưa ra
phương án trả lời
- Suy nghĩ, trả lời câu hỏi.
- ĐVĐ: Trước khi giải bài tập
trong SGK, các em tự ôn lạimột số kiến thức mà chúng
ta đã học ở các bài trước dựatrên yêu cầu của câu hỏitrang 13 SGK
- Đặt câu hỏi số 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?
- Chương trình viết bằng
ngôn ngữ bậc cao nóichung không phụ thuộcvà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ềumáy tính khác nhau
Trang 1010 ‘
10’
- Suy nghĩ, trả lời câu hỏi.
- Suy nghĩ, trả lời câu hỏi,
cho ví dụ
- Suy nghĩ, trả lời, giải thích
từng câu hỏi,
- Đặt câu hỏi 2: Chương trình
dịch là gì? Tại sao cần phải
có chương trình dịch?
- Đặt câu hỏi 3: Biên dịch và
thông dịch khác nhau nhưthế nào?
- Phân tích câu trả lời của học
sinh
- Đặt câu hỏi 4: Hãy cho biết
các điểm khác nhau giữa têndành riêng và tên chuẩn?
- Gọi hs trả lời và cho ví dụ
- Phân tích câu trả lời của học
sinh
- Đặt câu hỏi 5: Hãy tự viết ra
ba tên đúng theo quy tắc của Pascal
- Gọi 3 học sinh lên bảng cho
ví dụ về tên do người lập
- 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ềukiêu dữ liệu và cách tổchức dữ liệu đa dạng,thuận tiện cho mô tảthuộc toán
2 Câu 2:
- Chương trình dịch là
chương trình đặc biệt, cóchức năng chuyển đổichương trình được viếttrên ngôn ngữ lập trìnhbậc cao thành chươngtrình thực hiện được trênmáy tính cụ thể
để sử dụng về sau khicần thiết
- Trình thông dịch lần lượt
dịch từng câu lệnh rangôn ngữ máy rồi thựchiện ngay câu lệnh vừadịch được hoặc báo lỗinếu không dịch được
4 Câu 4:
- Tên dành riêng không
được dùng khác với ý
nghĩa đã xác định, tên chuẩn có thể dùng với ý
Trang 11trình đặt
- Nhận xét, sửa chữa, góp ý.
- Đặt câu hỏi 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ễnhằng trong Pascal và chỉ rõtrong từng trường hợp:
a) 150.0b) –22c) 6,23d) ‘43’
e) A20f) 1.06E-15g) 4+6h) ‘Ci) ‘TRUE’
- Nhận xét, giải thích
nghĩa khác
VD:
Tên dành riêng trong
Pascal: program, uses, const,type, var, begin, end
Tên chuẩn: trong Pascal abs,
integer
5 Câu 5: Gợi ý: Trong
Pascal tên (do người lập
trình đặt) được đặt tuântheo các quy tắc sau:
255 kí tự)
- Tuy nhiên, không nên đặt
tên quá dài hay quá ngắn
mà nên đặt sao cho gợi ýnghĩa đối tượng mangtên đó
-Những biểu diễn sau đâykhông phải là hằng trongPascal:
6,23 dấu phẩy phải thaybằng dấu chấm;
A20 là tên chưa rõ giá trị;
4+6 là biểu thức hằng trongPascal chuẩn cũng được coi
là hằng trong Turbo Pascal;
‘TRUE’ là hằng xâu nhưngkhông là hằng lôgic
IV: Hoạt động củng cố 3’
-Ôn lại các khái niệm, các tên
-Chuẩn bị bài Cấu trúc chương trình.
Trang 123 Tư duy – thái độ:
Tư duy logic
Hoạt động 1: Kiểm tra bài cũ.( 10 ‘)
Câu 1: Có mấy loại tên trong ngôn ngữ Pascal ?
Câu 2: Khái niệm hằng và biến ?
Hoạt động 2: Cấu trúc chung.
10’ Cho học sinh đọc phần “ cấu trúc
chung “
Hỏi: “ Cáu trúc chung gồm máy
phần “
Yêu cầu học sinh đọc SGK phần
khai báo Sau đó trả lời câu hỏi
+ Trong phần khai báo có những
phần khai báo
Tập hợp số tựnhiên,nguyên, hữu tỉ, thực
Đọc sách
Bài: CẤU TRÚC CHƯƠNG TRÌNH
Hoạt động 3 Một số kiển dữ liệu chuẩn.
7’ Yêu cầu học sinh nghiên cứu sách
Trả lời các câu hỏi sau:
- Có bao nhiêu dữ liệu chuẩn
trong ngôn ngữ Pascal ?
- Trong ngôn ngữ Pascal, có
những kiểu nguyên nàothương dùng, phạm vi biểudiễn của mỗi loại
- Trong ngôn ngữ Pascal, có
những kiểu thực nào thươngdùng, phạm vi biểu diễn củamỗi loại
- Có 4 kiểu : kiểunguyên, thực, kí tự,lôgic
- Có 4 loại : Byte,word, integer, logint
- Có 2 loại: Real, extended
1.khai báo tên chương
trình
-program <tên chương trình>;
+ Tên chương trình: dongườI lập trình tự đặt.
+ví dụ: program vi_du;
2 Khai báo thư viện
uses <tên các thư viện>
+ ví dụ: trong pascal uses crt;
3 khai báo hằng
const <tên hằng=gía
Trang 134.khai báo biến
var <danh sách biến>;
Hoạt động 4 Khai báo biến.
10’ Yêu cầu học sinh nghiên cứu sách
GK và cho biết vì sao phải khai báo
biến ?
ĐỌC sách
Mọi biến dùng trong chươngtrình đều phải được khai báotên biến và kiểu dữ liệu củabiến Tên biến dùng để xáclập quan hệ giữa biến với địachỉ bộ nhớ nơi lưu giữ giá trịcủa biến
Khai báo biến
Var <danh sáchbiến>:<kiểu dữ liệu>;
• Danh sách biến:SGK
• Kiểu dữ liệu :SGK
Ví dụ: trong chươngtrình ta cần dùng biến akiểu số nguyên, b kiểu
số thựcVar a : integer;
Khai báo x,y,z đúng, H sai
Hoạt động 4 Phần thân chương trình - ví dụ chương trình đơn giản
Dãy lệnh trong phạm vi được xác định bởi cặp dấu hiệu mở đầu và kết thúc
Trong pascal: Thân chương trình có dạng:
BEGIN [< Dãy lệnh>] END.
Ví dụ chương trình đơn giản
- Trong ngôn ngữ pascal: Program vd1;
Begin Write(‘chao cac ban’);
Trang 14Hai chương trình cùng thực
hiệnmột công việcnhưng viết bằng 2
ngôn ngữ khác nhau nên hệ thống
các câu lệnh trong chương trình
cũng khác nhau
Cho học sinh quan sát nhận xét 2 chương trình trong 2 ngôn ngữ khác nhau
End.
- Trong ngôn ngữ C++:
#include
<stdio.h>
main() { pri ntf(“ chao các ban”); }
V – Cũng cố
Xem có mấy loại kiểu dữ liệu chuẩn ?
Cấu trúc khai báo biến ?
VI – BTVN
Mỗi em cho ví dụ về Khai báo biến ( hôm sau trả lời)
V – Cũng cố.
Xem có mấy loại kiểu dữ liệu chuẩn ?
Cấu trúc khai báo biến ?
3 Tư duy – thái độ:
Tư duy logic.
Hoạt động 1: Kiểm tra bài cũ.( 10 ‘)
Câu 1: Nêu cấu trúc chung của một chương trình.
Câu 2: Nêu cấu trúc của các phần khai báo: tên chương trình, hằng, thư viện
Hoạt động 2: Đặt vấn đề.
Trang 15Trong toán học để thực hiện
được tính toán cần phải có các
Đọc sách.
Hoạt động 3 Một số kiển dữ liệu chuẩn.
7’
Yêu cầu học sinh nghiên cứu
sách Trả lời các câu hỏi sau:
- Có bao nhiêu dữ liệu
chuẩn 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.
có những kiểu thực nào
thương dùng, phạm vi biểu
diễn của mỗi loại.
- Có 4 kiểu : kiểu nguyên, thực, kí tự, lôgic.
- Có 4 loại : Byte, word, integer, logint
- Có 2 loại: Real, extended.
Hoạt động 4 Khai báo biến.
10’ Yêu cầu học sinh nghiên
cứu sách GK và cho biết
vì sao phải khai báo
biến ?
ĐỌC sách.
Mọi biến dùng trong chương trình đều phải được khai báo tên biến
và kiểu dữ liệu của biến Tên biến dùng để xác lập quan hệ giữa biến với địa chỉ bộ nhớ nơi lưu giữ giá trị của biến.
Khai báo biến
Var <danh sách biến> :<kiểu dữ liệu>;
• Danh sách biến: SGK
• Kiểu dữ liệu : SGK
Ví dụ: trong chương trình ta cần dùng biến a kiểu số nguyên, b kiểu
số thực Var a : integer;
Xem có mấy loại kiểu dữ liệu chuẩn ?
Cấu trúc khai báo biến ?
VI – BTVN.
Mỗi em cho ví dụ về Khai báo biến ( hôm sau trả lời)
Trang 16Ngày soạn: 01/10/07
I / Mục tiêu dạy học:
1 Kiến thức :
- Biết được các phép toán thông dụng trong NNLT
- Biết cách diễn đạt một biểu thức trong NNLT
- Biết được chức năng của lệnh gán và cấu trúc của nó
- Nắm vững một số hàm chuẩn thông dụng trong NNLT Pascal
2 Kỹ năng:
- Nhận biết được các phép toán để xây dựng biểu thức cho hợp lý.
- Sử dụng được một số lệnh gán khi viết chương trình đơn giản
3 Tư duy và thái độ :
- Phát triển tư duy lôgic, linh hoạt, có tính sáng tạo
- Biết thể hiện về tính cẩn thận chính xác trong tính toán cũng như lập luậnII/ Chuẩn bị của GV & HS:
* Giáo viên:
- SGK, các tranh liên quan đến bài học
- Máy vi tính và máy chiếu Projector (nếu có)
+ Phép toán số học: + , - , *, / , DIV, MOD
+ Phép toán quan hệ: <, <=, > , >=, =, < > , giá trị logic (true hoặc false)
+ Phép toán lôgic: NOT , OR , AND
c) Tiến hành:
9’ Khi viết chương trình ta phải sử
1 Phép toán:
Trang 17trong NNLT hay không?
- Phép DIV, MOD được sử
dụng cho kiểu dữ liệu nào?
- Kết quả của phép toán quan hệ
thuộc kiểu dữ liệu nào?
Suy nghĩ và đưa ra một sốphép toán thường dùng:
Phép cộng, trừ, nhân, chia
Nghiên cứu SGK và chobiết các nhóm phép toán
- Chỉ được sử dụng chokiểu số nguyên
- Kiểu logic
NNLT Pascal sử dụng một sốphép toán như sau:
+ Số nguyên: + , - , *, / ,DIV, MOD
+ Số thực: + , - , *, / , + Phép toán quan hệ: <, <=, >, >=, =, < >
+ Phép toán logic: AND, OR,NOT
2/ Hoạt động 2: Tìm hiểu biểu thức:
a) Mục tiêu: HS cần biết về khái niệm biểu thức số học, biểu thức quan hệ, biểu thức logic và một số
hàm số học
b) Nội dung:
- Biểu thức số học nhận được từ hằng số, biến số và hàm số liên kết
- Nắm bắt được tuần tự các bước khi thực hiện biểu thức số học
- Biểu thức logic được cấu thành từ các biểu thức quan hệ
c) Tiến hành :
22’ - Trong toán học biểu thức là
trong toán học hay không ?
- Treo tranh có chứa các biểu
- Dùng dấu ( ) để qui địnhtrình tự tính toán
VD: ( SGK - 25)
* Chú ý :
Trang 18Yêu cầu: HS sử dụng các phép
toán số học hãy biểu diễn các
biểu thức toán học thành biểu
a
c b
a
+
++
trong các thư viện chương trình
giúp người lập trình tính toán
nhanh hơn
- Treo tranh chứa bảng một số
hàm chuẩn
Yêu cầu: Học sinh điền thêm
một số thông tin với các chức
năng của hàm
- Cho biểu thức
x - 2x+1
x2 - 1
Hãy biểu diễn biểu thức toán
trong biểu thức trong NNLT
-Trong lập trình ta phải so sánh
2 giá trị nào đó trước khi thực
- Quan sát tranh và trảlời :
4*x-2*yx+1/(x-y)
((a+b+c)/((2*a /b)+c)) (b*b-c)/a*c
Hàm trị tuyệt đối, hàmcăn bậc 2, hàm sin
- HS trả lời: 2*x*x+1
- HS chưa trả lời được
Nghiên cứu SGK - 26 vàquan sát tranh vẽ, lênbảng điền tranh
- Suy nghĩ và trả lời:
Thứ tự thực hiện các phéptoán:
+ Trong ngoặc trước, ngoàingoặc sau
+ Nhân, chia, chia nguyên,chia lấy dư trước, cộng, trừsau
3 Hàm số học chuẩn:
Cách viết cho một số hàm sốhọc chuẩn :
Tên hàm (đối số)+ Đối số là một hay nhiềubiểu thức số học đặt trong dấungoặc ( ) sau tên hàm
VD: (SGK - 26)
4 Biểu thức quan hệ:
Cấu trúc chung:
Trang 19hiện lệnh bằng cách sử dụng
biểu thức quan hệ Biểu thức
quan hệ còn gọi là biểu thức so
sánh được dùng để so sánh 2 giá
trị đúng hoặc sai
- Cho một ví dụ về biểu thức
quan hệ
- Kết quả mà phép toán quan hệ
thuộc kiểu dữ liệu nào đã học?
-Biểu thức logic là biểu thức
quan hệ được liên kết với nhau
bởi phép toán logic
- Hãy quan sát ví dụ về biểu
+ Kết quả của biểu thức quan
hệ là TRUE hoặc FALSE
Trang 20- Cấu trúc: Tên biến:= biểu thức
- Giải thích: Lấy 8 cộng với 1,
đem kết quả đặt vào i , ta được
y = 9
- Cần chú ý điều gì khi viết lệnh
gán?
- Phân tích câu trả lời của học
sinh sau đó tổng hợp lại
- Lệnh gán là gì ?
- Minh họa một vài ví dụ khác
khi sử dụng lệnh gán trên bảng
Treo tranh lên bảng và giới
thiệu một ví dụ về Pascal cho
- Vậy chương trên in ra màn
hình giá trị của i và j bằng bao
- Quan sát ví dụ và suynghĩ để trả lời
để gán gái trị cho biến
Trang 21nhiêu ?
- Quan sát và trả lời:
i = 3 và j = 4
V/ Củng cố, dặn dò:(2’)
- Nhắc lại một số khái niệm mới về:
+ Các phép toán : Số học, quan hệ, logic
+ Cấu trúc lệnh trong Pascal: tên_biến := biểu_thức;
- Làm các bài tập 5, 6, 7, 8 SGK trang 35 - 36
- Xem trước bài: Các thủ tục chuẩn vào/ ra đơn giản
Ngày soạn: 06/10/2007
Tiết thứ:……BÀI 7-8 THỦ TỤC CHUẨN VÀO/ RA ĐƠN GIẢN - SOẠN THẢO, DỊCH,
THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH
I Mục tiêu
1 Kiến thức:
+ Biết các lệnh vào ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra màn hình + Viết được một số lệnh vào/ ra đơn giản.
+ Biết các bước: Soạn, dịch, thực hiện và hiệu chỉnhchương trình.
2 Thái độ: Ham muốn tìm hiểu các biên soạn và thực hiện chương trình.
II Chuẩn bị của giáo viên và học sinh
+ Giáo viên: một số ví dụ.
+ Học sinh: Đọc trước SGK.
III Phương pháp:
+ Diễn giải, đàm thoại, giải quyết tình huống có vấn đề.
IV Tiến trình bài học:
Hoạt động 1: tìm hiểu thủ tục nhập dữ liệu từ bàn phím.
- Ta có lệnh để nhập
- Khi giải một bài toán,những đại lượng đã biếtphải nhập thông tin vào, nhưvậy khi lập trình ta nhậpbằng cách nào?
- Làm thế nào nhập giá trịcho bàn phím?
1 Nhập dữ liệu vào từ bàn phím
- Trong pascal ta dùng thủ tụcchuẩn sau:
Read(danh sách biến vào);hoặc Readln(danh sách biến vào);
Readln(a,b,c);
Trang 22- Nghe và ghi bài
- Trả lời
- Thủ tục READ sau khi dọcxong giá trị con trỏ khôngxuống dòng còn READLN làxuống dòng
- Thủ tục READLN không
có tham số có chức nănglamg gì? dừng chương trình
- Thủ tục READLN không
có tham số dừng chươngtrình
- Chú ý:+ Khi nhập dữ liệu từbàn phím READ, READLN,
có ý nghĩa như nhau, thườnghay dùng READLN hơn
+ Khi nhập giá trị cho cácbiến thủ tục, những giá trị nàyđược gõ cách nhau một dấucách hoặc phím Enter
Hoạt động 2: tìm hiểu thủ tụcđưa dữ liệu ra màn hình.
số thì thì thủ tục có tác dụng để làm gì?
- Trường hợp thủ tục WRITELN; không có tham
số thì thì thủ tục có tác dụng đưa con trỏ xuống dòng tiếp theo.
- Độ rộng, số chữ số thập phân là các hằng nguyên dương.
trong đó <Danh sách kết quả ra>có thể tên biến đơn, biểu
thức, hằng.
Ví dụ: write(‘Nap so N:’); Readln(N);
• Chú ý:
- writeln sau khi đưa kết quả
ra con trỏ xuống dòng mới
- Ngoài ra trong TPcó quy cách đưa thông tin ra nàm hìnhsau:
+ Kết quả thực:
:<Độ rộng>:<số chữ số thập phân>
Trang 23TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng
- Nghe giảng
-Nghe giảng
Để thực hành trong TP ta khởi động bằng cách: Nháy dúp vàobiểu tượng turbo pascal trên màn hình
- Trên máy cần có tệp:
Turbo.exe(file chạy) Turbo.tpl(file thư viện) Turbo.tph(file hướng dẫn)
• Một số tao tác thường dùng trong pascal:
- Khi soạn thảo muốn xuống dòng nhấn Enter.
- Ghi file vào đĩa: F 2
- Mở file đã có: F 3
- Biêng dịch chương trình: Alt +F 9
- Chạy chương trình: Ctrl +
F 9
- Đóng cửa sổ chương trình: Alt + F 3
- Thoát khỏi phần mền: Alt + X
Hoạt động :củng cố:
- Nhắt lại sự hoạt động của Write/Writeln, read/Readln
- Cách soạn thảo,chạy chương trình, ghi vào đĩa, thoát khỏi TP
- Về nhà làm bài tập trong sách trang 35,36.
Ngày soạn :10/10/07
I/ Mục tiêu:
1 Về kiến thức:
- Biết được một chương trình Pascal hoàn chỉnh
- Biết sử dụng một số dịch vụ chủ yếu của Pascal trong soạn thảo, lưu, dịch và thực hiệnchương trình
2 Về kỹ năng:
- Viết được chương trình đơn giản, lưu được chương trình trên đĩa, dịch lỗi cú pháp, thực hiện
và tìm lỗi thuật toán, hiệu chỉnh
- Bước đầu biết phân tích và hoàn thành một chương trình đơn giản trên Pascal hoặc FreePascal
3 Về tư duy và thái độ:
- Hình thành cho học sinh bước đầu về tư duy về lập trình có cấu trúc
- Tự giác, tích cực và chủ động hoàn thành,
II/ Chuẩn bị của giáo viên và học sinh:
+ Giáo viên: Phòng máy tính đã cài sẵn chương trình Turbo Pascal hoặc Free Pascal, các chươngtrình làm ví dụ
+ Học sinh:
- Sách giáo khoa, sách bài tập và bài viết sẵn ở nhà
- Đọc trước phần phụ lục B1 trang 122 - Môi trường Turbo Pascal
- Xem trước nội dung bài thực hành số 1
III/ Phương pháp: Gởi mở thông qua hoạt động tư duy.
IV/ Tiến trình bài dạy:
Hoạt động 1: Kiểm tra nội dung thực hành và khởi động máy.
Trang 24TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng
10’ - HS để nội dung thực hành
trước mặt
- Chý ý hướng dẫn của GV
để khởi động máy và
chương trình Turbo Pascal
hoặc Free Pascal
- GV kiểm tra sự chuẩn bị nộidung thực hành của học sinh
- GV hướng dẫn học sinh khởiđộng máy, và khởi động chươngtrình Turbo Pascal hoặc FreePascal
Hoạt động 2: Tìm hiểu một chương trình Pascal hoàn chỉnh.
35’ - Học sinh quan sát trên
- Thông báo lỗi và cho biết
vì sao: Do căn bậc hai của
một số âm
- Sửa lại:
- GV ghi chương trìnhGiai_PTB2 lên bảng
- GV yêu cầu học sinh đọc và gõchương trình Giai_PTB2 nhưtrên bảng
- GV yêu cầu học sinh thực hiệncác nhiệm vụ sau:
+ Lưu chương trình bằng cáchnhấn phím F2 với tên PTB2.PAS.
+ Dịch và sửa lỗi cú pháp với tổ
HỎI: Vì sao lại có lỗi xuất hiện?
+ Sửa lại chương trình trên
Chương trình giải phươngtrình bậc hai:
program Giai_PTB2; uses crt;
D:=b*b - 4a*b*c; x1:= (-b - sqrt(D))/(2*a);
x2:= -b/a - x1;
write(‘x1 = ‘, x1 : 6 :
2, ’x2: = ‘, x2 : 6 : 2); readln
end
Trang 25- Tiếp tục sửa lại:
- x1 = 2.00 x2 = 3.00
- Thông báo lỗi với lý do
delta của pt là số âm
không dùng đến biến D và thựchiện chương trình đã sửa
+ Sửa lại chương trình bằng cáchthay đổi công thức tính của x2
+ Thực hiện chương trình đã sửavới bộ dữ liệu 1 ; - 5 ; 6 Thôngbáo kết quả
+ Thực hiện chương trình với bộ
dữ liệu 1 ; 1 ; 1 Thông báo kếtquả
readln(a, b, c);
x1:= (b sqrt(b*b 4a*b*c))/(2*a);
x2:= (b + sqrt(b*b 4a*b*c))/(2*a);
write(‘x1 = ‘, x1 : 6 :
2, ’x2: = ‘, x2 : 6 : 2);
- x1 = 2.00 x2 = 3.00
Hoạt động 3: Rèn luyện thêm về kỹ năng lập trình cho học sinh
- Học sinh thông báo kết quả
- GV yêu cầu học sinh hãy viếtmột chương trình tính diện tíchmột tam giác khi biết độ dài bacạnh của nó
- GV định hướng để học sinhphân tich bài toán
+ Dữ liệu vào (Input)
+Diệu liệu ra (Output)+ Cách tính:
- GV yêu cầu học sinh soạn vàchạy chương trình lên đĩa
- GV yêu cầu học sinh nhập dữliệu và thông báo kết quả ;
Trang 26a = 3; b = 6; c = 5
a = 2; b = 5; c = 10;
Hoạt động 4: Củng cố buổi thực hành và bài tập về nhà.
+ Phân tích bài toán để xác định
dữ liệu vào/ ra
+ Xác định thuật toán
+ Soạn chương trình+ Lưu chương trình+ Biên dịch chương trình+ Thực hiện và hiệu chỉnhchương trình
- Làm bài tập trang 35 và 36
Ngày soạn :16/10/07
I Mục tiêu bài dạy:
1 Kiến thức:
- Hiểu nhu cầu của cáu trúc rẽ nhánh trong biểu diễn thuật toán
- Học sinh nắm vững ý nghĩa và cú pháp của câu lệnh rẽ nhánh dạng khuyết và dạng đủ, hiểuđược cách sử dụng câu lệnh ghép
2 Kĩ năng:
- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản
- Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng được để thể hiện thuật toáncủa một số bài toán đơn giản
Trang 27- Trò: học bài cũ, đọc và chuẩn bị bài mới.
III.
Phương pháp truyền thụ:
Giảng giải + hoạt động của học sinh
IV Tiến trình bài dạy:
1 Ổn định lớp:
2 Kiểm tra bài cũ:
Bài toán: cho 2 số nguyên a, b; tìm Max(a,b)
Yêu cầu: viết phần tên, phần khai báo, và câu lệnh nhập a, b
Nêu thuật toán tìm Max(a,b)
Hoạt động 1:
GV: Giao nhiệm vụ cho HS
H: Cho ví dụ về 1 câu điều
kiện?
GV: Chọn hai câu làm ví dụ.
Từ đó phân tích cho học sinh
thấy cấu trúc rẽ nhánh thể
hiện trong ví dụ này
Đ:+ Nếu em thuộc bài thì 10
1 Rẽ nhánh:
* Một số mệnh đề có dạng điềukiện:
+ Dạng thiếu: Nếu…thì…+ Dạng đủ: Nếu … thì … nếukhông thì …
* Cấu trúc dùng để mô tả cácmệnh đề như trên được gọi làcấu trúc rẽ nhánh thiếu và đủ
* Mọi ngôn ngữ lập trình đều
có các câu lệnh để mô tả cấutrúc rẽ nhánh
Trang 28khoá Else không có dấu ; và
sau then, sau else chỉ có 1 lệnh
chương trình
GV: Với 2 dạng này, dạng nào
thuận tiện hơn?
Else max:=b;
HS: tìm câu trả lời.
-> tuỳ trường hợp cụ thể
Trong đó:
- Điều kiện là biểu thức lôgic
- Câu lệnh, câu lệnh 1, câu lệnh
2 là 1 câu lệnh của Pascal
Hoạt động 4:
GV: Muốn thực hiện nhiều
lệnh sau if hoặc sau then thì
làm thế nào?
→ Dẫn đến khái niệm và cách
dùng câu lệnh ghép: nếu trong
cấu trúc rẽ nhánh, sau THEN
có từ 2 lệnh trở lên thì gộp
thành câu lệnh ghép, đặt các
lệnh đó trong cặp từ khoá
Begin…end; với Pascal
H: Gọi học sinh nêu thuật
toán giải PT bậc hai?
GV: Nhận xét, bổ sung.
GV: Phân nhóm và yêu cầu
học sinh thảo luận nhóm để
viết chương trình thể hiện
thuật toán trên Ghi lời giải
vào bảng phụ
GV: Yêu cầu đại diện nhóm
lên treo bảng lời giải và trình
bày
Cho các nhóm khác nhận xét
GV: chính xác hoá lời giải
của HS và cho điểm
HS: Phát biểu ý kiến của
mình
Đ: B1: Nhập a, b, c.
B2: Tính d = b2 – 4ac;
B3: + Nếu d < 0 thì pt vônghiệm
+ Ngược lại thì pt có
2 nghiệm x1,2 =
a
d b
2
±
−
HS: Thảo luận theo nhóm
và trình bày lời giải vàobảng phụ:
HS: Đại diện nhóm lên treo
bảng lời giải và trình bày
Write(‘ Nhap a, b, c:’);
Readln(a,b,c);
d := b*b – 4*a*c;
If d < 0 then Write(‘ PT vonghiem’) else
BeginWrite(‘ PT co nghiem :’);x1:= (- b – sqrt(d))/(2*a);x2:= (- b + sqrt(d))/(2*a);Write(x1:6:2, x2:6:2);
End;
Readlnend
VI Củng cố: GV tóm tắt các vấn đề cần nắm trong bài:
Trang 29- Cú pháp, ý nghĩa của câu lệnh rẽ nhánh dạng đủ và dạng khuyết.
- Cách sử dụng câu lệnh ghép
VII Bài tập về nhà:
- Học bài, trả lời câu 1, 2 trang 50 và làm bài 4 trang 51 sgk
- Viết chương trình tìm Max(a, b, c)
- Viết chương trình giải phương trình bậc nhất
- Chuẩn bị bài mới: Cấu trúc lặp
Ngày soạn :20/10/07
I Mục đích yêu cầu:
- Về kiến thức:
+ Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán
+ Biết được cấu trúc chung của lệnh lặp FOR trong ngôn ngữ lập trình
+ Hiểu được cấu trúc lặp với số lần biết trước và câu lệnh FOR - DO
- Về kỹ năng:Bước đầu sử dụng được lệnh lặp FOR để lập trình giải quyết được một số bài toánđơn giản
3 Nội dung dạy học:
* HĐ1: Tìm hiểu ý nghĩa của cấu trúc lặp
- Nếu giải bài toán trên với việc
in khoảng 10 dòng có từ
PASCAL?
- Có nhận xét gì về các dòng
lệnh trong chương trình trên?
- Đối với những thuật toán có
những thao tác phải thực hiện
lặp đi lặp lại một số lần thì máy
+ Lặp với số lần chưa biết
Trang 30tính có thể thực hiện hiệu quả
thuật toán giải 2 bài toán trên
- Từ VD trên và nghiên cứu
thêm ở SGK hãy cho biết có
mấy loại cấu trúc lặp?
- HS làm việc theo nhómThuật toán 1:
B1: S=0; n=0B2: n → n +1B3: Nếu n > 20 thì chuyểnđến B5
B4: S= S + n rồi quay laib2
B5: Đưa S ra màn hình vàkết thúc
Thuật toán 2:
B1: S=0; n=20B2: n → n -1B3: Nếu n < 1 thì chuyểnđến B5
B4: S= S + n rồi quay laib2
B5: Đưa S ra màn hình vàkết thúc
- 2 loại
trước
* HĐ 2: Tìm hiểu cấu trúc lặp với số lần biết trước và câu lệnh FOR - DO
- Số lần lặp của cả 2 thuật toán
trên là biết trước và như nhau
Giới thiệu câu lệnh FOR
-DO với 2 dạng tiến, lùi trong
- Trong đó:
+ Biến đếm là biến đơn,thường có kiểu nguyên.+ Giá trị đầu, giá trị cuối làcác biểu thức cùng kiểu vớibiến đếm và giá trị đầu phảinhỏ hơn hoặc bằng giá trịcuối
- Hoạt động của lệnh
Trang 31FOR-và nêu hoạt động của lệnh FOR
- DO?
- GV treo bảng phụ 1 về sơ đồ
thuật toán lặp
- Gv treo bảng phụ 2 về cài đặt
các thuật toán ở VD trên
- Qua 2 chương trình trên có
Readln;
END
- HS làm việc theo nhóm
DO+ Dạng lặp tiến: câu lệnh viếtsau từ khóa DO được thựchiện tuần tự, với biến đếm lầnlượt nhận các giá trị liên tiếptăng từ giá trị đầu đến giá trịcuối,
+ Dạng lặp lùi: câu lệnh viếtsau từ khóa DO được thựchiện tuần tự, với biến đếm lầnlượt nhận các giá trị liên tiếpgiảm từ giá trị cuối đến giá trịđầu
- Chú ý: Câu lệnh viết sau
DO không được thay đổi giátrị của biến đếm
* HĐ 3: Củng cố- Dặn dò
- Nắm lại các cấu trúc lặp
- Nhớ được 2 dạng tiến lùi của câu lệnh FOR - DO trong Pascal
- Xem trước bài mới
Trang 32Var i,S: integer;
BeginWrite (‘ Tong cac so nguyen tu 1 den 20 la:’);
Var i,S: integer;
BeginWrite (‘ Tong cac so nguyen tu 1 den 20 la:’);
Biến <= Giá tri cuối
Câu lệnh
Biến:= succ(biến)
Trang 333 Tư duy ,thái độ:
-Rèn luyện phẩm chất cho người lặp trình
II Chuẩn bị của giáo viên và học sinh:
GV: Tổ chức cho học sinh tiếp thu kiến thức
HS:Chuẩn bị bài mới
III Phương pháp:
Thuyết trình,diễn giải,vấn đáp
+ H1: -Có thể xây dựng thuậttoán Tổng _2 như sau để giảibài toán 2 GV trình bày
+H2:Theo thuật toán việc lặplại số lần chưa biết trước cóđược kết thúc không?
Để mô tả cấu trúc lặp nhưvậy,Pascal dùng câu lệnhwhile-do có dạng:
-Hsinh xem sơ đồ (hình 7)+H3:-VD1:Cho HS viếtchương trình của bài toán
Nhu vậy, việc lặp lại số lầnchưa biết trước sẽ được kếtthúc khi điều kiện cho trướcđược thoả mãn
While <điều kiện> do <câulệnh>;
Tronh đó:-Điều kiện là biểuthức logic;
-Câu lệnh là 1 câuđơn hoặc ghép
Trang 34Nhóm trình bày kết quả.
Bước 1:Nếu M=N thìUCLN:=M;rồi kết thúc
Bước 2:Nếu M>N thì M:=M-Nrồi quay lai bước 1,Ngược lại
-VD2:(SGK/47)Hãy xây dựng thuật toán tìmUCLN(đã học lớp 10)
GV nhận xét và hoànchỉnh.HS trình bày chươngtrình
Hđ3:Cũng cố,dặn dò
Nhắc lại 1 số khái niệm mới
Nhắc lại cấu trúc câu lệnhBài tập về nhà
3- Tư duy, thái độ :
Rèn luyện ý thức tự giác học tập tích cực, ham thích tìm hiẻu, chủ động trong giảiquyết các bài tập
Rèn luyện tư duy khoa học, tư duy logic
II- Chuẩn bị của giáo viên và học sinh:
GV: - Soạn giáo án.
HS: - Học bài cũ và chuẩn bị bài tập.
III- Phương pháp dạy học:
Gợi mở và thuyết trình
IV- Tiến trình bài dạy:
Hoạt động 1: Kiểm tra bài cũ
Trang 35Câu hỏi 1: Trình bày cấu trúc câu lệnh rẽ nhánh và cấu trúc lặp ?
Hoạt động 2: Giải bài tập 4
Câu hỏi 1: Sử dụng lệnh If này gồm mấy nhánh ?
Câu hỏi 2: Hàm lấy giá trị tuyệt đối của biểu thức hay biến ?
If y>=x then z:= x+y Else z:= 0.5;
Câu 4b)
If (sqr(x-a) + sqr(y-b)) <=sqr(r) then z:=abs(x) +abs(y) Else z:= x+y;
Trang 36Hoạt động 3: Giải bài tập 5
Câu hỏi 1: Hãy khai triển biểu thức Y =∑
dưới dạng tường minh ?
Câu hỏi 2: Nhìn vào công thức khai triển, em hãy cho biết n lấy giá trị trong đoạn nào ?
Câu hỏi 3: Em hãy thử đưa ra phương pháp tính Y ?
Câu hỏi 4: Sử sụng cấu trúc điều khiển lặp nào là phù hợp ?
- 1 HS lên bảng giải bài 5a
- Các HS còn lại theo dõi
Y =
51
504
33
22
1
+++
Câu 5a) Uses crt;
Var y: real;
n: byte;
Begin Clrscr;
y:=0;
for n:=1 to 50 do y:= y + n/(n+1); writeln(y:14:6); readln;
Trang 37Ngày soạn: 10/11/07
Tiết thứ:…….Bài 11 : KIỂU DỮ LIỆU CÓ CẤU TRÚC.
I/ Mục tiêu:
- Về kiến thức:
+ Nắm được khái niệm mảng 1 chiều
+ Nắm được quy tắc mà NNLT xây dựng và sử dụng mảng một chiều
- Về kỹ năng:
+ Nhận biết được các thành phần trong khai báo kiểu mảng một chiều
+ Nhận biết được định danh của một phần tử kiểu mảng một chiều xuất hiện trong một chươngtrình
+ Biết cách khai báo mảng đơn giản và chỉ số kiểu miền con của kiểu nguyên
- Về tư duy, thái độ:
+ Có tư duy đúng đắn trong việc áp dụng mảng 1 chiều để giải các bài toán đơn giản
II/ Chuẩn bị của gv, hs:
+ Giáo viên: Sgk, sbt, sgv, tranh sơ đồ
+ Học sinh: Sgk, sbt
III/Phương pháp:
Trực quan, thuyết trình kết hợp với hỏi - đáp
IV/ Tiến trình bài học:
Hoạt động 1: Tìm hiểu về sự cần thiết của chương IV(Kiểu dữ liệu có cấu trúc) và định nghĩa
- GV nêu lên sự cần thiếtphải có kiểu dl có cấu trúc
- Tìm hiểu về mảng 1chiều
- Hãy trình bày ý tưởng đểgiải bài toán trên
- Ta có thể viết ct bằng NNPascal như sau:
Trang 38TG H/động của hs H/động của gv N ội dung ghi bảng
-Nếu ta viết bằng mảng 1chi ều:
-So s ánh 2 ch/tr trên-Thế nào là mảng 1 chiều?
Type a = array[1 max] of real;
Var ndo:a; d,i,n: byte; t,tb: real;
BeginWriteln('Nhap so ngay: ');
Readln(n);
T:=0; d:=0;
For i:=1 to n do Begin
Writeln('Nhap vao nhiet do cua
Readln;
End
A/ Định nghĩa:sgk
Hoạt động 2: Tìm hiểu cách khai báo mảng 1 chiều
mảng 1 chiều?
B/Khai báo:
Cách 1: Khai báo trực tiếp:
Var <tên biến mảng>: array[kiểu chỉ số] of
Trang 39- Lên bảng - Hãy khai báo mảng trongvd trên bằng cách khai báo
trực tiếp
- Để tham chiếu đến nh/độcủa thứ 2 ta viết ndo[2]
Trong đó: +Kiểu chỉ số thường là một đoạn
số nguyên liên tục có dạng n1 n2(n1<n2)(n1,n2 là các hằng hoặc biểu thức)
+ Kiểu phần tử là kiểu dl của các phần tửcủa mảng
1)Về kiến thức: Thể hiện các thuật toán cơ bản về tìm kiếm và sắp xếp: sắp xếp dãy số nguyên
bằng phương pháp trao đổi và tìm kiếm nhị phân
2)Về kỹ năng : Biết cách sử dụng mảng 1 chiều trong chương trình thể hiện các thuật toán ở
trên
3)Về tư duy thái độ :
+ Ý thức rèn luyện kỹ năng các thao tác trên mỗi kiểu dữ liệu có cấu trúc
+ Hứng thú tìm hiểu các thuật toán thường gặp trên các mô hình dữ liệu
II Chuẩn bị của giáo viên và học sinh:
1)Về giáo viên: Chuẩn bị 1 số bài tập liên quan đến tìm kiếm và sắp xếp trong mảng 1 chiều 2) Về học sinh: Xem lại 3 thuật toán đã học ở lớp 10 (Tìm GTLN của 1 dãy số nguyên, sắp xếp
bằng trao đổi và tìm kiếm nhị phân)
III Phương pháp : gợi mở
IV Tiến trình bài học :
1) Kiểm tra bài cũ (10ph) Trình bày thao tác nhập, xuất mảng 1 chiều
2) Nội dung bài mới :
• Input:dãy số đã cho(chưa sắp xếp )
Output: đưa ra dãy số đã
Vidụ 1: Sắp xếp dãy sốnguyên bằng phương pháptrao đổi
Sgk/57
Trang 40và output của bài toán
sắp xếp bằng phương
pháp trao đổi?
• Hướng dẫn học sinh
hiểu những đoạn câu
lệnh trong thuật toán ở
khoá A=21 Hãy xác
hiểu những đoạn câu
lệnh trong thuật toán
tìm kiếm nhị phân ở ví
dụ 3 SGK trang 58
• Chia đôi 1 mảng đã sắpxếp rồi so sánh phần tửgiữa lớn hơn hay nhỏ hơngiá trị A cần tìm ở bênphải hay bên trái của mảng
• Trả lời câu hỏi của giáoviên
1 Input :
2 Output:
• Xem Sgk trang 58
Ví dụ 2 : Tìm kiếm nhị phân Sgk trang 58
III.Củng cố : (5 ‘)
Nhắc lại kiểu mảng, những bài toán tìm kiếm, sắp xếp
IV.Bài tập về nhà : Yêu cầu học sinh chạy thử chương trình sắp xếp bằng phương pháp tráo đổi trongbài tập 1 Sgk trang 58