Chuẩn bị của giáo viên - Sách giáo khoa, tranh chứa các biểu thức trong toán học, máy chiếu Projector, máy vi tính, một số chơng trình viết sẵn.. Nội dung chủ yếu của chơng Chơng này t
Trang 1Tuaàn 1: Ngaứy soaùn: 12/08/2009
Ngaứy giaỷng: 17 – 22/08/2009
Tieỏt 1: KHAÙI NIEÄM LAÄP TRèNH VAỉ NGOÂN NGệế LAÄP TRèNH
I Mục tiêu:
1 Kiến thức:
- Biết đợc khái niệm về chơng trình dịch
- Phân biệt đợc hai loại chơng trình dịch là biên dịch và thông dịch
2 Kỹ năng
- Biết vai trò của chơng trình dịch
- Hiểu ý nghĩa nhiệm vụ của chơng trình dịch
3 Thái độ:
- ý thức đợc tầm quan trọng của môn học và có thái độ học tập nghiêm túc, luôn từ tìmhiểu học tập
4 Troùng taõm:
-Phaõn bieọt ủửụùc khaựi nieọm thoõng dũch vaứ bieõn dũch
II ẹoà duứng daùy hoùc
1 Chuẩn bị của giáo viên:
- Giáo án, SGK, sách giáo viên, sách bài tập,
2 Chuẩn bị của học sinh:
- Vở ghi, sách giáo khoa, sách bài tập, đồ dùng học tập
III HOAẽT ẹOÄNG DAẽY-HOẽC
1 OÅn ủũnh lụựp-kieồm tra sú soỏ.(1phuựt).
Ngày gi ng ảng L p d y ớp dạy ạy Ti t ết T ng s ổng số ố HS V ng m t ắng mặt ặt
3.Baứi mụựi
Trong chơng trình lớp 10 các em đã đợc biết đến một số khái niệm: ngôn ngữ lập trình, chơng trình dịch Trong bài học hôm nay chúng ta đi tìm hiểu thêm một số khái niệm mới
BAỉI1: KHAÙI NIEÄM LAÄP TRèNH VAỉ
NGOÂN NGệế LAÄP TRèNH
1.Caực khaựi nieọm.(19phuựt)
*Laọp trỡnh: Laứ vieọc sửỷ duùng caỏu
truực dửừ lieọu vaứ caực leọnh cuỷa
ngoõn ngửừ laọp trỡnh cuù theồ, ủeồ
moõ taỷ dửừ lieọu vaứ dieón ủaùt caực
thao taực cuỷa thuaọt toaựn
Hoaùt ủoọng1 : Giaựo vieõn ủửa ra baứi toaựn tỡm nghieọm cuỷa phửụng trỡnh baọc nhaỏt: ax+b =0
*Quan sát nội dung bài toán và theo dõi yêu cầu của giáo viên
Trang 2
*Ngoõn ngửừ maựy: Caực leọnh ủửụùc
maừ hoaự baống ngoõn ngửừ maựy coự
theồ ủửụùc naùp vaứo boọ nhụự
*Ngoõn ngửừ baọc cao: Caực leọnh
ủửụùc maừ hoaự baống moọt ngoõn
ngửừ gaàn vụựi ngoõn ngửừ Tieỏng
Anh Chửụng trỡnh vieỏt treõn ngoõn
ngửừ baọc cao phaỷi ủửụùc chuyeồn
ủoồi thaứnh chửụng trỡnh treõn ngoõn
ngửừ maựy mụựi coự theồ thửùc hieọn
ủửụùc:
2.Khaựi nieọm bieõn dũch vaứ thoõng
dũch (20phuựt)
* Khaựi nieọm bieõn dũch
-Duyeọt, phaựt hieọn loói, kieồm tra
tớnh ủuựng ủaộn cuỷa leọnh trong
chửụng trỡnh nguoàn
-Dũch toaứn boọ chửụng trỡnh nguoàn
thaứnh moọt chửụng trỡnh ủớch coự
theồ thửùc hieọn treõn maựy vaứ coự
theồ sửỷ duùng khi caàn thieỏt
*Khaựi nieọm thoõng dũch
-Kieồm tra tớnh ủuựng ủaộn cuỷa caõu
leọnh tieỏp theo trong chửụng trỡnh
nguoàn
-Chuyeồn ủoồi caõu leọnh ủoự thaứnh
moọt hay nhieàu caõu leọnh tửụng ửựng
trong ngoõn ngửừ maựy
-Thửùc hieọn caực caõu leọnh vửứa
chuyeồn ủoồi ủửụùc
Heọ thoỏng caực bửụực naứy goùi laứ thuaọt toaựn
-Neỏu trỡnh baứy thuaọt toaựn naứy cho maựy hieồu, em seừ duứng ngoõn ngửừ naứo?
Hs: Em seừ duứng ngoõn ngửừ laọp trỡnh
Gv: Keỏt quaỷ cuỷa hoaùt ủoọng laọp trỡnh seừ ủửụùc caựi gỡ?
Hs: Ta seừ ủửụùc chửụng trỡnh
*Giaựo vieõn dieón giaỷi cho hoùc sinh hieồu ủửụùc khaựi nieọm ngoõn ngửừ maựy vaứ ngoõn ngửừ baọc cao
Hoỷi: Laứm theỏ naứo ủeồ chuyeồn moọt chửụng trỡnh vieỏt tửứ ngoõn ngửừ baọc cao sang ngoõn ngửừ maựy?
Traỷ lụứi: Ta phaỷi sửỷ duùng chửụng trỡnh dũch ủeồ chuyeồn ủoồi
Hoỷi: Vỡ sao khoõng laọp trỡnh treõn ngoõn ngửừmaựy ủeồ khoỷi maỏt coõng chuyeồn ủoồi maứ ngửụứi ta thửụứng laọp trỡnh baống ngoõn ngửừ baọc cao?
TLụứi: - Lập trình bằng ngôn ngữ bậc cao dễ viết hơn vì các lệnh đợc mã hóa gần với ngôn ngữ tự nhiên Lập trình trên ngôn ngữ máy rất khó, thờng các chuyên gia lập trình mới lập trình đợc
Hoaùt ủoọng2: Em muoỏn giụựi thieọu veà trửụứng mỡnh cho moọt ngửụứi khaựch du lũch quoỏc teỏ bieỏt tieỏng anh, coự 2 caựch ủeồ em thửùc hieọn:
Caựch1: Caàn moọt ngửụứi bieỏt tieỏng Anh dũchtửứng caõu noựi cuỷa em sang tieỏng Anh cho ngửụứi khaựch
Caựch2: Em soaùn noọi dung caàn giụựi thieọu ragiaỏy vaứ ngửụứi phieõn dũch dũch toaứn boọ noọi dung ủoự sang tieỏng Anh roài ủoùc cho ngửụứi khaựch
HS :Chú ý lắng nghe ví dụ của giáo viên và thảo luận để tìm ví dụ tơng tự
- Khi thủ trởng một chính phủ trả lời phỏng vấn
tr-ớc một nhà báo quốc tế, họ thờng cần một ngời thông dịch để dịch từng câu tiếng Việt sang tiếng Anh
- Khi thủ tớng đọc một bài diễn văn tiếngAnh trớc Hội nghị, họ cần một ngời phiên dịch để chuyển văn bản tiếng Việt thành tiếng Anh
IV Đánh giá cuối bài.(5phuựt)
1 Những nội dung đã học
- 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ữ bậc cao
- Khái niệm chơng trình dịch
- Có hai loại chơng trình dịch là biên dịch và thông dịch
2 Câu hỏi và bài tập về nhà: Traỷ lụứi taỏt caỷ caõu hoỷi trong SGK
V.Ruựt kinh nghieọm:
Trang 3
Tuaàn II: Ngaứy soaùn: 18/08/2009
Ngaứy giaỷng:24 - 29/08/2009
Tieỏt 2: CAÙC THAỉNH PHAÀN CUÛA NGOÂN NGệế LAÄP TRèNH
I Mục tiêu:
1 Kiến thức:
- Nắm đợc các thành phần của một ngôn ngữ lập trình nói chung
- Biết đợc một số khái niệm nh: tên, tên chuẩn, tên dành riêng
II ẹoà duứng daùy hoùc:
1 Chuẩn bị của giáo viên:
- Giáo án, SGK, sách giáo viên, sách bài tập,
2 Chuẩn bị của học sinh:
- Vở ghi, sách giáo khoa, sách bài tập , đồ dùng học tập
III HOAẽT ẹOÄNG DAẽY HOẽC
1 OÅn ủũnh lụựp-kieồm tra baứi cuừ:(6phuựt)
Ngày gi ng ảng L p d y ớp dạy ạy Ti t ết T ng s ổng số ố HS V ng m t ắng mặt ặt
2 Kiểm tra bài cũ :
Caõu1: Chửụng trỡnh dũch laứ gỡ?
Caõu2: Bieõn dũch vaứ thoõng dũch khaực nhau theỏ naứo?
Trang 4Caõu2: Sửù khaực nhau giửừa bieõn dũch vaứ thoõng dũch.
*Bieõn dũch laứ kieồm, phaựt hieọn loói xaực ủũnh chửụng trỡnh nguoàn coự dũch ủửụùc hay khoõng vaứ dũch toaứn boọ thaứnh moọt chửụng trỡnh ủớch ủeồ coự theồ thửùc hieọn treõn maựy vaứ coự theồ lửu trửừ ủửụùc
* Thoõng dũch laàn lửụùt dũch tửứng caõu ra ngoõn ngửừ maựy roài thửùc hieọn.3.Baứi mụựi: Baứi hoùc hoõm nay caực em seừ naộm baột ủửụùc caực thaứnh phaàncuỷa ngoõn ngửừ laọp trỡnh vaứ moọt soỏ khaựi nieọm lieõn quan
Baứi 2: CAÙC THAỉNH PHAÀN CUÛA
NGOÂN NGệế LAÄP TRèNH
1 Caực thaứnh phaàn cụ baỷn: (7phuựt)
a, Baỷng chửừ caựi: Laứ taọp caực kớ tửù
ủửụùc duứng ủeồ vieỏt chửụng trỡnh
Khoõng ủửụùc pheựp duứng baỏt cửự kớ tửù
naứo ngoaứi caực kớ tửù quy ủũnh trong
baỷng chửừ caựi
b, Cuự phaựp: Laứ boọ quy taộc ủeồ vieỏt
chửụng trỡnh
c, Ngửừ nghúa: Xaực ủũnh yự nghúa thao
taực caàn phaỷi thửùc hieọn, ửựng vụựi moói
toồ hụùp kớ tửù dửùa vaứo ngửừ caỷnh cuỷa
noự
2.Moọt soỏ khaựi nieọm.(20phuựt)
a, Teõn:Laứ moọt daừy lieõn tieỏp khoõng
quaự 127 kớ tửù bao goàm chửừ soỏ, chửừ
caựi hoaởc daỏu gaùch dửụựi vaứ teõn phaỷi
baột ủaàu baống chửừ caựi hoaởc daỏu
Bai tap; Sai
*Teõn daứnh rieõng(Tửứ khoaự): ẹửụùc
duứng vụựi yự nghúa rieõng xaực ủũnh,
ngửụứi laọp trỡnh khoõng ủửụùc sửỷ duùng
vụựi yự nghúa khaực
Program, begin, end, procedur,
function,const, var, Laber, Type, Record, set,
file of, if then, for to do, While do,
Repeat until,
*Teõn chuaồn: ẹửụùc duứng vụựi yự nghúa
nhaỏt ủũnh, tuy nhieõn ngửụứi duứng coự
theồ khai baựo vaứ duứng chuựng vụựi yự
nghúa vaứ muùc ủớch khaực
Integer, Word, byte, longint, real,extended,
char, boolean, read, readln, write,writeln, abs,
sqr,sqrt, true,false, cos, sin,
*Teõn do ngửụứi duứng tửù ủaởt: Do ngửụứi
duứng ủaởt sao cho deó nhụự vaứ phuứ
hụùp
Vd: delta, pi,
b, Haống vaứ bieỏn.(9phuựt)
-Haống laứ ủaùi lửụùng coự giaự trũ khoõng
thay ủoồi trong quaự trỡnh thửùc hieọn
chửụng trỡnh
Hoaùt ủoọng1:
Giaựo vieõn ủaởt vaỏn ủeà: Coự nhửừng yeỏu toỏ naứo duứng ủeồ xaõy dửùng
Hoùc sinh traỷ lụứi:
- Bảng chữ cái tiếng Việt, số, dấu
- Cách ghép các kí tự thành từ, phép từ thành câu
- Ngữ nghĩa của từ thành câu
*Dieón giaỷi: Trong ngoõn ngửừ laọp trỡnh cuừng tửụng tửù nhử vaọy, noự goàm coự caực thaứnh phaàn: Baỷng chửừ caựi, cuự phaựp vaứ ngửừ nghúa
-Bảng chữ cái : A B C D E F G H I J K L M N
O P Q R S T U V W X Y Z
a b c d e f h g i j k l m n o p q r s t u v w x y z
Hệ đếm : 0 1 2 3 4 5 6 7 8 9
Kí hiệu đặc biệt : + - * / = < > [ ] , _ ; # ^ $ & ( ) { }: “
-Cuự phaựp
-Ngửừ nghúa
Hoaùt ủoọng 2: Moùi ủoỏi tửụùng trong chửụng trỡnh ủeàu phaỷi ủửụùc ủaởt teõn.Trong ngoõn ngửừ laọp trỡnh cuừng vaọy chuựng ta ủaởt teõn cho chửụng trỡnh ủeồ deó phaõn bieọt Chuựng ta caàn phaõn bieọt roừ caực loaùi teõn ủeồ duứng ủuựng vaứ naộm roừ caựch ủaởt teõn
-Giaựo vieõn giaỷi thớch roừ yự nghúa cuỷa caực loaùi teõn vaứ cho hoùc sinh leõn baỷng laỏy vớ duù
-Teõn chửụng trỡnh: Caực em lửu yự khi ủaởt teõn khoõng ủửụùc sửỷ duùng daỏu caựch vaứ kớ tửù ủaởc bieọt vaứ baột ủaàu khoõng ủửụùc sửỷ duùng chửừ soỏ
-Teõn daứnh rieõng hay coứn goùi laứ tửứ khoaự caực em phaỷi naộm vửừng ủeồ sửỷ duùng laứm baứi taọp sau naứy
-Teõn chuaồn: Caực teõn chuaồn ủửụùc quy ủũnh trong caực thử vieọn cuỷa ngoõn ngửừ laọp trỡnh
-Teõn do ngửụứi duứng tửù ủaởt: Caực teõn naứy khoõng ủửụùc truứng vụựi teõn daứnh rieõng
Hs: Laộng nghe chuự yự vaứ ghi cheựp baứi
*Haống: Trong toaựn hoùc caực em ủaừ bieỏt haống laứ ủaùi lửụùng khoõng thay ủoồi Trong pascal coự theõm haống logic
Trang 5
+Haống soỏ hoùc: 5,-2, 1.3, -5.6, 1.0E-4,
+Haống xaõu: ‘chuongtrinh’ +Haống logic: true, fasle -Bieỏn: Laứ ủaùi lửụùng ủửụùc ủaởt teõn, duứng ủeồ lửu trửừ giaự trũ vaứ giaự trũ coự theồ ủửụùc thay ủoồi trong quaự trỡnh thửùc hieọn chửụng trỡnh -Chuự thớch: + { noọi dung caàn chuự thớch } + (* noọi dung caàn chuự thớch *) vaứ haống xaõu *Bieỏn: Laứ giaự trũ coự theồ thay ủoồi trong pascal taỏt caỷ caực bieỏn khi sửỷ duùng ủeàu phaỷi ủửụùc khai baựo Laỏy vớ duù ủeồ hoùc sinh phaõn bieọt ủửụùc caực loaùi bieỏn trong pascl * Chuự thớch: Giuựp cho ngửụứi ủoùc chửụng trỡnh nhaọn bieỏt yự nghúa cuỷa chửụng trỡnh deó daứng hụn Chuự thớch khoõng aỷnh hửụỷng ủeỏn chửụng trỡnh nguoàn vaứ ủửụùc chửụng trỡnh dũch boỷ qua III Đánh giá cuối bài (3phuựt) 1 Những nội dung đã học - Thành phần của ngôn ngữ lập trình : Bảng chữ, cú pháp và ngữ nghĩa - 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, hằng, biến và chú thích 2 Câu hỏi và bài tập về nhà - Làm bài tập 4, 5, 6, sách giáo khoa, trang 13 - Xem bài đọc thêm : Ngôn ngữ Pascal, sách giáo khoa, trang 14, 15, 16 - Xem trớc bài : Cấu trúc chơng trình, sách giáo khoa, trang 18 - Xem nội dung phụ lục B, sách giáo khoa trang 128 : Một số tên daứnh riêng V Ruựt kinh nghieọm:
Tuaàn II: Ngaứy soaùn: 18/08/2009
Ngaứy giaỷng: 24 - 29/08/2009
Tieỏt 3: BAỉI TAÄP
I.Muùc Tieõu:
1,Kieỏn thửực:
Cuỷng coỏ laùi kieỏn thửực cho hoùc sinh nhửừng kieỏn thửực ủaừ hoùc veà laọp trỡnh, ngoõn ngửừ laọp trỡnh baọc cao, ngoõn ngửừ maựy, chửụng trỡnh dũch, thoõng dũch, bieõn dũch qua caực baứi taọp
2, Kú naờng:
+ Xaực ủũnh ủửụùc teõn ủuựng, sai, teõn chuaồn, tửứ khoaự
+ Bieỏt vieỏt haống vaứ teõn ủuựng trong moọt ngoõn ngửừ laọp trỡnh cuù theồ
3, Thaựi ủoọ:
+ Nhaọn thửực ủửụùc quaự trỡnh phaựt trieồn cuỷa ngoõn ngửừ laọp trỡnh gaộn lieàn vụựi quaự trỡnh phaựt trieồn cuỷa tin hoùc
+ Ham muoỏn hoùc moọt ngoõn ngửừ laọp trỡnh cuù theồ ủeồ coự khaỷ naờng giaỷi caực baứi toaựn baống maựy tớnh ủieọn tửỷ
4.Troùng taõm:
II ẹoà duứng daùy hoùc:
1 Chuaồn bũ cuỷa giaựo vieõn:
Giaựo aựn, saựch baứi taọp, saựch giaựo khoa
2 Chuaồn bũ cuỷa hoùc sinh:
Saựch giaựo khoa, saựch baứi taọp, vụỷ ghi
Trang 6
III Hoaùt ủoọng daùy hoùc:
Haừy vieỏt caực teõn chuaồn vaứ teõn daứnh rieõng?
3.Noọi dung baứi mụựi
1.Khaựi nieọm laọp trỡnh vaứ ngoõn ngửừ
laọp trỡnh.(15phuựt)
-Taùi sao ngửụứi ta phaỷi xaõy dửùng ngoõn
ngửừ laọp trỡnh baọc cao?
-Chửụng trỡnh dũch laứ gỡ? Taùi sao caàn
phaỷi coự chửụng trỡnh dũch?
-Bieõn dũch vaứ thoõng dũch khaực nhau
nhử theỏ naứo?
2.Caực thaứnh phaàn cuỷa ngoõn ngửừ laọp
trỡnh(25phuựt)
-Haừy cho bieỏt ủieồm khaực nhau giửừa
teõn daứnh rieõng vaứ teõn chuaồn?
-Haừy tửù vieỏt ra ba teõn ủuựng theo quy
taộc cuỷa pascal?
-Haừy cho bieỏt nhửừng bieồu dieón naứo
dửụựi ủaõy khoõng phaỷi laứ bieồu dieón
haống trong pascal vaứ chổ roừ loói vỡ sao?
(sgk)
-Baứi taọp: 1.9, 1.10, 1.11
Gv: ẹaởt caõu hoỷi theo SGK
Hs: thaỷo luaọn traỷ lụứi giaựo vieõn boồ sung yự kieỏn khi hoùc sinh traỷ lụứi
Gv: Caàn phaõn tớch cuù theồ roừ raứng ủeồ hsinh naộm baột ủửụùc caực khaựi nieọm ban ủaàu
Hs: leõn baỷng laứ baứi taọp
-Ba hoùc sinh leõn baỷng laứ baứi taọp.-Caực nhoựm hoùc sinh dửụựi lụựp trao ủoồi,thaỷo luaọn ủeồ goựp yự kieỏn
-Giaựo vieõn goùi moọt hoùc sinh khaực ủửựng taùi choó nhaọn xeựt baứi laứm cuỷa baùn
-Giaựo vieõn ủaựnh giaự baứi laứm
IV Cuỷng coỏ baứi:(4phuựt)
-Caực em veà nhaứ laứm tieỏp caực baứi taọp trong saựch baứi taọp
-ẹoùc trửụực baứi mụựi “Caỏu truựcchửụng trỡnh”
V.Ruựt kinh nghieọm
- Biết khai báo biến
- Biết viết đúng các biểu thức đơn giản trong chơng trình
Trang 7
- Biết khởi động và thoát khỏi Turbo Pascal.
- Biết soạn thảo, dịch và thực hiện một số chơng trình Pascal đơn giản theo mẫu có sẵn
- Bớc đầu làm quen với lập trình giải một số bài toán đơn giản
3 Thái độ.
- Nghiêm túc trong học tập khi tiếp xúc với nhiều quy định nghiêm ngặt trong lập trình
- Có ý thức cố gắng trong học tập vợt qua những khó khăn ở giai đoạn đầu khi học lập trình
- Ham muốn giải các bài tập bằng lập trình, thấy đợc lợi ích của lập trình phục vụ tính toán.4.Troùng taõm:
II: Duùng cuù daùy hoùc:
-Saựch giaựo khoa, Saựch giaựo vieõn, giaựo aựn
III Hoaùt ủoọng daùy vaứ hoùc
1 OÅn ủũnh lụựp-kieồm sú soỏ:(1phuựt)
Ngày gi ng ảng L p d y ớp dạy ạy Ti t ết T ng s ổng số ố HS V ng m t ắng mặt ặt
2 Kieồm tra baứi cuừ:(6phuựt)
Caõu1: Em haừy phaõn bieọt 3 loaùi teõn trong Pascal?
Teõn chuaồn: ẹửụùc duứng vụựi yự
nghúa nhaỏt ủũnh Nguụứi duứng coự
theồ sửỷ duùng vụựi nghúa khaực nhửng
phaỷi khai baựo laùi
Teõn daứnh rieõng: Duứng vụựi yự
nghúa nhaỏt ủũnh, ngửụứi duứng khoõng
ủửụùc sửỷ duùng vụựi muùc ủớch
khaực(coứn goùi laứ tửứ khoaự)
Teõn do ngửụứi duứng tửù ủaởt: do
ngửụứi duứng ủaởt vụựi yự nghúa naứo
ủoự ủeồ sửỷ duùng hụùp lớ
1 Lụựp 2 Lụựp 3 Lụựp 4 Lụựp 5 Lụựp 6 Lụựp 7 Lụựp 8 Lụựp 9 Lụựp
3.Noọi dung baứi mụựi:
BAỉI3: CAÁU TRUÙC CHệễNG TRèNH
1.Caỏu truực chung:(5phuựt)
Goàm 2 phaàn:
[<phần khaibáo>]
<Phần thân chơng trình>
2.Caực thaứnh phaàn cuỷa chửụng trỡnh
a, Phaàn khai baựo:(15phuựt)
-Khai baựo teõn chửụng trỡnh
Program <teõn chửụng trỡnh>;
-Khai baựo thử vieọn:
Uses <teõn thử vieọn>;
-Khai baựo haống:
Hoaùt ủoọng 1: Giaựo vieõn ủaởt caõu hoỷi gụùi mụỷ: Moọt baứi vaờn em thửụứng vieỏt coự maỏy phaàn? Vỡ sao phaỷi chia nhử vaõy?
*Lắng nghe và suy nghĩ trả lời :
- Có ba phần
- Có thứ tự : Mở bài, thân bài, kết luận
- Dễ viết, dễ đọc, dễ hiểu nội dung
Hoaùt ủoọng 2: Trong phaàn khai baựo coự nhửừng khai baựo naứo?
- Khai báo tên chơng trình, khai báo th viện chơng trình con, khai báo hằng, khai báo biến
và khai báo chơng trình con
* Yeõu caàu hoùc sinh laỏy vớ duù:
- Vd : Program tinh_tong ;
Trang 8
Const teõn_haống = giaự_trũ;
-Khai baựo bieỏn:
Var <danh saựch bieỏn>: kieồu dửừ lieọu;
b, Phaàn thaõn chửụng trỡnh (8phuựt)
- Vd: Var a, b, c : integer;
Gv: Neõu roừ phaàn caỏu truực cuỷa phaàn thaõn chửụng trỡnh Chuự yự giaỷi thớch caực tửứ khoaự cuỷa phaàn khai baựo vaứ keỏt thuực chửụng trỡnh
Hs: Laộng nghe vaứ ghi baứi
Hoaùt ủoọng 3: Tỡm hieồu chửụng trỡnh ủụn giaỷn:
-Theo vớ duù beõn phaõn bieọt phaàn khai baựo vaứ phaàn thaõn chửụng trỡnh:
Hsinh thaỷo luaọn traỷ lụứi:
+Phaàn khai baựo:
Writeln(t);
Readln;
End
IV Cuỷng coỏ baứi hoùc:(3phuựt)
-Naộm ủửụùc caỏu truực cuỷa moọt chửụng trỡnh
-Naộm ủửụùc caựch khai baựo: Khai baựo teõn chửụng trỡnh, thử vieõn, haống, bieỏn -Vieỏt ủửụùc moọt soỏ chửụng trỡnh ủụn giaỷn
V Ruựt kinh nghieọm:
- Biết đợc một số kiểu dữ liệu chuẩn: Nguyên, thực, kí tự, logic
- Bieỏt đợc giới hạn biểu diễn của mỗi loại kiểu dữ liệu đó
- Naộm vửừng caựch sửỷ duùng caực kieồu dửừ lieọu
-Bieỏt caựch khai baựo bieỏn phuứ hụùp vụựi yeõu caàu baứi toaựn
-Bieỏt ủửụùc moùi bieỏn duứng trong chửụng trỡnh ủeàu phaỷi ủửụùc khai baựo
Trang 9-Có ý thứchọc tập tốt khi mới tiếp xúc với một số quy tắc nghiêm ngặt của các kiểu dữ liệu.
4 Vận dụng:
-Biết sử dụng khai báo hợp lí các kiểu dữ liêu và khai báo biến
II.DỤNG CỤ DẠY HỌC:
-Giáo án, sách giáo khoa, sách giáo viên
III.HOẠT ĐỘNG DẠY VÀ HỌC:
1.Ổn định lớp- kiểm tra sĩ số:(1phút)
Ngày gi ng ảng L p d y ớp dạy ạy Ti t ết T ng s ổng số ố HS V ng m t ắng mặt ặt
Câu1: Nêu các thành phần của một chương trình?
Câu2: Viết một ví dụ chương trình của Pascal?
3.Nội dung bài mới:
Bài 4.,5 : MỘT SỐ KIỂU DỮ LIỆU
CHUẨN-KHAI BÁO BIẾN
HS:L¾ng nghe vµ suy nghÜ tr¶ lêi:
-Sè tù nhiªn, sè nguyªn, sè h÷u tØ, sè thùc.-Gv: cũng tương tự như vậy, trong ngôn ngữ lập trình pascal, để lập trình giải quyết các bài toán, cần có các tập hợp, mỗi tập hợp có một giới hạn nhất định
GViên: Có bao nhiêu kiểu dữ liệu chuẩn trong pascal?
- Cã 4 kiĨu: KiĨu nguyªn, kiĨu thùc, kiĨu
+ Kiểu logic
Cã mét lo¹i: boolean, gåm 2 phÇn tư: True
vµ False
Chĩ ý l¾ng nghe vµ ghi bài
*Khai báo biến:
Trang 10
*Khai baựo bieỏn:(10phuựt).
-Duứng tửứ khoaự Var ủeồ khai baựo
Caỏu truực: Var <Danh saựch bieỏn>:<Kieồu
dửừ lieọu>;
Vd: Var x: integer;
-Sau tửứ khoaự var coự theồ khai baựo nhieàu
danh saựch bieỏn
Vd: var x,y: integer;
a,b: char;
n: Boolean;
Chuự yự: -Caàn ủaởt teõn bieỏn sao cho gụùi
nhụự ủeỏn yự nghúa cuỷa bieỏn ủoự
-Khoõng ủaởt teõn bieỏn quaự daứi hay quaự
ngaộn
-Caàn lửu yự tụựi phaùm vi giaự trũ cuỷa noự
TL:Danh saựch bieỏn laứ moọt hoaởc nhieàu teõn bieỏn, ủửụùc vieỏt caựch nhau bụỷi daỏu phaồy;
Hoùc sinh theo doừi vaứ cheựp baứi
Giaựo vieõn cho hoùc sinh leõn baỷng taọp khai baựo bieỏn
Hoùc sinh leõn baỷng laứm:
IV Cuỷng coỏ baứi hoùc:(5phuựt)
-Naộm ủửụùc 4 kieồu dửừ lieọu chuaồn vaứ phaùm vi sửỷ duùng
-Bieỏt caựch khai baựo phuứ hụùp vụựi ủoỏi tửụùng baứi toaựn
-Khi khai baựo bieỏn caàn chuự yự tụựi phaùm vi giaự trũ cuỷa noự
-Bieỏt xaực ủũnh boọ nhụự caỏp phaựt cuỷa caực bieỏn
V Ruựt kinh nghieọm
- Biết đợc các phép toán thông dụng trong ngôn ngữ lập trình
- Biểu diễn đạt một hình thức trong ngôn ngữ lập trình
-Vieỏt ủửụùc caực coõng thửực tửụng ửựng trong toaựn hoùc sang pascal
-Laứm ủửụùc moọt soỏ baứi toaựn treõn maựy tớnh
II.DUẽNG CUẽ DAẽY HOẽC
1 Chuẩn bị của giáo viên
- Sách giáo khoa, tranh chứa các biểu thức trong toán học
Trang 11
- Tranh chứa bảng các hàm số học chuẩn, tranh chứa bảng chân trị.
2 Chuẩn bị của học sinh
- Sách giáo khoa
III HOAẽT ẹOÄNG DAẽY- HOẽC
1.OÅn ủũnh lụựp-kieồm tra sú soỏ:(1phuựt)
Ngày gi ng ảng L p d y ớp dạy ạy Ti t ết T ng s ổng số ố HS V ng m t ắng mặt ặt
2.Kieồm tra 15 phuựt:(15phuựt)
Kieồm tra 15phuựt
Caõu1: Phaõn bieọt teõn daứnh rieõng, teõn chuaồn, teõn do ngửụứi duứng tửù ủaởt
Caõu 2: Neõu caỏu truực cuỷa phaàn khai baựo
Traỷ lụứi: Caõu 1: Teõn daứnh rieõng duứng vụựi yự nghúa xaực ủũnh.Ngửụứi laọp trỡnh khoõng ủửụùc sửỷ duùng vụựi yự nghúa khaực
Teõn chuaồn: Duứng vụựi yự nghúa nhaỏt ủũnh naứo ủoự Tuy nhieõn ngửụứi laọp trỡnh coựtheồ khai baựo vaứ duứng vụựi yự nghúa vaứ muùc ủớch khaực
Teõn do ngửụứi sửỷ duùng ủaởt: duứng vụựi yự nghúa rieõng , xaực ủũnh baống caựch khai baựo trửụực khi sửỷ duùng
Caõu2: Caỏu truực khai baựo:
- Program tenchuụngtrinh;
- Const tenhang;
- Var tenbien: tenkieu;
-3.Noọi dung baứi mụựi
BAỉI 6: PHEÙP TOAÙN, BIEÅU THệÙC,
CAÂU LEÄNH GAÙN
1 Pheựp toaựn (7phuựt)
-Caực pheựp toaựn logic: And, or, not
Chuự yự: -Keỏt quaỷ cuỷa pheựp toaựn quan
heọ cho giaự trũ logic
-Moọt trong nhửừng ửựng duùng cuỷa pheựp
toaựn logic laứ ủeồ taùo ra caực bieồu thửực
phửực taùp tửứ caực quan heọ ủụn giaỷn
2 Bieồu thửực soỏ hoùc(8phuựt)
ẹửụùc vieỏt theo quy taộc sau:
-Chổ duứng caởp ngoaởc troứn ủeồ xaực
ủũnh trỡnh tửù thửùc hieọn pheựp toaựn
trong trửụứng hụùp caàn thieỏt
-Vieỏt laàn lửụùt tửứ traựi qua phaỷi
-Khoõng ủửụùc boỷ qua daỏu (*) trong tớch
ẹửụùc thửùc hieọn theo thửự tửù sau:
-Thửùc hieọn caực pheựp toaựn trong
ẹaởt vaỏn ủeà: ẹeồ moõ taỷ caực thao taực trong thuaọt toaựn, moói ngoõn ngửừ laọp trỡnh ủeàu sửỷ duùng moọt soỏ khaựi nieọm
cụ baỷn: Pheựp toaựn, bieồu thửực, gaựn giaự trũ
Hoỷi: Haừy keồ caực pheựp toaựn maứ em ủaừ ủửụùc hoùc trong toaựn hoùc?
Hoỷi: Pheựp div, mod ủửụùc sửỷ duùng cho nhửừng kieồu dửừ lieọu naứo?
- Chỉ sử dụng đợc cho kiểu nguyên
Hoỷi: Keỏt quaỷ cuỷa pheựp toaựn quan heọ thuoọc kieồu dửừ lieọu naứo?
- Thuộc kiểu logic
*Bieồu thửực soỏ hoùc:
Giaựo vieõn hửụựng daón caựch vieỏt caực
Trang 12
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, +, -
biểu thức từ toán học sang pascal sau đó gọi học sinh lên bảng làm
Sư dơng c¸c phÐp to¸n sè häc, h·y biĨu
diƠn biĨu thøc to¸n häc sau thµnh biĨu
3.Hàm số học chuẩn (7phút)
số Kiểu hàm sốSqr(x) I hoặc R Theo đối số
4.Biểu thức quan hệ, Logic (5phút)
Biểu thức quan hệ có dạng:
<bt1> <phép toán quan hệ> <bt2>
Biểu thức1 và biểu thức2 cùng là
xâu hoặc cùng là biểu thức số học
2*a+5*b+c x*y/(2*z) ((x+y)/(1 – (2 /z)))+(x*x/(2*z))
* Hàm số học chuẩn:
Trong toán học ta đã làm quen với một số hàm số học, hãy cho biết yếu tố cơ bản xây dựng nên biểu thức?
TL: Gồm 2 phần: Toán hạng và toán tử
Em hãy viết biểu thức tính nghiệm của phương trình bậc 2bằng Pascal
- Suy nghÜ, lªn b¶ng tr¶ lêi
(-b+sqrt(b*b-4*a*c))/(2*a)
* Biểu thức quan hệ- logic:
Các phép toán thực hiện:
+ Tính giá trị biểu thức+ Thực hiện phép toán quan hệ
Kết quả của biểu thức quan hệ là giá trị logic: True or false
- VÝ dơ: (A>B) or ((X+1)<Y) vµ (5>2) and ((3+2)<7)
- BiĨu thøc trong ng«n ng÷ lËp tr×nh : (5<=x) and (x<=11)
+ Thùc hiƯn c¸c biĨu thøc quan hƯ
+ Thùc hiƯn phÐp to¸n logic
- KiĨu logic
5 câu lệnh gán(7phút)
Có dạng: <tên biến>: =<biểu thức>;
- Giíi thiƯu mét sè vÝ dơ vỊ lƯnh g¸n trong
Pascal nh sau:
x:=4+8;
Câu lệnh gán:
Lệnh gán dùng để tính giá trị một biểu thức và chuyển giá trị đó vào một biến
Trang 13
- Giới thiệu ví dụ: Cho chơng trình.
- Các phép toán trong Turbo Pascal: Số học, quan hệ và logic
- Các biểu thức trong Turbo Pascal: Số học, quan hệ và logic
- Cấu trúc lệnh gán trong Turbo Pascal: tên_biến :=biểu_thức;
2 Câu hỏi và bài tập về nhà
- Làm bài tập 5, 6, 7, 8, sách giáo khoa, trang 35 – 36;
- Xem phụ lục A, sách giáo khoa trang 121: Một số phép toán thờng dùng và giá trị phép toán logic
V.Ruựt kinh nghieọm:
- Biết đợc ý nghĩa của các thủ tục và/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
2 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
3 Thaựi ủoọ:
- YÙ thửực thaựi ủoọ hoùc taọp toỏt ủeồ sau naứy hoùc laọp trỡnh toỏt hụn
4.Troùng taõm: Phaàn caỏu truực caõu leọnh nhaọp/ xuaỏt
II ẹoà duứng daùy hoùc:
1 Chuẩn bị của giáo viên
- Sách giáo khoa, tranh chứa các biểu thức trong toán học, máy chiếu Projector, máy vi tính, một số chơng trình viết sẵn
2 Chuẩn bị của học sinh
- Sách giáo khoa
III Hoaùt ủoọng daùy – hoùc:
1 OÅn ủũnh lụựp- kieồm tra sú soỏ:(1phuựt)
Ngày gi ng ảng L p d y ớp dạy ạy Ti t ết T ng s ổng số ố HS V ng m t ắng mặt ặt
11A1
11 A2
Trang 14
11 A3
11 A4
11 A5
2.Kieồm tra baứi cuừ:
Haừy vieỏt caực bieồu thửực toaựn hoùc sang Pascal:
3.Noọi dung baứi mụựi
BAỉI7: CAÙC THUÛ TUẽC VAỉO-RA ẹễN
GIAÛN
1 Nhaọp dửừ lieọu tửứ baứn phớm
ẹửụùc thửùc hieọn baống thuỷ tuùc chuaồn:
Read(<danh saựch bieỏn vaứo>);
Hoaởc
Readln(<danh saựch bieỏn vaứo>);
Vd: Read(N);
Readln(<danh saựch bieỏn vaứo>);
2.ẹửa dửừ lieọu ra maứn hỡnh
Thuỷ tuùc xuaỏt ra maứn hỡnh chuaồn nhử
Vớ duù: Khi vieỏt chửụng trỡnh giaỷi phửụngtrỡnh ax+b=0, ta phaỷi nhaọp vaứo caực ủaùi lửụùng naứo? Vieỏt leọnh nhaọp?Hoùc sinh traỷ lụứi:
- Phải nhập giá trị cho hai biến: a, b
Vụựi vớ duù treõn ta bieỏt caực chửực naờng cuỷa leọnh trong chửụng trỡnh:Leọnh Writeln(); Vieỏt ra maứn hỡnh doứng chửừ vaứ ủửa con troỷ xuoỏng doứng.Leọnh Write(6); Daứnh 6 vũ trớ treõn maứn hỡnh ủeồ vieỏt soỏ x vaứ 6 vũ trớ tieỏp ủeồ vieỏt soỏ y vaứ 6 vũ trớ tieỏp ủeồ vieỏt soỏ
z
IV Đánh giá cuối bài
1 Những nội dung đã học
- Nhập dữ liệu : Read/Readln(<tên_biến_1>, ,<tên_biến_k>);
- Xuất dữ liệu : write/writeln(<tham_số_1>, ,<tham_số_k>);
2 Câu hỏi và bài tập về nhà
Trang 15
- bằng thực hành trên máy:
+ Hãy so sánh sự giống nhau và khác nhau giữa Write(); và writeln();
+ Hãy so sánh sự giống nhau và khác nhau giữa Read(); và Readln();
+ Tìm hiểu chức năng của lệnh Readln; Writeln;
V.Ruựt kinh nghieọm:
- Biết đợc một chơng trình Pascal hoàn chỉnh
- Làm quen với các dịch vụ chủ yếu của Turbo Pascal trong việc soạn thảo, lu chơng trình, dịch chơng trình và thực hiện chơng trình
1 Chuẩn bị của giáo viên
- Phòng máy vi tính đã đợc cài đầy đủ Turbo Pascal, máy chiếu projector để hớng dẫn
2 Chuẩn bị của học sinh
- Sách giáo khoa, sách bài tập và bài tập đã viết ở nhà
III HOAẽT ẹOÄNG DAẽY HOẽC:
1 OÅn ủũnh lụựp- kieồm tra sú soỏ:
Ngày gi ng ảng L p d y ớp dạy ạy Ti t ết T ng s ổng số ố HS V ng m t ắng mặt ặt
Trang 16Goừ chửụng trỡnh sau vaứo maựy:
-Sửa lại chơng trình không dùng biến D
Baứi taọp: Vieỏt chửụng trỡnh tớnh toồng:
S= 1+2+3+ +n (n nhaọp tửứ baứn phớm)
HD: Khai baựo:- Bieỏn n kieồu soỏ nguyeõn
ủeồ chửa dửừ lieọu nhaọp vaứo
-Bieỏn S kieồu soỏ nguyeõn ủeồ lửu keỏt
quaỷ
-Nhaọp dửừ lieọu cho n
-Tớnh s theo coõng thửực s= n*(n+1) div 2;
-Ghi dửừ lieọu leõn maứn hỡnh
Hoaùt ủoọng 1:
Hửụựng daón hoùc sinh soaùn thaỷo chửụng trỡnh giaỷi phửụng trỡnh baọc 2 vaứo maựy.Sau khi soaùn xong tieỏn haứnh hửụựng daón hoùc sinh chaùy chửụng trỡnh:
-Lửu chửụng trỡnh: Baỏm F2-Dũch loói cuự phaựp: Alt +F9-Thửùc hieọn chửụng trỡnh ctrl +F9-Nhaọp dửừ lieọu 1 -3 2 Thoõng baựo keỏt quaỷ ra maứn hỡnh: x1=1.00 x2=2.00-Trụỷ veà maứn hỡnh soaùn thaỷo: Enter-Thửùc hieọn chửụng trỡnh: Ctrl+F9
-Nhaọp dửừ lieọu 1 0 2.Thoõng baựo keỏtquaỷ ra maứn hỡnh:
Thông báo lỗi: Do căn bậc hai cuỷa một số
Write(‘nhap so nguyen duong n:’);readln(n);
+ Phân tích bài toán để xác định dữ liệu và, dữ liệu ra
+ Xác đinh thuật toán
+ Soạn chơng tình vào máy
+ Lu giữ 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
Trang 17
2 Câu hỏi và bài tập về nhà
- Viết chơng trình nhập vào độ dài ba cạnh của một tam giác và tính chu vi, diện tích của tam giác đó
V Ruựt kinh nghieọm:
-Bieỏt ủửụùc moọt chửụng trỡnh pascal hoaứn chổnh
-Laứm quen vụựi vieọc soaùn thaỷo, lửu chửụng trỡnh, dũch vaứ chaùy chửụng trỡnh
-Bieỏt thửùc hieọn chửụng trỡnh toaựn hoùc treõn maựy tớnh
II ẹoà duứng daùy hoùc:
1.Chuaồn bũ cuỷa giaựo vieõn:
-Phoứng maựy ủaừ caứi phaàm meàm Pascal, Maựy chieỏu ủeồ giaỷng khi caàn thieỏt.-Giaựo aựn, vớ duù ủaừ soaùn saỹn ủeồ chieỏu cho caực em hỡnh dung trửùc tieỏp
2.Chuaồn bũ cuỷa hoùc sinh
-Baứi taọp ủaừ soaùn ụỷ nhaứ ủeồ thửùc haứnh nhanh goùn
III Hoaùt ủoọng daùy vaứ hoùc
1 OÅn ủũnh lụựp- Kieồm tra sú soỏ:
11A1 11A2
11A3 11A4 11A5
2.Kieồm tra baứi cuừ(khoõng kieồm tra)
3 Noọi dung thửùc haứnh:
Baứi taọp 1:
Vieỏt chửụng trỡnh tớnh dieọn tớch,
tam giaực khi bieỏt 3 caùnh a,b,c
Writeln(‘cho biet canh thu hai=’);readln(b);
Writeln(‘cho biet canh thu ba=’);readln(c);
P:=0,5*(a+b+c);
S:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln(‘dien tich tam giac=’);
ReadlnEnd
Giaỷi baứi taọp 2:
Program hinh_vuong;
Trang 18
Học sinh làm các bài tập
Writeln(‘canh hinh vuong a=’);readln(a);
+ NhËp d÷ liƯu vµ kiĨm tra kÕt qu¶
- §äc tríc néi dung bµi: CÊu trĩc rÏ nh¸nh, s¸ch gi¸o khoa, trang 38
- Xem phơ lơc B, s¸ch gi¸o khoa, trang 122: M«i trêng Turbo Pascal
V Rút kinh nghiệm:
-Viết được các bài toán dưới dạng Pascal
- Biểu diễn được các công thức từ toán học sang Pascal
- Phân biệt được các kiểu dữ liệu, biết cách khai báo biến
2 Kĩ năng:
-Thao tác làm các bài tập nhanh gọn
3 Trọng tâm:
-Nắm chắc các kiến thức đã học ở bài trước để vận dụng làm bài tập
II Đồ dùng dạy học
1.Chuẩn bị của giáo viên: Giáo án, SGK, SBT
2.Học sinh: Sách bài tập
III Hoạt động dạy –học
1.Ổn định lớp- Kiểm tra sĩ số:
Ngày gi ng ảng L p d y ớp dạy ạy Ti t ết T ng s ổng số ố HS V ng m t ắng mặt ặt
11A1
Trang 19
11 A2
11 A3
11 A4
11 A52.Kiểm tra bài cũ (không kiểm tra)
3 Nội dung bài tập:
Bài tập 1: Trong Pascal nếu một
biến chỉ nhận giá trị 5, 10, 15, 20,
30, 60, 90 và biến x có thể nhận
giá trị 0,1; 0,2; 0,3; 0,4; 0,5 Khai báo
nào trongcác khai báo sau là
đúng?
a, Var X,P :byte; d, var X: real;
b, Var P,X: real; P: byte;
c, Var P: Real;
X: byte;
Bài 2: Hãy chuyển các biểu thức
trong Pascal dưới đây sang biểu
thức toán họctương ứng
a, a/b*2; c, 1/a*b/c;
b, a*b*c/2; d, b/sqrt(a*a+b);
Bài 3: Lập trình nhập từ bàn
phím hai số thực a và b, tính và
đưa ra màn hình:
a, Trung bình cộng các bình phương
của hai số đó?
b, Trung bình cộng các giá trị tuyệt
đối của a và b
Bài 4: Viết chương trình nhập vào
số nguyên dương có ba chữ số
rồi in lên màn hình số đảo ngược
của số đó
HD: -Khai báo biến n để chứa dữ
liệu nhập vào
-Nhập n nguyên dương có 3 chữ
số
-Dùng các phép toán Mod và Div
lần lượt tách các chữ số hàng
đơn vị, hàng chục, hàng trăm,
hàng nghìn và ghi lên bảng
Giáo viên gọi học sinh lên bảng làm bài tập
-Học sinh lên bảng làm bài tập
Câu d là đúng
Bài2: Học sinh lên bảng làm:
*Giáo viên nhận xét và cho điểm
HD:
-Khai báo biến
- Sử dụng công thức (Sqr(a) + Sqr(b))/2;Và (Abs(a) + Abs(b))/2;
* Gọi học sinh lên bảng làm bài.Program so_dao;
Var n: integer;
Begin Write(‘nhap so nguyen co ba chu so:’);readln(n);
Write(‘so dao nguoc cua so’,n,’ la:’);
Writeln(n mod 10, n mod 100 div 10, n div 100);
ReadlnEnd
Trang 201 Kiến thức.
- Học sinh biết đợc ý ngiã của cấu trúc rẽ nhánh
- Học sinh biết đợc cấu trúc chung của cấu trúc rẽ nhánh
- Biết cách sử dụng đúng hai dạng cấu trúc rẽ nhánh trong lập trình: dạng thiếu và dạng
-Tieỏp tuùc xaõy dửùng loứng yeõu thớch giaỷi toaựn baống laọp trỡnh treõn maựy
-Tieỏp tuùc reứn luyeọn caực phaồm chaỏt caàn thieỏt cuỷa ngửụứi laọp trỡnh nhử: xem xeựt giaỷi quyeỏt vaỏn ủeà moọt caựch caồn thaọn, saựng taùo
4 Troùng taõm:
Caõu leọnh if then
II Đồ dùng dạy học
1 Chuẩn bị của giáo viên
- Máy vi tính, máy chiếu Projector, chơng trình mẫu giải phơng trình bậc hai ax2 + bx + c =0
2 Chuẩn bị của học sinh
- Saựch giáo khoa
III Hoạt động dạy – học
1.OÅn ủũnh lụựp- kieồm tra sú soỏ:
Ngày gi ng ảng L p d y ớp dạy ạy Ti t ết T ng s ổng số ố HS V ng m t ắng mặt ặt
Caõu 1: Trong bieồu dieón dửụựi ủaõy, bieồu dieón naứo laứ tửứ khoaự trong Pascal?
a.Boolean b Interger c Const d sqrt
Caõu2:Neỏu bieỏn i thuoọc kieồu integer thỡ phaùm vi giaự trũ cuỷa i trong khoaỷng naứo ?
a 0 ủeỏn 255; b -215 ủeỏn 215 -1 ; c 0 ủeỏn 216 -1 ; d -231 ủeỏn 231 -1
Câu 3: Trờng hợp nào dới đây không phải là tên trong Pascal
a Giai_PT_Bac2; b Ngaysinh; c @baitap; d Dia3chi;
Caõu4: Tửứ khoựa ủeồ khai baựo thử vieọn chuaồn cuỷa Pascal laứ
a, program b, var c, uses d, Const
Caõu5: Trong Pascal phaàn khai baựo coự theồ boỷ qua
a, Khai baựo bieỏn b, Khai baựo teõn chửụng trỡnh
c, Khai baựo haống d, Coự theồ boỷ taỏt caỷ
Caõu6: Xeựt khai baựo sau ủaõy trong Pascal
Trang 21Cõu 7: Ngoõn ngửừ laọp trỡnh laứ:
a, Phửụng tieọn ủeồ soaùn thaỷo vaờn baỷn trong ủoự coự chửụng trỡnh
b,Ngoõn ngửừ Pascal hoaởc C
c,Phửụng tieọn dieón ủaùt thuaọt toaựn ủeồ maựy tớnh thửùc hieọn coõng vieọc
d,Phửụng tieọn dieón ủaùt thuaọt toaựn
Caõu 8: Phaựt bieồu naứo dửụựi ủaõy laứ ủuựng:
a, Haống soỏ khoõng laứ bieồu thửực soỏ hoùc
b, Bieỏn soỏ khoõng laứ bieồu thửực soỏ hoùc
c, Chổ khi haống vaứ bieỏn soỏ lieõn keỏt vụựi nhau bụỷi caực pheựp toaựn soỏ hoùc mụựi taùo thaứnh bieồu thửực soỏ hoùc
d,Caỷ 3 meọnh ủeà treõn ủeàu sai
Câu 10: Trong các khai báo biến sau đây trờng hợp nào là khai báo đúng
A Var:q: integer; B Var q; integer; C Var q: integer; D.Var:q; integer;
Câu 11: biểu thức nghiệm của phơng trình bậc hai: viết trong TP sau đây, biểuthức nào là đúng
A (-b + sqrt (b*b-4*a*c)) / 2a B (-b + sqrt (b*b-4*a*c)) / 2*a
C (-b + sqrt (b*b-4*a*c)) / (2*a) D -b + sqrt (b*b-4*a*c) / (2*a
II: Tệẽ LUAÄN Vieỏt caực bieồu thửực Pascal sang toaựn hoùc vaứ ngửụùc laùi
STT Bi u th c trong Pascal ểu thức trong Pascal ức trong Pascal Bi u th c trong toỏn h cểu thức trong Pascal ức trong Pascal ọc
3.Noọi dung baứi mụựi:
Baứi 9: CAÁU TRUÙC REế NHAÙNH
-Neỏu thỡ , neỏu khoõng thỡ
2 Caõu leọnh IF – THEN
Daùng thieỏu:
If<ủieàu kieọn> then<caõu leọnh>;
Hoaùt ủoọng 1: Neõu vớ duù thửùc tieón minh hoaù cho toồ chửực reừ nhaựnh
Chieàu mai neỏu trụứi khoõng mửa An seừ
ủi xem ủaự boựng, neỏu trụứi mửa thỡ An seừ xem ti vi ụỷ nhaứ
Hoùc sinh chú ý theo dõi các dẫn dắt và ví
dụ của giáo viên để suy nghĩ tìm ví dụ tơng tự
- Nếu đội tuyển bóng đá Việt Nam thắng
đội Indonesia thì sẽ đợc đá tiếp tranh huy chơng vàng với Thái Lan, nếu không thắng Indonesia thì Việt Nam sẽ tranh huy chơng
Trang 222 Một số ví dụ.
*Tìm nghiệm của phương trình bậc 2:
Input: Các hệ số a, b, c nhập từ bàn
phím
Output: Đưa ra màn hình các nghiệm thực
hoặc câu thông báo “phương trình vô
nghiệm”
*Tìm số ngày của năm N, biết rằng
năm nhuận là năm chia hết cho 400
hoặc chia hết cho 4 nhưng không chia hết
cho 100
Input: N nhập từ bàn phím
Output: Đưa số ngày của năm N ra màn
* Ví dụ về câu lệnh if then else:
if a mod 3 = then writeln(‘phuong trinh vo nghiem’)
Else write(‘a khong chia het cho 3’);
Ví dụ:
If D<0 then wtiteln(‘phuong trinh vo nghiem,’)
Else Begin x1:=(-b – sqrt(b*b-4*a*c))/(2*a);
x2:= -b/a-x1;
end,Một số ví dụ:
Ví dụ giải phương trình bậc2:
x2:= -b/a –x1;
writeln(‘x1=’, x1:8:3,’ x2 =’, x2:8:3); End;
ReadlnEnd
Write(‘Nam
Trang 23
IV Đánh giá cuối bài.(5phuựt).
1 Những nội dung đã học
- Cấu trúc chung của cấu trúc rẽ nhánh
- Sự thực hiện của máy khi gặp cấu trúc rẽ nhánh IF
- Sơ đồ thực hiện của cấu trúc rẽ nhánh IF
2 Câu hỏi và bài tập về nhà
- Trả lời câu hỏi 1, 2, 4, Sách giáo khoa, trang 50
- Viết chơng trình nhập vào hai số bất kì và in ra màn hình giá trị lớn nhất của hai số
- Viết chơng trình giải phơng trình ax4 + bx2 + c = o
V.Ruựt kinh nghieọm:
- Biết đợc ý nghĩa của cấu trúc lặp
- Biết đợc 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
2 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 Thaựi ủoọ:
Tớch cửùc hoùc taọp, bửụực ủaàu laứm quen vụựi caực caõu leọnh trong laọp trỡnh
4 Troùng taõm: Laởp vụựi soỏ laàn bieỏt trửụực vaứ caõu leọnh For- do
II ẹoà duứng daùy hoùc:
1 Chuẩn bị của giáo viên
- Máy vi tính, máy chiếu Projector, sách giáo khoa, sách giáo viên
2 Chuẩn bị của học sinh
- Sách giáo khoa, duùng cuù hoùc taọp
III: Hoaùt ủoọng daùy – hoùc
1.OÅn ủũnh lụựp- kieồm tra sú soỏ:(1phuựt)
Ngày gi ng ảng L p d y ớp dạy ạy Ti t ết T ng s ổng số ố HS V ng m t ắng mặt ặt
2 Kieồm tra baứi cuừ:
Caõu 1: Haừy vieỏt caỏu truực caõu leọnh laởp daùng thieỏu vaứ daùng ủuỷ?
Caõu 2: Laỏy vớ duù veà caỏu truực laởp daùng thieỏu vaứ daùng ủuỷ
Traỷ lụứi:
Caõu1:
*Daùng thieỏu: If <ủieàu kieọn> Then <Caõu leọnh>;
*Daùng ủuỷ: If <ủieàu kieọn> then <caõu leọnh 1> else <caõu leọnh 2>;
Caõu 2:
*Daùng thieỏu: If D < 0 then writeln (‘phuong trinh vo nghiem,’);
*Daùng ủuỷ: If M mod 3=0 then write (‘M chia het cho 3’)
Trang 24
Else write (‘M khong chia het cho 3’);
3.Noọi dung baứi mụựi:
Baứi 10: CAÁU TRUÙC LAậP
1.LAậP(15phuựt)
Vụựi a laứ soỏ nguyeõn vaứ a>2, xeựt caực
baứi toaựn sau:
Baứi toaựn1: S=1/a + 1/a+1 + + 1/a+100
Baứi toaựn2: S= 1/a + 1/a+1+ +1/a+N
2.Laởp vụựi soỏ laàn bieỏt trửụực
vaứ caõu leọnh For- do.(19phuựt)
* Daùng laởp tieỏn:
For<bieỏn ủeỏm>:=<giaự trũ ủaàu> to <giaự
trũ cuoỏi> do <caõu leọnh>;
*Daùng laởp luứi:
For<bieỏn ủeỏm>:=<giaự trũ cuoỏi>
downto<giaự trũ ủaàu> do <caõu leọnh>
*Coự 2 thuaọt toaựn ủeồ tớnh toồng cho baứi
-Coự bao nhieõu laàn ủoồ nửụực vaứo thuứng?
-Moói laàn ủoồ lửụùng bao nhieõu? laàn thửự
i ủoồ bao nhieõu?
-Phaỷi vieỏt bao nhieõu leọnh?
Traỷ lụứi:
- Phải thực hiện 100 lần đổ nớc
- Mỗi lần đổ 1 a+i-Phải viết 100 lệnh
Cho hoùc sinh thảo luận theo nhóm để viết thuaọt toán:
*Thuaọt toaựn (Daùng laởp tieỏn)
Bớc 1: N <– 0; S <– 1/a;
Bớc 2: N <– N+1;
Bớc 3: nếu : N>100 thì chuyển đến bớc 5.Bớc 4 : S <– S + 1/(a+N),
Quay lại bớc 2
Bớc 5 : Đa S ra màn hình rồi kết thúc
- Thông báo kết quả viết đợc
- Nhận xét, đánh giá kết quả cuỷa nhoựm
*Thuaọt toaựn (Daùng laởp luứi)
Bửụực1: N <– 101 ; S <– 1/a;
Bớc 2: N <– N - 1;
Bớc 3: nếu : N < 1 thì chuyển đến bớc 5.Bớc 4 : S <– S + 1/(a+N),
Quay lại bớc 2
Bớc 5 : Đa S ra màn hình rồi kết thúc
IV Cuỷng coỏ baứi hoùc:(5phuựt)
-Naộm roừ caỏu truực laởp vụựi soỏ laàn bieỏt trửụực vaứ chửa bieỏt trửụực
-Giaỷi ủửụùc caực baứi toaựn tửụng tửù trong thửùc teỏ
V Ruựt kinh nghieọm:
Trang 25
I Mục tiêu
1 Kiến thức
- Biết đợc ý nghĩa của cấu trúc lặp có số lần lặp cha 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
2 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 Đồ dùng dạy học
1 Chuẩn bị của giáo viên
- Máy vi tính, máy chiếu Overhead, Projector, sách giáo khoa, sách giáo viên
2 Chuẩn bị của học sinh
- Sách giáo khoa
III Hoạt động dạy - học
1 OÅn ủũnh lụựp- kieồm tra sú soỏ:(1phuựt)
2.Kieồm tra baứi cuừ:
Caõu1: Neõu caỏu truực daùng laởp tieỏn vaứ daùng laởp luứi?
3.Noọi dung baứi mụựi:
*Caứi ủaởt thuaọt toaựn tớnh toồng cuỷa
baứi toaựn 1 ụỷ 2 daùng laởp tieỏn vaứ
daùng luứi
*Daùng laởp tieỏn
Bài toán 1: Viết chơng trình tính tổng:
S = 1/a + 1/a+1 + 1/a+2 + + 1/a+N +
cho đến khi 1/a+N <0,0001
Chửụng trỡnh tớnh toồng daùng laởp tieỏn:Program tinh_tong;
Uses crt;
Var S: real;
a ,N: integer;
BeginClrscrWrite (‘hay nhap gia tri a vao’,); readln(a);S:= 1.0 /a;
For N:= 1 to 100 do S:= S+1.0/ (a+ N);
Writeln(‘tong S la:’, S);
ReadlnEnd
*Daùng laởp luứi:
For N:= 100 dowto 1 do S:= S+1.0/ (a+ N);
Writeln(‘tong S la:’, S);
ReadlnEnd
Trang 26
- Hỏi : Sự khác nhau của bài toán này với bài
toán đã viết ở tiết trớc?
- Hỏi : Lặp lại bao nhiêu lần?
- Hỏi : Lặp đến khi nào?
* Yêu cầu học sinh nghiên cứu sách giáo
khoa và cho biết cấu trúc chung của lệnh lặp
While
While <ủieàu kieọn> do <caõu leọnh>;
- Giải thích:
+ <Điều kiện>: Là biểu thửực quan hệ
hoặc biểu thức logic, là điều kiện để lặp lại
a Chú ý lắng nghe, quan sát và suy nghĩ để trả lời
- Bài trớc: Cho giới hạn N
-Bài này: Cho giới hạn S
điều kiện nào đó
2 Yêu cầu học sinh vẽ sơ đồ cấu trúc lên
bảng
-Gọi học sinh đánh giá nhận xét
Ví dụ 2: Viết chơng trình nhập vào hai số
nguyên dơng a và b Tìm ớc số chung lớn
nhất của hai số đó
- Hỏi: Một sự khác nhau trong lệnh cần lặp của For và While là gì?
- Dựa vào cấu trúc chung, hãy cho biết máy sẽ thực hiện tính <điều kiện> trớc hay thực hiện <lệnh cần lặp> trớc?
1 Tham khảo sách giáo khoa và trả lời
- Cấu trúc chung While <điều kiên> Do <lệnh cần lặp>;
- Điều kiện : m<> n -Leọnh cần lặp: m:=m-n; hoặc n:=n-m;
- Thuật toán:
B1: Nếu m=n thì UC=m, dừng
B2: Nếu m>n thì m:=m-n ngợc lại n:=n-m; Quay lại B1
IV Đánh giá cuối bài
1 Những nội dung đã học
- ý nghĩa của cấu trúc lặp có số lần cha xác định
- Cấu trúc chung của lệnh lặp While trong ngôn ngữ Pascal
- Sơ đồ thực hiện của lệnh lặp While
- Sự thực hiện của máy khi gặp lệnh lặp While
2 Câu hỏi và bài tập về nhà
- Giải bài tập 4, 5b, 7, 8, sách giáo khoa trang 51
- Viết chơng trình tính tổng:
S = 1/a + 1/a+1 + 1/a+2 + + 1/a+N + cho đến khi 1/a+N <0,0001
- Đọc lại lệnh rẽ nhánh IF và làm các bài tập liên quan, chuẩn bị cho tiết sau thực hành
V Ruựt kinh nghieọm:
Trang 27
- Biết đợc ý nghĩa của cấu trúc lặp có số lần lặp cha 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
2 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 Đồ dùng dạy học
1 Chuẩn bị của giáo viên
- Máy vi tính, máy chiếu Overhead, Projector, sách giáo khoa, sách giáo viên
2 Chuẩn bị của học sinh
- Sách giáo khoa
III Hoạt động dạy - học
1 OÅn ủũnh lụựp- kieồm tra sú soỏ:(1phuựt)
2 Kieồm tra baứi cuừ(5phuựt)
3 Noọi dung baứi mụựi
1 Chuẩn bị của giáo viên
- Phòng máy vi tính, máy chiếu Projector để hớng dẫn
2 Chuẩn bị của học sinh
- Sách giáo khoa, sách bài tập và bài tập đã viết ở nhà
III Hoạt đông dạy - học
1 Hoạt động 1: Làm quen với một chơng trình và các công cụ hiệu chỉnh chơng trình
a Mục tiêu:
- Học sinh hiểu đợc nội dung chơng trình và kết quaỷ sau khi thực hiện chơng trình Biết các công cụ dùng để hiệu chỉnh chơng trình khi cần thiết nh : Thực hiện từng bớc và xem kết quả trung gian
Trang 28
1 Gụùi ý để học sinh nêu khái niệm về bộ
số Pitago
- Yêu cầu: lấy một ví dụ cụ thể
- Hỏi : Để kiểm tra bộ ba số a, b, c bất kì
có phải là bộ Pitago, ta phaỷi kiểm tra các
đẳng thức nào?
2 Chiếu chơng trình mẫu lên bảng
thực hiện mẫu các thao tác: lu, thực hiện
từng lệnh chơng trình, xem kết quả trung
gian, thực hiện chơng tình và nhập dữ liệu
- Yêu cầu học sinh gõ chơng trình mẫu vào
- bấm F7, nhập các giá trị a=3, b=4, c=5
- Chọn menu Debug để mở cửa sổ hiệu chỉnh
- Quan sát quá trình rẽ nhánh của từng bộ dữ liệu vào và trả lời
2 Hoạt động 2: Rèn luyện kĩ năng lập trình hoàn thiện một bài toán
1 Nêu nôi dung, mục đích, yêu cầu cảu bài
toán
- Hỏi : Bớc đầu tiên để giải bài toán ?
- Hỏi : Để xác định ta phải đặt các câu hỏi
nh thế nào? Gọi học sinh đặt câu hỏi và gọi
học sinh trả lời cho câu hỏi đó?
- Yêu cầu học sinh phác họa thuât toán
2 Yêu cầu học sinh gõ chơng trình vào
máy
- Giáo viên tiếp cận từng học sinh để hớng
dẫn và sửa sai
3 Yêu cầu học sinh nhập dữ liệu
- Nhập dữ liệu với test 1 2 -2
4 Yêu cầu học sinh xác định các testcase,
nhập dữ liệu, đối sánh kết quả
1 chú ý theo dõi vấn đề đặt ra của giáo viên
- Xác định input output và thuật giải
- Mục đích của giải phơng trình?
+ Kết luận số nghiệm và giá trị nghiệm x
- Để tính đợc nghiệm x cần các đại lợng nào?
Trang 292 3 -1.5 Nhập dữ liệu và thông báo kết quả.
IV Đánh giá cuối bài
1 Những nội dung đã học
Các bớc để hoàn thành một chơng trình
- Phân tích bài toán để xác định dữ liệu vào, dữ liệu ra, thuật toán
- Soan chơng trình vào máy
- Lu dữ chơng trình
- Biên dịch
- Thực hiện và hiệu chỉnh chơng trình
2 Câu hỏi và bài tập về nhà
- Viết chơng trình nhập vào độ dài ba cạnh cuat một tam giác và tính chu vi, diện tích của tam giaực đó
Hỏi: Chơng trình thực hiện chơng trình gì, kết quả in ra màn hình là bao nhiêu?
- Viết chơng tình nhập vào ba số bất kì và tìm giá trị bé nhất của ba số đó
- Xem trớc nội dung bài: kiểu mẳng, sách giáo khoa, trang 53
Tuaàn 9:
Ngaứy soaùn: 14/10/2009
Ngaứy giaỷng: 19-24/10/2009
PPCT Tieỏt 16 :
BAỉI TAÄP VAỉ THệẽC HAỉNH SOÁ 2 (Tieỏt 2)
PPCT Tieỏt 17 : BAỉI TAÄP
1 Chuẩn bị của giáo viên
- Máy chiếu Projector, máy vi tính để giới thiệu ví dụ minh họa, một số chơng trình mẫu
2 Chuẩn bị của học sinh
- Sách giáo khoa
III Hoạt động dạy – học
Trang 30
1 Hoạt động 1: Nhắc lại kiến thức đã học về tổ hcức rẽ nhánh và lặp
For <biến đếm>:=<giá trị đầu> To <giá trị cuối> Do <lệnh>;
For <biến đếm>:=<giá trị đầu> downto <giá trị cuối> Do <lệnh>;
- Lặp While
While <điều kiện> Do <lệnh>;
c Các bớc tiến hành:
1 Yêu cầu học sinh nhắc lại cấu trúc rẽ
nhánh
- Chiếu chơng trình tìm giá trị lớn nhất của
hai số, trong đó có sử dụng lệnh rẽ nhánh
- Hỏi: Chơng trình thực hiện công việc gì?
- Yêu cầu học sinh viết lại chơng trình
lặp For và một chơng trình sử dụng lặp while
- Yêu cầu: So sánh sự giống và khác nhau
Begin Readln(a, b); max:=b;
If a>b then max:=a;
While <điều kiện> Do <lệnh cần lặp>;
- Quan sát, suy nghĩ và trả lời
- Giống: đều là lệnh lặp
- Khác: For lặp với số lần đã xác định trớc trong khi While lạp với số lần cha xác định
2 Hoạt động 2: rèn luyện kĩ năng vận dụng tổ chức lặp
1 Tìm hiểu bài tập 1 và giải quyết 1 Quan sát và suy nghĩ để giải quyết bài
Trang 31
- Chiếu nội dung ví dụ 1 lên bảng.
- Hỏi: Có thể khai triển biểu thức Y thành
tổng của các số hạng nh thế nào?
- Nhìn vào công thức khai triển, cho biết N
lấy giá trị tỏng đoạn nào?
- Hỏi : Ta sử dụng cấu trúc điều khiển lặp
2 Tìm hiểu nội dung ví dụ 2 và định hớng
học sinh giải quyết ở nhà
- Chiếu nội dung ví dụ 2 lên bảng
- Hãy cho biết N nhận giá trị trong đoạn
nào? Xác định đợc cha?
- Hỏi : Dùng cấu trúc điều khiển nào là
thích hợp?
- Yêu cầu học sinh về nhà lập trình trên
máy, tiết sau nộp lạo cho giáo viên
toán
Y = 1/2 + 2/3 + 3/4 + + 50/51 1 50
- báo cáo kết quả của nhóm
- Nhận xét, đánh giá và bổ sung các thiếu sót của nhóm khác
2 Quan sát và theo dõi những định hớng của giáo viên
2 Câu hỏi và bài tập về nhà
- Cho chơng trình đợc viết bằng lệnh For
Var x, i:word; nt:boolean;
Begin
Readln(x);
nt :=true;
For i :=2 to x - 1 do
if x mod i = 0 then nt:=false;
If nt = true then write(x,’la so nguyen to’) else write(x, ‘khong phai snt’);
readln;
End
- Hãy viết lại chơng trình trên trong đó lệnh lặp For đợc thay bằng lệnh lặp Whlie Hãy cho biết, trong bài toán trên sử dụng lệnh lặp nào là tốt hơn
Chơng 4 Kiểu dữ liệu có cấu trúc
I Mục tiêu của chơng
1 Kiến thức: Học sinh cần:
- Hiểu đợc khái niệm kiểu dữ liệu có cấu trúc
- Biết đợc ngôn ngữ lập trình cho phép tạo ra các kiểu dữ liệu có cấu trúc trên cơ sở các kiểu dữ liệu chuẩn
- Một kiểu dữ liệu có cấu trúc đợc xây dựng từ những kiểu dữ liệu cơ sở theo một số kĩ thuật tạo kiểu do ngôn ngữ lập trình quy định
- Kiểu dữ liệu xác định bởi hai yếu tố: Phạm vi đối tợng và các thao tác trên những đối tợngnày
2 Kĩ năng
- Biết cách mô tả kiểu dữ liệu trong ngôn ngữ lập trình Pascal
Trang 32
- Biết cách sử dụng đúng các thao tác vao/ra dữ liệu cho biến thuộc kiểu dữ liệu có cấu trúc.
- Biết cách sử dụng đúng các phép toán trên các thành phẩmcơ sở tùy theo kiểu của các thành phần cơ sở
3 Thái độ
- tiếp tục xây dựng lòng yêu thích giải bài toán lập trình trên máy vi tính
- Tiếp tục rèn luyện các phẩm chất cần thiết của ngời lập trình nh: ý thức chon và xây dựng kiểu dữ liệu khi thể hiện những đối tợng trong thực tế, ý thức rèn luyện kĩ năng sử dụ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 Luôn muốn cải tiến chơng trình nhằm nâng cao hiệu quả chơng trình
II Nội dung chủ yếu của chơng
Chơng này trình bày ba kiểu dữ liệu có cấu trúc quan trọng:
- Kiểu mẳng một chiều và mảng hai chiều
- Biết đợc một kiểu dữ liệu mới là kiểu mảng một chiều Biết đợc một laọi biến có chỉ số
- Biết cáu trúc tạo kiểu mảng một chiều và cáhc khai báo biến kiểu mảng một chiều
2 Kĩ năng
- Tạo đợc kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngônngữ lập trình Pascal để giải quyết một số bài toán cụ thể
II Đồ dùng dạy học
1 Chuản bị của giáo viên
- Máy chiếu Projector, máy vi tính để giới thiệu ví dụ và minh họa
2 Chuẩn bị của học sinh
Sách giáo khoa
III Hoạt động dạy – học
1 Hoạt động 1: Tìm hiểu ý nghĩa của mảng một chiều
- Chơng trình minh họa
Program nhiet do tuan;
Var t1, t2, t3, t4, t5, t6, tb:real; dem:integer;
Trang 33if t7>tb then dem:=dem+1;
Write(‘nhiet do trung binh tuan:’,tb);
Writeln(‘So ngay nhiet do cao hon nhiet do trung binh tuan:’,dem):
readln;
End
- Mảng một chiều là dãy hữu hạn các phần tử co cùng kiểu dữ liệu Các phần tử trong mảng có cùng chung một tên và phân biệt nhau bởi chỉ số Để mô tả mảng một chiều cần xác định đợc kiểu của các phần tử và cách đánh số các phần t ử của nó
- Hầu hết các ngôn ngữ lập trình đều có quy tắc cho phép xác định: tên kiểu mảng, số lợngphần tử, kiểu dữ liệu của từng phần tử, cách khia báo một biến mảng và cách tham chiếu đếntừng phần tử của từng mảng
c Các bớc tiến hành:
1 Chiếu đề bài và chơng trình ví dụ lên
bảng
- Hỏi: Khi N lớn thì chơng trình trên có
những hạn chế nh thế nào?
- Dẫn dắt: Để khắc phục những hạn chế
trên, ngời ta thờng ghép chung 7 biến trên
thành một dãy và đặt cho nó chung một tên
và đánh cho mọt phần tử một chỉ số
2 Yêu cầu học sinh tham khảo sách giáo
khoa và hỏi: Em hiểu nh thế nào về mảng
một chiều?
- Hỏi: Để mô tả mảng một chiều, ta cần xác
định những yếu tố nào?
1 Quan sát trên màn hình, suy nghĩ và trả lời
- Phải khai báo quá nhiều biến Chơng trình phải viết rất dài
2 Nghiên cứu sách giáo khoa để trả lời
- Mảng một chiều là dãy hữu hạn các phần tử có cùng kiểu dữ liệu Các phần tử trong mảng có cùng chung một tên và phân biệt nhau bởi chỉ số
- Để mô tả mảng một chiều cần xác định
đợc kiểu của các phần tử và cách đánh số các phần tử của nó
2 Hoạt động 2: Tạo kiểu mảng một chiều và khai báo biến mảng
a Mục tiêu:
- Học sinh biết đợc cách tạo kiểu dữ liệu mảng một chiều trong ngôn ngữ lập trình Pascal, biết cách khai báo biến và tham chiếu đến từng phần tử của mảng
b Nội dung:
- tạo kiểu dữ liệu mảng một chiều:
TYPE tên_kiểu_mảng = Array[kiểu_chỉ_số] Of kiểu_thành_phần;
+ Kiểu_chỉ_số: Thờng là một đoạn số nguyên(hoặc là một đoạn kí tự) xác định chỉ số đầu
và chỉ số cuối của mảng
+ Kiểu_thành_phần: Là kiểu dữ liệu chung của mọi phần tử trong mảng
- Khai báo biến mảng một chiều: VAR tên_biến:tên_kiểu_mảng;
- Tham chiếu đến từng phần tử: Tên_biến [chỉ số]
c Các bớc tiến hành:
1 Yêu cầu học sinh nghiên cứu sách giáo
khoa và hco biết cách tạo kiểu dữ liệu mảng
một chiều trong ngôn ngữ lập trình Pascal
- Tìm một ví dụ để minh họa
- Gọi học sinh khác, Hỏi: ý nghĩa của lệnh
- Ví dụ: Type mmc=array[1 100] of integer;
- Tạo mọt kiểu dữ liệu mới có tên mmc, gồm 100 phần tử, có kiểu nguyên
- Quan sát bảng và hcọn khai báo đúng Arrayr=array[1 200] of real;
Arrayb=array[-100 0] of boolean;
Trang 34
Arrayr=array[1 200] of real;
Arrayr=array[byte] of real;
Arrayb=array[-100 0] of boolean;
- Hỏi: Những khai báo nào đúng?
2 Yêu cầu học sinh cho biết cách khai bóa
biến và một ví dụ khai báo một biến mảng
ứng với kiểu dữ liệu vừa tạo
- Gọi học sinh khác, hỏi: ý nghĩa của lệnh
3 Giới thiệu cách tham chiếu đến từng
phần tử của mảng một chiều Yêu cầu học
sinh lấy một ví dụ
2 Tham khảo sách giáo khoa và trả lời VAR tên_biến:tên_km;
- Ví dụ : Var a:mmc;
- Khai báo một biến mảng một chiều
- a đã chiếm 200 byte trong bộ nhớ
3 Theo dõi hớng dẫn của giáo viên và độc lập suy nghĩ để trả lời
1 Giới thiệu đề bài
- Chiếu đề bài lên bảng
- Yêu cầu học sinh xác định dữ liệu vào,
dữ liệu ra
- Hỏi: Nếu không sử dụng biến mảng một
chiều, ta có thể giải quyết đợc bài toán
không? Khó khăn gì không?
2 Định hớng: Sử dụng kiểu mảng một chiều
để giải quyết bài toán
- Yêu cầu học sinh khai báo kiểu mảng
- Yêu cầu học sinh khia báo biến mảng
- Yêu cầu học sinh tìm các nhiệm vụ
chính cần giải quyết
3 Chia lớp thành 3 nhóm Yêu cầu viết
chơng trình lên giấy bìa trong
- Thu phiếu trả lời, chiếu lên bảng Gọi
học sinh nhóm khác nhận xét đánh giá
4 Chuẩn hóa chơng trình cho học sinh
1 Quan sát đề bài, theo dõi những yêu cầu cần giải quyết của dề bài
- Vào: 7 số là giá trị nhiệt độ của 7 ngày trong tuần
- Ra: Số ntb là nhiệt độ trung bình trong tuần và số nch là số ngày có nhiệt độ cao hơn nhiệt độ trung bình
- Đợc
- Chơng tình dài dòng, khó sửa đổi
2 Theo dõi sự hớng dẫn của giáo viên Type tuan=array[1 7] of real;
Var ndtuan : tuan;
- Nhập giá trị cho mảng a
- Tính trung bình cộng giá trị của mảng
- Đếm số phần tử có giá trị lớn hơn trungbình cộng có đợc
3 Thảo luận theo nhóm để viết chơng trình
- Báo cáo kết quả viết đợc
- Nhận xét, đánh giá và bổ sung những thiếu sót của nhóm khác
4 Quan sát và ghi nhớ
IV Đánh giá cuối bài
1 Những nội dung đã học
- Cách tạo kiểu mảng một chiều và cách khia báo biến
TYPE tên_kiểu_mảng= Array[kiểu_chỉ_số] Of kiểu_thành_phần;
Trang 35
VAR tên_biến:tên_kiểu_mảng;
- Tham chiếu đến từng phần tử: Tên_biến[chỉ số]
2 Câu hỏi và bài tập về nhà
- Viết chơng trình nhập vào một mảng gồm n số nguyên( 1<=n<=100), mỗi số có giá trị tuyệt đối không uqá 300 Tính tổng giá trị các phần tử có giá trị chia hết cho k
- trả lời các câu hỏi 1_4, làm bài tập 5, 6, 7, sách giáo khoa, trang 79
- Đọc trớc nội dung về kiểu mảng hai chiều, sách giáo khoa trang 59
Kiểu mảng (tiết 2/2)
I mục tiêu
1 Kiến thức
- Biết đợc một kiểu dữ liệu mới là kiểu mảng hia chiều
- Biết đợc cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu đến từng phần tửcủa mảng
2 Kĩ năng
- Tạo đợc kiểu mảng hai chiều và khai báo biến mảng hai chiều trongngôn ngữ lập trình Pascal Sử dụng đúng biến mảng để giải quyết một số bài toán cụ thể
II Đồ dùng dạy học
1 Chuẩn bị của giáo viên
- Máy vi tính, máy chiếu Projector, sách giáo khoa, máy chiếu Overhead, phiếu học tập
2 Chuẩn bị của học sinh
- Sách giáo khoa
III Hoạt động dạy – học
1 Hoạt động : Tìm hiểu ý nghĩa của kiểu mảng hai chiều
- Khái niệm : Mảng hai chiều là một bảng các phần tử có cùng kiểu dữ liệu
- Hầu hết các ngôn ngữ lập trình đều có quy tắc cho phép xác định tên kiểu mảng hai chiều, số lợng phần tử của mỗi chiều, kiểu dữ liệu của từng phần tử, cách khai báo một biến mảng và cách tham gia chiếu đến từng phần tử của mảng
b Các bớc tiến hành:
1 Giới thiệu ví dụ trong sách giáo khoa
Tính và đa ra màn hình bảng cửu chơng
- Hỏi: Sử dụng kiến thức về mảng một
chiều, hãy đa ra cách sử dụng kiểu mảng đó
để lu trữ bảng cu chơng
- Với cách lu trữ nh vậy ta phải khai báo
bao nhiêu biến mảng?
1 Chú ý theo dõi yêu cầu và dẫn dắt của giáo viên
- Sử dụng 9 mảng một chiêu, một mảng lu một hàng của bảng
- Khai báo 9 mảng một chiều
Trang 36
- Có những khó khăn gì?
- Để khắc phục các khó khăn này, ta xem
một bảng một chiều là một phần tử, ta ghép 9
mảng một chiều thành một mảng hai chiều
- Yêu cầu học sinh nhận xét về mảng hai
chiều
2 Các yếu tố xác định mảng hai chiều
- Hỏi: Để mô tả kiểu mảng hai chiều, ta
2 Các yếu tố để xây dựng mảng hai chiều:
- Tên kiểu mảng
- Số phần tử trên một dòng, số phần tử trên một cột
- Kiểu dữ liệu chung của mọi phần tử
2 Hoạt động 2: Tìm hiểu về kiểu mảng hai chiều
a Mục tiêu:
- Học sinh biết cách tạo kiểu dữ liệu mảng hai chiều, biết khai bóa biến mảng trong ngôn ngữ lập trình Pascal, biết tham chiếu đến từng phần tử của mảng
b Nội dung:
- Tạo kiểu dữ liệu mảng hai chiều:
TYPE tên_kiểu_mảng=Array[chỉ_số_dòng,chỉ_số_cột] Of kiểu_thanh_phần;
- Khai báo biến mảng hai chiều: VAR tên_biên:tên_kiểu_mảng;
- Tham chiếu đến từng phần tử: Tên_biến[chỉ_số_dòng,chỉ_số_cột]
c Các bớc tiến hành:
1 Yêu cầu học sinh nghiên cứu sách giáo
khoa và cho biết cách tạo kiểu dữ liệu mảng
2 Yêu cầu học sinh cho biết cách khai báo
biến và một ví dụ khia bóa một biến mảng
hai chiều ứng với kiểu dữ liệu vừa tạo
3 giới thiệu cách tham chiếu đến từng
phần tử của mảng một hciều Yêu cầu học
sinh lấy một ví dụ
1 Tham khảo sách giáo khoa và trả lời
- TYPE tên_kmhc=Array[csd,csc] Of kiểu_thành_phần;
- Ví dụ: Type mhc=array[1 10,1 5] of integer;
- Lệnh trên dùng để tạo một kiểu mảng hai chiều có tên là mhc gồm 10 dòng và 5 cột, các phần tử có kiểu dữ liệu là integer
2 Tham khảo sách giáo khoa và trả lời
a[i,j] là phần tử ở dòng số i, cột số j của mảng a
3 Hoạt đông 3: Rèn luyện kĩ năng sử dụng kiểu mảng hai chiều
1 giới thiệu đề bài
- Chiếu đề bài lên bảng 1 Quan sát đề bài, theo dõi những yêu cầu cần giải quyết của đề bài
Trang 37
- Yêu cầu học sinh xác định cách thức tổ
chức dữ liệu
- Yêu cầu học sinh chỉ ra các nhiệm vụ
chính của bào toán cần giải quyết
2 Chia lớp thành 3 nhóm Yêu cầu viết
ch-ơng trình lên giấy bìa trong
- Thu phiếu trả lời, chiếu lên bảng Gọi học
sinh nhóm khác nhận xét đánh giá
3 Chuẩn hóa chơng trình cho học sinh
bằng cách chiếu chơng trình mẫu để học sinh
quan sát và thực hiện chơng trình để học
sinh thấy kết quả
4 Chiếu chơng trình ví dụ 2, sách giáo
khoa, trang 62 để học sinh quan sát
- Thực hiện chơng trình để học sinh thấy
đ-ợc kết quả của nó
- Giáo viên cần giải thích một số chỗ có
thể học sinh cha hiểu và yêu cầu học sinh về
nhà tìm hiểu thêm
- Dùng một mảng hai chiều
- Điền giá trị cho[i,j]=i*j
- Xuất giá trị a[i,j] theo từng dòng
2 Thảo luận theo nhóm để viết chơng trình
- Báo cáo kết quả khi hoàn thành
- Nhận xét, đánh giá và bổ sung những thiếu sót của các nhóm khác
3 ghi nhớ nội dung đã đợc chỉnh sửa
4 Quan sát chơng trình và chú ý giải thích của giáo viên
- Đặt ra một số câu hỏi thắc mắc
IV Đánh giá cuối bài
1 Những nội dung đã học
- Tạo kiểu dữ liệu mảng hai chiều:
TYPE tên_kiểu_mảng=Array[kiểu_chỉ_số_dòng, kiểu_chỉ_số_cột] Of kiểu_thành_phần;
- Khai báo kiểu mảng một chiều: VAR tên_biến:tên_kiểu_mảng;
- Tham chiếu đến từng phần tử: Tên_biến[chỉ_số_dòng, chỉ_số_cột]
2 Câu hỏi và bài tập về nhà
- Làm các bài tập số 8, 9, sách giáo khoa trang 79, 80
- Xem trớc nội dung của bài thực hành 3, sách giáo khoa, trang 63
+ Khai báo kiểu dữ liệu mảng một chiều
+ Nhập/xuất dữ liệu cho mảng
+ Duyệt qua tất cả các phần tử của mảng để xử lí từng phần tử
- Biết giải một số bài toán cơ bản thờng gặp:
+ Tính tổng các phần tử thỏa mãn điều kiện nào đó
+ Đếm số các phần tử thỏa mãn điều kiện nào đó
1 Chuẩn bị của giáo viên
- Phòng máy tính, máy chiếu Projector để minh họa
Trang 38
2 Chuẩn bị của học sinh.
- Sách giáo khoa
III hoạt động dạy - học
1 Hoạt động 1: Tìm hiểu cách sử dụng lệnh và kiểu dữ liệu mảng một chiều qua chơng trình
có sẵn
a Mục tiêu:
- Học sinh hiểu đợc chơng trình có sẵn ở câu a, biết đợc kết quả chạy chơng trình này, từ
đó tìm ra cách giải quyết câu b
For i:=1 to n do a[i]:=random(300) – random(300);
For i:=1 to n do Write(A[i]:5);
if a[i] mod k=0 then s:=s+a[i];
Write(‘tong can tinh la’,s);
If a[i] >0 then Posi:=posi+1
Else if a[i] <0 then neg:=neg+1;
Write(pói:4,neg:4);
c Các bớc tiến hành:
1 tìm hiẻu chơng tình ở câu a, sách giáo
khoa, trang 63 và chạy thử chơng trình
- Chiếu chơng trình lên bảng
- Hỏi: Khai báo Uses CRT; có ý nghĩa gì?
- Hỏi: Myarray là tên kiểu dữ liệu hay tên
- Lệnh khai báo kiểu và khai báo biến
- Quan sát chơng trình thực hiện và kết quả trên màn hình
Trang 39
a[i]:=random(300) – random(300) có ý nghĩa
- Thực hiện lại chơng trình lần cuối để học
sinh thấy kết quả
If a[i] >0 then posi:=posi+1
else if a[i] <0 then neg:=neg+1;
- Yêu cầu học sinh thêm vào vị trí cần thiết
để chơng trình đếm đợc số
- Yêu cầu học gõ nội dung và lu lại với tên
caub.pas thực hiện chơng trình và báo cáo
- Cộng các phần tử chia hết cho k
- Có số lần đúng bằng số phần tử a[i] chia hết k
- Quan sát giáo viên thực hiện chơng trình
và kết quả trên màn hình
2 Quan sát và chú ý theo dõi các câu hỏi của giáo viên:
- Quan sát các lệnh và suy nghĩ vị trí cần sửa trong chơng trình câu a
- Dùng để lu số lợng đếm đợc
- Đếm số dơng hoặc đếm số âm
- Chỉ ra vị trí cần thêm vào trong chơng trình
- Lu chơng trình Thực hiện chơng trình và thông báo kết quả
IV Đánh giá cuối bài
1 Những nội dung đã học
Một số thuật toán cơ bản:
+ Tìm tổng các phần tử thỏa mãn điều kiện nào đó
+ Đếm số các phần tử thỏa mãn điều kiện nào đó
+ Khai báo kiểu dữ liệu mảng một chiều
+ Nhập/xuất dữ liệu cho mảng
+ Duyệt qua tất cả các phần tử của mảng để xử lí từng phần tử
- Biết giải một số bài toán cơ bản thờng gặp:
+ Tính tổng các phần tử thỏa mãn điều kiện nào đó
+ Đếm số các phần tử thỏa mãn điều kiện nào đó
+ Tìm phần tử lớn nhất, nhỏ nhất
3 Thái độ
Trang 40
- Góp phần rèn luyện tác phong, t duy lập trình: Tự giác, tích cực, chủ độngvà sáng tạo trong tìm kiếm kiến thức.
II Đồ dùng dạy học
1 Chuẩn bị của giáo viên
- Phòng máy tính, máy chiếu Projector để minh họa
2 Chuẩn bị của học sinh
c Các bớc tiến hành:
1 láy một ví dụ thực tiễn: Ngời mù tìm viên
sỏi có kích thớc lớn nhất trong một dãy các
viên sỏi để gợi ý cho học sinh thuật toán tìm
- Hỏi: Nếu muốn tìm phần tử lớn nhất với
chỉ số lớn nhất ta sửa ở chỗ nào?
3 Đặt yêu cầu mới: Viết chơng trình đa ra
các chỉ số của các phần tử có giá trị lớn nhất
- Hỏi: Cần giữ lại đoạn chơng trình tìm giá
- Yêu cầu học sinh nhập dữ liệu vào của
giáo viên và báo kết quả
- Đánh giá kết quả của học sinh
1 Theo dõi vị trí của giáo viên
- So sánh lần lợt từ trái sang phải, giữ lại chỉ số của phần tử lớn nhất
2 Quan sát chơng trình, suy nghĩ và trả lời
- Giữ lại chỉ số của phần tử có giá trị lớn nhất
- Sau khi tìm đợc giá trị lớn nhất
- Soạn chơng trìnhvào máy Thực hiện
+ Tìm tổng các phần tử thỏa mãn điều kiện nào đó
+ Đếm số các phần tử thỏa mãn điều kiện nào đó
+ Tìm phần tử lớn nhất, nhỏ nhất
2 Câu hỏi và bìa tập về nhà
- Viết chơng trình nhập một mảng một chiều A[1 20] và nhập một số x Đếm số lợng số trong A có giá trị bằng x