- Rèn kỹ năng diễn đạt thuật toán, rèn ý thức cần có của 1 người lập trình là viết chương trình với khối lượng tính toán ít nhất có thể. - Góp phần hình thành và rèn luyện tư duy lập trì[r]
(1)Soạn: 1/9/09 Giảng: 3/9/09
Chơng 1: Một số khái niệm
lập trình ngôn ngữ lập trình Tiết
Khái niệm lập trình ngôn ngữ lập trình - Các thành phần ngôn ngữ lập trình I Mục tiêu
- HS hiểu khả ngôn ngữ lập trình bậc cao, phân biệt đợc với ngơn ngữ máy hợp ngữ
- Hiểu ý nghĩa nhiệm cụ chơng trình dịch Phân biệt đợc biên dịch thơng dịch
- Biết ngơn ngữ lập trình có thành phần bản: bảng chữ các, cú pháp ngữ nghĩa Hiểu phân biệt đợc thnh phn ny
II Chuẩn bị
1 Thầy: Bảng phụ Trò: Đọc trớc
III Tin trình dạy học 1 ổn định tổ chức
……… ……… ……… ………
2.Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động
Bµi míi- bµi
? Em hÃy cho biết b-ớc giải toán máy tính
GV: nhắc lại kiến thức lớp 10
? Có loại ngơn ngữ lập trình GV: yêu cầu HS phân biệt ngôn ngữ bậc cao với ngơn ngữ lập trình ? Lập trình làm GV: yêu cầu HS đọc khái niệm SGK/4
GV: treo bảng phụ
? Thế chơng trình dịch
Gọi HS nhận xét
GV: Yờu cầu HS đọc ví dụ SGK/4
? Làm để chuyển chơng trình viết = ngơn ngữ bậc cao sang ngơn ngữ máy
HS tr¶ lêi
HS: Ngôn ngữ C, Pascal, Visua Basic HS: trả lời
HS: tr¶ lêi
HS đọc khái niệm SGK
HS trả lời HS nhận xét HS đọc, c lp theo dừi
HS trả lời
Bài Khái niệm lập trình ngôn ngữ lập trình
a, Các khái niệm
- Ngôn ngữ lập trình:
- Lp trỡnh: l s dng cấu trúc liệu câu lệnh ngôn ngữ lập trình cụ thể để mơ tả dự liệu, diễn tả thao tác thuật toán
(2)GV:Giới thiệu qua Thông dịch Biên dịch ? So s¸nh c¸c thao t¸c thùc hiƯn cđa loại CTD
Gọi HS nhận xét
? Loại thông dụng
Hot ng 2
Bµi mơc
? Dùng kí hiệu để viết chơng trình, viết theo quy tắc nào, viết nh có ý nghĩa GV: đa ví dụ bảng chữ cái, cú pháp, ngữ ngha
? Thế bảng chữ
? Cú pháp chơng trình
? Ng nghĩa đợc hiểu ntn
Hoạt động 3
Cñng cố
- Nhắc lại khái niệm lập trình, chơng trình dịch -Thành phần ngôn ngữ lập trình
1HS đứng lên so sánh
1HS nhËn xÐt HS trả lời
HS trả lời
HS trình bày theo SGK
HS tra lêi HS tr¶ lêi
b, Đặc điểm Thông dịch biên dịch
- Thông dịch: SGK/5 - Biên dịch: SGK/5
Bài Các thành phần ngôn ngữ lập trình
1 Các thành phần bản
a, Bảng chữ
L cỏc kớ t đợc dùng để viết chơng trình
b, Có ph¸p
Là quy tắc để viết chơng trình, giúp mơ tả xác thuật tốn c, Ngữ nghĩa
Để xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vo ng cnh ca nú
3 Dặn dò
- Học khái niệm nhớ thành phần ngơn ngữ lập trình - Đọc trớc mục đọc thêm
- Lµm 1.1 ->1.8 SBT/5, 6,
Soạn: 8/9/09 Giảng: 10/9/09 Tiết
Các thành phần ngôn ngữ lập trình I Mục tiêu
- HS biết thành phần sở Pascal: Bảng chữ cái, tên, tên chuẩn, tên riêng, khoá, biến
- Phân biệt đợc tên, hằng, biến
- Biết đặt tên đúng, nhận biết đợc tên sai
II Chuẩn bị
1 Thầy: Bảng phụ Trò: Đọc tríc bµi
III Tiến trình dạy học 1 ổn định tổ chức
……… ……… ……… ………
2.Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động
(3)? So s¸nh c¸c bíc thùc hiƯn ë loại Thông dịch biên dịch
Hot ng 2
? Việc đặt tên em có theo quy tắc không
GV: ngôn ngữ lập trình cần có quy tắc GV: Treo bảng phụ ghi ví dụ đặt tên sai Pascal
? Hãy rút nhận xét quy ớc đặt tên Turbo Pascal
Gọi HS nhận xét GV: đa ví dụ tên dành riêng, tên chuẩn, tên ngời lập trình đặt GV: yêu cầu HS tìm hiểu nêu đặc điểm cỏc loi tờn
GV: liên hệ với môn toán ? Em hiĨu thÕ nµo lµ h»ng
GV: lÊy vÝ dô
? Biến đại lợng ntn Gọi HS nhận xét GV: nói qua phần thích
GV: yêu cầu học sinh đọc bảng tóm tắc SGK/13
Hoạt động 3
Cđng cè
- Nh¾c lại khái niệm tên biến,
- Phõn bit tên dành riêng; tên chuẩn tên nhà lập trình đặt
HS tr¶ lêi
HS: tr¶ lêi
HS quan sát ví dụ HS: trả lời
1HS nhận xét
HS nghiên cứu sách
HS: trả lời
HS: phát biểu KN SGK
1HS nhËn xÐt
1HS đọc, lớp theo dõi
2 Một số khái niệm
a, Tên
* Khái niệm: Là dÃy liên tiếp
không 127 kí tự gồm: chữ số, chữ dấu gạch dới bắt đầu chữ dÊu g¹ch díi VD :
Tên đúng: A; _Thu 15; Thu_15 Tên sai:A BC ( chứa dấu cách) 15thu (bắt đầu chữ số) m#thu(chứa # không hp l)
* Các loại tên
- Tờn dành riêng: Dùng với ý nghĩa riêng xác định gọi từ khoá
- Tên chuẩn: Dùng với ý nghĩa định
- Tên ngời lập trình đặt: Dùng với ý nghĩa riêng, xác định = cách khai báo trớc sử dụng
b, H»ng vµ biÕn
* H»ng
- Khái niệm : Hằng đại lợng có giá trị khơng thay đổi trình thực chơng trình
- Các loại hằng: + Hằng số học + Hằng logic + H»ng x©u - VÝ dơ: SGK/12
* BiÕn
- Khái niệm : Biến đại lợng đợc đặt tên, dùng để lu trữ giá trị giá trị đợc thay đổi q trình thực chơng trình
- VÝ dơ: HS tù lấy
* Chú thích:
3 Dặn dò
- Học khái niệm phân biệt đợc biến; tên dành riêng, tên chuẩn tên nhà lập trình đặt
- Đọc đọc thêm
- Lµm bµi 1.9 ->1.20 SBT/7,8
(4)Giảng:/9/09 Tiết
Bài tập I Mơc tiªu
- HS biết loại chơng trình dịch thông dịch biên dịch - Phân biệt đợc tên, hằng, biến
- Biết đặt tên đúng, nhận biết đợc tên sai
II ChuÈn bÞ
1 Thầy: Bảng phụ Trò: Đọc trớc
III Tiến trình dạy học 1 ổn định tổ chức
……… ……… ……… ………
2.Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động
KiĨm tra bµi cị
? Trình bày quy tắc đặt tên Pascal Lấy ví dụ minh hoạ
? Nêu đặc điểm để phân biệt loại tên phân biệt tên ví dụ bảng phụ
? Kh¸i niƯm biÕn, h»ng
Hoạt động 2
Nhắc lại lý thuyết ? Bài tìm hiểu kiến thức Gọi HS nhn xột
? Nếu khái niệm CTD lập trình
? Bài nói tới kiến thức
? Kiến thức quan trọng cần hiểu nhớ
Hot ng 3
Luyện tập
GV: Yêu cầu HS lên bảng làm 1.3, 1.4SBT
Gọi HS nhận xét
GV: yêu cầu HS trả lời 1.9, 1.10 SBT/7
Gäi HS nhËn xÐt
GV: yªu cầu HS làm
HS1 trả lời
HS2 tr¶ lêi
HS tr¶ lêi
HS: tr¶ lời 1HS nhận xét HS trình bày khái niệm
HS trả lời
HS: trả lời
HS1 làm bµi 1.3 HS2 lµm bµi 1.4 1HS nhËn xÐt 1HS tr¶ lêi, c¶ líp theo dâi
I Lý thut Bài 1
- Khái niệm lập trình, chơng trình dịch
- Các bớc thực dịch chơng trình thông dịch biên dịch
Bài 2
- Thành phần ngôn ngữ lập trình
+ Bảng chữ + Cú pháp + Ngữ nghĩa - Một số khái niệm
+ Tên
+ H»ng vµ biÕn
II Lun tËp Bµi 1.3
Khơng thể khẳng định chơng trình chứa lỗi ngữ nghĩa
Bµi 1.4
Không thể khẳng định Cú pháp câu lệnh cha thực đợc kiểm tra
Bµi 1.9
B, C, D, F
Bµi 1.10
(5)1.16, 1.17
Gäi HS nhËn xÐt
GV: yêu cầu trả lời câu hỏi 1SGK/13
Hot ng 4
Củng cố
Yêu cầu vài HS nhắc lại khái niệm: Lập trình, ch-ơng trình dịch, biến
HS nhận xét 1HS trả lời, lớp theo dõi
HS nhận xét câu trả lời bạn HS suy nghĩ trả lời
1 vài HS trả lời
Câu 1
Ngụn ng bậc cao gần với ngôn ngữ tự nhiên hơn, thuận tiện cho đơng đảo ngời lập trình
- Ch¬ng trình biết =ngôn ngữ bậc cao nói chung không phụ thuộc vào phần cứng máy tính chơng trình thực nhiều loại máy khác Dễ hiều, dễ điều chỉnh nâng cấp
- Ngôn ngữ bậc cao cho phép làm việc với nhiều kiểu liệu cách tổ chức liệu đa dạng, thuận tiện cho mô tả thuật toán
3 Dặn dò
- Hc cỏc khỏi nim v phõn biệt đợc biến; tên dành riêng, tên chuẩn tên
nhà lập trình đặt
- Đọc đọc thêm
- Lµm bµi 1.9 ->1.20 SBT/7,8
Soạn:21/9/09 Giảng:/9/09
Chng 2: Chng trỡnh đơn giản
TiÕt
CÊu tróc ch¬ng trình I Mục tiêu
- HS hiu chng trỡnh mơ tả thuật tốn ngơn ngữ lập trình - Biết cấu trúc chơng trình đơn giản: cấu trúc chung thành phần - Nhận biết đợc phần chơng trình n gin
II Chuẩn bị
1 Thầy: Bảng phụ Trò: Đọc trớc
III Tin trỡnh dạy học 1 ổn định tổ chức
……… ……… ……… ………
2.Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động
KiĨm tra bµi cị
? Tên Pascal đợc hiểu ntn, lấy ví dụ loại tên
(6)Hoạt động 2
Cấu trúc chơng trình GV: treo bảng phụ( viết cấu trúc chơng trình) ? Cấu trúc1 chơng trình gồm phần
? Nêu ý nghĩa kí hiệu cấu trúc ch-ơng trình
GV: nhận xét bổ sung
Hot ng 3
Các thành phần ch-ơng trình
GV: Yêu cầu HS quan sát bảng phụ
? Phần báo gồm
GV: ngôn ngữ lập trình có cách khai b¸o kh¸c
? CÊu tróc cđa khai b¸o tên chơng trình, th viện
GV: treo bng ph thân chơng trình đơn giản ? Thân chơng trình biểu diễn ntn
? Cho biÕt cÊu tróc thân chơng trình giải thích kí hiệu
Gäi HS nhËn xÐt
Hoạt động 4
Ví dụ chơng trình đơn giản
GV treo b¶ng phơ ví dụ SGK
? Nhận biết phần chơng trình Gọi HS nhận xét
Hot ng 5
Củng cố
Nhắc lại thành phần chơng trình
HS trả lời HS trả lời
1HS nhận xét
HS trình bày
HS trả lời
HS quan sát HS: trả lời
1HS lên bảng 1HS nhận xét
HS quan sát HS trả lời Nhận xét HS nghe giảng
I Cấu trúc chung
Chơng trình gồm phần [<Phần khai báo>] < Phần thân >
- PhÇn n»m [] cã thĨ cã không
- Phần nằm < > diễn giải ngôn ngữ tự nhiên
II Các thành phần ch ơng trình a Khai báo
Có thể khai báo tên chơng trình, th
viện, , biến
* Khai báo tên chơng tr×nh
- Tên chơng trình ngời lập trình đặt theo qui tắc đặt tên
- CÊu trúc
Program < tên chơng trình >;
* Khai b¸o th viƯn
CÊu tróc
Uses < tªn th viƯn >;
* Khai báo hằng
Đợc sử dụng cho giá trị xuất nhiều lần
* Khai báo biến
- Mọi biến phải đợc khai báo - Mỗi biến mang giá trị
b PhÇn thân chơng trình
- Thân chơng trình thờng có cặp dấu hiệu bắt đầu kết thúc
- Thân chơng trình thờng nơi chứa toàn câu lệnh chơng trình lời gọi chơng trình
- CÊu tróc Begin
[<D·y lƯnh>] End
III Ví dụ ch ơng trình đơn giản
VÝ dơ
Có phần khai báo thân chơng trình
Ví dụ
(7)3 Dặn dò
- Học cấu trúc ý nghĩa thành phần chơng trình
- Làm 2.1 ->2.3SBT/9
Soạn:28/9/09 Giảng:/10/09 Tiết
Một số kiểu liệu chuẩn & Khai báo biến
I Mơc tiªu
- Biết số kiểu liệu chuẩn: nguyên, thực, kí tự, logic - Xác định đợc kiểu cần khai báo liệu đơn giản - Hiểu cách khai báo biến
- Biết khai bỏo bin ỳng
II Chuẩn bị
1 Thầy: Bảng phụ Trò: Đọc trớc
III Tin trình dạy học 1 ổn định tổ chức
……… ……… ……… ………
2.Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động
Kiểm tra cũ
? Nêu cấu trúc chung chơng trình, ý nghĩa c¸c kÝ hiƯu
Hoạt động 2
1 sè kiểu liệu chuẩn GV: treo bảng phụ(bảng quản lý học sinh)
? Quan sát bảng phụ cho biết ta cần quản lí thông tin dạng GV: dạng số thực, dạng số nguyên, dạng logic, dạng kí tự văn ? Bảng SGK cho biết
GV: Cần ghi nhớ tên kiểu, miền giá trị số lợng ô nhớ
Yêu cầu HS kẻ bảng vào
? Em ó bit nhng bảng mã
GV: chó ý NGLT Pascal chØ sư dơng bé m· ASCII
? Quan s¸t H3 kiểu kí tự có tên
? Kiểu logic cho giá trị
GV: có
HS trả lời
HS quan sát HS trả lời
HS trả lời
HS kẻ bảng vào HS trả lời
HS trả lời HS trả lời
I Một số kiểu liệu chuẩn 1 KiĨu nguyªn
Gåm : Byte, integer, word, longint
Kiểu Bộ nhớ lu trữ
1 giá trị Ph¹m vi
Byte 1byte
Integer 2byte
Word 2byte
Longin 4byte
2 KiÓu thùc
Gåm: Read, extended
KiĨu Bé nhí lu
tr÷ giá trị Phạm vi
Read 6byte
Extended 10byte
3 KiÓu kÝ tù
ChØ cã kiÓu Char, c¸c kÝ tù thc bé m· ASCII
KiĨu Bé nhớ lu
trữ giá trị Phạm vi
Char 1byte
4 KiÓu logic
(8)kiểu miền con( doạn số nguyên liên tiếp nằm c©u lƯnh For - do)
Hoạt động 3
Khai báo biến GV: treo bảng phụ ? Biến đợc khai báo sau từ khoá
? cÊu trúc câu lệnh khai báo biến
Yêu cầu HS quan sát bảng phụ trả lời ? Đâu danh sách biến ? Đâu kiểu liệu ? Khi khai báo biến cần ý điều
GV: nhận xét, bổ xung
Hot ng 4
Củng cố
Nhắc lại loại liệu chuẩn, cách khai báo biến
HS trả lời HS trình bày
HS quan sát trả lời
HS trình bày
hoặc False
Kiểu Bộ nhớ lu
trữ giá trị Phạm vi
Boolean 1byte
II Khai báo biến * CÊu tróc
Var <danh sách biến>:<kiểu liệu>; Trong đó:
- Danh sách biến: hay nhiều tên, đợc viết cách dấu (,)
- Kểu liệu: kiểu chuẩn ngời lập trình định nghĩa
* VÝ dơ
(B¶ng phơ)
* Chó ý
- Cần đặt tên biến cho gợi nhớ đến ý nghĩa
- Khơng nên đặt tên dài, ngắn dễ dẫn tới mắc lỗi hiểu lầm
- Khai báo biến cần quan tâm đến phạm vi giá trị
3 Dặn dò
- Bi tp: khai bỏo cỏc thơng tin nhân viên vào máy tính cần phải khai báo thông tin sau: Họ tên, ngày sinh, quê quán, giới tính, đảng viên Em cho biết kiểu liệu thông tin
Soạn:28/09/09 Giảng:1/10/09 Tiết
Bài toán - bểu thức - câu lệnh gán I Mục tiêu
- HS biÕt c¸c kh¸i niƯm: phÐp to¸n, biĨu thøc sè häc, hµm sè häc chn, biĨu thøc quan hƯ
- Hiểu lệnh gán viết đợc lệnh gán
- Viết đợc biểu thức số học logic với phép tốn thơng dụng
II Chn bÞ
1 Thầy: Bảng phụ Trò: Đọc trớc
III Tiến trình dạy học 1 ổn định tổ chức
……… ……… ……… ………
2.Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động
KiĨm tra bµi cị
(9)báo biến, ý nghĩa thành phần lấy ví dụ minh hoạ
Hot động 2
PhÐp to¸n
? To¸n häc cã phép toán
GV: Treo bảng phụ hình SGK/24
? Cho biết khác phép toán toán học tin học GV: nhận xÐt vµ chó ý
Hoạt động 3
BiĨu thøc sè häc
? ThÕ nµo lµ biĨu thøc sè häc
GV: Nêu qui tắc viết biểu thức Pascal GV: đa ví dụ yêu cầu HS chuyển đổi
(6x - 3y)5z + 12xy - 9z2
GV: treo bảng phụ (các hàm chuẩn)
Yêu cầu HS kẻ vào
GV đa ví dụ lên bảng ? Nêu cấu trúc biểu thức quan hệ
GV yêu cầu HS quan sát vÝ dơ 1, SGK/28
? Sử dụng để kết hợp nhiều điều kiện khác
Hoạt ng 4
Câu lệnh gán
GV yêu cầu HS quan s¸t vÝ dơ SGK/28
? CÊu tróc câu lệnh gán ? Chú ý điểu viết lƯnh g¸n
GV: nhËn xÐt, bỉ xung
Hoạt ng 5
Củng cố
Nhắc lại khái niệm cấu trúc biểu thức câu lệnh gán
HS tr¶ lêi
HS tr¶ lêi
HS tr¶ lời
HS trình bày
1HS trả lời
HS kẻ vào HS trả lời
HS quan sát trả lời
HS trình bày HS trả lời
I Phép toán
- Với số nguyên: +, - , *, div, mod - Víi sè thùc: +, -, *, /
- PhÐp to¸n quan hƯ: <, <=, >, >=, =, <>
- PhÐp to¸n logic: Not, or, and
II Các loại biểu thức a BiĨu thøc sè häc
- Lµ d·y c¸c phÐp to¸n c¸c biÕn kĨu sè, h»ng
- Quy tắc
SGK/25
b Hàm số häc chuÈn
SGK/26
c BiÓu thøc quan hƯ
CÊu tróc:
<biĨu thøc 1> <phÐp toán quan hệ> < biểu thức 2>
ĐK:- Biểu thức kiểu - Kết trả True False
d Biểu thức logic
- Biểu thức logic đơn giản biến logic
- Thờng dụng để liên kết nghiều biểu thức quanhệ lại với phộp toỏn logic
III Câu lệnh gán
- Lệnh gán cấu trúc đơn giản nhất, dùng để gán giá trị cho biến - Cấu trúc
< tªn biÕn> := <biÕn biĨu thøc>;
* Chó ý
- Viết kí hiệu gán : =
- Càn xác định giá trị biểu thức trc gỏn
- Biểu thức bên phải dấu gán phải phù hợp với kiểu liệu biến
3 Dặn dò
(10)- Làm 2.4 ->2.24 SBT/9,10,11
Ngày tháng năm 200
Nhận xét tổ chuyên môn
Soạn:30/09/09 Giảng:2/10/09 Tiết 7
Cỏc th tc chun vo/Ra n gin
Soạn thảo- dịch - thực hiện- hiệu chỉnh chơng trình I Mục tiêu
- HS biết lệnh vào/ra đơn giản để nhập kiệu từ bàn phím đa liệu hình
- HS biết bớc: soạn thảo, dịch, thực hiệu chỉnh chơng trình, biết số công cđa m«i trêng turbo pascal
- Viết đợc số lệnh vào đơn giản
- Bớc đầu sử dụng đợc chơng trình dịch để phát li
II Chuẩn bị
1 Thầy: Máy tính, máy chiếu Trò: Đọc trớc
III Tin trình dạy học 1 ổn định tổ chức
……… ……… ……… ………
2.Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động
Kiểm tra cũ
? Nêu cÊu tróc cđa biĨu thøc quan hƯ vµ biĨu thøc g¸n? lÊy vÝ dơ minh häa
Hoạt động 2
Các thủ tục chuẩn vào/ đơn giản
GV: đa cấu trúc câu lệnh để nhập liệu ? HS lấy ví dụ
GV: đa chơng trình đơn giản lên máy chiếu ? Quan sát SGK cho biết câu lệnh dùng để đa liệu hình ? Yêu cầu HS đa cu trỳc lờn bng
GV: đa 1ví dụ lên máy chiếu
? Kết đa hình
GV: nêu ý
HS trả lời
HS nghe ghi HS trả lời
HS: trả lời
HS lên bảng trình bày
HS tr¶ lêi
I Các thủ tục chuẩn vo/ra n gin
1 Nhập liệu vào tõ bµn phÝm * CÊu tróc
Read (<danh sách biến vào>);
Readln (<danh sách biến vào>);
* VÝ dô:
Read (N); Readln (a,b,c);
2 Đa liệu hình * Cấu trúc
Write (<danh sách kết ra>);
Writeln (<danh sách kết ra>);
* Ví dụ:
(11)Hoạt động 3
So¹n thảo, dịch, thực hiệu chỉnh chơng trình
GV giới thiệu hình làm việc Pascal
GV: hình thao tác phím th-ờng sử dụng để soạn thảo, thực chơng trình
Hoạt động 4
Cñng cè
Nhắc lại cấu trúc câu lệnh vào đơn giản Các phím tắt hay dụng pas
1HS ghi
HS quan sát
HS quan sát ghi
HS ghi nhớ
II Soạn thảo- dịch - thực - hiệu chỉnh ch ơng trình
Một số thao tác thờng dùng Pascal
- Xuống dòng: Enter - Ghi file vào đĩa: F2 - Mở file có: F3
- Biên dịch chơng trình: Alt + F9 - Soát lỗi chơng trình: F9
- Chạy chơng trình: Ctrl + F9 - §ãng cưa sỉ: Alt + F3
- Chuyển qua lại cửa sổ: F6 - Xem lại hình kết quả: Alt + F5 - Thoát khỏi Pas: Alt + X
3 Dặn dò
- Học thủ tục chuẩn vào /ra nhớ thao tác thờng dùng Pascal
- Làm 2.25 ->2.39SBT/9
Soạn:5/10/09 Giảng:7/10/09 Tiết 8
Bài tập thực hành 1 I Mục tiêu
- Giới thiệu chơng trình Pascal hồnh chỉnh đơn giản
- Làm quen với số dịch vụ Turbo pascal Free pascal việc soạn thảo, lu trữ, dịch thực chơng trình
II Chuẩn bị
1 Thầy: Máy tính Trò:
III Tiến trình dạy học 1 ổn định tổ chức
……… ……… ……… ………
2.Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động
KiĨm tra bµi cị
? Tên Pascal đợc hiểu ntn, lấy ví dụ loại tên
Hoạt động 2
Cấu trúc chơng trình GV: treo bảng phụ( viết cấu trúc chơng trình) ? Cấu trúc1 chơng trình gồm phần
HS trả lời
I Cấu trúc chung
Chơng trình gồm phần [<Phần khai báo>] < Phần thân >
(12)? Nêu ý nghĩa kí hiệu cấu trúc ch-ơng trình
GV: nhận xét bổ sung
Hot ng 3
Các thành phần ch-ơng trình
GV: Yêu cầu HS quan sát bảng phụ
? Phần báo gồm
GV: ngôn ngữ lập trình có cách khai báo khác
? Cấu trúc khai báo tên chơng trình, th viện
GV: treo bng ph thân chơng trình đơn giản ? Thân chơng trình biểu diễn ntn
? Cho biÕt cÊu tróc th©n chơng trình giải thích kí hiệu
Gọi HS nhËn xÐt
Hoạt động 4
Ví dụ chơng trình đơn giản
GV treo b¶ng phơ ví dụ SGK
? Nhận biết phần chơng trình Gọi HS nhận xét
Hot ng 5
Củng cố
Nhắc lại thành phần chơng trình
HS trả lời HS trả lời
1HS nhận xét
HS trình bày
HS trả lời
HS quan sát HS: trả lời
1HS lên bảng 1HS nhận xét
HS quan sát HS trả lời
Nhận xét câu trả lời bạn
HS nghe giảng
không
- Phần nằm < > diễn giải ngôn ngữ tự nhiên
II Các thành phần ch ơng trình a Khai báo
Có thể khai báo tên chơng trình, th
viện, , biến
* Khai báo tên chơng trình
- Tên chơng trình ngời lập trình đặt theo qui tắc đặt tên
- CÊu tróc
Program < tên chơng trình >;
* Khai báo th viƯn
CÊu tróc
Uses < tên th viện >;
* Khai báo hằng
Đợc sử dụng cho giá trị xuất nhiều lần
* Khai báo biến
- Mi bin phải đợc khai báo - Mỗi biến mang giỏ tr
b Phần thân chơng trình
- Thân chơng trình thờng có cặp dấu hiệu bắt đầu kết thúc
- Thân chơng trình thờng nơi chứa toàn câu lệnh chơng trình lời gọi chơng trình
- Cấu tróc Begin
[<D·y lƯnh>] End
III Ví dụ ch ơng trình đơn gin
Ví dụ
Có phần khai báo thân chơng trình
Ví dụ
Chỉ có phần thân chơng trình
3 Dặn dò
- Học cấu trúc ý nghĩa thành phần chơng trình
- Làm 2.1 ->2.3SBT/9
(13)NhËn xÐt cđa tỉ chuyên môn
Soạn:10/10/09 Giảng:12/10/09 Tiết 9
Chữa tËp I Mơc tiªu
- Củng cố nội dung đạt đợc tiết thực hành - Biết sử dụng thủ tục chuẩn vào/ra
- Biết xác định input output
II ChuÈn bÞ
1 Thầy: Trò:
III Tin trỡnh dy học 1 ổn định tổ chức
……… ……… ……… ………
2.Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động
Nhắc lại lý thuyết (10
phút)
?Nêu cấu trúc chung chơng trình
? Có kiểu liệu
? Trình bày cách khai báo biến
GV: nêu lại phép toán, biểu thức, hàm số học chuẩn, câu lệnh gán ? Cho biết cấu trúc thủ tục vào/ra liƯu
Hoạt động 2
Bµi tËp (30 phót)
GV: yêu cầu HS trả lời
HS1 trả lêi
HS1: KiĨu nguyªn, kiĨu thùc, kiĨu kÝ tù, kiĨu logic HS2: Var <ds biÕn>:<kiĨu dl> HS nghe gi¶ng
HS: Dùng Read, Write để đa dl vào
I Lý thut
Bµi CÊu tróc chơng trình Cấu trúc
[<phần khai báo>] <Phần thân> Phần khai báo gồm:
+ KB tên chơng trình + KB biến + KB th viƯn + KB h»ng Bµi Mét sè kiĨu dl chn
+ KiĨu nguyªn + KiĨu thùc + KiĨu kÝ tù + KiĨu logic Bµi Khai b¸o biÕn
Var <ds biến>:<kiểu dl >; Bài Phép toán, biểu thức, câu lệnh gán
Câu lệnh gán
<tên biến>: = <biểu thức>; Bài Các thủ tục chun vo/ra n gin
- Đa liệu vào
Read (<danh sách biến vào>);
Readln (<danh sách biến vào>); - Đa liệu
Write (<danh sách kết ra>);
Writeln (<danh sách kết ra>);
II Luyện tập Bài 2.1 SBT/9
(14)bài 2.1
Yêu cầu HS làm 2.10 câu a,c
Yờu cu 2HS ng chỗ trả lời 2.15 2.19
Gäi HS lên bảng làm 2.22
Gọi HS nhận xét
GV nhận xét cho điểm
GV gọi HS nêu ý tởng để giải 2.25
Gọi 1HS lên bảng viết chơng trình
Hot động 3
Cđng cè ( 5phót)
- Nªu cách khai báo biến - Các thủ tục chuẩn vào/ra
HS: Khi toán biến, hay tính biểu thức
1HS lên bảng giải HS1 trả lời 2.15
HS2 trả lời 2.19
HS lên bảng làm 1HS nhận xét
1HS ng ti ch nờu ý tng
1HS lên bảng viết, lớp làm vào
HS phát biểu
thị hình
Bµi 2.10 SBT/10 a, (x+y)/(x-z)
c, sqrt(x+sqrt(x+sqrt(x)));
Bµi 2.15 SBT/11
Sai pi số, khơng đợc khai báo var
Bµi 2.19 SBT/12
Trả lời: Kiểm tra xem N có chữ số có nghĩa hay khơng (đáp án B đúng)
Bµi 2.22 SBT/12 Program tinh;
Var a, b, c, d, x, T: real; Begin
write (‘ a, b, c, x:’); Readln (a, b, c, d, x);
T: = ((a * x + b) * x + c) * x + d; Writeln (‘ ket qua la: ‘ , T : 6: 2) End
Bµi 2.25 SBT /13 + ý tëng:
- Tốc độ ngời 20km/h
- gọi khoảng cách ngời ngời sau thêi gian t lµ K
=> Ta cã K = 20.t (km) + Viết chơng trình: Program tinh; Var t,K: integer; Begin
write (‘t = ’); Readln (t); K: = 20 t ;
Writeln (‘ K.cach: ‘ , K,’ Km.’) End
3 Dặn dò
- Đọc trớc
- Làm tập lại SBT/ 9->17
Soạn:17/10/09 Giảng: 19/10/09
ChƯơng III: Cấu trúc rẽ nhánh lặp
Tiết 10
Cấu trúc rẽ nhánh I Mục tiêu
- Hiu nhu cu cấu trúc rẽ nhánh biểu diễn thuật toán - Hiểu lệnh rẽ nhánh (dạng thiếu dạng đủ)
- Sử dụng cấu trúc rẽ nhánh mô tả thuật toán số toán đơn giản
- Viết đợc lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đầy đủ áp dụng để thể đ-ợc thuật toán số toán đơn gin
II Chuẩn bị
1.Thầy: Bảng phụ 2.Trò:
(15)1 ổn định tổ chức
……… ……… ……… ………
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1:
RÏ nh¸nh (17phót)
GV treo bảng phụ Yêu cầu HS tìm đặc điểm chung ví dụ
GV: mệnh đề cú dng
nếu nếu.thì,
nu khụng thì…đợc gọi
lại cấu trúc rẽ nhánh ? Yêu cầu HS lấy ví dụ mệnh đề có dạng cấu trúc rẽ nhánh
GV: Gäi HS nhËn xÐt
Hoạt động 2: Câu lệnh if - then
(23phót)
GV treo bảng phụ cấu trúc câu lệnh rẽ nhánh ? So sánh đặc điểm khác cấu trúc GV: giải thích thêm dạng rẽ nhánh
GV: Yêu cầu HS chuyển sơ đồ hình thành câu lệnh rẽ nhánh if - then - else
Hoạt động 5:
Cđng cè (5phót)
Nhắc lại cấu trúc rẽ nhánh dạng thiếu đủ
HS lên bảng trả lời HS quan sát trả lời chúng có dạng
nÕu…th×; nÕu…th×
nếu khơng 2HS đứng chỗ lấy ví dụ
1HS nhận xét HS: Cấu trúc đủ có câu lệnh, cấu trúc thiếu có câu lệnh
HS nghe GV giíi thiƯu
1HS đứng chỗ trả lời
I RÏ nh¸nh
Cấu trúc rẽ nhánh cấu trúc dùng để mô tả mệnh đề có dạng nh
Nếu
hoặc
Nếuthì, không th×…
đợc gọi cấu trúc rẽ nhánh thiếu v
II Hợp ngữ
Cấu trúc
- Dạng thiếu
If<điều kiện>then<câu lệnh>;
- Dng
If <điều kiện>then<câu lệnh1> else
<cõu lnh 2>; ú:
- Điều kiện biĨu thøc logic
- C©u lƯnh, c©u lƯnh 1, câu lệnh câu lệnh Pascal
- Chú ý: Kết đợc đặt
sau then, sau else kết điều
kiện sai
3 Dặn dò
- Trả lời câu hỏi SGK /46 - Làm tập 49 -> 1.52 SBT/ 22
Soạn:24/10/09 Giảng: 26/10/09
Tiết 11
Cấu trúc rẽ nhánh (tiÕp)
I Mơc tiªu
(16)- Sử dụng cấu trúc rẽ nhánh mô tả thuật toán số toán đơn giản
- Viết đợc lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đầy đủ áp dụng để thể đ-ợc thuật toán số toán đơn giản
II Chuẩn bị
1.Thầy: Bảng phụ 2.Trò:
III Tiến trình dạy học 1 ổn định tổ chức
……… ……… ……… ………
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1:
KiĨm tra bµi cị (5phót)
? Trình bày khái niệm cấu trúc câu lƯnh rÏ nh¸nh LÊy vÝ dơ
GV: Gäi HS nhận xét câu trả lời bạn
Hot ng 2:
Câu lệnh ghép(12phút)
GV: đa vài ví dụ câu lệnh ghép Pascal
? Câu lệnh ghép có dạng ntn
? Cõu lệnh ghép đợc đặt đâu cấu trúc rẽ nhỏnh
GVnhắc lại
Hot ng 4:
Một sè vÝ dơ (25phót)
GV u cầu HS đọc vớ d SGK/41
? Giải thích câu lệnh rẽ nhánh ví dụ
GV: nhận xÐt
Hoạt động 5:
Cđng cè (3phót)
Nhắc lại cấu trúc rẽ nhánh dạng thiếu đủ, cấu trúc rẽ nhánh có câu lệnh ghép
1HS lên bảng trả
1HS nhận xét
HS: cã d¹ng
begin…end
HS: đợc đặt sau else
HS nghe giảng HS đọc SGK VD 1: D < pt vơ nghiệm, khơng có nghiệm x1, x2 VD 2: Nếu N chia 400 d N chia d N chia 100 d khác SN = 366 khơng SN = 365
HS: nghe bµi
III Câu lệnh ghép Cấu trúc
If <điều kiƯn> then <c©u lƯnh 1>
else
< c©u lƯnh ghÐp>
- C©u lƯnh ghÐp thờng có dạng là: Begin
< Các c©u lƯnh>;
end;
IV Mét sè vÝ dô
VÝ dô 1 SGK/ 41
VÝ dô 2 SGK / 41
3 Dặn dò
(17)- Lµm bµi tËp 49 -> 1.52 SBT/ 22
Soạn:31/10/09 Giảng:2/10/09
Tiết 12
Cấu trúc Lặp I Mục tiêu
- Hiểu nhu cầu cấu trúc lặp biểu diễn thuật toán - Hiểu cấu trúc lặp với số lần biết trớc
- Biết cách vận dụng đắn loại cấu trúc lặp vào tình cụ thể - Mơ tả đợc thuật toán số toán đơn giản có sử dụng lệnh lặp - Viết lệnh lặp với số lần biết trớc
- Viết đợc thuật toán số toán đơn giản
II Chuẩn bị
1.Thầy: Bảng phụ, máy tính 2.Trò:
III Tiến trình dạy học 1 ổn định tổ chức
……… ……… ……… ………
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
KiĨm tra bµi cị(5phót)
? Thế cấu trúc rẽ nhánh, viết cấu trúc rẽ nhánh dạng thiếu đủ
Hoạt động 2
LỈp (15 phót)
GV: u cầu HS đọc 2VD SGK/42 cho biết chúng có đặc điểm chung
GV: chúng thực cơng vic lp
? Cho biết số lần lặp Bài toán 1,2
GV: cú loi lp, lp với số lần biết trớc cha biết trớc ? Cấu trúc lặp dùng để làm
GV: Cấu trúc lặp đk công việc lặp cha đủ số lần lặp đk cịn
Hot ng 3:
Lặp với số lần biết trớc câu
lệnh For - (25 phút)
GV treo bảng phụ toán ? Điểm giống thuật toán
HS lên bảng trả lời
HS c vớ d v trả lời: xuất phát S từ 1/a cộng thêm vào S 1/(a+N) với
N=1,2,…
HS: bµi lặp với số lần biết trớc 100 lặp với số lần cha biết trớc nhng có đk
HS: mô tả thao tác lặp gồm lặp số lần biết trớc lặp với số lần cha biÕt tríc HS ghi ý nghÜa
HS: §Ịu khởi tạo giá
1 Lặp
Cu trỳc lp dùng để mô tả thao tác lặp đợc phân biệt hai loại lặp với số lần biết trớc lặp với số lần cha biết trớc Ví d: SGK/ 42
2 Lặp với số lần biết tr ớc câu lệnh for - do
Cấu trúc:
+ Dạng lặp tiến
(18)? Ngời ta dùng câu lệnh để mụ t cu trỳc lp
GV:Có lặp tiến lặp lùi GV nêu cấu trúc
? Thuật toán trên, thuật toán lặp lùi, thuật toán lặp tiến?
Gi 2HS chuyn đổi bớc thuật toán thành câu lệnh GV nêu ý
GV: yêu cầu HS đọc VD2 cho bit
? giá trị khởi tạo T
? Vòng lặp tiến hay lùi, chạy từ đâu tới đâu
? Bi toỏn ny sử dụng cấu trúc học
Hoạt động 4:
Cđng cè (5phót)
- ý nghÜa lặp
- Cấu trúc câu lệnh lặp for -
trị đầu, có câu lệnh giống HS dùng câu lệnh For -
HS ghi
HS thuật toán 1a lặp tiến, 1b lặp lùi giá trị khởi tạo 1a từ gt đầu, 1b giá trị cuối
HS nờu câu lệnh chuyển đổi HS ghi
HS: T =
HS: ch¹y tiÕn, ch¹y tõ M tíi N
HS: Cấu trúc rẽ nhánh cấu trúc lặp
to <giá trị cuối> do <câu lệnh>; + Dạng lặp lùi
For<bin m>:=<giỏ tr cui>
Donwto <giá trị đầu> do <câu lệnh>;
Chú ý: SGK/44
Ví dụ: SGK/45
3 Dặn dò
- Làm tập SBT/ - Đọc trớc phần Cấu trúc lặp
Soạn: 7/11/09 Giảng: 9/11/09
Tiết 13
Cấu trúc Lặp (tiếp)
I Mục tiêu
- Hiểu nhu cầu cấu trúc lặp biểu diễn thuật toán - Hiểu cấu trúc lặp với số lần cha biết trớc
- Mơ tả đợc thuật tốn số tốn đơn giản có sử dụng lệnh lặp - Viết lệnh lặp với số lần cha biết trớc
- Viết đợc thuật toán số toán n gin
II Chuẩn bị
1.Thầy: Bảng phụ, máy tính 2.Trò:
III Tin trỡnh dy hc 1 ổn định tổ chức
……… ……… ……… ………
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
KiÓm tra cũ(5phút)
?Trình bày cấu trúc lặp tiến,lùi
Hot ng 2
Lặp với số lần cha biết trớc
câu lệnh white - do(20phút)
GV: Treo bảng phụ thuật toán tính tổng-
HS lên bảng trả lời
1 Lặp với số lần ch a biết tr ớc và câu lệnh white - do
CÊu tróc:
(19)? Giá trị khởi tạo
? Giá trị cuối vòng lặp
GV cấu trúc lặp ví dụ gọi cấu trúc lặp White -do
Yêu cầu HS quan sát hình SGK/46
GVgiới thiệu lệnh white - ? Cấu trúc giống khác cấu trúc For - to - điểm
Yêu cầu HS quan sát ví dụ SGK/46
GV:Gäi HS gi¶i thÝch
Hoạt động 3:
Luyện tập (15 phút)
GV yêu cầu HS lµm vÝ dơ SGK
GV híng dÉn HS làm
? Dịch nghĩa dòng câu lệnh vÝ dơ trªn
Hoạt động 4:
Cđng cè (5phót)
? Dïng c©u lƯnh White - trờng hợp
GV
HS: S = 1/a; N = HS:1/(a+N) < 0.0001
HS nghiªn cứu SGK Là cấu trúc lặp cha biết trớc số lần lặp nhng có đk giới hạn thao tác lặp 1HS giải thích
1 HS ng ti ch trả lời
HS díi líp thùc hiƯn
trong đó:
+ Điều kiện biểu thức logic + Câu lệnh câu lệnh đơn ghép
VÝ dô1: SKG / 46
VÝ dô SGK/48
3 Dặn dò
- Làm tập SBT
- Ôn học tiết sau kim tra tit
Soạn: 14/11/09 Giảng: 16/11/09
TiÕt 14
KiĨm tra tiÕt I Mơc tiêu
- Kiểm tra kiến thức chơng 1, 2, - Vận dụng kiến thức vào việc làm tập - Rèn luyện khả t
II Chuẩn bị
1.Thầy: §Ị bµi
2.Trị: Ơn kiến thức học
III Tiến trình dạy học 1 ổn định tổ chức
……… ……… ………
………
2 §Ị bµi
Phần I Trắc nghiệm (3 đ): Chọn đáp án câu điền vào bảng bên dới Câu 1 Trong biểu diễn sau biểu diễn từ khóa Pascal
A END B sqrt C Var D Real
Câu 2 Cho biểu thức đợc biểu diễn Pascal nh sau: SQRT(P*(P-A)), đâu cơng thức tốn học tơng ứng
A.(P.(P-A) B (P.(P-A)) C (P.(P-A) D.
A) -(P.(P
(20)Câu 3 Chơng trình dịch có loại
A B C D
Câu 4 Trong pascal tên đợc đặt phải không đợc kí tự
A 125 B 126 C 128 D 127
Câu 5 Tên dới tên đợc biểu diễn sai pascal
A bai B.Bai C bai_2 C Bai45
Câu 6 Chơng trình viết Pascal thờng gồm phần
A B C D
C©u 7 Kiểu Integer thuộc loại kiểu liệu dới
A KiÓu kÝ tù B KiÓu thùc C KiÓu nguyªn D KiĨu logic
Câu 8 Dùng thủ tục dới để nhập liệu vào từ bàn phím
A Write B Wrireln C Real D Read
Câu 9 Để hình xuất dòng chữ Moi nhap: ta cần viết câu lệnh dới ®©y? A Write (' Moi nhap:') B Readln (' Nhap:') C Read (' Moi nhap:') D Real(' Nhap:')
Câu 10 Để chạy chơng trình ta ấn tổ hợp phím sau kiểm tra lỗi
A Alt + X B Ctlr + F9 C Alt + F9 D Alt + F3
Câu 11 Cấu trúc kiểm tra đk thực câu lệnh, ngợc lại bỏ qua
A For - to - B if - then - else C if - then D While -
Câu 12 Cấu trúc Uses crt; dùng để khai báo điều gì?
A Khai b¸o biÕn B Khai b¸o h»ng C Khai báo tên riêng D.Khai báo th viện
Phần II Phần tự luận (7 điểm)
Cõu 1 Tìm nêu lỗi sai đoạn chơng trình sau viết lại chơng trình cho Program baitap
Uses crt; Begin
Crt;
writeln ('Toi ten la Tham') Realn
End
Câu 2 Viết chơng tr×nh tÝnh
2 2 1 1
3
0
x x neu x
A x neu x va x
neu x
3 NhËn xÐt tiÕt kiÓm tra
4 Đánh giá kết
Lớp SL Giỏi% SL Khá% SLTrung Bình% SL Yếu%
5 Dặn dò
- Đọc trớc 11
Soạn: 21/11/09 Giảng: 23/11/09
Tiết 15
Bài tập thực hành 2 I Mục tiêu
- Xây dựng chơng trình có cấu trúc rẽ nhánh - làm quen với công cụ hiệu chỉnh chơng trình
II Chuẩn bị
(21)2.Trò:
III Tiến trình dạy học 1 ổn định tổ chức
……… ……… ……… ……… ……… ……… ………2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1:
Thùc hµnh(35phót)
u cầu HS đọc đề ? Xác định toán
? Yêu cầu HS gõ tập vào máy
? Để lu tên chơng trình cần làm
GV làm mẫu thao tác cần làm mục c, d
? Trình bày thao tác lu chơng trình
? Để thực câu lệnh cần làm
? Yêu cầu HS thực tếp mơc e, f SGK/50
GV híng dÉn HS lµm
Hoạt động 2:
Cđng cè (10phót)
? Nhắc lại cấu trúc rẽ nhánh
HS ng ti chỗ trả lời
HS thùc hiƯn gâ bµi tËp vào máy
HS: cần ấn F2 -> gõ tên cần lu
HS thực máy
HS: Ên F2 -> gâ pitago -> ok(save) HS: Ên F7 -> nhập giá trị a, b, c vào máy
HS thực máy
HS: nhắc lại
Bài toán: Bộ số Pi - Ta - Go - Xác định toán:
Input: Cho a, b, c Output: KiÓm tra
2 2 2 2 2
a b c b a c c b a
- Gõ chơng trình Program pitago; uses crt;
var a, b, c: integer; a2, b2, c2 : logint; Begin
clrscr;
write (’a, b,c:’); readln (a, b, c);
a2: = a; b2: = b; c2: = c;
a2:= a2*a; b2:=b2*b; c2:=c2*c; if (a2= b2+c2)or(b2= a2+c2) or (c2= b2+a2) then writeln(’ba so da nhap lµ bo so pitago’); readln
End
- Lu chơng trình
ấn F2 -> gõ pitago -> ok(save) - Thùc hiƯn c©u lƯnh
Ên F7 -> nhập giá trị a, b, c vào
máy
(22)3 Dặn dò
- Làm tập phần ôn tập chơng - Đọc tiếp tập thực hành số
Soạn: Giảng:
TiÕt 16
Bµi tËp vµ thùc hµnh (tiếp)
I Mục tiêu
- Xây dựng chơng trình có cấu trúc rẽ nhánh - làm quen với công cụ hiệu chỉnh chơng trình
II Chuẩn bị
1.Thầy: Máy tính 2.Trò:
III Tin trỡnh dạy học 1 ổn định tổ chức
11B1 11B9
11B2 11B4
11B3 11B5
11B7 11B6
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1:
Kiểm tra cũ(5phút)
? Để lu tên chơng trình cần làm
Thực lu chơng trình với tên bai
Hot ng 2:
Thực hành (30phút)
Yêu cầu HS mở Pi ta go ? Yêu cầu HS làm mục g SGK/50
GV hớng dẫn uốn nắn
GV gi ý cho HS tìm kết giải thích ngun nhõn lm thay i kt qu
? Yêu cầu HS làm mục h
HS trả lời thực hiƯn lu
HS thùc hiƯn gâ bµi tËp vµo máy
HS thực thay dÃy lệnh máy
Bài toán: Bộ số Pi - Ta - Go Program pitago;
uses crt;
var a, b, c: integer; a2, b2, c2 : logint; Begin
clrscr;
write (’a, b,c:’); readln (a, b, c);
a2: = a; b2: = b; c2: = c;
a2:= a2*a;b2:= b2*b;c2:= c2*c; if (a2= b2+c2)or(b2= a2+c2) or (c2= b2+a2) then writeln(’ba so da nhap lµ bo so pitago’); readln
End
Thay
a2: = a*a; b2: = b*b; c2: = c*c; Program pitago;
uses crt;
var a, b, c: integer; a2, b2, c2 : logint; Begin
clrscr;
(23)GV: gi¶ sư thay
a2: = sqr(a);b2: = sqr(b); c2: = sqr(c);
? Kết có thay đổi không GV đa đề lên bảng
? Yêu cầu HS viết chơng trình
GV hớng dẫn, cđng cè
Hoạt động 3:
Cđng cè (5phót)
- Nhắc lai cấu trúc lặp
HS: khụng cú gỡ thay i
HS: thực làm m¸y
readln (a, b, c);
a2: = a*a; b2: = b*b; c2: = c*c; if (a2= b2+c2)or(b2= a2+c2) or (c2= b2+a2) then writeln(’ba so da nhap lµ bo so pitago’); readln
End
=> Kết khơng có thay i
Bài tập:
Viết chơng trình tính t×m sè lín nhÊt sè a, b, c
Program tim_max; var a, b, c:integer; Begin
clrscr;
write(’nhap a’); readln(a); write(’nhap b’); readln(b); write(’nhap c’); readln(c); max:=a
if max<b then max:=b; if max<c then max:= c else max:=a;
writeln(’ gia tri max lµ:’); readln
end
3 Dặn dò
- Làm tập phần ôn tập chơng - Làm trớc 4, SGK51
Soạn: Giảng:
TiÕt 16
Lun tËp vỊ cÊu tróc lỈp I Mơc tiªu
- Cđng cè thªm vỊ cÊu tróc rẽ nhánh
- Luyện tập cấu trúc lặp, ý toán tìm tổng dÃy số
- Tiếp tục làm quen với công cụ phục vụ hiệu chỉnh chơng trình
II Chuẩn bị
1.Thầy: Máy tính 2.Trò:
III Tin trỡnh dy hc 1 ổn định tổ chức
11B1 11B9
11B2 11B4
11B3 11B5
(24)11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hot ng 1
Trả lời câu hỏi (10 phút)
? Trả lời câu hỏi SGK/50 ? Trả lời câu hỏi SGK/50 Gọi HS khác nhận xét ? Trả lời câu hỏi SGK/51
Hot ng 2
Luyện tập (33phút)
Yêu cầu HS lên làm SGK/51
GV hớng dẫn, củng cố, uốn nắn
? Viết chơng trình 5a SGK/ 51 vào máy
GV hớng dẫn HS làm 5b bảng
Hot ng 3
Củng cố (2phút)
Nhắc lại cấu trúc lặp có sè lÇn
HS đứng chỗ trả lời
HS tr¶ lêi 1HS nhËn xÐt HS trả lời câu hỏi
2 HS lên bảng làm Cả lớp làm nháp nhận xét
HS lớp làm máy
HS ghi nghe giảng
Câu 3
var S: real; a, n:integer; Begin
write(’nhap a’); readln(a); S := 1/a; n:=0;
White n< 100 n:=n+1;
S:=S+ 1/(a+n); writeln (’tong S lµ’, S:6:4); readln
end
Bµi 4 SGK/51 a)
if (x2 y2 1) then z := x2 y2
else
if (y x ) then z := x + y
else
z := 0,5; b)
if (sqrt(ax2 by2) = r) then z : = abs(x) + abs (y) else z := x+ y;
Bµi 5 SGK/51 a) var n, Y: real; Begin
write(’nhap n’); readln(n); Y := 0;
for n:=1 to 50 Y:= Y + n/n+1;
writeln(’gia tri bieu thuc lµ:’, y:6:4); readln
end
b) var e, i: real; n:longint; Begin
i:=1/2; n:=2; e:=2+i; white i > 2* 1E - Begin
inc(n); i:= i+1/n; e:= e+i; end;
writeln(’gia tri cua e la:’); readln
(25)biết trớc số lần cha biết trớc
3 Dặn dò
- Làm nốt tập phần câu hỏi tập
- ễn tập nội dung học chơng 1, 2, - Tit sau ụn
Soạn: Giảng:
Tiết 17
ôn tập I Mục tiêu
- Củng cố cho học sinh kiến thức cấu trúc rẽ nhánh cấu trúc lặp
- Rèn luyện kỹ vận dụng linh hoạt việc lựa chọn cấu trúc rẽ nhánh cấu trúc lặp để giải toán đặt
- 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 giải tập.Rèn luyện tư khoa học, tư logic
II Chuẩn bị
1.Thầy: Máy tính, tập 2.Trò:
III Tiến trình dạy học 1 ổn định tổ chức
11B1 11B9
11B2 11B4
11B3 11B5
11B7 11B6
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Kiểm tra cũ (5 phót)
? Trình bày cấu trúc câu lệnh rẽ nhánh cấu trúc lặp GV yêu cầu 1HS nhận xét
Ho
t độ ng 2
Luyện tập ( 30 phút)
Yêu cầu HS làm bµi ? Sử dụng lệnh If gồm nhánh
? Hàm lấy giá trị tuyệt đối biểu thức hay biến GV gọi HS lên bảng giải câu 4a
GV nhận xét, hoàn chỉnh làm đánh giá
GV gọi HS lên bảng giải câu 4b
GV nhận xét đánh giá
HS tr¶ lêi
1 HS lên bảng giải câu 4a
HS khác theo dõi nhận xét
1 HS lên bảng giải câu 4b
HS trả lời
HS trả lời
Bµi 4
a)
If (sqrt(x) + sqrt(y)) <=1 then z:= sqrt(x) + sqrt(y)
Else
If y>=x then z:= x+y Else z:= 0.5;
b)
If (sqr(x-a) + sqr(y-b)) <= sqr(r) then z:=abs(x) +abs(y)
Else z:= x+y;
(26)GV yªu cầu HS làm ? Hóy khai trin biu thức Y =
50
1
n n n
dạng tường minh ? Nhìn vào cơng thức khai triển, em cho biết n lấy giá trị đoạn
? Em thử đưa phương pháp tính Y
? Sử sụng cấu trúc điều khiển lặp phù hợp
GV gọi HS lên bảng giải 5a
GV nhận xét, hoàn chỉnh làm đánh giá
Hoạt động 3:
Củng cố ( 5phút)
Nêu cấu trúc lặp For vµ While
HS trả lời HS trả lời HS tr¶ lêi
1 HS lên bảng giải 5a
Các HS lại nhận xét bổ sung
Y =
51 50
3 2
Câu 5a) Uses crt; Var y: real; n: byte; Begin Clrscr; y:=0;
for n:=1 to 50 y:= y + n/(n+1); writeln(y:14:6); readln;
End
3 Dặn dò
- Lm cỏc tập cịn lại SGK trang 51
So¹n: Gi¶ng:
TiÕt 18
KiĨm tra häc kú I Mục tiêu
- Kiểm tra việc nắm bắt kiến thức học sinh chơng I, II III - RÌn ý thøc tù gi¸c, tù lËp giê kiĨm tra
- Rèn kỹ viết chơng trình số toán đơn giản
II ChuÈn bÞ
1.Thầy: đề kiểm tra 2.Trị:
III Tiến trình dạy học 1 ổn định tổ chức
11B1 11B9
11B2 11B4
11B3 11B5
11B7 11B6
11B8
2 KiÓm tra
Giáo viên phát đề Đề số :…… Lớp: ………
(27)3 NhËn xÐt tiÕt kiÓm tra
4 Đánh giá kết quả Lớp
Giỏi Khá Trung Bình Yếu
(28)Soạn: Giảng:
Tiết 20
Kiểu mảng
I Mục tiêu
- Bit kiu mng kiểu liệu có cấu trúc, cần thiết hữu ích nhiều chương trình
- Biết ngơng ngữ lập trình thơng dụng cho phép người lập trình xây dựng kiểu liệu mảng chiều
- Mảng chiều dãy hữu hạn phần tử kiểu
II ChuÈn bÞ
1.Thầy: Máy tính 2.Trò:
III Tin trỡnh dy học 1 ổn định tổ chức
11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1:
Khái niệm kiểu mảng chiều
( 15 phút)
? Các biến: t1, …,t7 thể giá trị nào? Kiểu biến
? Biến dem dùng làm ? Thế mảng chiều ? Để mô tả mảng chiều, ta cần xác định yếu tố
Hoạt động 2:
Khai báo biến mảng (25 phút)
? Chỉ phần khai báo mảng phần báo chương trình
GV ghi lại lên bảng
? Ý nghĩa khai báo
GV giới thiệu cú pháp
* Lưu ý cách chọn <Kiểu chỉ số>
? Yêu cầu cho ví dụ khai báo mảng
? Ý nghĩa khai báo bạn
HS suy nghĩ trả lời câu hỏi:
HS:dem để đếm số ngày tuần có to
> to TB.
HS trả lời HS trả lời:
HS trả lời HS: trả lời
Lắng nghe ghi chép
HS trả lời
1 Kiếu mảng chiều
* Khái niệm mảng chiều
(SGK)
a Khai báo
C1: Khai báo gián tiếp: (SGK) C2: Khai báo trực tiếp: (SGK) Ví dụ
Var Nhietdo: array [1 Max]
Of real;
Ví dụ 2: Khai báo mảng tối đa 100 số nguyên (chỉ số 1)
C1: Var a: Array[1 100] Of
(29)vừa viết
? Trong khai báo VD2 cách tốt
Dựa vào ví dụ SGK/ 55 ? Tên kiểu mảng
? Số phần tử mảng
? Mỗi phần tử mảng thuộc kiểu
Hoạt động 3:
Củng cố (5phút)
? Những khai báo ? Biến a khai báo chiếm dung lượng nhớ
HS trả lời câu hỏi
Lớp nhận xét HS trả lời
C2: Const Nmax = 100;
Var a: Array[1 Nmax] Of
integer;
C3: Const Nmax = 100;
Type MyArray = Array
[1 Nmax] Of Integer;
Var a:MyArray;
3 Dặn dò
- c VD1, VD2 SGK / 56,57
- Xem lại thuật tốn tìm phần tử lớn dãy số nguyên thuật toán xếp dãy số nguyên thuật toán hoán đổi (lớp 10);
- Khai báo mảng, tham chiếu phn t ca mng
Soạn: Giảng:
Tiết 20
Kiểu mảng I Mục tiêu
- Duyt tun tự đẻ tìm kiểu phần tử lớn dãy số nguyên - Sắp xếp dãy số nguyên thuật tốn tráo đổi
- Tìm số hạng dãy số ngun tăng thuật tốn tìm kiếm nh phõn
II Chuẩn bị
1.Thầy: Máy tính 2.Trß:
III Tiến trình dạy học 1 ổn định tổ chức
11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1:
Kiểm tra cũ
( 5phút)
? Trình bày cách khai báo kiểu mảng NNLT
Pascal?
? Khai báo mảng gồm N số nguyên (N500) (theo
cách: trực tiếp gián tiếp)
HS trả lời
HS2 lên bảng làm Const N = 500;
C1: Var M : array[1 N] of integer;
(30)Hoạt động 2:
Vận dụng kiểu mảng chiều (35phút)
GV yêu cầu HS đọc đề ? Gọi HS xác định In/Output toán
Y/cầu HS nhắc lại t/toán ? Xác định việc cần thực chương trình Y/cầu HS cho biết biến cần sử dụng Y/cầu HS lên viết
? Ta sử dụng câu lệnh để viết đoạn cịn lại
? Trước tính tổng cần có thêm khơng
- Y/cầu hs khác lên viết đoạn chương trình cịn lại
GV treo bảng phụ
? Hãy đưa câu lệnh vào vị trí thích hợp chương trình bài 1, để có chương trình đưa số số dương số số âm mảng
Hoạt động 3:
Củng cố (5 phút)
Nhắc lại cách khai báo mảng
HS: I làmảng A, số k O tổng (S), p/tử mảng A bội k 1HS nhắc lại t/toán HS Trả lời
HS: Mảng A, biến đơn: N, k, S
lên bảng trình bày HS trả lời
1HS lên bảng viết HS trả lời
of integer;
Var M : Mng;
Bài 1: SGK/56 Program tinh_tong; Var S, n, k, i : integer;
A: array[1 100] of integer; Begin
Write(‘Nhap n = ’); readln(n); For i:=1 To n Do
begin
write(‘phan tu thu ’,i,’ =’); readln(A[i]);
end;
write(‘Nhap k = ’); readln(k); S := 0;
For i:=1 To n Do
If A[i] mod k = Then S := S + A[i]; Writeln(‘Tong la: ’, S); End
Bài tập
1 am, duong : integer; am := 0; duong := 0; If A[i] >0 Then duong := duong + Else if A[i]<0 Then am := am + 1;
4 Writeln(duong: 4, am:4);
3 Dặn dò
- Làm bài: Cho mảng A, B gồm n (n<=250) số nguyên Hãy viết chương trình xây dựng mảng C[1 n], C[i] tổng phần tử thứ i thuộc mảng A mảng B (tức là: C[i] = A[i] + B[i])
- Xem trước vídụ ví dụ SGK/ 57, 58
So¹n: Giảng:
Tiết 21
Kiểu mảng I Mục tiêu
- Duyệt để tìm kiểu phần tử lớn dãy số nguyên - Sắp xếp dãy số ngun thuật tốn tráo đổi
- Tìm số hạng dãy số nguyên tăng thuật tốn tìm kiếm nhị phân
II Chn bÞ
(31)III Tiến trình dạy học 1 ổn định tổ chức
11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Kiểm tra cũ ( 5phút)
? Gọi HS lên bảng trình bày tập cho nhà tiết trước Gọi hs khác nhận xét
Hoạt động 2
Luyện tập ( 35phút)
? Gọi HS xác định In/Output ? u cầu HS trình bày lại thuật tốn xếp tráo đổi ? Biến j nhận giá trị phạm vi nào? Tương tự với biến i
? Có nhận xét biến i,j Yêu cầu HS thực viết chương trình vào máy, kiểm tra lỗi chạy
Hoạt động 3
Củng cố (5phút)
Nhắc lại thao tác tạo, xếp mảng
2HS lên bảng trình bày
HS nhận xét HS xác định toán
HS: - j N,
i j-1, i phụ thuộc
theo j HS trả lời
HS lớp thực
Bài 2: Sắp xếp dãy số nguyên thuật toán tráo đổi
Giải
Program sap_xep;
Var A: array[1 300] of integer; N, i, j :integer;
Begin
Write(‘Nhap n = ’); readln(n); For i:=1 To n Do
begin
write(‘phan tu thu ’,i,’ =’); readln(A[i]);
end;
For j := N Downto Do for i:=1 to j - If a[i] > a[i+1] then begin
t:=a[i]; a[i]:=a[i+1]; a[i+1] :=t
end;
Writeln(‘Mang da sap xep’); For i :=1 To N Do
write (a[i]:4); Readln
End.
3 Dặn dò
(32)-Xem trc bài: Bài thực hành số
-Bài tập: Cho mảng A gồm N phần tử viết chương trình tạo mảng B gồm N phần tử, B[i] tổng i phần tử mng A
(B[i]= A[1]+A[2]+ +A[i])
Soạn: Giảng:
TiÕt 22
Bµi tËp vµ thùc hµnh 3 I Mơc tiªu
- Củng cố lại kiến thức kiểu liệu mảng, cụ thể mảng chiều
-Rèn luyện tác phong, tư lập trình, tự giác, tích cực, chủ động sáng tạo tìm kiếm kiến thức
- Rèn luyện cho học sinh số kĩ làm việc với mảng như: + Khai báo kiểu liệu mảng chiều,
+ Nhập/ xuất liệu,
+ Duyệt qua phần tử mảng,
-Qua giúp học sinh biết cách giải số toán thường gặp như: +Tính tổng phần tử thoả mãn điều kiện đó,
+Đếm số phần tử thoả mãn điều kiện đó,
+Tìm phần tử lớn nhất/bé mảng vị trí
II Chn bị
1.Thầy: Máy tính 2.Trò:
III Tin trỡnh dạy học 1 ổn định tổ chức
11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Kiểm tra cũ ( phút)
? Có cách khai báo mảng chiều? Cho ví dụ
Hoạt động 2
Bài tập ( 35 phút)
Treo bảng phụ nội dung 1a SGK/63 ( máy chiếu)
? Khai báo uses CRT; có ý nghĩa
? Myarray tên kiểu liệu hay tên biến
? Vai trò nmax n có khác nhau?
? Những dịng lệnh dùng để tạo biến mảng a
HS trả lời
Quan sát bảng phụ, HS trả lời
Bài 1a SGK/63
-Khai báo thư viện chương trình CRT để sử dụng thủ tục Clrscr;
- Myarray : tên kiểu liệu - nmax: số phần tử tối đa chứa biến mảng a,
(33)GV giới thiệu hàm Random cho học sinh
? a[i] := Random (300) – Random(300) có ý nghĩa ? Lệnh for i:=1 to n Write ( a[i] : 5); có ý nghĩa
? Lệnh For-do cuối thực nhiệm vụ
? Lệnh gán s := s + a[i] ; thực lần
GV: Thực lại chương trình lần cuối để HS thấy kết
GV: bảng phụ bài1b SGK / 64 ? Ý nghĩa biến posi neg?
? Chức lệnh : If a[i] > then
posi := posi +1 else if a[i] < then neg := neg +1;
GV: Hướng dẫn HS thêm vào vị trí cần thiết để chương trình đếm số lượng số âm số dương
GV: Chạy thử chương trình để học sinh theo dõi kết
Hoạt động 3
Củng cố (5 phút)
-Nhắc lại kiến thức về:
+ Tính tổng phần tử phần tử thoả mãn điều kiện
+ Đếm số phần tử thoả mãn điều kiện
HS theo dõi để nắm hàm Random
HS: Câu lệnh cho số ngẫu nhiên có giá trị từ -299 đến 299 HS: câu lệnh in hình giá trị tất phần tử mảng
HS: cộng tất phần tử chia hết cho k
HS: Số lần thực lệnh gán số phần tử mảng chia hết cho k
HS: theo dõi kết chạy thử chương trình
HS: Sửa chương trính câu a
HS: Quan sát HS: trả lời
HS: Nếu a[i] > cộng a[i] vào posi; ngược lại a[i] < cộng a[i] vào neg
HS: Quan sát đưa vị trí cần sửa chương trình câu a HS: Theo dõi kết chạy chương trình
-Random(n): cho số ngẫu nhiên từ đến n-1
Bài 1b SGK/63
- Posi : đếm số dương mảng
- Neg: đếm số âm mng
3 Dặn dò
(34)- c trc bi SGK/64
Soạn: Giảng:
Tiết 23
Bµi tËp vµ thùc hµnh (tiếp)
I Mơc tiªu
- Củng cố lại kiến thức kiểu liệu mảng, cụ thể mảng chiều
-Rèn luyện tác phong, tư lập trình, tự giác, tích cực, chủ động sáng tạo tìm kiếm kiến thức
- Rèn luyện cho học sinh số kĩ làm việc với mảng như: + Khai báo kiểu liệu mảng chiều,
+ Nhập/ xuất liệu,
+ Duyệt qua phần tử mảng,
-Qua giúp học sinh biết cách giải số toán thường gặp như: +Tính tổng phần tử thoả mãn điều kiện đó,
+Đếm số phần tử thoả mãn điều kiện đó,
+Tìm phần tử lớn nhất/bé mảng vị trí
II Chn bị
1.Thầy: Máy tính 2.Trò:
III Tin trỡnh dạy học 1 ổn định tổ chức
11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Kiểm tra cũ (5phút)
? Cho biết ý nghĩa biến cấu trúc: Myarray, nmax, Random(n), Posi, Neg
Hoạt động 2
Bài tập (35phút)
GV: hướng dẫn HS thuật tốn tìm phần tử lớn vị trí
GV: Cho HS đọc chương trình SGK/64
? Nếu muốn tìm phần tử nhỏ cần sửa chỗ ? Nếu muốn tìm phần tử lớn với số lớn ta sửa ổ chỗ
HS: Theo dõi, suy nghĩ để nắm thuật tốn
HS: Đọc đoạn chương trình
HS: Sửa a[i] > a[j] ; thành a[i] < a[j] ; HS: Sửa a[i] > a[j]; thành a[i] >= a[j];
Bài 2 SGK/64
Cho mảng gồm phần tử: Tìm phần tử có giá trị lớn vị trí mảng
Giải
SGK/64
Tìm phần tử nhỏ đoạn chương trình đổi thành:
j:=1;
For i:=2 to n If a[i] > a[j] then j:=i;
(35)GV: Chạy thử chương trình cho HS theo dõi
GV: Theo dõi HS thực chương trình xem kết
Hoạt động 3
Củng cố ( phút)
Nhắc lại cấu trúc tìm GTLN, GTNN mảng
HS: Theo dõi GV chạy chương trình làm lại máy tính
HS nghe giảng
- Giá trị lớn a[j] - vị trí cần tìm j
3 Dặn dò
- Vit mt chng trỡnh nhp mt mảng chiều, đếm số phần tử nhỏ s k no ú
Soạn: Giảng:
Tiết 24
Kiểu mảng I Mục tiêu
- HS hiu khái niệm mảng chiều - Biết cách khai báo mảng chiều
- Viết chương trình đơn giản sử dụng mảng chiều
II ChuÈn bÞ
1.Thầy: Máy tính, 2.Trò:
III Tin trỡnh dy học 1 ổn định tổ chức
11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Kiểm tra cũ (7phút)
? Viết CT tạo in hình mảng A gồm n phần tử 10 phần tử
Hoạt động 2
Khái niệm mảng chiều
(15phút)
GV yêu cầu HS xem bảng nhân SGK
? Em đưa cách sử dụng kiểu mảng để lưu trữ bảng nhân
1HS lên bảng Cả lớp làm nháp
HS: Xem bảng nhân SGK trang 59 HS: Sử dụng mảng chiều, mảng lưu hàng
(36)?Cần phải khai báo biến mảng
GV giới thiệu mảng chiều ? Nêu khái niệmmảng chiều ? Yêu cầu HS nhận xét mảng hai chiều
? Để mô tả kiểu mảng hai chiều, cần xác định yếu tố
Hoạt động 3
Khai báo biến mảng chiều, cách tạo /in mảng ( 20phút)
GV đưa hai cách khai báo biến mảng hai chiều
GV giải thích thành phần khai báo
Gọi HS nêu cách khai báo gián tiếp biến B để lưu trữ bảng nhân SGK
GV đưa ví dụ : Viết chương trình tạo in mảng hai chiều gồm m hàng, n cột
GV hướng dẫn HS cách tạo mảng hai chiều có m hàng, n cột
GV hướng dẫn HS cách in mảng hai chiều vừa tạo
bảng
HS: Khai báo biến mảng chiều HS: nghe giảng HS trả lời
HS: Nếu coi mảng hai chiều mảng chiều mà phần tử mảng chiều Tham khảo SGK trả lời
HS ý theo dõi HS nghe giảng
HS đứng chỗ trả lời
HS nghe giảng ghi
HS ghi
a Khái niệm mảng hai chiều
SGK
* Các yếu tố cần xác định để mô tả kiểu mảng hai chiều
SGK
b Khai báo
- C1: Trực tiếp:
Var <tênbiếnmảng>:array [kiểu số hàng, kiểu số cột] of <kiểu phần tử>;
- C2: Gián tiếp:
Type <tên kiểu mảng> =
array[kiểu số hàng, kiểu số cột] of <kiểu ptử>;
Var <tên biến mảng>:<tên kiểu mảng>;
VD: var A:array [1 50,1 100] of integer;
* Ví dụ:
program Tao_in_mang; var i, j, m, n: integer;
A: array [1 100,1 100] of integer;
begin
write ('Nhap so hang m = '); readln(m);
write ('Nhap so cot n = '); readln (n);
{Tạo mảng}
for i := to m for j := to n begin
write('Nhap A[',i, ',' ,j,']='); readln (A[i , j]);
end;
{In mảng}
(37)Hoạt động 4
Củng cố (3phút)
- Cách khai báo biến mảng hai chiều
- Cách tạo mảng hai chiều
HS nghe giảng
for j := to n write (A[i , j]:4); writeln;
end; readln end
3 Dặn dò
- Xem ví dụ cịn lại SGK - Làm cỏc bi SBT
Soạn: Giảng:
Tiết 25
Bài thực hành số 4 I Mục tiêu
- Củng cố cho HS kiến thức kĩ có dịp lập trình với liệu kiểu mảng - Củng cố cho HS số thuật toán
- Rèn kỹ diễn đạt thuật toán, rèn ý thức cần có người lập trình viết chương trình với khối lượng tính tốn
- Góp phần hình thành rèn luyện tư lập trình, tác phong người lp trỡnh
II Chuẩn bị
1.Thầy: Máy tính, 2.Trß:
III Tiến trình dạy học 1 ổn định tổ chức
11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Kiểm tra cũ (5phút)
? Trình bày khái niệm cách khai báo biến mảng chiều
Hoạt động 2
Lý thuyết (15phút)
? Nêu cách khai báo kiểu mảng chiều
? Nhập từ bàn phím xây dựng mảng chiều A có phần tử
HS: gián tiếp, trực tiếp
HS: For i:= to Begin
(38)Hoạt động 3
Luyện tập
GV yêu cầu HS làm Chiếu đề lên bảng ? Xác định toán
? Yêu cầu hs nhắc lại ý tưởng thuật tốn(Lớp 10)
? Vai trị biến i, j CT ? Đoạn lệnh thực tráo đổi giá trị phần tử liền kề mảng
Yêu cầu hs tự nhập liệu với CT có sẵn
GV nêu đề mục 1b ? Yêu cầu HS xác I/O toán?
? Biến Dem tăng lên
? Cần đưa câu lệnh tăng Dem vào chỗ CT ? Lệnh Dem:= đặt vào vị trí CT
GV nhận xét
Hoạt động 4
Củng cố ( phút)
- Thuật toán xếp tráo đổi
- Đếm số lần tráo đổi
End;
HS đọc đề
HS: - Vào: mảng A - Ra: mảng A xếp
HS: thuật toán xếp học
HS: Làm biến số HS: tg := a[i];
a[i]:= a[i+1]; a[i+1]:= tg; HS: Chạy CT, nhập liệu, xem kết HS: I: mảng a;
O: mảng a xếp, số lần tráo đổi HS: A[i] > A[i+1] HS: Trong thân CL If: trước sau lệnh tráo đổi
HS trả lời
Bài a
SGK/65
Bài b
SGK/65
3 Dặn dò
Bài tập nhà
- Tìm thêm thuật toán xếp khác tối ưu
- Cho mảng A mảng B (là mảng A xếp) Hãy in số phn t mng A theo mng B
Soạn: Giảng:
TiÕt 26
Bµi thùc hµnh sè (tiÕp)
I Mơc tiªu
- Củng cố cho HS kiến thức kĩ có dịp lập trình với liệu kiểu mảng - Củng cố cho HS số thuật toán
- Rèn kỹ diễn đạt thuật tốn, rèn ý thức cần có người lập trình viết chương trình với khối lượng tính tốn
(39)II Chuẩn bị
1.Thầy: Máy tính, 2.Trò:
III Tiến trình dạy học 1 ổn định tổ chức
11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Lý thuyết ( 5phút)
? Cách khai báo kiểu mảng chiều
Hoạt động 2
Luyện tập (35phút)
GV đưa đề lên bảng ? Xác định tốn GV lấy ví dụ minh hoạ
A
1
B
1
Ban đầu: B[i] =
? Mỗi B[i] tạo
GV: Viết chương trình thơ ? Yêu cầu HS cho biết phần chương trình cần xây dựng
? Bước B2 cụ thể CT
GV chiếu chương trình chuẩn bị sẵn, Giải thích phần chương trình
? So sánh giá trị B[i] B[i-1] Đặc biệt: B[1]
GV nêu tối ưu thuật tốn
HS: có cách + gián tiếp: + trực tiếp
Quan sát đề lắng nghe câu hỏi gv HS trả lời
HS: Theo dõi ví dụ minh hoạ
HS trả lời
Lần lượt HS trình bày
HS: sử dụng vòng for lồng
for i:=1 to n begin
b[i]: =0;
for j:=1 to i b[i]:=b[i]+a[j]; end;
HS: lắng nghe, quan sát ghi nhớ B[i]:=B[i-1]+A[i] Tl: B[1]=A[1] HS: Chú ý theo dõi
Bài 2
SGK/66 Khai báo:
+ Khai báo mảng + Biến đơn
Phần thân: B1: tạo mảng A
(40)+ Số lượng phép tốn '+'
+Chỉ dùng vòng lặp for -> sd biến số i cho mảng A, B
Gv chiếu chương trình cải tiến
? Yêu cầu HS nhập CT cải tiến vào máy
Hoạt động 3
Củng cố (5 phút)
Trình bày khai báo biến đơn, kahi báo mảng
HS nhập chương trình vào máy
* Đoạn CT ci tin SGK
3 Dặn dò
- Xem, chuẩn bị trước 12: Kiểu xâu - Làm tip cỏc bi SBT
Soạn: Giảng:
TiÕt 27
Bµi thùc hµnh sè (tiÕp)
I Mơc tiªu
- Củng cố cho HS kiến thức kĩ có dịp lập trình với liệu kiểu mảng - Củng cố cho HS số thuật toán
- Rèn kỹ diễn đạt thuật tốn, rèn ý thức cần có người lập trình viết chương trình với khối lượng tính tốn
- Góp phần hình thành rèn luyện tư lập trình, tác phong người lập trình
II Chn bÞ
1.Thầy: Máy tính, 2.Trò:
III Tin trỡnh dy hc 1 ổn định tổ chức
11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Luyện tập (35phút)
GV đưa đề lên bảng ? Xác định tốn GV lấy ví dụ minh hoạ
? Mỗi B[i] tạo
Quan sát đề lắng nghe câu hỏi gv HS trả lời
HS trả lời
Bài tập:
Cho mảng A gồm n phần tử Hãy viết chương trình tạo mảng B[1 n], đố B[i] tổng i phần tử cuối
Giải
(41)GV: Viết chương trình thô ? Yêu cầu HS cho biết phần chương trình cần xây dựng
? Bước B2 cụ thể CT
GV chiếu chương trình chuẩn bị sẵn, Giải thích phần chương trình
GV nêu tối ưu thuật tốn
+ Số lượng phép tốn '+'
+Chỉ dùng vòng lặp for -> sd biến số i cho mảng A, B
Gv chiếu chương trình cải tiến
? Yêu cầu HS nhập CT cải tiến vào máy
Hoạt động 3
Củng cố (5 phút)
Trình bày khai báo biến đơn, kahi báo mảng
Lần lượt HS trình bày
HS: sử dụng vòng for lồng
for i:=n to begin
b[i]: =n;
for j:=n to i b[i]:=b[i]+a[j]; end;
HS: lắng nghe, quan sát ghi nhớ HS: Chú ý theo dõi
HS nhập chương trình vào máy
Phần thân: B1: tạo mảng A
B2: xd mảng B theo A B3: In mảng B
- Phần tạo B[]
For i:=n downto begin
B[i]:=n;
for j:=n downto i B[i]:=B[i]+A[j]; end;
* Đoạn CT cải tiến SGK
3 Dặn dò
- Xem, chun bị trước 12: Kiểu xâu - Làm tiếp bi SBT
Soạn: Giảng:
Tiết 28
kiểu xâu I Mục tiêu
- Biết khái niệm, cách khai báo xâu
- Biết sử dụng thủ tục, hàm thông dụng xâu
- Rèn kỹ khai báo kiểu xâu, so sánh xâu, nhận biết bước đầu sử dụng hàm v th tc chun
II Chuẩn bị
1.Thầy: Máy tính, 2.Trò:
(42)11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Khái niệm xâu (8 phút)
? Xâu
Yêu cầu HS khác nhận xét GV nêu lại khái niệm ? Xâu có kí tự ? Y/c HS viết xâu có ký tự trống, xâu rỗng, nêu số lượng ký tự xâu
GV: Giới thiệu cách tham chiếu phần tử
Hoạt động 2
Khai báo liệu (14 phút) ? Ý nghĩa từ String ? Độ dài lớn xâu
? Hãy nhắc lại phép toán học kiểu liệu chuẩn GV chiếu chương trình VD ? Kết chương trình in hình
? Chức phép cộng GV: Chiếu chương trình VD phép so sánh
? Yêu cầu HS cho biết kết
Hoạt động 3
Các thao tác sử lý xâu ( 20 phút)
GV giới thiệu thủ tục hàm
Ứng với thủ tục hàm giáo viên đưa ví dụ minh hoạ theo sgk
? Ý nghĩa hàm Length(b)
HS trả lời Nhận xét HS ghi Trả lời
HS Trả lời HS Trả lời HS nhắc lại Quan sát chương trình để dự tính kết HS dùng để ghép xâu
HS dự đoán
HS nghe giảng
HS trả lời
* Khái niệm
SGK
1 Khai báo
SGK
Lưu ý:
Một xâu có độ dài nhỏ lớn (>) ngược lại
2 Các thao tác sử lí xâu:
- Delete(St,vt,n) - Insert(S1,S2,vt) - Copy(St, vt, n) - Pos(S1, S2) - Length(st)
- Upcase(ch) Cho chữ viết hoa tưng ứng với chữ thường ch
- Val(St,x,m) Đổi giá trị xâu St thành số ghi giá trị vào biến X, nến không đổi vị trí gây lỗi ghi m, đổi thành cơng m =
(43)? Giải thích câu lệnh For i:=k downto write([i]);
? Qua ví dụ ta thấy điều
Em có nhận xét xâu b tạo thành
Hoạt động 4
Củng cố (5phút)
- Khai báo xâu, - Các phép so sánh
- Các hàm thủ tục thao tác xâu
HS: Sử dụng vòng lặp For giá trị cuối downto giá trị đầu để sau in kí tự chuỗi theo chiều ngược lại
HS: thấy hàm
length() tham chiếu đến kí tự cử xâu thơng qua vị trí HS: Xâu b tạo thành từ xâu rỗng qua phép ghép xâu
HS ghi nhớ
xâu kí tự lưu St
Ví dụ
Var a, b: string; Begin
Write(‘nhap ho ten thu nhat:‘); Realn (a);
Write(‘ nhap ho ten thu hai: ‘); Realn (b);
If length(a)>length(b) then Write(a) else writer(b); Readln
End
3 Dặn dò
- Gii bi s 10 SGK /80
Soạn: Giảng:
Tiết 29
Bài tập thực hành 5 I Mục tiêu
- Cđng cè c¸c kiÕn thøc vỊ kiĨu
- Rèn kỹ khai báo kiểu xâu, so sánh xâu, nhận biết bước đầu sử dụng hàm thủ tục chuẩn
- Rèn luyện tư lập trình, tác phong người lập trình
II Chuẩn bị
1.Thầy: Máy tính, máy chiếu 2.Trò: tập sẵn nhà
III Tin trỡnh dy hc 1 ổn định tổ choc
11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Kiểm tra cũ (5 phút)
? Thế xâu, nêu cấu trúc khai báo xâu
(44)Hoạt động 2
Lý thuyết (8 phút)
? Thế xâu, đặc điểm ? Cấu trúc khai báo xâu
? Các hàm thủ tục dùng để xử lý xâu
Hoạt động 3
Luyện tập (23 phút)
GV: Giới thiệu đề
GV diễn giải: Một xâu gọi Palidrom ta đọc ký tự từ phải sang trái giống đọc từ trái sang phải
? Yêu cầu HS cho VD xâu Palidrom VD xâu Palidrom
Gọi HS khác nhận xét ? Chức chương trình
? Kết in
Gọi HS khác nhận xét GV chạy chương trình máy chủ để HS kiểm nghiệm suy luận
GV nêu yêu cầu
Viết lại chương trình mà khơng sử dụng biến trung gian p
? Nhận xét cặp đối xứng xâu Palidrom
? Ký tự thứ i đối xứng với ký tự vị trí
? Cần phải so sánh cặp ký tự xâu để biết xâu Palidrom ? Dùng cấu trúc lặp để so sánh
Yêu cầu HS nhập liệu cho sẵn GV thông báo kết
HS trả lời HS trả lời
HS:đọc kỹ đề
HS:- Là xâu
Palidrom: 464; abcba - Không xâu Palidrom: abcdba HS nhận xét
HS: Kiểm tra xâu có phải Palidrom hay khơng
HS: In ‘ xau la Palidrom’, ‘xau khong la Palidrom’ HS nhận xét
HS: Quan sát GV thực chương trình
HS: Đọc dề HS: giống HS: đối xứng với ký tự thứ length( )– i +1 HS: Tối đa length( ) div
HS: Có thể dùng For While
HS: Thực soạn thảo chương trình HS: Nhập liệu thông báo kết
(45)quả
Hoạt động 4
Củng cố (4 phút)
- Nhắc lại cách khai báo ? Th no l dóy palindromen
3 Dặn dò
Lm trc bi 2, SGK/73
Soạn: Giảng:
TiÕt 29
Bµi tËp vµ thùc hµnh 5 I Mục tiêu
- Củng cố kiến thức vỊ kiĨu
- Rèn kỹ khai báo kiểu xâu, so sánh xâu, nhận biết bước đầu sử dụng hàm thủ tục chuẩn
- Rèn luyện tư lập trình, tác phong người lp trỡnh
II Chuẩn bị
1.Thầy: Máy tính, máy chiếu 2.Trò: tập sẵn nhà
III Tiến trình dạy học 1 ổn định tổ choc
11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Phát vấn giải đáp
(15 phút)
GV nêu mục đích tốn u cầu HS hoạt động nhóm - Nhóm 1: Đặt câu hỏi
- Nhóm 2: Trả lời câu hỏi
Quan sát đề xác định công việc cần thực N1: ?Dữ liệu vào, liệu tốn ? Nêu nhiệm vụ cần thực giải toán
? Cấu trúc liệu phải sử dụng
? Ta phải sử dụng hàm
(46)GV: Theo dõi câu hỏi phân tích nhóm câu trả lời nhóm
Bổ sung sửa sai cho nhóm nhóm
Hoạt động 2
Luyện tập - thực hành máy (25 phút)
GV đưa dàn ý chi tiết thông qua máy chiếu
? Yêu cầu HS chi tiết hố câu lệnh để có chương trình chạy
? Yêu cầu HS nhập liệu cho sẵn GV thông báo kết
GV: Xác nhận làm có kết sửa sai cho HS có kết sai
Hoạt động 3
Củng cố (5 phút)
Nhắc lại cấu trúc đếm giá trị
mỗi loại ký tự xâu
- Nhiệm vụ: Duyệt từ trái sang phải, thêm đơn vị cho ký tự đọc
- Cấu trúc liệu: Dem[‘A’ ’Z’]
- Dùng hàm Upcase
HS: Thực soạn thảo chương trình vào máy theo yêu cầu GV
HS: Nhập liệu vào thông báo kết cho
Bài 2: SGK trang 73 program xuat_hien; Var S: string;
i, n: integer; Begin
N:=length (S);
{khởi tạo giá trị cho mảng} For i:=1 to n
{nếu S[i] chữ đếm tăng cho S[i]}
For i:=1 to 26
{Thông báo số lần xuất chr(i+ord(‘A’)-1}
end
3 Dặn dò
Lm trc bi SGK/73
Soạn: Giảng:
Tiết 30
Bài tập thực hành 5 I Mục tiêu
- Củng cố kiến thøc vỊ kiĨu
- Rèn kỹ khai báo kiểu xâu, so sánh xâu, nhận biết bước đầu sử dụng hàm thủ tục chuẩn
- Rèn luyện tư lập trình, tác phong ngi lp trỡnh
II Chuẩn bị
1.Thầy: Máy tính, máy chiếu 2.Trò: tập sẵn nhà
(47)11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Bài tập (35 phút)
GV giới thiệu đề
GV hướng dẫn bước thực
b1: Tìm vị trí xâu bắt đầu “anh” xâu S
b2: Xoá xâu ‘anh’
b3: Chèn xâu “em” vào vị trí
GV ý: dùng vịng lặp đến khơng tìm thấy xâu “anh”
cần thay xâu st ? Các hàm thủ tục chuẩn biết kiểu xâu tìm vị trí xuất xâu con, xố xâu con, chèn xâu không
? Dùng hàm thủ tục đề viết chương trình
? Gọi HS khác nhận xét
GV HS thống dàn ý chương trình
? Yêu cầu HS chi tiết hoá dàn ý câu lệnh để có
chương trình chạy GV kiểm tra sửa lỗi sai
Hoạt động 2
Củng cố (5 phút)
Nhắc lại thủ tục hàm xóa, chèn, xuất vị trí
HS nghe ghi
HS trả lời
HS: pos, delete, insert
HS nhận xét HS thực máy
Bài 3: Nhập vào từ bàn phím xâu Thay tất cụm từ ‘anh’ cụm từ ‘em’
Bài giải
Program thay_the; Var S: string; vt:byte; Begin
Write(‘nhap xau S:’); Readln (S);
while pos(‘anh’,S) <> Begin
vt := pos (‘anh’,S); Delete (S, vt, 3); insert (‘em’,S,vt); end;
Writeln (‘xau da thay the la:’, S:6:2);
readln End
3 Dặn dò
- Đọc trước 13 SGK/74
- Bài nhà: Nhập vào từ bàn phím xâu Thay tất cụm từ ‘toi’ cụm từ ‘ta’ chép xâu vừa thêm
Soạn: Giảng:
Tiết 31
(48)I Mục tiêu
- Biết khái niệm, cách khai báo xâu
- Biết sử dụng thủ tục, hàm thông dụng xâu
- Rốn k nng khai báo kiểu xâu, so sánh xâu, nhận biết bước đầu sử dụng hàm thủ tục chun
II Chuẩn bị
1.Thầy: Máy tính, 2.Trò:
III Tiến trình dạy học
1 n nh tổ chức
11B1 11B9
11B2 11B7
11B8
2 Bµi míi
Hoạt động GV Hoạt động HS Ghi bảng
Hoạt động 1
Khái niệm xâu (8 phút)
? Xâu
Yêu cầu HS khác nhận xét GV nêu lại khái niệm ? Xâu có kí tự ? Y/c HS viết xâu có ký tự trống, xâu rỗng, nêu số lượng ký tự xâu
GV: Giới thiệu cách tham chiếu phần tử
Hoạt động 2
Khai báo liệu (14 phút) ? Ý nghĩa từ String ? Độ dài lớn xâu
? Hãy nhắc lại phép toán học kiểu liệu chuẩn GV chiếu chương trình VD ? Kết chương trình in hình
? Chức phép cộng GV: Chiếu chương trình VD phép so sánh
? Yêu cầu HS cho biết kết
Hoạt động 3
Các thao tác sử lý xâu ( 20 phút)
GV giới thiệu thủ tục hàm
Ứng với thủ tục hàm giáo viên đưa ví dụ
HS trả lời Nhận xét HS ghi Trả lời
HS Trả lời HS Trả lời HS nhắc lại Quan sát chương trình để dự tính kết HS dùng để ghép xâu
HS dự đoán
HS nghe giảng
* Khái niệm
SGK
1 Khai báo
SGK
Lưu ý:
Một xâu có độ dài nhỏ lớn (>) ngược lại
2 Các thao tác sử lí xâu:
- Delete(St,vt,n) - Insert(S1,S2,vt) - Copy(St, vt, n) - Pos(S1, S2) - Length(st)
(49)minh hoạ theo sgk
? Ý nghĩa hàm Length(b) ? Giải thích câu lệnh
For i:=k downto write([i]);
? Qua ví dụ ta thấy điều
Em có nhận xét xâu b tạo thành
Hoạt động 4
Củng cố (5phút)
- Khai báo xâu, - Các phép so sánh
- Các hàm thủ tục thao tác xâu
HS trả lời
HS: Sử dụng vòng lặp For giá trị cuối downto giá trị đầu để sau in kí tự chuỗi theo chiều ngược lại
HS: thấy hàm
length() tham chiếu đến kí tự cử xâu thơng qua vị trí HS: Xâu b tạo thành từ xâu rỗng qua phép ghép xâu
HS ghi nhớ
hoa tưng ứng với chữ thường ch
- Val(St,x,m) Đổi giá trị xâu St thành số ghi giá trị vào biến X, nến khơng đổi vị trí gây lỗi ghi m, đổi thành cơng m =
- Str(X,St) Chuyển số X thành xâu kí tự lưu St
Ví dụ
Var a, b: string; Begin
Write(‘nhap ho ten thu nhat:‘); Realn (a);
Write(‘ nhap ho ten thu hai: ‘); Realn (b);
If length(a)>length(b) then Write(a) else writer(b); Readln
End
3 DỈn dß