- BiÕt thùc hiÖn c¸c c©u lÖnh rÏ nh¸nh vµ lÆp cña ng«n ng÷ lËp tr×nh Pascal... N¾m ®îc cÊu tróc chung cña cÊu tróc nh¸nh..[r]
(1)Chơng 1
Một số khái niệm lập trình ngôn ngữ lập trình 1: Khái niêm lâp trình ngôn ngữ lập trình
(Tiết dạy theo PPCT: 1: Tuần 1: từ ngày 17 23/08/2009)
I Mơc tiªu:
Biết đợc khái niệm lập trình ngơn ngữ lập trình Biết đợc khía niệm chơng trình dịch
Phân biệt đợc loại chơng trình dịch biên dịch thụng dch
II Đồ dùng dạy học
1 Chuẩn bị giáo viên
- Bảng viết, SGK, SGV, phiÕu häc tËp Chn bÞ cđa häc sinh
- SGK
III Hoạt động dạy học
1. Hoạt dộng 1: tìm hiểu khái niệm lập trình ngôn ngữ lập trình:
a. Mục tiêu:
- Giúp học sinh biết đợc lập trình ý nghĩa việc lập trình
- Biết đợc khái niệm ngơn ngữ lập trình biết số loại ngơn ngữ lập trình b Nội dung:
Mọi tốn có thuật tốn giải máy tính điện tử bớc để giải mơt tốn :
+ Xác định bi toỏn
+ Xây dựng thuật toán khả thi + LËp tr×nh
Lập trình việc sử dụng cấu trúc liệu lệnh ngơn ngữ lập trình cụ thể để mơ tả liệu diễn đạt thao tác qua thuật toán
Ngơn ngữ lập trình phần mềm dùng để điễn đạt thuật tốn thành chơng trình giúp cho máy tính hiểu đợc thuật tốn
Một số loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ ngôn ngữ bậc cao c Các b íc tiÕn hµnh:
Hoạt động giáo viên Hoạt động học sinh
1 toán ĐV đề
Cho sè nguyªn a,b.TÝnh tỉng,tÝch cđa a,b?
- Hãy xác định yếu tố Input Output toán?
- Hãy xác định bc tỡm Output?
* Các bớc ta gọi gì?
- Nu trỡnh by thut toỏn với ngời nớc ngồi, em dùng ngơn ngữ để diễn đạt?
- Nếu diễn đạt thuật tốn cho máy hiểu, em dùng loại ngơn ngữ ?
1 Quan s¸t néi dung cđa toán theo rõi yêu cầu giáo viên:
- Input: a,b
- Output: Tỉng:=a+b; TÝch:=a*b Bíc 1: NhËp a,b
Bíc 2: G¸n: Tỉng:=a+b; TÝch:=a*b Bíc 3: §a Tỉng, TÝch råi kÕt thóc * Gäi thuật toán toán
- S dụng sơ đồ khối ngơn ngữ ngời để diễn đạt
(2)Hoạt động giáo viên Hoạt động học sinh
*Đúng q trình diễn đạt ta cần sử dụng ngơn ngữ mà máy tính nhận biết ngôn ngữ nh ta gọi “Ngôn ngữ lập trình”
- Diễn giải: Hoạt động để diễn đạt
thuật tốn thơng qua ngơn ngữ lập trình đợc gọi lập trình
- Yêu cầu HS đọc SGK cho biết KN lập trình
Hỏi: Kết hoạt động lập trình.
2 Ph¸t phiếu học tập Yêu cầu em
ghi cỏc loại ngơn ngữ lập trình mà em biết ( Sử dụng kỹ thuật động não viết )
- §äc néi dung mét sè phiÕu häc tËp cho c¶ líp cïng nghe
- Hái: Em hiĨu nh thÕ ngôn ngữ
máy, hợp ngữ ngôn ngữ bậc cao?
Hỏi: NNBC ngôn ngữ gần víi ng«n
ngữ tự nhiên khơng phải ngơn ngữ máy.Vậy làm cách máy tính x lý c?
Hỏi: Vì ngời ta không lập trình trên
ngụn ng mỏy mt cơng chuyển đổi mà ngời ta phải lập trình ngơn ngữ bậc cao?
- Lập trình việc sử dụng cấu trúc liệu lệnh ngơn ngữ lập trình cụ thể để mơ tả liệu diễn đạt thao tác thuật toán
- Ta đợc chơng trình
2 Tham khảo SGK sử dụng vốn hiểu biết tin hc in phiu hc
- Ngôn ngữ máy - Hợp ngữ
- Ngôn ngữ bậc cao
- Ngơn ngữ máy: lệnh đợc mã hố ký hiệu – chơng trình viết ngơn ngữ máy nạp vào nhớ thực
- Ngôn ngữ bậc cao lệnh đợc mã hố ngơn ngữ gần với ngơn ngữ tiếng Anh, chơng trình viết ngơn ngữ bậc cao phải đợc chuyển đổi thành chơng trình ngơn ngữ máy thực đợc
- Phải sử dụng chơng trình để chuyển đổi NNBC thành ngơn ngữ máy
- Lập trình NNBC dễ viết lệnh đợc mã hố gần với ngơn ngữ tự nhiên Lập trình ngơn ngữ máy khó, thờng chun gia lập trình với lập trình đợc
2. Hoạt động 2: Tìm hiểu loại ch ơng trình, thơng dịch biên dịch.
a Mơc tiªu:
- Học sinh biết đợc khái niệm chơng trình dịch cần thiết chơng trình dịch
- Phân biệt đợc thơng dịch với biên dịch b Nội dung:
- Chơng trình dịch chơng trình có chức chuyển đổi chơng trình đợc viết ngơn ngữ bậc cao thành chơng trình thực máy tính
(3)- Đầu vào chơng trình dịch chơng trình viết ngôn ngữ bậc cao, đầu chơng trình nhng đợc viết ngơn ngữ máy
- Biên dịch: kiểm tra phát lỗi dịch toàn chơng trình nguồn thành chơng trình thực máy
- Thông dịch dịch câu lệnh c Các b ớc tiến hành:
hoạt động giáo viên Hoạt động học sinh
1 Nêu vấn đề:
Em muèn giới thiệu trờng cho ngời khách du lịch quốc tế biết tiếng anh có cách thực
Cách 1: Cần môt ngời biết tiếng Anh dịch
từng câu nói em sang tiếng Anh cho ngời khách
Cách 2: Em soạn nội dung cÇn giíi thiƯu
ra giấy ngời phiên dịch dịch tồn nội dung tiếng Anh đọc cho ngời khách
- H·y lÊy mét ví dụ tơng tự thực tế biên dịch từ tiÕng Anh tiÕng ViÖt
2 Yêu cầu học sinh nghiên cứu SGK sử dụng ví dụ biết tiến trình thơng dịch biên dịch.
Chó ý l¾ng nghe vÝ dụ giáo viên thảo luận tìm ví dụ t¬ng tù
- Khi nãi trun trùc tiÕp víi bạn ngời nớc ngoài.Cần dịch câu
- Khi Viết th cho bạn sau viết xong dịch tồn th
2 HS nghiªn cứu SGK suy nghĩ trả lời
- Biên dÞch:
Bớc 1: Duyệt phát lỗi, kiểm tra tính đắn lệnh chơng trỡnh ngun
Bớc 2: Dịch toàn chơng trình nguồn thành chơng trình ngôn ngữ máy - Thông dịch:
Bc 1: Kim tra tớnh ỳng n lệnh chơng trình nguồn
Bớc 2: Chuyển lệnh thành ngơn ngữ máy
Bớc 3: Thực câu lệnh vừa chuyển đổi (phù hợp với môi trờng đối thoại ngời máy)
IV Đánh giá cuối bài:
1 Nhng ni dung ó hc:
- Khái niệm lập trình 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ữ, 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 thông dịch biên dịch
(4)2: thầnh phần ngôn ngữ lập trình
(Tiết dạy theo PPCT: Tuần 1: từ ngày 17 23/08/2009)
I Mơc tiªu
1 kiÕn thøc:
- Nắm đợc thành phần ngơn ngữ lập trình nói chung. - Một ngơn ngữ có thành phần: Bảng chữ cái, cú pháp ngữ nghĩa
- Biết đợc số khái niệm nh: tên, tên chuẩn, tên dành riêng, tên ngời lập trình đặt, biến thích
2 Kỹ năng:
- Phõn bit c tờn chuẩn, tên dành riêng, tên tự đặt - Nhớ đợc quy định tên biến
- Biết đợc đặt tên tên sai quy định - Sử dụng thích
II Đồ dùng dạy học
1 Chuẩn bị giáo viªn:
- Tranh chứa bảng chữ cái, tranh chứa tên sai - để học sinh chọn, phiếu học tập
2 Chn bÞ cđa häc sinh:
- SGK, Đọc trớc đến lớp
III Hoạt động dạy học
1 Hoạt động 1: Tìm hiểu thành phần ngơn ngữ lập trình.
a Mơc tiªu:
Biết đợc ngơn ngữ lập trình gồm thành phần: Bảng chữ cú pháp ngữ nghĩa
b Néi dung:
+ Bảng chữ cái: tập hợp ký tự đợc dùng để viết chơng trình, khơng đợc dùng ký tự ký tự quy định bảng chữ
+ Cú pháp: quy tắc để viết chơng trình
+ 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 dựa vào ng cnh ca nú
c Các bớc tiến hành:
Hoạt động giáo viên Hoạt động học sinh
1 Đặt vấn đề: có yếu tố để xây
dùng tiÕng ViÖt?
2 Giảng: ngôn ngữ lập trình
cũng gồm thành phần: Bảng chữ cái, cú pháp ngữ nghĩa
3 Lớp chia làm nhóm Thảo luận và
thống cho bạn trả lời câu hỏi sau:
- HÃy nêu chữ bảng chữ tiếng Anh
- Nêu ký tự số hệ đếm thập phân
1 HS độc lập suy nghĩ trả lời - Bảng chữ tiếng Việt, số, dấu
- Quy tắc ghép ký tự thành từ quy tắc ghép từ thành câu
- Ngữ nghĩa từ câu HS lắng nghe vµ ghi nhí
3 Häc sinh thùc hiƯn với hỗ trợ SGK
(5)Hoạt động giáo viên Hoạt động học sinh
- Nêu số ký tự đặc biệt khác
- Gọi đại diện nhóm lên trình bày Sau gọi đại diện nhóm khác lên nhận xét, bổ xung
- Treo tranh giáo viên chuẩn bị để tiểu kết cho hoạt động
bỉ xung nh÷ng thiÕu sãt
- TËp trung xem tranh vµ ghi nhí
2 Hoạt động 2: Tìm hiểu khái niệm tên thành phần ngơn ngữ lập trình.
a Mơc tiªu:
- Học sinh biết phân biệt số loại tên: tên dành riêng tên chuẩn, tên ngời lập trình đặt
b Néi dung:
Mọi đối tợng chơng trình phải đợc đặt tên theo quy tắc ngơn ngữ lập trình chơng trình dịch cụ thể
- Tên dành riêng: tên đợc ngơn ngữ lập trình quy định dùng với ý nghĩa xác định (cịn gọi từ khố), ngời lập trình khơng đợc dùng với ý nghĩa khác
- Tên ngời lập trình đặt: tên đợc dùng theo ý nghĩa riêng ngời lập trình, tên đợc khai báo trớc sử dụng Các tên khơng đợc trùng với tên dành riêng
c C¸c bíc tiÕn hµnh
Hoạt động giáo viên Hoạt động học sinh
1.Đặt vấn đề: Mọi đối tợng chơng
trình phải đợc đặt tên
- Hãy nghiên cứu SGK trang 10, để nêu quy cách đặt tên Turbo Pascal?
2.Treo tranh chứa tên đúng, sai, yêu cầu HS chọn tên
A A BC 6Pq R12 X#y _45
- Tiểu kết cho vấn đề việc khẳng định lại tên
3.Yêu cầu HS nghiên cứu SGK(trang 10 -11)
để biết khái niệm tên dành riêng, tên chuẩn tên ngời lập trình đặt - Chia lớp thàn nhóm Nhóm 1,2,3 trình bày hiểu biết loại tên cho ví dụ Nhóm cho nhận xét chung
1 Nghiªn cøu SGK trả lời
- Gồm chữ cái, chữ số dấu gạch dới - Bắt đầu chữ dấu gạch dói - Độ dài không 127
2 Quan sát trả lời A
R12 _45
3 HS nghiên cứu SGK để tr li
- Thảo luận theo nhóm điền phiÕu häc tËp
+ Tên dành riêng: Là tên ngơn ngữ lập trình quy định dùng với ý nghĩa xác định, ngời lập trình khơng đợc dùng với ý nghĩa khác
+ Tên chuẩn tên đợc ngơn ngữ lập trình quy định dùng với ý nghĩa đó, ngời lập trình định nghĩa lại để dùng với ý nghĩa khác
(6)Hoạt động giáo viên Hoạt động học sinh
- Treo tranh chứa số tên ngơn ngữ lập trình Pascal đợc chuẩn bị sẵn: Program Asb Integer Type Xyx Byte tong - yêu cầu học sinh nhóm thực hiện: + Xác định tên dành riêng
+ Xác định tên chuẩn + Xác định tên tự đặt
- Gọi đại diện nhóm lên trình bày gọi học sinh nhóm khác để bổ xung
- Tiểu kết cho vấn đề cách bổ xung thêm cho nhóm để đa trả lời
dùng theo ý nghĩa riêng ngời lập trình, tên đợc khai báo trớc sử dụng Các tên không đợc trùng với tên dành riêng
- HS quan sát điền phiếu học tập
Tờn dành riêng: Program type Tên chuẩn: Asb Interger Byte Tên tự đặt: Xyx Tong
- Quan sát kết nhóm khác nhận xét, đánh giá bổ xung
- Theo rõi bổ xung giáo viên để hoàn thiện kiến thức
3 Hoạt động 3: Tìm hiểu thích a Mục tiêu:
- Học sinh biết đợc khái niệm hằng, biến thích Phân biệt đợc biến Thấy đợc ý nghĩa thích
b Néi dung.
- Hằng đại lợng có giá trị khơng đổi q trình thực chơng trình Có loại thờng dùng: Hằng số học, xâu logic
+ H»ng sè häc lµ số nguyên số thực, có dấu không dÊu
+ Hằng xâu chuỗi ký tự Khi viết, chuỗi ký tự đợc đặt cặp dấu nháy đơn
+ Hằng lôgic gí trị (true) sai (false)
- Biến đại lợng đợc đặt tên lu trữ giá trị giá trị thay đổi trình thực chơng trình Các biến dùng chơng trình phải đợc khai báo
- Chú thích đợc đặt cặp dấu {} (* *) để giải thích cho chơng trình dễ hiểu rõ rng
c Các bớc tiến hành.
Hot ng giáo viên Hoạt động học sinh
1 Yêu cầu học sinh cho số ví dụ số, xâu logic
- Trình bày khái niệm số, xâu logic
2 Ghi bảng: xác định số xâu sau:
- 32767 ‘QB’ 50
1 Độc lập suy nghĩ trả lời - H»ng sè: 50 3.14
- H»ng x©u: ‘Ha Noi’ ‘ A’ - H»ng logic: false
- H»ng số học số nguyên số thực có dấu không dấu
- Hng xõu: l chui ký tự mã ASCII, đợc đặt cặp dấu nháy
- Hằng logic: giá trị (true) hoc sai (false)
2 quan sát trả lời:
(7)1.5E+2
3 Yêu cầu học sinh nghiên cứu SGK, cho biết khái niệm biến
- Cho vÝ dơ mét sè biÕn
4 Yªu cầu học sinh nghiên cứu SGK cho biết chức thích ch-ơng trình
- Cho vÝ dơ vỊ mét dßng chó thÝch
- Hỏi: Tên biến tên tên dành riêng hay tên ngời lập trình đặt
- Hỏi : lệnh đợc viết cặp lệnh {} có đợc TP Pascal thực khơng
3 Nghiªn cøu SGK trả lời
- Bin l i lợng đợc đặt tên lu trữ giá trị giá trị thay đổi q trình thực chơng trình Các biến dùng chơng trình phải đợc khai báo - VD: tên biến xyz tong
4 Học sinh độc lập trả lời
- Chú thích đợc đặt cặp dấu {} (* *) để giải thích cho chơng trình dễ hiểu rõ ràng
- { lenh xuat du lieu} - Là tên nguời lập trình đặt - Khơng dịng thích
IV Đánh giá cuối bài:
1 Nhng ni dung ó hc.
- Thành phần ngôn ngữ lập trình: Bảng chữ, cú pháp ngữ nghĩa
- Khái niệm: tên, tên chuẩn, tên dành riêng, tên ngời lập trình dặt, hằng, biến thích
2 Câu hỏi tập nhà.
(8)Ch¬ng 2
Chơng trình đơn giản 3: Cấu trúc chơng trình
(Tiết dạy theo PPCT: Tuần từ ngày 24/08 đến 30/08/2009)
I Mơc tiªu
1 KiÕn thøc
- Biết đợc cấu trúc chung chơng trình 2 Kỹ năng
- Biết đợc cấu trúc chung chơng trình, nhân biết đợc thành phần chơng trình
II Đồ dùng dạy học
1 Chuẩn bị giáo viên
- Mỏy vi tớnh cú mỏy chiếu dùng để chiếu ví dụ(Nếu có) - Một số chơng trình mẫu viết sẵn
2 Chn bÞ cña häc sinh - SGK
III Hoạt động dạy học:–
1 Hoạt động : Tìm hiểu cấu trúc chung thành phần chơng trình a Mục tiêu:
- Học sinh biết đợc chơng trình có phần nội dung phần b Ni dung:
- Cấu trúc chơng trình có phần: phần khai báo phần thân
- Phần khai báo: Khai báo tên chơng trình, khai báo th viện chơng trình, khai báo biến, khai báo hằng, khai báo chơng trình
- Phn thõn chng trình: Bao gồm dãy lệnh đợc đặt cặp dấu hiu m u v kt thỳc
Mở đầu
Các câu lệnh Kết thúc
c Các b ớc tiÕn hµnh:
Hoạt động giáo viên Hoạt động ca hc sinh
1 Phát vấn gợi ý: Một tập làm văn em
thờng viết có phần? phần có thứ tự không? phải chia nh
1 Lắng nghe trả lêi: - Cã phÇn
(9)Hoạt động giáo viên Hoạt động học sinh
2 Yêu cầu học sinh nghiên cứu SGK để trả li cõu hi sau:
- Một chơng trình có cấu trúc phần?
- Trong phần khai báo, có khai báo nào?
- Yêu cầu học sinh lấy ví dụ khai báo tên chơng trình ngôn ngữ Pascal
Program <ten_chuong_trinh>; Trong ú:
+ Program: Từ khoá (Tên riêng)
+ <ten_chuong_trinh> t theo quy tc t tờn
- Yêu cầu học sinh lấy ví dụ khai báo th viện chơng trình ngôn ngữ Pascal
USES <Ten_thu_vien>; Trong ú:
+ Uses: Từ khoá (Tên riêng)
+ <Ten_thu_vien> Là nơi chứa chơng trình chuẩn Pascall
- Yêu cầu học sinh lấy ví dụ khai báo ngôn ngữ Pascal
Const <ten_hang> = <giá_trị>; Trong đó:
+Const: Tõ kho¸
+Tên hằng: Đặt theo quy tắc đặt tên +Giá trị: Một đơn
- Phần thân chơng trình đợc xác định nh nào?
- Ký hiệu mở đầu kết thúc ngôn ngữ lập trình Pascall gì?
- Giữa ký hiệu mở đầu ký hiệu kết thúc
2.Nghiên cứu SGK trả lời + Hai phần:
[<Phần khai báo>]
<Phần thân chơng trình>
- 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 khai báo chơng tr×nh - CÊu tróc : Program ten_chuong_trinh; - VD: Program tinh_tong;
- CÊu tróc: USES <Ten_thu_vien>; - VÝ dơ: Uses crt;
- CÊu tróc: Const <ten_hang> = <giá_trị>; - VD: Const
Maxn = 100; KT = TRUE; CH = ‘C’;
Đợc xác định từ ký hiệu mở đầu đến ký hiệu kt thỳc
Ký hiệu mở đầu: Begin Ký hiệu kÕt thóc: End
(10)Hoạt động giỏo viờn Hot ng ca hc sinh
là gì?
3 Tìm hiểu chơng trình đơn giản.
- Chiếu(treo tranh) lên bảng chơng trình đơn giản
4.Yêu cầu HS lấy số ví dụ ch-ơng trình Pascal phần tên phần khai báo
3 Quan sát trả lời
4 Thảo luận trả lời: Begin
Writeln(‘Hello’) readln
End
IV Cñng cè
- Cấu trúc chơng trình gồm phần:
+ Phần khai báo (Có thể có không) + Phần thân chơng trình (Bắt buộc phải có) - Cách khai báo: Tên CT, Th viện CT, Hằng
- Thân chơng trình Pascal bắt đầu Begin kết thóc bëi End 4: Mét sè kiĨu d÷ liƯu chn
(TiÕt d¹y theo PPCT: Tõ 31/08 – 06/09/2009)
I Mơc tiªu
1 KiÕn thøc
- Biết đợc số kiểu liệu chuẩn ngôn ngữ lập trình Pascal 2 Kỹ năng
- Sử dụng đợc kiểu liệu hợp lý với yêu cầu ca bi toỏn
II Đồ dùng dạy học
1 Chuẩn bị giáo viên
- Mỏy vi tính có máy chiếu dùng để chiếu ví dụ(Nếu có) 2 Chuẩn bị học sinh
- SGK
III Hoạt động dạy học:–
1 Hoạt động : Tìm hiểu số kiểu liệu chuẩn a Mục tiêu:
- Biết đợc tên số liệu chuẩn, biết đợc giới hạn biểu diễn kiểu liệu
b Néi dung:
- KiĨu sè nguyªn:
Byte: 255
Integer: - 32768 32767 Word: 65535
(11)- KiÓu sè thùc:
Real: 2.9E – 39 1.7E38
Extended: 3.4E-4932 1.1E4932 - KiÓu ký tù:
Là ký tự thuộc bảng mã ASCII , gồm 656 ký tự đơc đánh số từ 255
- Kiểu lôgic.
tập hợp gồm giá trị True False, kết phép so sánh
c Các bớc tiến hành
Hoạt động giáo viên Hoạt động học sinh
1 Đặt vấn đề:
- Trong tốn học, để thực đợc tính tốn ta cần phải có tập số Đó tập số nào?
- Trong đời sống có kiểu liệu chuẩn nào?
- Giảng: nh ta biết toán tin học giải tốn thực tế sống có kiểu liệu ngơn ngữ lập trình pải biểu diễn đợc kiểu liệu
- Trong thời điểm ngơn ngữ bạc cao đời máy tính gặp phải hạn chế lớn dung lợng nhớ nhỏ, tốc độ xử lý thông tin chậm Trong sử dụng nguyên kiểu liêu thi xảy tr-ờng hơp lãng phí nhớ ngơn ngữ lập trình bạc cao dựa vào kiểu liệu chuẩn chia kiểu liệu với dung lợng nhớ phạm vi biểu diễn khác
- Ta hiểu kiểu liệu chuẩn tập hữu hạn giá trị, kiểu kiệu cần dung lợng nhớ cần thiết để lu trữ xác định phép tốn tác động lên liệu
1 Häc sinh chó ý lắng nghe suy nghĩ trả lời:
- Số tự nhiên, số nguyên, số hữu tỉ, sô thực
- KiÓu sè, ký tù, logic
(12)Hoạt động giáo viên Hoạt động học sinh
2 Yêu cầu HS nghiên cứu SGK trả lời các câu hỏi sau:
-Từ kiểu liệu số nguyên ngôn ngữ lập trình Pascal chia kiểu liệu nào?
-Từ kiểu liệu số Thực ngôn ngữ lập trình Pascal chia kiểu liệu nào?
-Từ kiểu liệu kiểu ký tự ngôn ngữ lập trình Pascal chia kiểu liệu nào?
- Trong ngôn ngữ Pascal, có kiểu lôgic, gồm giá trị nào?
3 Giỏo viên giải thích số vấn đề cho HS :
+ Vì phạm vi biểu diễn loại kiểu nguyên khác nhau?
+ Miền giá trị loại kiểu thực, số chữ số có nghĩa?
4 Ph¸t vÊn:
+ Giả sử ta cần sử dụng biến để lu Tuổi ngời ta nên dùng kiểu liệu nào? sao?
+Khi giải PT bậc hai ta cần có biÕn a,b,c,x1,x2,delta: gi· sư a,b,c kiĨu sè
ngun ta cần đặt x1,x2,delta có kiểu
liƯu nµo? T¹i Sao?
2 Học sinh xem SGK để trả lời câu hỏi - Thành kiểu:
Tªn Dung lợng Phạm vi
Byte Byte 0 255
Integer Byte -215 215-1
Wor Byte 0 216-1
Longint Byte -231 231-1
- Thành kiểu:
Tên Dung lợng Phạm vi
Real Byte Thuéc TT§
10-38 1038 Extended 10 Byte Thuéc TT§
10-4932 104932
- Cã kiểu ký tự bảng mà ASCII
Tên Dung lợng Phạm vi
Char Byte 256 KT m· ASCII
- Cã kiÓu:
Tên Dung lợng Phạm vi
Boolean Byte True, False
3 HS nghe gi¶ng
4.Suy nghÜ tr¶ lời:
+ Kiểu Byte hợp lý ph¹m vi biĨu diƠn tõ 255 + x1,x2,delta kiĨu sè thùc
+ V×: x1,2 =
b a
cã thÓ lµ kiĨu sè thùc
IV Cđng cè
(13)V Bµi tËp Cđng cè
1) Gi· sử có biến sử dụng kiểu liệu nh sau: a, b, c: Integer ; x1,x2,delta: Real Hái bé nhớ phải cung cấp ô nhớ?
5 Khai báo biến
(Tiết dạy theo PPCT: Tõ 31/08 – 06/09/2009)
I Mơc tiªu
1 KiÕn thøc
- BiÕt c¸ch khai b¸o biÕn, sử dụng hợp lý kiểu liệu 2 Kỹ năng
- Khai báo biến sử dụng đợc kiểu liệu hợp lý với yêu cầu toán
II Đồ dùng dạy học
1 Chuẩn bị giáo viên
- Giáo án, SGK, Tranh ảnh khai báo biến 2 Chuẩn bị học sinh
- SGK
(14)1.Hoạt động Tìm hiểu cách khai báo biến a Mục tiêu:
- Học sinh biết đợc biến dùng chơng trình phải đợc khai báo tên kiểu liệu
- Học sinh biết đợc cấu trúc chung khai báo biến ngôn ngữ Pascal , khai báo đợc biến lập trình
b Nội dung:
Trong ngôn ngữ lập trình Pascal, cấu trúc chung khai báo biến là: var
Danh_sách_biến_1: Kiểu_dữ_liệu; Danh_sách_biến_2: Kiểu_dữ_liệu;
Danh_sách_biến_n: Kiểu_dữ_liệu;
Nu cú nhiều biến kiểu liệu, khai báo ghép, biến phân cách dấu phẩy, kiểu liệu kiểu chuẩn ca Pascal
c Các bớc tiến hành:
Hoạt động giáo viên Hoạt động học sinh
1 Yêu cầu HS nghiên cứu SGK hỏi: Tại lại phải khai báo biến?
- Câu trúc chung khai báo biến ngôn ngữ Pascal?
- Trong
Var <danh s¸ch biÕn>: <kiĨu liệu> gì? cho ví dụ?
- Cho vÝ dơ vỊ c¸ch khai b¸o biÕn
2 Treo tranh chứa số khai báo biến
1.HS nghiên cứu trả lời
- Mi bin chng trình phải đợc khai báo tên biến kiểu liệu biến Tên biến dùng để xác lập quan hệ biến với địa nhớ nơi lu trữ giá trị biến
- Var <danh sách biến>: <kiểu liệu>; + Var: từ khoá
+ <Danh sách biến>: nhiều biến có kiểu liệu Có thể khai báo nhiều danh s¸ch biÕn
+<Kiểu liệu>: Là kiểu liệu chuẩn Pascal kiểu liệu ngời lập trình định nghĩa
+ VÝ dô:
(15)Hoạt động giáo viên Hoạt động học sinh
yêu cầu HS chọn cách khai báo ngôn ngữ Pascal
Var
z,y,x: word; n l: real; X: longint h: in tegr i: byte
3 Treo tranh cã chøa mét sè khai b¸o biÕn Pascal
- Hái: Có biến tất cả, nhớ phải cấp phát bao nhiêu?
Var
y,x: word; z: longint h: integer i: byte
Var
z,y,x: word; i: byte
3 Quan sát tranh trả lời: - Cã biÕn tÊt c¶
- Tỉng bé nhớ cần cấp phát:
x (2 byte); y (2 byte); z (4 byte); h (2 byte); i (1 byte); tỉng 11 byte
IV Cđng cè kiÕn thøc:
- Mọi biến chơng trình phải đợc khai báo, cấu trúc chung khai báo biến Pascal:
- Cú pháp: Var <Danh sách biến> : <Kiểu liệu>; - Trong đó:
+ Var: lµ tõ khoá
+ <Danh sách biến>: nhiều biến có kiểu liệu Có thể khai báo nhiỊu danh s¸ch biÕn
+ <Kiểu liệu>: Là kiểu liệu chuẩn Pascal kiểu liệu ngời lập trình định nghĩa
V Bài tập:
1) thực phần khai báo cho chơng trình: Giải PT bậc 2: ax2 + bx + c = 0.
(16) 6: Phép toán, biểu thức, lệnh gán
(Tiết dạy theo PPCT: 7)
I Mơc tiªu
1 KiÕn thøc
- Biết đợc phép tốn thơng dụng ngơn ngữ lập trình - Biết cách diễn đạt biểu thức ngơn ngữ lập trình
- Biết đợc cấu trúc lệnh gán số hàm chuẩn thơng dụng ngơn ngữ lập trình Pascan
- Biết đợc chức hoạt động câu lệnh gán 2 Kĩ năng
- Sử dụng đợc phép toán để xây dựng biểu thức - Sử dụng đợc lệnh gán để viết chơng trình
II Đồ dùng dạy học
1 Chuẩn bị giáo viên
- Sách giáo khoa, tranh chứa biểu thức toán học
- Tranh chứa bảng hàm số học chuẩn, tranh chứa bảng chân trị
III Hoạt động dạy học
1 Hoạt động 1: Tìm hiểu số phép tốn a Mục tiêu:
- Học sinh biết đợc tên phép toán, kí hiệu phép tốn cách sử dụng phép toán kiểu liệu
b Néi dung:
- C¸c phÐp to¸n sè häc: +, -, *, / , DIV, MOD
- Các phép toán quan hệ: <, <=, >, >=,=, <> Dùng để so sánh hai đại lợng, kết phép toán True False
- Các phép toán Logic: NOT , OR , AND, thờng dùng để tạo biểu thức logic từ biểu thức quan hệ đơn giản
c C¸c bíc tiÕn hµnh
Hoạt động giáo viên Hoạt động học sinh
1 Đặt vấn đề:
Nh ta biết trình lập trình q trình mơ tả thao tác thuật tốn Để mơ tả thao tác thuật tốn, ngơn ngữ lập trình sử dụng số khái niệm là: phép toán, biểu thức, gán giá trị
2 Phát vấn: Hãy kể phép toán em đã
đợc học toán học?
- Diễn giải: Trong ngơn ngữ lập trình Pascan có phép toán tơng tự nh-ng đợc diễn đạt bằnh-ng cỏch khỏc
- Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết nhóm phép toán
1 Chó ý l¾ng nghe
2 Suy nghÜ trả lời:
- Phép: cộng, trừ, nhân, chia, lấy số d, chia lấy nguyên, so sánh
- C¸c phÐp to¸n sè häc: + - * / div mod - C¸c phÐp to¸n quan hƯ: <, <=, >, >=,=, <>
(17)Hoạt động giáo viên Hoạt động học sinh
- Hỏi: Phép Div, Mod đợc sử dụng cho kiểu liu no?
- Hỏi: Kết phép toán quan hệ thuộc kiểu liệu nào?
- Ch sử dụng đợc cho kiểu nguyên - Thuộc kiểu Logic
2 Hoạt động 2: Tìm hiểu kiến thức a Mục tiêu:
- HS biết khái niệm biểu thức số học, biểu thức quan hệ biểu thức logic Biết cách xây dựng biểu thức
- Biết đợc số hàm số học chuẩn lập trình b Nội dung:
- Biểu thức số học biểu thức nhận đợc từ số, biến số hàm số liên kết với phép toán số học
- Thø tù thùc hiƯn biĨu thøc sè häc: ngc tríc, ngoặc sau Trong dÃy phép toán không chứa ngoặc thực từ trái sang phải theo thứ tự phép toán: nhân, chia, chia lấy nguyên, chia lấy d thực trớc phép toán céng, trõ thùc hiƯn sau
- Hµm sè häc chn th«ng dơng
Hàm Kiểu đối số Kiểu hàm số
Bình phơng: SQD(X) I R Theo kiểu ca i s
Căn bậc hai: SQRT(X) I R R
Giá trị tuyệt đối: ABS(X) I R Theo kiểu đối số
Sin(X) I hc R R
Cos(X) I hc R R
Logarit tự nhiên Lnx In(x) I R R
Luỹ thõa cđa sè e ex exp(x) I hc R R
- Hai biểu thức có kiểu liệu đợc liên kết với phép toán quan hệ cho ta biểu thức quan hệ
<BiÓu_thøc 1> <phÐp_to¸n_quan_hƯ> <biĨu_thøc_2> - Thø tù thùc hiƯn:
+ TÝnh giá trị biểu thức + Thực phép toán quan hÖ
- Các biểu thức quan hệ liên kết với phép toán logic ta đợc biểu thức logic Biểu thức logic đơn giản giá trị True hoc False
C Các bớc tiến hành:
Hoạt động giáo viên Hoạt động học sinh
1 Nêu vấn đề: (Biểu thức số học)
- Trong toán học ta làm quen với khái niệm biểu thức, cho biết yếu tố xây dựng nên biểu thức
- NÕu toán mà hạng biến số, số hàm số toán từ phép toán số học biểu thức có tên gọi gì?
2 Treo tranh có chứa biểu thức toán học lên bảng, yêu cầu: Sử dụng phép
1 Suy nghĩ trả lời - Gồm phần:
toán hạng toán tử - Biểu thức sè häc
(18)Hoạt động giáo viên Hoạt động học sinh
to¸n sè häc, hÃy biểu diễn biểu thức toán học sau thành biểu thức ngôn ngữ lập trình
(a + b + c).2
xy z
- Nghiên cứu sách giáo khoa tự việc xây dựng biểu thức trên, hÃy nêu thứ tự thực c¸c phÐp to¸n
3 Nêu vấn đề: (Hàm số học chuẩn)
Trong tốn có phép toán phải thực liên tục.Để tránh thời gian gây nhàm chán cho ngời lập trình ngơn ngữ lập trình xây dựng thao tác thơng dụng thành chơng trình con.Gọi hàm chuẩn lu th viện chơng trình Ngời lập trình cần gọi hàm chuẩn để sử dụng
- Trong toán học ta làm quen với số hàm số học, kể tên số hàm đó? - Trong số ngơn ngữ lập trình ta có số hàm nh nhng đợc diễn đạt cách khác
- Treo tranh chứa bảng số hàm chuẩn, yêu cầu học sinh điền thêm thông tin nh chức hàm, kiểu đối số kiểu hàm số
- Cho biÓu thøc:
2 4
2
b b ac a
, h·y biĨu diƠn biĨu thøc trªn sang biĨu thức ngôn ngữ lập trình
4 Nờu đề: (Biểu thức quan hệ)
- Khi hai biểu thức số học liên kết với phép toán quan hệ ta đợc biểu thức mới, biểu thức gọi biểu thức gì?
- Hãy lấy ví dụ biểu thức quan hệ? - Yêu cầu HS nghiên cứu SGK cho biết cấu trúc chung biểu thức quan hệ? - Thứ tự thực biểu thức quan hệ? - Cho biết kết phép toán quan hệ thuộc kiểu liệu học?
5 Nêu vấn đề: (Biểu Thức Logic)
- Các biểu thức quan hệ đợc liên kết với
(a + b + c)*2 x*y/(2*z)
- Thực ngoặc trớc; ngoặc sau Nhân, chia, chia nguyên, chia lấy d tr-ớc; cộng trừ sau
3 Suy nghĩ trả lời
- Hàm tuyệt đối, bậc hai, hàm sin, hàm cos…
- Quan sát tranh vẽ, nghiên cứu SGK lên bảng điền tranh
- Suy nghĩ, lên bảng trả lời (-b+sqrt(b*b-4*a*c))/(2*a) Suy nghĩ trả lời - Gäi lµ biĨu thøc quan hƯ
- VÝ dơ: (a+b) > c - CÊu tróc chung:
<BT1> <phÐp toán quan hệ> <BT2> + Tính giá trị biểu thức
+ Thùc hiƯn phÐp to¸n quan hƯ - KiĨu logic
(19)Hoạt động giáo viên Hoạt động học sinh
nhau phép toán logíc đợc gọi biểu thức logic
- H·y cho mét vÝ dơ vỊ biĨu thøc lo gic? - Trong to¸n häc, ta cã biĨu thøc 0<=x<=n, h·y biĨu diễn biểu thức ngôn ngữ lập trình
- Thø tù thùc hiƯn biĨu thøc logic
- Kết biểu thức logic có kiểu liệu gì?
- Treo tranh có chứa bảng chân trị a b, yêu cầu học sinh điền giá trị cho A and B; A or B; not A
- VÝ dô: (A>B) or ((X +1)< Y) (5>2) and ((3+2)<7) Not(x>y)
- Biểu thức ngôn ngữ lập trình: (0<=x) and (x<=n)
+ Thùc hiƯn c¸c biĨu thøc quan hƯ + Thực phép toán logic - Kết kiểu logic
- HS suy nghĩ trả lời cách điền vào bảng
3 Hot ng 3: Tỡm lệnh gán a Mục tiêu:
- HS biết chức lệnh gán lập trình Biết cấu trúc chung lệnh gán ngôn ngữ Pascal Viết đợc lệnh lập trình
b Néi dung:
- Lệnh gán dùng để tính giá trị biểu thức chuyển giá trị vào biến - Cấu trúc: tên_biến:= biểu_thức;
- Sù thùc máy:
+ Tính giá trị biểu_thức + Đặt giá trị vào tên_biến c Các bớc tiến hµnh
Hoạt động giáo viên Hoạt động học sinh
- Giíi thiƯu mét vÝ dơ vỊ lƯnh g¸n Pascal nh sau:
x:=10 + 4;
- Giải thích: Lấy 10 cộng 4, đem kết đặt vào x Ta đợc x bng 14
- Hỏi: HÃy cho biết chức lệnh gán?
- Yêu cầu HS nghiên cứu SGK cho biết cấu trúc chung lệnh gán ngôn ngữ Pascal
- Hóy cho vớ d để tính nghiệm phơng trình bậc
2 4
2
b b ac a
- Giíi thiƯu thêm ví dụ cho chơng trình Var
i,z:integer; Begin
z:=4 i:=6
- Quan sát ví dụ suy nghĩ để trả li
+ Tính giá trị biểu thức
+ Gán giá trị tính đợc vào tên biến <tên_biến>:=<biểu_thức>;
(20)Hoạt động giáo viên Hoạt động học sinh
z:=z-1; i:=i+1;
writeln (‘i=’,i); writeln (‘z=’,z); readln;
End
Chơng trình dùng để tính giá trị z i sau ú in mn hỡnh
- Hỏi: Chơng trình in hình giá trị bao nhiêu?
- Thực chơng trình để HS kiểm nghiệm kết qu t suy lun
- In hình: z=3 i=7
- Quan sát kết chơng trình
IV Đánh giá cuối
1 Những nội dung học
- C¸c phÐp toán TB Pascal: số học, quan hệ logíc - C¸c biĨu thøc TB Pascal: sè häc, quan hệ logíc - Cấu trúc lệnh gán TB Pascal: tên_biến: = biểu_thức
2 Câu hỏi tËp vỊ nhµ
Bµi tËp 1-8 trang 35,36 SGK tin häc 11
7,8: Các thủ tục chuẩn vo /ra n gin
Soạn thảo, dịch, thực hiệu chỉnh chơng trình
(Tiết dạy theo PPCT: 9)
I Mơc tiªu
1 KiÕn thøc:
- Biết đợc ý nghĩa thủ tục vào/ra chuẩn lập trình
(21)- Biết đợc bớc để hoàn thành chơng trình - Biết file chơng trình Turbo Pascal 7.0 2 Kĩ năng:
- Viết lệnh vào/ra liệu
- Biết nhập liệu thực chơng trình - Biết khởi động thoát hệ soạn thảo Turbo Pascal - Soạn đợc chơng trình vào máy
- Dịch đợc chơng trình để phát lỗi cú pháp
- Thực đợc chơng trình để nhập liệu thu kết quả, tìm lỗi thuật tốn sửa lỗi
II Đồ dùng dạy học
1 Chuẩn bị giáo viên
- SGK, máy chiếu Projector, máy vi tính, số chơng trình viết sẵn 2 Chuẩn bÞ cđa häc sinh:
SGK
III Hoạt động dạy học
1 Hoạt động 1: Tìm hiểu thủ tục nhập liệu vào từ bàn phím a Mục tiêu:
- Giúp HS thấy đợc cần thiết thủ tục nhập liệu - Biết đợc cấu trúc chung thủ tục nhập liệu
b Néi dung:
- Dùng để đa nhiều liệu khác cho chơng trìn xử lí - Nhập: Read/Readln(<tên-biến_1>, ,<tên_biến_k>);
c Các bớc tiến hành:
Hot ng ca giáo viên Hoạt động học sinh
1 Nêu vấn đề: Việc giải toán
trong tin học trình:
Đa liệu vào Xử lý Đa liệu
Vy làm cách để đa liệu vào máy ngụn ng lp trỡnh Pascal?
- Yêu cầu HS nghiên cứu SGK cho biết cấu trúc chung thủ tục nhập liệu ngôn ngữ lập trình Pascal:
- Nêu ví dụ: Khi viết chơng trình giải ph-ơng trình ax2 + bx + c=0, ta phải nhËp vµo
các đại lợng nào? Viết lệnh nhập?
2 Chiếu chơng trình Pascal đơn giản có lệnh nhập giá trị cho biến - Thực chơng trình thực nhập liệu
- Hỏi: Khi nhập giá trị cho nhiều biến, ta phải thực nh nào?
- Yêu cầu HS thực nhập liệu cho chơng trình
1 Học sinh ý lắng nghe dẫn dắt giáo viên
- Nghiên cứu SGK, suy nghĩ trả lời Read(<tên_biến_1>, <tên_biến_k>); Readln(<tên_biến_1>, <tên_biến_k>); - Ta phải nhập giá trị cho biến: a,b,c - Read(<tên_biến_1>, <tên_biến_k>); - ViÕt lÖnh: Readln(a,b,c);
- Những giá trị phải đợc gõ cách dấu cách kí tự xuống dịng
(22)2 Hoạt động 2: Tìm hiểu thủ tục đa liệu hình a Mục tiêu:
- Giúp HS thấy đợc cần thiết thủ tục đa liệu hình - Biết đợc cấu trúc chung thủ tục đa liệu hình
b Néi dung:
- Dùng để đa kết sau xử lí hình để ngời sử dụng thấy - Xuất: Write/ Writeln(<tham_số_1>, <tham_số_k>);
c Các bớc tiến hành:
Hot ng ca giáo viên Hoạt động học sinh
1.Nêu vấn đề: Sau xử lí xong, kết quả tìm đợc đợc lu nhớ Để thấy đợc kết hình ta xử dụng thủ tục xuất d liu
- Yêu cầu HS nghiên cứu SGK cho biÕt cÊu tróc chung cđa thđ tơc xt d÷ liệu ngôn ngữ Pascal:
- Nờu vớ d: Khi viết chơng trình giải ph-ơng trình ax+b=0, ta đa hình giá trị nghiệm –b/a, ta viết lệnh nh nào? Chiếu chơng trình Pascal đơn giản Program vd;
Uses crt; Var
x,y,z:integer; Begin
Writeln(‘NhËp vµo hai sè: ’); Readln(x,y);
z:=x+y;
write(x:6,y:6,z:6); readln;
end
- Thực chơng trình thực nhập liệu để HS thấy kết hình
- Hỏi: Chức lệnh Writeln(); - Hỏi: ý nghÜa cđa : lƯnh Write( )
- Hỏi: Khi tham số lệnh Write() thuộc kiểu Char real quy định vị trí nh nào?
1 Chó ý l¾ng nghe dÉn d¾t cđa giáo viên
- Nghiên cứu SGK trả lời
Write(<tªn_biÕn_1>, <tªn_biÕn_k>); Writeln(<tªn_biÕn_1>, <tªn_biÕn_k>); - ViÕt lƯnh:
Write(-b/a); Writeln(-b/a);
2 Quan sát chơng trình ví dụ giáo viên
- Viết hình dòng chữ đa trỏ xuống dòng
- Dành vị trí hình để viết số x, ví trí tiếp để viết số y vị trí tiếp để viết số z
- Khi tham số có kiểu kí tự, việc quy định vị trí giống kiểu nguyên
- Khi tham số có kiểu thực phải quy định hai loại vị trí: vị trí cho tồn số thực vị trí cho phần thập phân
- VÝ dô: Write(c:8); Write(r:8:3);
(23)a Mơc tiªu:
- Biết đợc file chơng trình Turbo Pascal 7.0 Biết cách khởi động thoát Turbo Pascal 7.0
b Néi dung:
- Chun vµo th mơc chøa file Turbo.exe - Gâ turbo.exe vµ enter
(nÕu môi trờng Win cần bấm biểu tợng Turbo Pascal )
c Các bớc tiến hành
Hoạt động giáo viên Hoạt động học sinh
1 Đặt vấn đề: Để sử dụng đợc Turbo Pascal, máy phải có file chơng trình cần thiết Tham khảo SGK cho biết tên file chơng trình đó?
2 Trình diễn cách khởi động Turbo Pascal thông qua máy chiếu Projector
- Giới thiệu hình soạn thảo chơng trình: Bảng chọn, trỏ, vùng soạn thảo
1 Tham khảo SGK trả lời Turbo.exe
Turbo.tpl Graph.tpu
egavga.bgi file *.chr HS quan sát ghi nhớ
4 Hoạt động 4: Tập soạn thảo chơng trình dịch lỗi cú pháp a Mục tiêu:
- HS biết cách tạo lu file chơng trình Biết cách dịch tìm lỗi cú pháp b Nội dung:
- Gõ lệnh chơng trình (giống nh hệ soạn thảo văn bản) - Lu file chng trỡnh lờn a bm F2
- Biên dịch lỗi cú pháp: bấm ALT_F9 c Các bớc tiến hành
Hoạt động giáo viên Hoạt động học sinh
1 Soạn chơng trình làm ví dụ, lu ch-ơng trình, dịch lỗi
- Dựng mỏy chiu vật thể để minh hoạ thao tác lu file chơng trình biên dịch Soạn chơng trình, hỏi lỗi cú pháp chơng trình, gọi HS dịch lỗi sửa
Program vd1 var
x:;integer; Bigen
Write(‘Nhap mot so nguyen duong’); readln(x);
y:=sqrt(x); write(y); End
1 Quan sát ghi nhớ - Lu: F2
- Dịch lỗi: ALT_F9
2 Quan sỏt v phát lỗi để sửa lỗi cho chơng trình
Program vd1; var
x,y:integer; Begin
Write(‘Nhap mot so nguyen duong’); readln(x);
y:=sqrt(x); write(y); End
(24)a Mơc tiªu:
- HS biết cách thực chơng trình, biết cách nhập liệu tìm lỗi thuật tốn để hiệu chỉnh
b Nội dung:
- Thực chơng trình: Bấm CTR_F9 - X©y dùng test
- Nhập liệu, thu kết quả, đối chứng với kết test c Các bớc tiến hành:
Hoạt động giáo viên Hoạt động học sinh
1 Thực chơng trình đợc viết trên, nhập liệu, giới thiệu kết
- Hỏi: Nhóm phím dựng thc hin ch-ng trỡnh?
- Yêu cầu HS nhập liệu thực ch-ơng trình
2 Giới thiệu chơng trình giải phơng trình ax+b=0.(b<>0)
Var
a,b,x : real; Begin
Readln(a,b);
If a<>0 then write(-b/a) else write(‘PTVN); Readln;
End
1 Quan sát giáo viên thực tham khảo sách giáo khoa
CTRL_F9
2 Quan sát yêu cầu giáo viên độc lập suy nghĩ để tìm test
a b x PTVN
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 liệu: write/writeln(<tham_sè_1>, ,<tham_sè_k>);
- Khởi động Turbo Soạn chơng trình Dịch lỗi cú pháp Thực chơng trình Tìm lỗi thut toỏn v hiu chnh
2 Câu hỏi tập nhà
- Bằng thực hành máy:
+ HÃy so sánh giống khác Write(); writeln(); + HÃy so sánh giống khác Read(); Readln(); + Tìm hiểu chức lệnh Readln; Writeln;
- Vit chơng trình nhập vào số tính bình phơng số
- Viết chơng trình nhập độ dài bán kính tính chu vi diện tích hình trịn tơng ứng - Làm tập 9, 10, SGK trang 36
- §äc tríc néi dung phần tập thực hành số 1, SGK trang 33 Thực hành số
(Tiết dạy theo PPCT: 8, Tõ 07/09 – 18/09/2009)
I Môc tiªu
1 KiÕn thøc
- Biết đợc chơng trình Pascal hồn chỉnh
- Lµm quen víi dịch vụ chủ yếu Turbo Pascal việc soạn thảo, lu ch-ơng trình, dịch chch-ơng trình thực chch-ơng trình
2 Kĩ năng
(25)- Bớc đầu biết phân tích hồn thành chơng trình đơn giản Turbo Pascal
3 Thái độ
- Tự giác, tích cực chủ ng thc hnh
II Đồ dùng dạy học
1 Chuẩn bị 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
- SGK, sách tập tập viết nhà
III Hoạt động dạy – học
1 Hoạt động 1: Tìm hiểu chơng trình hồn chỉnh
a Mơc tiªu:
- HS biết đợc chơng trình hồn chỉnh - Biết soạn chơng trình
- BiÕt lu, biên dịch, thực chơng trình - Biết tìm lỗi sửa lỗi
b Nội dung:
- Cho chơng trình sau: Program Giai_pt; Uses CRT;
var a,b,c,d,x1,x2:real; Begin
clrscr;
write(‘Nhap a b c’); Readln(a,b,c); d:=b*b-4*a*c;
x1:=(-b-sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a);
writeln(‘x1=’,x1:6:2,‘x2=’,x2:6:2); Readln;
End
c Các b ớc tiến hành
Hot ng giáo viên Hoạt động học sinh
1 Chiếu chơng trình lên bảng Yêu cầu học sinh thực nhiệm vụ:
- Soạn chơng trình vào máy - Lu chơng trình
- Dịch lỗi cú pháp - Thực chơng trình
- Nhập liệu -3 Thông báo kết
- Trở hình soạn thảo
1 Quan sát bảng, độc lập sạon chơng trình vào máy
F2 Alt_F9 Ctrl_F9
(26)- Thùc chơng trình
- Nhập liệu Thông báo kết - Hỏi: Vì có lỗi xuất hiện?
- Sửa lại chơng trình không dùng biến d
Ctrl_F9
Thông báo lỗi
Do bậc hai rcủa số âm Readln(a,b,c);
x1:=(-b-sqrt(b*b-4*a*c))/(2*a); x2:=(-b+sqrt(b*b-4*a*c))/(2*a); writeln(‘x1=’,x1:6:2,‘x2=’x2:6:2,);
2 Hoạt động 2: Rèn luyện kĩ lập chơng trình
a Mơc tiªu:
- HS soạn đợc chơng trình lu chơng trình đĩa Biên dịch thực đợc chơng trình Nhập đợc liệu kiểm định kết chơng trình
b Néi dung:
- Viết chơng trình tính diện tích hình đợc tơ màu, với a đợc nhập vào từ bàn phím (Chú ý: Vẽ hình trang 41 giáo án)
c C¸c b íc tiÕn hµnh
Hoạt động giáo viên Hoạt động học sinh
1 Định hớng để HS phân tích tốn - Dữ liệu vào:
- D÷ liƯu ra: - C¸ch tÝnh:
2 u cầu HS soạn chơng trình lu đĩa
- Quan s¸t híng dÉn học sinh lúc thực hành
3 Yêu cầu học sinh nhập liệu thông báo kết
a=3 a=-3
1 Phân tích theo yêu cầu giáo viên Dữ liệu vào a
D÷ liƯu s
TÝnh diện tích hình tròn có bk a(s1) Tính diện tích hình vuông cạnh a 2(s2) s:=s1-s2;
2 Thực yêu cầu giáo viên - Soạn chơng trình
- Bấm phím F2, gõ tên file để lu
- Bấm phím ALT_F9 để dịch lỗi cú pháp -Bấm phím CTRL_F9 để thực chơng trình
- Thông báo kết cho giáo viên Nhập liệu theo yêu cầu
- Vi a=3, ta c:s=9(Pi-2)=10.26
- Với a=-3, kết khơng đúng, độ di cnh phi l mt s dng
IV Đánh giá cuối bài
1 Nhng ni dung ó hc
- Các bớc để hồn thành chơng trình:
(27)+ Xác định thuật toán
+ Soạn chơng trình vào máy
Bài tập
(TiÕt d¹y theo PPCT: 10 Tõ 14/09 – 19/09/2009)
I Mơc tiªu:
a KiÕn thøc :
- Rèn luyện học sinh cách đặt tên ngơn ngữ Pascal - Cách khai báo chơng trình
- Hiểu rõ kiểu liệu
- Cách khai báo biến, nh b Kỹ năng:
- Cách đặt tên - Cách khai báo c Chuẩn bị giáo viên:
- Các tập đánh máy phát cho nhóm (bàn) - Sách giáo khoa
II.Các hoạt động:
1.Phát tập 2.Chữa tập
III Nội dung bµi tËp.
1 Hãy tự viết ba tên theo quy tắc ngôn ngữ Pascal
2 HÃy cho biết biểu diễn dới biểu diễn ngôn ngữ Pascal rõ lỗi trờng hợp:
a) 150.0 b) -22 c) 6,22 d) ‘43’ e) A20 f) 1.06E -15 g) 4+6 h) ‘C i) ‘TRUE’
3.Trong Pascal, biến nhận giá trị nguyên phạm vi từ 10 đến 25532 biến khai báo kiểu liệu hợp lí? Tại sao?
4 Biến P nhận giá trị 5; 10; 15; 20; 25; 30; 40; 60; 90; biến X nhận giá trị 0.1; 0.2; 0.3; 0.4; 0.5 Khai báo khai báo sau đúng? a) var X,P: Byte ; b) var P,X: real;
c) var P: real ; d) var X: real; X: byte; P: Byte;
5 Để tính diện tích S hình vng có cạnh a với giá trị nguyên nằm phạm vi từ 100 đến 200, cách khai báo dới tốn nhớ
(28)
6 Chơng trình dịch Pascal cấp phát byte bé nhí cho c¸c biÕn khai b¸o sau?
Var
M, N, I, J : Integer; P, A, B, C: real;
X: Extended; r: Word;
7 HÃy lỗi c¸c khai b¸o sau: Var
K, M, I, L: Word; C,c1 : char; i, i1, j: word;
PI=3.1416
8 Thùc phần khai báo cho chơng trình: a) Giải PT : ax + b = 0;
b) Gi¶i PT: ax2 + bx + c = 0;
c) Cho N số nguyên dơng Kiểm tra N có phải SNT hay không
IV Đáp án:
1) PT_bac1; _So_ngyen_to; Vidu1;
2) đáp án: c, e, g, h
3) Khai báo kiểu: Wor biĨu diƠn tõ 216 – 1.
4) §¸p ¸n: d
5) Đáp án: a, c Đều sử dụng 2Byte biểu diễn đợc 6) M, N, I, J : Integer; 4*2 = Byte P, A, B, C: real; 4*6 = 24Byte X: Extended; 10*1= 10Byte
r: Word; 2*1 = Byte
7) H·y lỗi khai báo sau: Var
K, M, I, L: Word; C,c1 : char;
i, i1, j: word;
PI=3.1416 không tồn kiểu liệu 8) khai b¸o:
a) Program PT_bac1;
Uses crt;
Var
a,b,x: real;
b) Program PT_bac2;
Uses crt;
Var
a,b,x1,x2,delta: real; c) Program So_nguyen_to;
Uses crt;
(29)(30)Chơng 3:
Cấu trúc rẽ nhánh lặp
I Mục tiêu ch ơng
1 Kiến thức học sinh cần:
-Hiểu biết khái niệm rẽ nhánh lặp lập trình
- Biết thực câu lệnh rẽ nhánh lặp ngôn ngữ lập trình Pascal - Bớc đầu hình thành kĩ lập trình có cấu trúc
2 Kĩ năng
- Có khả phân tích tốn đơn giản để trọn kiểu cấu trúc điều khiển phù hợp thao tác
- Biết diễn đạt câu lệnh, soạn đợc chơng trình giải tốn đơn giản áp dụng loại cấu trúc điều khiển nêu
3.Thái độ
- TiÕp tơc x©y dựng lòng yêu thích giải toán lập trình m¸y vi tÝnh
- Tiếp tục rèn luyện phẩm chất cần thiết ngời lập trình nh: Xem xét giải vấn đề cách cẩn thận, sáng tạo điều thể suốt trình phân tích tốn, lựa chọn liệu, chọn cấu trúc điều khiển, viết chơng trình, dịch, sửa lỗi, kiểm thử, cải tiến chơng trình
II.Néi dung chđ u ch ơng.
- Giới thiệu loại cấu trúc điều khiển lập trình cấu trúc rẽ nhánh lặp Khái niệm bớc đầu lập trình cã cÊu tróc
- Giíi thiƯu lƯnh ghÐp Begin-End, lệnh rẽ nhánh If- Then, lệnh lặp For- Do While-Do thể loại cấu trúc điều khiển ngôn ngữ lập trình Pascal
9 : Cấu trúc rẽ nhánh
(Tiết dạy theo PPCT: 11 Từ 21/09 - 27/09/2009)
I.Mơc tiªu
1 KiÕn thøc
- Học sinh biết đợc ý nghĩa cấu trúc rẽ nhánh
- Học sinh biết đợc cấu trúc chung cấu trúc rẽ nhánh lập trình: dạng thiếu dạng đủ
(31)- Bớc đầu sử dụng đợc cấu trúc rẽ nhánh If then else ngơn ngữ lập trình Pascal để viết chơng trình giải đợc số tốn đơn giản
II Hoạt động dạy học
1 ChuÈn bÞ giáo viên
Giáo án, phơng tiện dạy học truyền thống
2.Chuẩn bị học sinh
- Chuẩn bị đọc sách giáo khoa trớc lên lớp
III Hoạt động dạy học
1
Hoạt động : Tìm hiểu ý nghĩa tổ chức rẽ nhánh
a) Mơc tiªu:
- Học sinh biết đợc ý nghĩa tổ chức rẽ nhánh Nắm đợc cấu trúc chung cấu trúc nhánh
b) Néi dung:
Xét toán: BT1:
Cho số a b nhập từ bàn phím Xây dựng thuật toán viết chơng trình kiểm tra: Nếu a, b số chẳn tính tổng TBC
BT2:
Cho sè a vµ b nhËp tõ bàn phím Xây dựng thuật toán viết chơng trình kiểm tra: Nếu a, b số chẳn tính tổng TBC Ngợc lại tính hiệu = a - b
Các b ớc tiến hành:
Hoạt động giáo viên Hoạt động học sinh
- Đa yêu cầu HS xây dựng thuật toán phơng pháp sơ đồ khối cho toỏn trờn
- Xây dựng thuật toán lên bảng trình bầy
Thuật toán
Bài toán 1:
NhËp a,b
a mod = b mod = § Tong := a + b TBC := Tong/2
Tong, TBC vµ KT
Bài toán 2:
Nhập a,b
a mod = S b mod =
§
Tong := a + b Hieu:= a-b TBC := Tong/2
(32)Hoạt động giáo viên Hot ng ca hc sinh
- Yêu cầu học sinh đa nhận xét thuật toán toán trên?
- Ta cú th s dng câu lệnh học để giải toán đợc hay không?
- Đúng nh vây ta sử dụng cấu trúc để giải toán mà phải sử dụng cấu trúc rẽ nhánh.Nếu ĐK thực cơng việc sai khơng làm thực việc A sai thực việc B
§äc kỹ thuật toán cho nhận xét
- Trong thuật toán toán ta thấy sau kiểm tra BTĐK ĐK thục tính tơng TBC.ngợc lại khơng làm
- Trong thuật toán toán ta thấy sau kiểm tra BTĐK ĐK thục tính tơng TBC.ngợc lại tính hiệu a b
Suy nghỉ trả lời
- Ta khơng thể thực đợc cấu trúc chơng trình mà ta học thực câu lệnh từ câu lệnh đầu tới câu lệnh cuối
2 Hoạt động 2: Tìm hiểu cấu trúc lệnh rẽ nhánh IF- THEN- ELSE ngôn ngữ lập trình Pascal
a) Mơc tiªu:
- Học sinh biết đợc cấu trúc chung lệnh IF Biết đợc sứ thực máy gặp lệnh IF Vẽ đợc sơ đồ thực cho lệnh IF
b) Nội dung:
* Dạng thiếu:
Cú pháp If <điều kiện> then <Câu lệnh>;
iu kiện: biểu thức quan hệ biểu thức lơgíc Câu lệnh: lệnh Pascal
Sù thùc hiƯn cđa m¸y:
+ Tính giá trị <điều kiện>
+ Nu <iu kiện> có giá trị thực <lệnh> Sơ :
* Dng :
Cú pháp If <điều kiện> then <Câu lệnh 1> else <Câu lệnh 2>; Điều kiện: biểu thức quan hệ biểu thức lôgíc
Lệnh Điều
(33)Cõu lnh 1, Câu lệnh 2: lệnh Pascal Sự thực máy:
+ TÝnh gi¸ trị <điều kiện>
+ Nu <iu kin> cú giá trị thực <lệnh 1>, ngợc lại thực <lệnh 2>
Sơ đồ:
c Các b ớc tiến hành:
Hot ng ca giáo viên Hoạt động học sinh
1 Nếu vấn đề trờng hợp khuyết: Khi không đề cập đến việc xảy điều kiện khơng thoả mãn, ta có cấu trúc nh nào? (Bài tốn 1)
2 Trờng hợp không thoả mÃn ĐK thực câu lệnh khác (Bài toán 2)
3 Yêu cầu học sinh vẽ sơ đồ thực lệnh rẽ nhánh dạng khuyết dạng đủ lên bảng
4 Gợi ý cần thiết lệnh ghép - Ta biết câu lệnh sau Then Else câu lệnh nhng thực tế phải sử dụng nhiều câu lệnh giải đợc Vậy ta phải làm gỡ
- Ghép cách nào? CÊu tróc sao?
1 Häc sinh chó ý lắng nghe trả lời:
- Khi ú ta có lệnh khuyết.
If <®iỊu kiƯn> then <Câu lệnh>; Nghiên cứu SGK trả lời
If <điều kiện> then < Câu lƯnh 1> else <C©u lƯnh 2>;
3 Vẽ sơ đồ thực nh dã đợc trình bày nh phần nội dung
4 Theo dõi dẫn dắt giáo viên để trả lời - Ta phải ghép nhiều lệnh thành lệnh - Cấu trúc lệnh ghép:
Begin
<C¸c lƯnh cÇn ghÐp>; End;
3 Hoạt động 3: Rèn luyện kĩ vận dụng lệnh If
a Môc tiªu:
- Bớc đầu biết sử dụng lệnh If để lập trình giải tốn đơn giản
b Néi dung:
- Gi¶i quyÕt toán cấu trúc rẽ nhánh cđa Pascal
LƯnh §iỊu LƯnh
kiƯn
(34)c Các bớc tiến hành:
Hoạt động giáo viên Hoạt động học sinh
1 Gọi học sinh lên bảng hớng dẫn để HS viết chơng trình Pascal
2 Gọi HS lên bảng gợi ý để giải toán
Program bai_toan1; Uses crt;
Var a,b,tong,TBC : real; Begin
Clrscr;
Write(‘moi ban nhap a va b’); readln(a,b);
If (a mod = 0) and (b mod = 0) Then Begin
Tong := a + b; TBC : = tong/2;
Writeln(‘Tong =’, tong:5:2); Writeln(‘TBC =’, tbc :5:2); End;
readln End
Program bai_toan2; Uses crt;
Var a,b,tong,TBC,hieu : real; Begin
Clrscr;
Write(‘moi ban nhap a va b’); readln(a,b);
If (a mod = 0) and (b mod = 0) Then Begin
Tong := a + b; TBC : = tong/2;
Writeln(‘Tong =’, tong:5:2); Writeln(‘TBC =’, tbc :5:2); End
Else Begin
Hieu := a – b;
Writeln(‘Hieu =’, hieu:5:2); End;
readln End
IV.Đánh giá cuối bài
1 Nhng ni dung học
- CÊu tróc chung cđa cÊu tróc rÏ nh¸nh
- Sự thực máy gặp cấu trúc rẽ nhánh IF - Sơ đồ thc cấu trúc rẽ nhánh IF
2 C©u hỏi tập nhà
- Trả lêi c©u hái 1,2,3,4, SGK, trang 50
(35)9 : Cấu trúc Lặp
(Tiết dạy theo PPCT: 12 Tõ 21/09 - 27/09/2009)
I Mơc tiªu
1 KiÕn thøc
Biết đợc ý nghĩa cấu trúc lặp có số lần lặp xác định
Biết đợc cấu trúc chung lệnh lặp For ngôn ngữ Pascal Biết đợc thực lệnh mỏy gp lnh lp for
2 Kĩ năng:
Sử dụng lệnh lặp For lập trình
Bớc đầu biết lựa chọn dạng lệnh lặp để lập trình giải đợc số lệnh đơn giản
3 dïng d¹y häc
ChuÈn bị giáo viên
Các thiết bị dạy học trun thèng
(36)S¸ch gi¸o khoa
II Hoạt động dạy học
Hoạt đơng 1: Tìm hiểu ý nghĩa cấu trúc lặp có số lần cha xác định lập trình
a) Mơc tiªu:
- Học sinh biết đợc cần thiết cấu trúc lặp nói chung cấu trúc lặp với số lần xác định nói riêng
- hiểu cấu trúc hoạt động câu lệnh từ ứng dụng để giải toán đơn giản
b) Nội dung:
Xét toán:
BT1: TÝnh tỉng: S:= 1+ + 3+ + N víi N nhập từ bàn phím
Các b ớc tiến hµnh:
Hoạt động giáo viên Hoạt động học sinh
- Đa yêu cầu HS xây dựng thuật toán phơng pháp sơ đồ khối cho bi toỏn trờn
* Gợi ý: Đầu tiên ta g¸n S:= 1;
S:= S+i; với i chạy từ đến N
- X©y dùng thuËt toán lên bảng trình bầy
Nhập N
S:= 0; i:=
I > N §a S, KT §
S
S:= S + i; i:= i + 1;
Hoạt động giáo viên Hoạt động học sinh
- Yêu cầu học sinh đa nhận xét thuật toán toán trên?
Đọc kỹ thuật toán vµ cho nhËn xÐt
(37)- Ta sử dụng câu lệnh học để giải tốn đợc hay khơng? - Đúng để giải toán dạng ta cần phải sử dụng cấu trúc lặp Ngôn ngữ lập trình
ngữ lập trình đay cấu trúc lặp với số lần xác định
Kh«ng thĨ thùc hiƯn
2 Hoạt động 2: Tìm hiểu cấu trúc lặp với số lần xác định ngơn ngữ lập trình Pascal
a) Mơc tiªu:
- Học sinh biết đợc cấu trúc chung lệnh For Biết đợc thực máy gặp lệnh For
b) Néi dung:
* D¹ng TiÕn:
For <Biến đếm:= GT đầu> To <GT cuối> Do <Câu lệnh>; * Dạng lùi:
For <Biến đếm:= GT cuối> Downto <GT đầu> Do <Câu lệnh>; Trong đó:
Câu lệnh: lệnh Pascal * Hoạt động:
Câu lệnh lặp vowis số lần xác định:
- KiÓm tra <GT đầu> <> <GT cuối>
- ỳng thc hin câu lệnh sau Do , tăng biến đếm lên đơn vị(For tiến) Giảm Biến đếm đơn vị (For lùi) quay lại
- Sai Tho¸t khỏi vòng lặp For
c Các b ớc tiến hµnh:
Hoạt động giáo viên Hoạt động ca hc sinh
1 Yêu cầu học sinh xem SGK đa cấu trúc câu lệnh For
2 Yêu cầu HS xem SGK nêu hoạt động câu lệnh
3 Từ hoạt động câu lệnh em có nhận xét biến đếm câu lệnh
4 Vậy ta có nên sử dụng câu lệnh để làm thay đổi giá trị biến đếm hay khơng?
1 Häc sinh chó ý l¾ng nghe trả lời: * Dạng Tiến:
For <Bin đếm:= GT đầu> To <GT cuối> Do <Câu lệnh>;
* D¹ng lïi:
For <Biến đếm:= GT cuối> Downto <GT đầu> Do <Câulệnh>;
2 Theo dõi dẫn dắt giáo viên để trả lời
3 tăng biến đếm lên đơn vị(For tiến) Giảm Biến đếm i n v (For lựi)
4 Không nên làm ta khó kiểm soát
3 Hoạt động 3: Rèn luyện kĩ vận dụng lệnh For
(38)- Bớc đầu biết sử dụng lệnh For để lập trình giải toán đơn giản
b Néi dung:
- Giải toán Trên câu lệnh For tiến Pascal c Các bớc tiến hành:
Hoạt động giáo viên Hoạt động học sinh
1 Gọi học sinh lên bảng hớng dẫn để HS viết chơng trình Pascal
2 Yêu cầu HS viết CT tính: S:= N+(N-1)+… +2+1
(Sư dơng c©u lƯnh For lïi cđa Pascal)
Program bai_toan1; Uses crt;
Var N,S,i: integer; Begin
Clrscr;
Write(‘moi ban nhap N’); readln(N);
S:= 1;
For i:= To N Do S:= S + i;
Writeln(‘Tong S=’, S); readln
End
CÊu tróc lỈp ( TiÕt 2/2)
I Mơc tiªu
1 KiÕn thøc
- Biết đợc ý nghĩ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 lệnh lặp While ngôn ngữ Pascal - Biết đợc thực lệnh máy gặp lnh lp while
2 Kĩ năng:
- Phõn biệt đựơc giống khác cấu trúc lặp For While - Sử dụng lệnh lặp While lập trình
- Bớc đầu biết lựa chọn dạng lệnh lặp để lập trình giải đợc số lệnh đơn giản
(39)1 Chuẩn bị giáo viên Chuẩn bị cđa häc sinh - S¸ch gi¸o khoa
III Hoạt đơng dạy học
Hoạt đơng 1: Tìm hiểu ý nghĩa cấu trúc lặp có số lần cha xác nh lp trỡnh a Ni dung:
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) + 1/(a+N)<0,0001
Bài tốn 2: Một ngời có số tiền S đồng, ông ta gửi tiết kiệm ngân hàng với lãi suất 1,5%/ tháng Hỏi sau tháng ngời có số tiền lớn S1 đồng?
b C¸c bíc tiÕn hµnh:
Hoạt động giáo viên Hoạt động học sinh
1 ChiÕu néi dung cđa bµi toán - Hỏi: Sự khác toán
này với toán viết tiết tr-ớc?
- Hỏi: lặp lại baonhiêu lần? - Hỏi: lặp đến nào?
Chiếu nội dung toán -Hỏi: khác toán với toán giải từ tiết trớc?
- Hỏi: Số lần lặp lệnh? -Hỏi: Lặp đến nào?
Tiểu kết vấn đề: Qua hai ví dụ ta thấy có dạng tốn có lặp lại lệnh nhng tr-ớc đợc số lần lặp cần có cấu trúc điều khiển lặp lại cơng việcnhất định thỗ mãnmột điều kiện
1 Chú ý lắng nghe, quan sát syu nghĩ để trả lời
- Bài trớc: cho giới hạn N - Bài này: cho giới hạn S - Cha xác định đợc
- Đến điều kiện 1/(a+N)<0,0001 đợc thỗ mãn
2 Hó ý l¾ng nghe, quan sát suy nghĩ trả lời - Bài trớc: Biết số tháng,hỏi số tiền
- Bài này: Biết sè tiỊn, hái sè th¸ng
- Cha biết trớc,đó số tháng cần tìm - Đến số tiền thu đợc>S1 đồng
3 Theo dâi vµ ghi nhớ kết luận giáo viên
Hoạt động 2: Tìm hiểu cấu trúc lệnh lặp While ngơn ngữ lập trình Pascal
a Mơc tiªu:
- Học sinh biết đợc cấu trúc chung lệnh While Hiểu đợc ý nghĩa thành phần lệnh Biết đợc thực máy gặp while Vẽ đợc sơ đồ thực
b Néi dung:
CÊu tróc: While<®iỊu kiƯn> Do <lƯnh cần lặp>;
Điều kiện: Là biểu thức quan hệ biểu thức lôgic.sự thực máy: Bớc 1: Tính giá trị <điều kiện>
Bc 2: Nu<iờu kin> có giá trị thì:
(40)c Các b ớc tiến hành:
Hot ng ca giỏo viên Hoạt động giáo viên
1 Yªu cầu học sinh nghiên cứu sách giáo khoa cho biÕt cÊu tróc chung cđa lƯnh lỈp While
- Gi¶i thÝch:
+ <Điều kiện>: biểu thức quan hệ biểu thức logic, điều kiện để lặp lại
- Hỏi: Trong toán 1: điều kiện để lặp lại gì?
- Hỏi: Trong tốn 2: điều kiện để lặp lại gì?
+<Lệnh cần lặp>: lệnh cần phải lặp lại
- Hỏi: Trong toán lệnh cần lặp gì?
- Hỏi: Một khác lệnh cần lặp For While gì?
- Dựa vào cấu trúc chung, hÃy cho biết máy thực tính<điều kiện> trớc hay thực hiện<lệnh cần lỈp>tríc?
- Gọi học sinh đánh giá nhận xét
- Tiểu kết luận cho vấn đề cách treo sơ đồ mẫu giải thích
1 Tham khảo SGK trả lời - Cấu trúc chung:
While<điều kiện> Do <lệnh cần lặp>; 1/(a+M)>0,0001
S<S1
S := S + 0.015*S để tính số tiền t := t +1: để tính số tháng
S := S + 1/(a+i) để tính tổng i := i + 1; để tăng số
- While ph¶i cã lệnh tăng biến số - Quan sát, suy nghĩ trả lời:
+ Tính biểu thức điều kiện trớc + Thực lệnh cần lặp sau
2 Lên bảng vẽ sơ đồ cấu trúc lệnh While
- Nhận xét sai bổ sung
Hoạt động 3: Rèn luyện kĩ vận dụng lệnh lặp While
a Mơc tiªu:
- Học sinh bớc đầu biết sử dụng lệnh While để lập trình giải số tốn đơn giản
điều kiện
Lệnh cần lặp
Sai
(41)b Néi dung:
Ví dụ 1: Một ngời có số tiền S, ơng ta gửi tiết kiệm ngân hàng với lãi suất 1.5%/ tháng Hỏi sau tháng ngời có số tiền lớn S1 đồng?
Ví dụ 2: Viết chơng trình nhập vào hai số nguyên dơng a b Tìm ớc số chung lớn hai số
c Các bớc tiến hành:
Hot ng ca giỏo viờn Hoạt động học sinh
1 Nªu néi dung toán Mục tiêu viết chơng trình hoµn thiƯn
- Định hớng vấn đề + Xác định điều kiện vấn đề lặp + Xác định lệnh cần lặp
- Chia líp làm nhóm Yêu cầu học sinh viết chơng trình hoàn thiện lên bìa - Thu phiếu trả lời,chiếu kết băng máy Overhead
- Gi hc sinh nhóm khác nhận xét đánh giá
- Chính xác hố chơng trình cho lớp Nêu nội dung tốn Mục tiêu phân tích để xác định<điều kiện> và< lệnh cần lặp>
- LÊy mét vÝ dơ thĨ t×m íc sè chung cđa hai sè 15 vµ 25
m n
15 25
15 10
5 10
5
Trả lời: ớc số chung lớn - Hỏi: Các lệnh cần lặp gi?
- Yêu cầu học sinh: Nêu thuật toán để tìm ớc số chung hai số đó?
- Yêu cầu học sinh viết chơng trình hoàn thiện toán nhà
- Yờu cu hc ch hai câu hỏi cần đặt gặp toán dạng
1 Chú ý nghe giảng suy nghĩ trả ời câu hỏi định hớng giáo viên
- §iỊu kiƯn: S < S1
S := S + 0.0015*S để tính số tiền t = t+1; để tính số tháng
- Tập trung làm việc theo nhóm để viết chơng trình hồn thiện
- Đánh giá đúng- sai bổ sung - Ghi nhớ phần giáo viên sửa
ch÷a
12 Tập trung theo dõi để thấy đợc công việc cần thực
- §iỊu kiƯn: m<>n
- Lệnh cần lặp: m:=n; n:=n-m - Thuật toán:
B1: NÕu m = n th×
B2: NÕu m> n m:=m-n ngợc lại n:= n-m; Quay lại B1
- Suy nghĩ trả lời: + Điều kiện để lặp lại? + Những lệnh cần lặp li?
IV Đánh giá cuối bài
1 Nhng nội dung học
- ý nghĩa cấu trúc lặp có số lần cha xác định
- Cấu trúc chung lệnh lặp While ngôn ngữ Pascal - Sơ đồ thực lệnh lặp While
- Sự thực máy gặp lệnh While Câu hỏi tậo nhà
- Giải tập 4,5b,7, 8, SGK trang 51 - Viết chơng trình tính tổng:
(42)- Đọc lại lệnh rẽ nhánh IF làm tập liên quan Chuẩn bị cho tiết sau thùc hµnh
- Xem néi dung bµi thùc hµnh sè 2, SGK, trang 49
- Xem néi dung phụ lục B, SGK trang 131: Lệnh rẽ nhánh lỈp - Xem néi dung phơ lơc C, SGK trang 131: Lệnh rẽ nhánh lặp
Bài thực hành sè 2
(TiÕt d¹y theo PPCT: 15, 16 Tõ 05/10 – 10/10/2009)
I Mơc tiªu:
1 KiÕn thøc
- Nắm cấu trúc sơ đồ thực cấu trúc rẽ nhánh Kĩ
- Rèn luyện kĩ sử dụng cấu trúc rẽ nhánh việc lập trình giải số to¸n thĨ
(43)- Tự giác, tích cực chủ động thực hành
II Đồ dùng dạy học
1 Chuẩn bị giáo viên - Phòng máy tính
2 Chuẩn bị học sinh
- SGK, sách tập tËp viÕt ë nhµ
iii Hoạt động dạy học
1 Hoạt động 1: Làm quen với chơng trình cơng cụ hiệu chỉnh chơng trình. a) Mục tiêu:
- Học sinh hiểu đợc nội chơng trình kết sau thực chơng trình Biết cơng cụ dùng để hiệu chỉnh chơng trình cần thiết nh: thực bớc xem kết trung gian
b) Néi dung:
- Ba số nguyên dơng a,b,c đợc gọi bội số Pitago tổng bình phơng số bình phng ca s cũn li
Yêu cầu:
Viết chơng trình nhập từ bàn phím ba số nguyên dơng a,b,c vµ kiĨm tra xem chóng cã lµ béi sè Pitago hay không?
c) Các bớc tiến hành:
Hoat động giáo viên Hoạt động học sinh Gợi ý để học sinh nêu khai niệm bi
số pitago
- Yêu cầu: Lấy vÝ dơ thĨ
- Hỏi để kiển tra bội ba số a,b,c có phải bội Pitago, ta phải kiểm tra dẳng thức nào?
2 Chiếu chơng trình mẫu lên bảng
Thực hiệnn mẫu thao tác: lu thực lệnh chơng trình, xem kết trung gian, thực chơng trình nhập liệu
- Yêu cầu học sinh gõ chơng trình mẫu vào máy
- Yêu cầ học snh lu chong trình gõ vào máy với tên Pytago.pas
- Yêu cầu học sinh thực lệnh chơng trình
- Yêu cầu học sinh xem kết a2, b2, c2
- Yêu cầu học sinh tự tìm thêm số a b c khác so sánh
1 Theo dõi dẫn dắt giáo viên để nêu khái niệm bội số Pitago: tổng bình phơng hai số bình phơng số cịn lại Ví dụ bội số Pitago:
a2= b2+ c2
b2= a2+ c2
c2= b2+ a2
2 Soạn chơng trình vào máy theo chơng trình giáo viên
- Bấm F2, gõ tên file enter
- Bấm F7 Nhập giá trị a=3, b=4, c=5 - Chọn mennu Debug để mở cửa hiệu chỉnh - Quan sát trình rẽ nhánh liệu vào trả lời
2 Hoạt động 2: Rèn luyện kĩ lập trình hồn thiện toán. a Mục tiêu:
- Học sinh biết đọc hiểu đề, phân tích yêu cầu đề Từ chọn đợc cấu trúc liệu lệnh phù hợp để lập trình
(44)- ViÕt chơng trình giải phơng trình ax + b = c Các bớc tiến hành:
Hot ụng ca giỏo viên Hoạt động học sinh Nêu nội dung, mc ớch, yờu cu
của toán
- Hỏi: Bớc để giải toán? - Hỏi: Để xác định ta phải đặt câu hỏi nh nào?Gọi học sinh đặt câu hỏi học sinh tr li cõu hi ú?
- Yêu cầu học sinh phác hoạ thuật toán
2 Yêu cầu học snh gõ chơng trình vào máy
- Giỏo viờn tiếp cận học sinh để hớng dẫn sửa sai
3 Yêu cầu học sinh nhập liệu - Nhập liệu với test -2 yêu cầu học sinh xác định testcase, nhập liệu, đối sánh kết
1 Chú ý theo dõi vấn đề đặt giáo viên - Xác định input, output thuật giải
- Mục đích giải phơng trình?
+ Kết luận số nghiệm giá trị nghiệm x - Để tính đợc nghiệm x cần đại lợng nào? + Cần đại lợng: a b
- Có bớc xử lí để tính đợc x? Độc lập soạn chơng trình vào máy - Thơng báo kết viết đợc
3 Nhập liệu theo test giáo viên thông báo kết chơng trình
4 T×m testcase 0 VSN VN -1.5
Nhập liệu thông báo kết
IV Đánh giá cuối bài
1 Nhng ni dung học
Các bớc để hoàn thành chơng trình:
- Phân tích tốn để xác định liệu vào, liệu ra, thuật toán - Son chng trỡnh vo mỏy
- Lu trữ chơng trình - Biên dịch
- Thực hiệu chỉnh chơng trình Câu hỏi tập nhµ
- Viết chơng trình nhập độ dài cạnh tam giác tính chu vi, diện tích tam giác
- Cho ch¬ng tr×nh sau: Pogram max;
vara,b,max: integer; Begin
Write(‘NhËp vào hai số bất kì) Readln(a,b);
Max:=a;
If max<b then max:=b; Writeln(max);
Readln; End
(45)Lun tËp
I Mơc tiªu
1 KiÕn thøc
- Củng cố lại cho học sinh kiến thức liên quan đến tổ chức rẽ nhánh lặp: cấu trúc lặp, sơ đồ thực hiện, thc máy gặp lệnh lặp
2 KÜ
- Rốn luyn dng v linh hot việc lựa chọn cấu trúc rẽ nhánh cấu trúc lặp phù hợp để giải toán đặt
3 Thái độ
- Tự giác tích cực, chủ động gải tập
II Đồ dùng dạy học
1 Chuẩn bị giáo viên
- Mỏy chiu Projector, mỏy vi tớnh để giớ thiệu ví dụ minh hoạ, số chơng trình mẫu
2 Chn bÞ cđa häc sinh - S¸ch gi¸o khoa
III Hoạt động dạy- học
1 Hoạt động 1: Nhắc lại kiến thức đ học tổ chức rẽ nhánh lặpã a Mục tiêu:
- Học sinh nắm đợc cấu trúc rẽ nhánh lặp, sơ đồ thực máy Phân biệt đ-ợc sụ giống khác lệnh lặp For lệnh lặp While
b Néi dung: - Rẽ nhánh
If <btđk> then <lệnh> Else <lệnh2>; If<btđk> then <lƯnh>;
- LỈp For
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:
Hoạt động giáo viên Hoạt động học sinh
1 Yêu cầu học snh nhắc lại cấu trúc rÏ nh¸nh
- Chiếu chơng trình tìm giá trị lớn hai số, có sử dụng lệnh rẽ nhánh dạng đủ
Var a,b : Integer;
1 Độc lập suy nghĩ để trả lời
If <bt®k> then <lƯnh 1> Eles<lƯnh 2>; If <bt®k> then <lÖnh>;
(46)Begin readln; end
- Hỏi: chơng trình thực công việc gì?
- Yêu cầu học sinh viết lại ch-ơng trình cách sử dụng lệnh rẽ nhánh dạng thiếu Yêu cầu học sinh nhắc lại cấu
trỳc ca cỏc lnh lặp học - Chiếu lên bảng hai chơng trình chuẩn bị sẵn, ch-ơng trình sử dụng lệnh lặp For chơng trình sử dụng sử dụng lệnh lặp while
- Yêu cầu: So sánh giống khác hai dạng lệnh
Begin
Readln(a,b); max:=b If a>b then max:=a Write(max); readln; end
2 Suy nhgĩ trả lời
For <biến đếm>:=<Giá trị đầu > To <Giá trị cuối> Do <lệnh>;
While <®iỊu kiƯn> Do <lệnh cần lặp>; - Quan sát suy nhgĩ trả lời - Giống: Đều lệnh lặp
- Khỏc: For lặp với số lần xác định trớc While lặp với số lần cha xác định
3 Hoạt động 2: Rèn luyện kĩ vận dụng tổ chức lặp a Mục tiêu:
- Học sinh biết sử dụng lệnh lặp để giải toán cụ thể.Linh hoạt việc la chọn cấu trúc lặp
b Néi dung: VÝ dô 1:
ViÕt chơng trình tính giá trị biểu thức
Y=
Ví dụ 2:
Viết chơng trình tính giá trị tổng X(N) = 13 + 33 + 53+ +
+(2N +1)3, với N lần lợt 0,1,2,3, chừng X(N) nhỏ 2*109.
Đa giả trị X(N) hình c Các bớc tiến hµnh:
Hoạt động giáo viên Hoạt động học sinh
1 Tìm hiểu tập để giải - Chiếu nội dung ví dụ lên bảng - Hỏi: khai triển biểu thức Y thành tổng số hạng nh nào?
- Nhìn vào công thức triển khai, cho biết N lấy giá trị đoạn nào? - Hỏi: Ta sử dụng cấu trúc lặp phù hợp?
- Chia lớp làm nhóm, yêu cầu viết chơng trình lên bìa
- Thu phiếu trả lời, chiếu kết lên bảng
1 Quan sỏt v suy nghĩ để giải toán Y= 1/2 + 2/3 + 3/4 + + 50/51
1 50
- Sử dụng cấu trúc lặp có số lần xác định - Thảo luận theo nhóm để viết chơng trình lờn bỡa
- Báo cáo kết nhãm
- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác
2 Quan sát theo dõi định hớng giáo n
50
(47)- Gọi học sinh nhóm khác nhận xét đánh giá bổ sung
2 Tìm hiểu nội dung ví dụ định hớng học sinh giải ổ nhà - Chiếu nội dung ví dụ lên bảng - Hãy cho biết N nhận giá trị đoạn nào? xác định đợc cha?
- Dùng cấu trúc điều khiển thích hợp?
- Yêu cầu học sinh nhà lập trình máy, tiết sau nộp lại cho giáo viên
viªn
- Cha xác định đợc cận cuối
- Dùng cấu trúc lặp có số lần cha xác định - Ghi nhớ làm tập nhà
IV Đánh giá cuối bài
1 Nhng ni dung học - Có hai cấu trúc lặp:
+ Lặp For: Số lần lặp xác định + Lặp While: Số lặp cha xác định Câu hỏi tập nhà
- Cho chơng trình đơc viết lệnh For Var x, i:word; nt: boolean;
Begin Readln(x) nt:= true;
For i:= to x-1
if x modi= o then nt:=false;
If nt = true then write(x, ‘ la so nguen to’) esle write(x, ‘ khong phai snt’); readln;
End
- Hãy viết lại chơng trình lệnh lặp tốt
Ch¬ng 4:
KiĨu d÷ liƯu cã cÊu tróc
I Mục tiêu ch ơng
1 Kiến thức Häc sinh cÇn:
- Hiểu đợc khái niệm kiểu liệucó cấu trúc
- Biết đợc ngơn ngữ lập trình cho phép tạo kiểu liệu có cấu trúc sở kiểu liệu chuẩn
- Một số kiểu liệu có cấu trúc đợc xây dựng từ kiểu liệu sở theo kĩ thuật tạo kiểudo ngôn ngữ lập trình quy định
- Kiểu liệu xác định hai yếu tố: phạm vi đối tợng thao tác đối tợng
2 Kĩ năng
- Biết cách mô tả kiểu liệu ngôn ngữ lập trình Pascal
(48)- Biết sử dụng phép toán thành phần sở tuỳ theo kiểu thành phần sở
3 Thái độ
- Tiếp tục xây dựng lòng yêu thích giải toán lập trình máy vi tính
- Tip tc rèn luyện phẩm chất ngời lập trình nh:ý thức chọn xây dựng kiểu liệu thể đối tợng thực tế, ý thức rèn luyện kĩ sử dụng thao tác kiểu liệu có cấu trúc, hứng thú tìm hiểu thuật tốn thờng gặp mơ hình liu
Luôn muốn cải tiến chơng trình nhằm nâng cao hiệu chơng trình
II Nội dung chủ yếu ch ơng
Chơng trình có kiĨu cÊu tróc quan träng: - KiĨu m¶ng mét chiỊu mảng hai chiều - Kiểu xâu kí tự
- KiĨu b¶n ghi
KiĨu m¶ng
I Mơc tiªu
1 KiÕn thøc
- Biết kiểu liệu kiểu mảng chiều.Biết đợc loại biến có số
- BiÕt cÊu tróc tạo kiểu mảng chiều cách khai báo biến kiểu mảng chiều
2 Kĩ
- Tạo đợc kiểu mảng chiều sử dụng biến mảng chiều ngơ ngữ lập trình Pascal để giải số toán cụ thể
II §å dïng d¹y häc
- Máy chiếu Projector, máy vi tính để giới thiệu ví dụ minh hoạ Chuẩn bị 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 mảng chiều a Mục tiêu:
Biết đợc ý nghĩa và cần thiết kiểu mảng chiều việc giải số toán Biết đợc khái niệm kiểu mảng chiều
b Néi dung:
- Ví dụ: Nhập vào nhiệt độ( trung bình) ngày tuần Tính in nhiệt độ trung bình tần số số lợng ngày tuần số lợng ngày tuần có nhiệt độ cao nhiệt độ trung bình tính đợc
- Chơng trình minh hoạ. Pogram nhietdotuan;
(49)Begin
Write(‘Nhap vao nhiet cua ngay:’) readln(t1,t2,t3,t4,t5,t6,t7);
tb := (t1+t2+t3+t4+t5+t6+t7)/ 7; dem:=
if t1>tb then dem:=dem +1; if t2>tb then dem:=dem+ 1; if t3>tb then dem:=dem +1; if t4>tb then dem:=dem +1; if t5>tb then dem:=dem +1; if t6>tb then dem:=dem + 1; if t7>tb then dem:=dem + 1;
Writeln(‘ Nhiet trung binh tuan: ’tb);
Writeln(‘ So nhiet cao hon nhiet trung binh tuan:’ ,dem): Readln;
End
- Mảng chiều dãy hữu hạn phần tử có kiểu liệu.Các phần tử mảng có chung tên phân biệt ví số.Để mơ tả mảng chiều cần xác định đợc kiểu phần tử cách đánh số phần tử - Hầu hết ngơn ngữ lập trình có quy tắc xác định: tên kiểu mảng, số lợng
các phần tử, kiểu liệu phần tử, cách khai báo biến mảng cách tham chiếu đến phần tử mảng
Hoạt động giáo viên Hoạt động học sinh
1 Chiếu đề chơng trình lên bảng
- Hỏi: Khi N lớn chơng trình có điểm hạn chế nh thé nào? - Dẫn dắt: Để khắc phục hạn chế trên, ngời ta thờng ghép chung biến thành dãy đặt cho chung thành tên đánh cho phần tử mt ch s
2 Yêu cầu học sinh tham khảo sách giáo khoa hỏi: Em hiểu vỊ m¶ng mËt chiỊu?
- Hỏi để mơ tả mảng chiều, ta cần xác định yếu tố no?
1 Quan sát hình, suy nghĩ trả lời
- Phải khai báo nhiều biến Chơng trình phải viết dài
2 Nghiờn cu Sách giáo khoa để trả lời
- M¶ng mét chiều dÃy hữu hạn phần tử có kiểu liệu
Các phần tử có kiểu liệu.Các phần tử mảng có chung tên phân biệt số
- Để mô tả mảng chiều cần xác định đuợc phần tử cách đánh số phần tử cuả
2.Hoạt động 2: Tạo kiểu mảng chiều khai báo biến mảng a Mục tiêu:
- Học sinh biết đợc cách tạo kiểu liệu mảng chiều tronng ngơn ngữ lập trình Pascal, biết cách khai báo biến tham chiếu đến phần tử mảng
b Néi dung:
- T¹o kiểu liệu mảng chiều:
TYPE tên_kiểu _mảng=Array[kiểu_chỉ_số] Of kiểu thành phần;
+ Kiu_ ch_ s: thũng đoạn số nguyên( đoạn kí tự) xác định số đầu số cuối mảng
(50)- Khai báo biến mảng chiều: VAR tên_biến: tên_ kiểu_ mảng, - Tham chiếu đến phần tử: Tên_biến[chỉ_ số_ dòng, chỉ_ số_ cột] c Các bớc tiến hành:
Hoạt động giáo viên Hot ng ca hc sinh
1 Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết cách tạo kiểu liệu mảng chiều ngôn ngữ lËp tr×nh Pascal
- Tìm ví dụ để minh hoạ
- Gäi häc sinh kh¸c hái ý nghĩa lệnh bạn vừa viết
- Chiếu lên bảng số khai báo kiểu mảng chiều
Type
Arrayr=array[1 200] of real; Arrayr=array[byte] of real;
Arrayb=aray[-100 0] of boolean; - Hỏi khai báo đúng? Yêu cầu học sinh cho biết cách khai báo biến ví dụ khai báo mảng ứng với kiểu liệu vừa tạo - Gọi học sinh khác,hỏi: ý nghĩa lệnh bạn vừa viết?
- Dung lợng nhớ biến a chiếm bao nhiêu?
- Chú ý cho học sinh cách đặt tên kiểu liệu tên biến, tránh nhầm lẫn
3 Giới thiệu cách tham chiếu đến phần tử mảng chiều Yêu cầu học sinh lấy ví dụ
1 Tham kh¶o sách giáo khoa trả lời
- TYPE tên_km= Array[kiểu_cs] Of kiểu thành phần;
-Ví dụ: Type mmc= array[1 100] of integer; - Tạo kiểu liệu có tên mmc, gồm 100 phần tử, có kiểu nguyªn
- Quan sát bảng chọn khai báo Arrayr=array[1 200] of real;
Array=array[-100 0] of boolean; Tham khảo Sách giáo khoa trả lời - VAR tªn_biÕn: tªn_km;
- VÝ dơ: Var a:mmc;
- Khai báo biến mảng chiều - a chiếm 200 byte nhớ
3 Theo dõi hớng dẫn giáo viên độc lập suy ngh tr li
a[1] phần tử vị trí mảng a a[i] phần tử vị trí i mảng a
3 Hot động 3: Rèn luyện kĩ sử dụng kiểu mảng chiều a Mục tiêu:
- Học sinh sử dụng đợc kiểu biến chiều để giải đợc toán đơn giản b Nội dung:
Bài toán: Giải toán phần đặt vấn đề hoạt động1, có sử dụng biến mảng chiu
c bớc tiến hành:
Hot ng giáo viên Hoạt động học sinh
1 Giới thiệu đề - Chiếu đề lên bảng
- Yêu cầu học sinh xác định liệu vào ,dữ liệu
- Hỏi: Nếu không sử dụng biến mảng chiều, ta giải đợc tốn khơng? Khó khăn khơng?
1 Quan sát đề bài, theo dõi yêu cầu cần thiết đề
- Vào: số giá trị nhiệt độ ngày tuần
(51)2 Định hớng: Sử dụng kiểu mảng chiều để sử dụng toán
- Yêu cầu học sinh để khai báo kiểu mảng
- Yêu cầu học sinh khai báo biến mảng
- Yêu cầu học sinh tìm nhiệm vụ cần giải
3 Chia lp thnh nhóm u cầu viết chơng trình lên giấy bìa - 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 hoá chơng trình cho học sinh
- Đợc
- Chơng trình dài khó sửa đổi
2 Theo dõi hớng dẫn giáo viên Type tuan=array[1 7] of real;
Var ndtuan: tuan
- Nhập gía trị cho mảng a
- Tính trung bình cộng giá trị mảng - Đếm số phần tử có giá trị lớn trung
bỡnh cng tính đợc
3 Thảo luận theo nhóm để viết chơng trình - Báo cáo kết viết đợc
- Nhận xét đánh giá bổ sung kết thiu sút ca nhúm khỏc
4 Quan sát ghi nhớ
IV Đánh giá cuối bài:
1 Nhng ni dung ó hc:
- Cách tạo mảng chiều cách khai báo biến
TYPE tên_kiểu mảng= Array[kieeur_chỉ_số] of kiểu_thành_phần; VAR tên_biến: tên _kiểu_mảng;
- Tham chiếu đến phần tử: Tên_biến[chỉ số] Câu hỏi tập nhà
- Viết chơng trình nhập vào mảng gồm n số nguyên(1<=n<=100), số có giá trị tuyệt đối khơng q 300 Tính tổng giá trị phần tử có giá trị chia hết cho k - Trả lời câu hỏi 1- 4, làm tập 5, 6, 7, sách giáo khoa, trang 79
- Đọc trớc nội dung kiểu mảng hai chiều, sách giáo khoa trang 59
Thực hành sè 3
I Mơc tiªu
1 KiÕn thøc
- Củng cố lại kiến thức kiểu liệu mảng Kĩ
- Nâng cao kĩ sử dụng số lệnh kiểu liệu mảng chiều lập trình, cụ thể:
+ Khai báo kiểu liệu mảng chiều + Nhập/xuất liệu cho mảng
+ Duyt qua tất phần tử mảng để xử lí phần tử - Biết giải số toán thờng gặp:
+ 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, nhỏ
3 Thái
(52)II Đồ dùng dạy học
1 Chuẩn bị giáo viên
- Phũng máy vi tính, máy chiếu Projector để minh hoạ Chuẩn bị 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 kiểu liệu mảng chiều qua ch ơng trình có sẵn
a Mơc tiªu:
- HS hiểu đợc chơng trình có sẵn câu a, biết đợc kết chạy chơng trình này, từ tìm cách giải câu b
b Néi dung:
a- Tìm hiểu, gõ chơng trình vào máy chạy thử: Program Sum1;
Uses Crt;
Const nmax:=100;
Type Myarray=Array[1 nmax]of integer; Var A:myarray;
s,n,i,k:integer; Begin
Clrscr;
Randomize;
Write(‘Nhap n=’); Readln(n);
For i:=1 to n a[i]:=random(300)-random(300); For i:=1 to n Write(A[i]:5);
Writeln;
Write(‘Nhap k=’); Readln(k);
s:=0;
For i:=1 to n
if a[i]mod k=0 then s:=s+a[i]; Write(‘Tong can tinh la’,s);
Readln; End
b- Thêm lệnh vào chơng trình nhằm sửa đổi chơng trình câu a để chơng trình thực đếm số lợng số dơng số lợng số âm mảng
Posi, neg: integer; Posi:=0;neg:=0;
If a[i]>0 then Posi:=posi+1
Else if a[i]<0 then neg:=neg+1; Write(posi:4,neg:4);
c Các bớc tiến hành
Hoạt động giáo viên Hoạt động học sinh
(53)trang 63 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ĩ gì? - Hỏi: Myarray tên kiểu liệu hay tên biến?
- Hỏi: Vai trò nmax n có kh¸c nhau?
- Hỏi: Những dịng lệnh dùng để tạo biến mảng a?
- Thực chơng trình để học sinh thấy kết
Hái: LƯnh gán a[i]:=random(300)-random(300) có ý nghĩa gì?
- Hỏi: Lệnh For i:=1 to n Write (A[i]:5); cã ý nghÜa g×?
- LƯnh For-Do ci cïng thùc hiƯn nhiƯm vơ g×?
- Hỏi: Lệnh s:=s+a[i]; đợc thực lần?
- Thực lại chơng trình lần cuối để học sinh thấy kết
2 Sửa chơng trình câu a để đợc chơng trình giải toán câu b
- ChiÕu lên hình lệnh cần thêm vào chơng trình ë c©u a
- Hái: ý nghÜa cđa biÕn Posi neg? - Hỏi: Chức lệnh:
If a[i]>0 then posi:=posi+1
else if a[i]<0 then neg:=neg+1; - Yêu cầu HS thêm vào vị trí cần thiết chng trỡnh m c s
- Yêu cầu HS gõ nội dung lu lại với tên caub.pas Thực chơng trình báo cáo kết
- Khai báo th viện chơng trình Crt để sử dụng đợc thủ tục Clrscr;
- Tªn kiểu liệu
- nmax số phần tử tối đa chứa biến mảng a n số phần tử thực tế a - Lệnh khai báo kiểu khai báo biến - Quan sát chơng trình thực kết qủa hình
- Lệnh sinh ngẫu nhiên giá trị cho mảng a từ -299 đến 299
- In mµn hình giá trị phần từ mảng a
- Cộng phần tử chia hết cho k
- Có số lần số phần tử a[i] chia ht k
- Quan sát giáo viên thực chơng trình kết hình
2 Quan sát ý theo dõi câu hỏi giáo viên:
- Quan sát lệnh suy nghĩ vị trí cần sửa chơng trình câu a
- Dựng lu s lng đếm đợc - Đếm số dơng đếm số âm
- Chỉ vị trí cần thêm vào chơng trình
- Lu chơng trình Thực chơng trình thông báo kết
2 Hot ng 2: Rèn luyện kĩ lập trình a Mục tiêu:
- Viết đợc chơng trình hồn thiện cách sử dụng lệnh kiểu liệu mảng chiều
b Néi dung:
- Viết chơng trình tìm phần tử có giá trị lớn mảng in hình số giá trị phần tử tìm đợc Nếu có nhiều phần tử có gía trị lớn đa phần tử có số nhỏ
c C¸c bíc tiÕn hµnh
Hoạt động giáo viên Hoạt động học sinh
1 LÊy mét vÝ dô thùc tiƠn Ngêi mï t×m
(54)dãy viên sỏi để gợi ý cho học sinh thuật toán tỡm giỏ tr ln nht
- Yêu cầu: Nêu thuật toán tìm phần tử có giá trị lớn
2 Tìm hiểu chơng trình tìm số giá trị lớn
- Chiếu chơng trình ví dơ, SGK trang 64 - Hái: Vai trß cđa biÕn j chơng trình? - Hỏi: Nếu muốn tìm phần tử nhỏ nhất, cần sửa chỗ nào?
- Hỏi: Nếu muốn tìm phần tử lớn với số lớn ta sửa chỗ nào?
3 Đặt yêu cầu mới: Viết chơng trình đa số phần tử có giá trị lớn
- Hỏi: Cần giữ lại đoạn chơng trình tìm giá trị lớn không?
- Hi: Cn thêm lệnh nữa? - Hỏi: Vị trí thêm lnh ú?
- Yêu cầu: Viết chơng trình hoàn thiện - Yêu cầu HS nhập liệu vào giáo viên báo cáo kết
- Đánh giá kết học sinh
- So sánh lần lợt từ trái sang phải, lại số phần tử lớn
2 Quan sát chơng trình, suy nghĩ trả lời
- Giữ lại số phần tử có gía trị lớn nhÊt
- PhÐp so s¸nh a[i]<a[j]
- Chun thø tù duyÕt tõ n-1 vÒ
3 Theo dõi yêu cầu, suy nghĩ câu hỏi định hớng để viết chơng trình
- Cã
- Lệnh để in số có giá trị giá trị lớn tìm đợc
- Sau tỡm c giỏ tr ln nht
- Soạn chơng trình vào máy Thực ch-ơng trình thông báo kết
- Nhập liệu vào thông báo cho giáo viên liệu
IV Đánh giá cuối bài
1 Nhng ni dung ó hc
Một số thuật toán bản:
+ 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, nhỏ
2 Câu hỏi tập nhà
- Viết chơng trình nhập mảng chiều A[1 20] nhập số x Đếm số lợng số A có giá trị x