- Yeâu caàu hoïc sinh cho bieát caáu truùc chung cuûa phaàn thaân chöông trình trong ngoân ngöõ laäp trình Pascal.. Ví duï chöông trình ñôn giaûn.[r]
(1)Ngày soạn: 19/8/2009 Tiết CHệễNG I
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
I Mục tiêu:
KiÕn thøc:
- Biết đợc khái niệm chơng trình dịch
- Phân biệt đợc hai loại chơng trình dịch biên dịch thơng dịch - Nắm đợc thành phần ngôn ngữ lập trình nói chung Kỹ năng
- BiÕt vai trò chơng trình dịch
- Hiu ý nghĩa nhiệm vụ chơng trình dịch 3.Thái độ:
- ý thức đợc tầm quan trọng mơn học có thái độ học tập nghiêm túc, ln từ tìm hiểu học tập
II PhÇn chn bị
1 Chuẩn bị giáo viên:
- Giáo án, SGK, sách giáo viên, sách tập, 2 Chn bÞ cđa häc sinh:
- Vở ghi, sách giáo khoa, sách tập, đồ dùng học tập III Hoạt động dạy – học:
hớng dẫn giáo viên Hoạt động học sinh
1.Hoạt ng1
Giáo viên đa nội dung toán tìm ph-ơng trình bậc ax + b =
Và kết luận nghiệm phơng trình bậc
- Hãy xác định yếu tố Inputvà Output toán ?
- Hãy xác định bớc để tìm output?
- Diễn giải; hệ thống bớc đợc gọi thuật toán
- Nếu trình bày thuật tốn với ngời nớc ngồi, em dùng ngôn ngữ dể diễn đạt?
- Nếu diễn đạt thuật toán cho máy hiểu, em dùng ngôn ngữ nào?
- 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 học sinh đọc sách giáo khoa cho biết khái niệm 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 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 số phiếu học tập cho lớp nghe
- Hái : Em hiĨu nh thÕ nµo ngôn ngữ
1 Quan sát nội dung toán theo dõi yêu cầu giáo viên
- Input : a,
b output : x=b b/a V« nghiƯm, V« sè nghiƯm Bíc : NhËp a, b
Bíc : NÕu a<>0 kÕt ln cã nghiƯm x=-b/a Bíc : NÕu a=0 vµ b<>0, kÕt ln v« nghiƯm Bíc : NÕu a=0 b=0, kết luận vô số
nghiệm
- Ngôn ngữ Tiếng Anh
- Em dùng ngôn ngữ lập trình
- Lp trỡnh l vic 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 lhảo sách giáo khoa sử dụng vốn hiểu biết tin học để điền phiếu học tập - Ngụn ng mỏy
- Hợp ngữ
- Ngôn ngữ bậc cao
(2)máy, hợp ngữ ngôn ngữ bậc cao?
- Hi : Lm để chuyển ch-ơng trình viết từ ngơn ngữ bậc cao sang ngôn ngữ máy?
- Hỏi : Vì khơng lập trình ngơn ngữ máy để khỏi phải công chuyển đổi mà ngời ta thờng lập trình ngơn ngữ bậc cao?
2.Hoạt động 2.
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ó hai cách để thực :
Cách : Cần ngời biết tiếng Anh, dịch tõng c©u nãi cđa em sang tiÕng Anh cho ngêi kh¸ch
Cách : Em soạn nội dung cần giới thiệu giấy ngời phiên dịch dịch toàn nội dung sang tiếng Anh đọc cho ngời khách
- H·y lÊy vÝ dơ t¬ng tù thực tế biên dịch thông dịch từ tiÕng Anh sang tiÕng ViÖt
2 Yêu cầu học sinh nghiên cứu sách giáo khoa sử dụng ví dụ biết bớc tiến trình thơng dịch biên dịch
3 Hoạt động 3
Đặt vấn đề : Có yếu tố dùng để xây dựng nên ngôn ngữ tiếng Việt?
thùc hiƯn
- Ngơn ngữ bậc cao : Các lệnh đợc mã hóa 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 dịch để chuyển đổi
- Lập trình ngơn ngữ bậc cao dễ viết lệnh đợc mã hóa 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 lập trình đợc
- HS suy nghÜ tr¶ lêi c©u hái
Chú ý lắng nghe ví dụ giáo viên thảo luận để tìm ví dụ tơng tự
- Khi thủ trởng phủ trả lời vấn trớc nhà báo quốc tế, họ thờng cần ngời thông dịch để dịch câu tiếng Việt sang tiếng Anh
- Khi thủ tớng đọc diễn văn tiếngAnh trớc Hội nghị, họ cần ngời phiên dịch để chuyển văn tiếng Việt thành tiếng Anh Nghiên cứu sách giáo khoa suy nghĩ để trả lời
- Biên dịch :
Bc : Duyt, phỏt hin lỗi, kiểm tra tính đắn lệnh chơng trình nguồn Bớc : Dịch tồn chơng trình nguồn thành chơng trình ngơn ngữ máy
(Thuận tiện cho chơng trình ổn định cần thc hin nhiu ln)
- Thông dịch :
Bớc : Kiểm tra tính đắn lệnh chơng trình nguồn
Bớc : Chuyển lệnh thành ngơn ngữ máy Bớc : Thực câu lệnh vừa đợc chuyển đổi
(phù hợp với môt trờng đối thoại ngời v mỏy)
- Bảng chữ tiếng Việt, số, dấu
- Cách ghép kí tự thành từ, phép từ thành câu
(3)* Diễn giải : Trong ngôn ngữ lập trình tơng tự nh vậy, gồm có thành phần : Bảng chữ cái, cú pháp ngữ nghĩa
* Chia lớp thành nhóm, phát bìa bút cho nhóm yêu cầu nhóm thực nhiệm vụ : - HÃy nêu chữ bảng chữ tiếng Anh
- Nờu kí số hệ đếm thập phân
- Nêu số kí hiệu đặc biệt khác - Thu phiếu trả lời, chiếu kết lên bảng, gọi đại diện nhóm khác nhận xét, bổ sung
- Treo tranh giáo viên chuẩn bị để tiểu kt hot ng ny
* Nghiên cứu sách giáo khoa, thảo luận theo nhóm điền phiếu học tập :
Bảng chữ : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f h g i j k l m n o p q r s t u v w x y z
Hệ đếm : Kí hiệu đặc biệt :
+ - * / = < > [ ] , _ ; # ^ $ & ( ) { } : “
- Theo dõi kết nhóm khác bổ sung nh÷ng thiÕu sãt
- TËp trung xem tranh vµ ghi nhí
IV Đánh giá cuối bài. Những nội dung học
- 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 biên dịch thông dịch
- Thành phần ngôn ngữ lập trình : Bảng chữ, cú pháp ngữ nghĩa Câu hỏi tËp vỊ nhµ
- Mỗi loại ngơn ngữ lập trình phù hợp với ngời lập trình có trình độ nh nào?
- Kể tên số ngôn ngữ lập trình bậc cao có sử dụng kĩ thuật biên dịch số ngôn ngữ lập trình có sử dụng kĩ thuật thông dịch
- Trả lời câu hỏi 1, 2, 3, s¸ch gi¸o khoa trang 13
- Xem học thêm : Em biết ngôn ngữ lập trình? sách giáo khoa trang - Xem trớc học : Các thành phần ngôn ngữ lập trình
**********
Ngày soạn: 26/8/2009 Tiết
Đ2 Các thành phần ngôn ngữ lập trình I Mục tiêu:
1 Kiến thøc:
- Biết đợc số khái niệm nh: tên, tên chuẩn, tên dành riêng… 2 Kỹ năng
- Phân biệt đợc tên chuẩn với tên dành riêng tên tự đặt - Nhớ qui định tên, biến
- Biết đặt tên đúng, nhận biết tên sai 3 Thái độ
- ý thức đợc tầm quan trọng mơn học có thái độ học tập nghiêm túc, ln từ tìm hiểu hc
II Phần chuẩn bị
1 Chuẩn bị giáo viên:
- Giao án, SGK, sách giáo viên, sách tập, 2 Chuẩn bị học sinh:
(4)II KiĨm tra bµi cị : III Bµi míi
hớng dẫn giáo viên Hoạt động học sinh 2 Hoạt động
* Đặt vấn đề : Mọi đối tợng chơng trình phải đợc đặt tên
- Hãy nghiên cứu sách giáo khoa, trang 10, để nêu quy cách đặt tên Turbo Pascal?
* Treo tranh chứa tên – sai, yêu cầu học sinh 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
* Yêu cầu học sinh nghiên cứu sách giáo khoa (trang 10 – 11 ) để biết khái niệm tên giành riêng, tên chuẩn tên ngời lập trình đặt
- Chia líp thµnh nhóm, nhóm trình bày hiểu biết loại tên cho ví dụ
- Treo tranh chứu số tên ngôn ngữ lập trình Pascal đợc chuẩn bị sẵn : Program Abs Interger Type
Xyx Byte tong
- Phát bìa bút cho nhóm u cầu học sinh nhóm thực : + Xác định tên giành riêng
+ Xác định tên chuẩn + Xác định tên tự đặt
- Thu phiÕu häc tËp cña ba nhãm, chiÕu kết lên bảng, gọi học sinh nhóm khác nhận xÐt bæ sung
- Tiểu kết cho vấn đề cách bổ sung thêm cho nhóm để đa trả lời
Hot ụng
* Yêu cầu häc sinh cho mét sè vÝ dơ vỊ h»ng số, xâu logic
* Độc lập suy nghĩ trả lời
* Nghiên cứu sách giáo khoa trả lời - Gồm chữ số, chữ cái, dấu gách dới - Bắt đầu chữ dấu gạch dới - Độ dài không 127
* Quan sát tranh trả lời A
R12 45
* Nghiên cứu sách giáo khoa để trả lời
- Thảo luận theo nhóm điền phiếu học tập
+ Tên dành riêng : Là tên đợc 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 : Là 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
+ Tên ngời lập trình đặt : Là 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 dành riêng
- Quan sát tranh điền phiếu học tập
Tên dành riêng : Program type Tên chuẩn : Abs Interger Byte Tên tự đặt : Xyx Tong
- Quan sát kết nhóm khác nhận xét, đánh giá bổ sung
- Theo dõi bổ sung giáo viên để hồn thiện kiến thức
* §éc lËp suy nghĩ trả lời - Hằng số : 50 60.5
(5)- trình bày khái niệm số, xâu h»ng logic
* Ghi bảng : Xác định số xâu sau :
- 32767 “QB” “50” 1.5E+2
* Yêu cầu học sinh nghiên cứu sách giáo khoa, cho biÕt kh¸i niƯm biÕn
- Cho ví dụ biến
* Yêu cầu học sinh nghiên cứu sách giáo khoa hco biết chức thích chơng trình
- Cho ví dụ dịngchú thích - Hỏi : Tên biến tên tên giành riêng hay tên chuẩn hay tên ngời lập trình đặt ?
- Hỏi :Các lệnh đợc viết cặp dấu {} có đợc TP thực khơng? Vỡ sao?
- Hằng số học số nguyên số thực, có dấu không dấu
- Hằng xâu : Là chuỗi kí tự mã ASCII, đợc đặt cặp dấu nháy
- Hằng logic : Là giá trị (true) Hoặc sai ( False)
* Quan sát bẳng trả lời - Hằng số : - 32767, 1.5E+2 - H»ng x©u : “QB” “50”
* Nghiên cứu sách giáo khoa trả lời - Biến đại lợng đợc đặt tên dùng để lu trữ giá trị Giá trị đợc thay đổi trình thực chơng trình phải đợc khai báo
- Vị dụ hai tên biến : Tong, xyz
* Độc lập tham khảo sách giáo khoa để trả lời
- Cú thích đợc đặt cặp dấu { } (* *) dùng để giải thích cho chơng trình rõ ràng dễ hiểu
- {Lenh xuat du lieu}
- Là tên ngời lập trình đặt - Khơng Vì dịng thích
IV Đánh giá cuối bài Những nội dung học
- Khái niệm : Tên, tên chuẩn, tên dành riêng, tên ngời lập trình đặt, hằng, biến thích
C©u hái vµ bµi tËp vỊ nhµ
- Lµm tập 4, 5, 6, sách giáo khoa, trang 13
- Xem đọc thêm : Ngôn ngữ Pascal, sách giáo khoa, trang 14, 15, 16 - Xem trớc : Cấu trúc chơng trình, sách giỏo khoa, trang 18
(6)Ngày soạn: 30/8/2009 TiÕt 3 BÀI TẬP
I Mục Tiêu
- Biết cần phải có chương trình dịch - Biết su khác thông dịch biên dịch - Biết khác tên dành riêng tên chuẩn - Viết tên theo quy tc ca Pascal
II Phần chuẩn bị
1 Chuẩn bị giáo viên:
- Giao án, SGK, sách giáo viên, sách tập, 2 Chuẩn bÞ cđa häc sinh:
- Vở ghi, sách giáo khoa, sách tập , đồ dùng học tập III Hoát ẹoọng Dáy Hóc
hớng dẫn giáo viên Hoạt động học sinh
1 Tại người ta phải xây dựng ngơn ngữ lập trình bậc cao?
Nhận xét, đánh giá cho điểm
2 Chương trình dịch gì? Tại cần phải có chương trình dịch? Nhận xét, đánh giá cho điểm Biên dịch thông dịch khác nào?
Nhận xét, đánh giá cho điểm Điểm khác tên dành riêng tên chuẩn
Nhận xét, đánh giá cho điểm Viết tên theo quy tắc Pascal
6 Cho biết biểu diễn biểu diễn Pascal a> 150.0 b> -22 c> 6,23 d> ‘43’ e> A20 f> 1.06E-15
g> 4+6 h> ‘C i>
‘True”
Nhận xét, đánh giá cho điểm
1 Lắng nghe suy nghĩ trả lời
- Lập trình ngơn ngữ bậc cao dễ viết lệnh mã hố gần với ngơn ngữ tự nhiên Chương trình viết ngơn ngữ lập trình bậc cao nói chung khơng phụ thuộc vào loại máy, nghĩa chương trình thực nhiều loại máy tính khác
- Chương trình dịch chương trình có chức chuyển đổi ngôn ngữ khác sang ngôn ngữ máy Cần phải có chương trình dịch để chuyển chương trình viết ngơn ngữ khác thành ngơn ngữ máy máy tính hiểu thực hiên
- Trong thông dịch chương trình đích để lưu trữ Trong biên dịch chương trình nguồn chương trình đích lưu trữ lại để sử dụng sau
- Tên dành riêng dùng với ý nghĩa xác định, không dùng với ý nghĩa khác Tên chuẩn dùng với ý nghĩa định, khai báo dùng với ý nghĩa khác
- tên theo quy tắc Pascal:
Giải_PT; Baitap1nangcao; _1chuongtrinh; - Những biểu diễn biểu diễn Pascal:
c> e> g> h>
IV Đánh Giá Cuối Bài
(7)- Tham khaûo thêm số tập sách tập
(8)CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN
I Mục tiêu chơng
Kiến thức: Học sinh cần nắm đợc:
- Cấu trúc chung chơng trình cấu trúc chơng trình Pascal
- Các kiến thức kiểu liệu chuẩn, phép toán, biểu thức, câu lệnh gán, thủ tc vo/ra n gin
- Cách soạn thảo, biên dịch thực hiệu chỉnh chơng trình môi trờng Turbo Pascal
Kĩ
- BiÕt khai b¸o biÕn
- Biết viết biểu thức đơn giản chơng trình - Biết khởi động khỏi Turbo Pascal
- Biết soạn thảo, dịch thực số chơng trình Pascal đơn giản theo mẫu có sẵn
- Bớc đầu làm quen với lập trình giải số tốn đơn giản Thái độ.
- Nghiêm túc học tập tiếp xúc với nhiều quy định nghiêm ngặt lập trình
- cã ý thøc cè gắng học tập vợt qua khó khăn giai đoạn đầu học lập trình
- Ham muốn giải tập lập trình, thấy đợc lợi ích lập trình phục vụ tính tốn
II Néi dung cđa ch¬ng.
Nội dung chủ yếu chơng : - Cấu trúc chung chơng trình
- Một số kiểu liệu chuẩn: Kiểu nguyên, thực, kí tù, logic
- Phép toán, biểu thức số học, biểu thức quan hê, biểu thức logic, hàm số học - Khai báo biến, lệnh gán, tổ chức vo/ra d liu n gin
- Soạn thảo, dịch, thực hiệu chỉnh chơng trình
Ngày soạn: 6/9/2009 Tiết
Đ3 Cấu trúc chơng trình I Mục tiêu:
1 Kin thc: Hc sinh cần nắm đợc:
- Cấu trúc chung chơng trình cấu trúc chơng trình Pascal 2 Thái độ
- ý thức đợc tầm quan trọng mơn học có thái độ học tập nghiêm túc, ln từ tìm hiểu học tập
II Phần chuẩn bị
1 Chuẩn bị giáo viên:
- Giao án, SGK, sách giáo viên, sách tập, 2 Chuẩn bị học sinh:
- Vở ghi, sách giáo khoa, sách tập , đồ dùng học tập
III Bµi míi
1 Cấu trúc chung
hớng dẫn giáo viên Hoạt động học sinh Phaựt vaỏn gụùi yự: Moọt baứi taọp laứm vaờn em
thường viết có phần? Các phần có thứ tự khơng? Vì phải chia vậy?
1 Lắng nghe suy nghĩ trả lời: - Có phần
(9)2 Yêu cầu học sinh nghiên cứu sách giáo khoa để trả lời câu hỏi sau: chương trình có cấu trúc phần
- Dễ viết, dễ đọc, dễ hiểu nội dung
2 Nghiên cứu sách giáo khoa, thảo luận trả lời
- Hai phần:
[<phần khai báo>]
<phần thân chương trình> Các thành phần chương trình
hớng dẫn giáo viên Hoạt động học sinh Yeõu cầu hóc sinh nghiẽn cửựu saựch giaựo
khoa để trả lời câu hỏi sau:
- 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
- u cầu học sinh lấy ví dụ khai báo thư viện chương trình ngôn ngữ Pascal
- Yêu cầu học sinh lấy ví dụ khai báo ngơn ngữ Pascal
- Yêu cầu học sinh lấy ví dụ khai báo biến ngôn ngữ Pascal
- Yêu cầu học sinh cho biết cấu trúc chung phần thân chương trình ngơn ngữ lập trình Pascal
1 Nghiên cứu sách giáo khoa, thảo luận trả lời
- 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; - Ví dụ: Program tinh_tong;
- Cấu trúc: Uses ten_thu_vien; - Ví dụ: Uses crt;
- Cấu trúc: Const ten_hang=gia_tri; - Ví dụ: Const maxn=100;
- Cấu trúc: Var ten_bien:Kiểu_dữ_liệu; - Ví dụ: Var a,b,c:Integer; (a,b,c biến nguyên)
Begin
Daõy lệnh; End
3 Ví dụ chương trình đơn giaûn
hớng dẫn giáo viên Hoạt động học sinh Tỡm hieồu chửụng trỡnh ủụn giaỷn
Viết lên bảng chương trình đơn giản ngôn ngữ Pascal
Program VD1;
Var x,y:byte; t:word; Begin
T:=x+y; Writeln(t); Readln; End
- Hỏi: phần khai báo chương trình? - Hỏi: phần thân chương trình? Có lệnh thân chương trình?
- Khai báo tên chương trình: Program VD1; - Khai báo biến: Var x,y:byte; t:word; - Còn lại phần thân
(10)2 Yêu cầu học sinh lấy ví dụ chương trình Pascal phần tên phần khai báo
2 Thảo luận trả lời Begin
Writeln(‘Hello’); Readln;
End IV Đánh Giá Cuối Bài
1 Những nội dung học:
Một chương trình gồm có phần: + Phần khai báo
+ Phần thân chương trình
2 Câu hỏi tập nhà
- Xem trước nội dung bài: Một số kiểu d liu chun
Ngày soạn: 13/9/2009 Tiết 5
Đ4 Một số kiểu liệu chuẩn Đ5 khai báo biến
I Mục tiêu
KiÕn thøc.
- Biết đợc cấu trúc chung chơng trình
- Biết đợc số kiểu liệu chuẩn: Nguyên, thực, kí tự, logic - Biết đợc cấu trúc chung khai bỏo bin
Kĩ năng.
- Sử dụng đợc kiểu liệu khai báo biến để viết đợc chơng trình đơn giản II Đồ dùng dạy học
Chn bÞ cđa giáo viên.
- Mỏy vi tớnh v mỏy chiếu projector dùng để chiếu ví dụ
- Tranh có chứa số khai báo biến để học sinhc họn – sai - Một số chơng trình mẫu viết sẵn
ChuÈn bị học sinh. - Sách giáo khoa
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. hớng dẫn giáo viên Hoạt động học sinh Phát vấn gợi ý : Mộtbài tập làm văn
em thờng viết có phần? Các phần có thứ tự khơng? Vì phải chia nh vậy? Yêu cầu học sinh nghiên cứu sách giáo khoa để trả lời cõu hi sau:
- Một chơng trình có cÊu tróc mÊy phÇn?
- 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
Lắng nghe suy nghĩ trả lêi : - Cã ba phÇn
- Có thứ tự : Mở bài, thân bài, kết luận - Dễ viết, dễ đọc, dễ hiểu nội dung Nghiên cứu sách giáo khoa, thảo luận trả lời
+ Hai phÇn :
[<phần khaibá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ìnhcon, 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 ;
(11)- 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
- Yêu cầu học sinh lấy ví dụ khai báo ngôn ngữ Pascal
- Yêu cầu học sinh lấy ví dụ khai báo biến ngôn ngữ Pascal
- Yêu cầu học sinh cho biết cấu trúc chung phần thân chơng trình ngôn ngữ lập trình Pascal
Tỡm hiu chơng trình đơn giản - Chiếu lên bảng chơng trình đơn giản ngơn ngữ C++
# include <stdio.h> void main()
{
Printf(“Xin chao cac ban”); }
- Hái : PhÇn khai báo chơng trình?
- Hỏi : Phần thân chơng trình, lệnh prìnt có chức g×?
- Chiếu lên bảng chơng trình đơn giản ngôn ngữ Pascal
Program VD1 ;
Var x,y:byte; t:word; Begin
t:=x+y; Writeln(t); readln; End
- Hái : PhÇn khai báo chơng trình?
- Hỏi : Phần thân chơng trình? Có lệnh thân chơng trình?
Yêu cầu học sinh lấy ví dụ chơng trình Pascal phần tên phần khai báo
- Cấu trúc : Uses tªn_th_viƯn; - VÝ dơ : Uses crt ;
- CÊu tróc : Const tên_hằng = giá_trị;
- Ví dụ : Const maxn=100;
- CÊu tróc : Var tên_biến=kiểu_dữ_liệu;
- Ví dụ : Var a, b, c : integer; Begin
D·y c¸c lƯnh; End
Quan sát tranh trả lời
- Phần khai báo có khai báo th viện stdio.h
- Phần thân {}
- Lệnh printf dùng để đa thông báo hỡnh
- Khai báo tên chơng trình : Program VD1;
- Khai b¸o biÕn : Var x, y:byte ;t:word;
Var x, y:byte; t:word; - Còn lại phần thân
- Lệnh gán, lệnh đa thông báo hình
Thảo luận trả lời Begin
Writeln(“Hello”); Readln;
End
2 Hoạt động : Tìm hiểu số liệu chuẩn.
hớng dẫn giáo viên Hoạt động học sinh Đặt vấn đề: Trong toán học, để thực
hiện đợc tính tốn ta cần phải có tập số Đó tập số nào?
- Diễn giải: Cũng tơng tự nh vậy, ngơn ngữ lập trình Pascal, để lập trình giải tốn, cần có tập hợp, tập hợp có giới hạn định
- Các em hiểu nôm na: Kiểu
Chú ý, Lắng nghe suy nghĩ trả lời: - Số tự nhiên, số nguyên, số hữu tỉ, số thực
(12)
liệu chuẩn tập hữu hạn giá trị, kiểu liệ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
Yêu cầu học sinh nghiên cứu sách giáo khoa, trả lời câu hỏi sau:
- Có kiểu liệu chuẩn ngôn ngữ Pascal?
- ngôn ngữ Pascal, có kiểu nguyên thờng dùng, phạm vi biểu diển loại?
- ngôn ngữ Pascal, có kiểu số thực thờng dùng, phạm vi biểu diễn loại?
- ngôn ngữ Pascal, có kiểu kí tự?
- ngôn ngữ Pascal, có kiểu logic, gồm giá trị nào?
Giỏo viờn giải thích số vấn đề cho học sinh:
+ Vì phạm vi biểu diễn loại kiểu nguyên khác nhau?
+ Miềm giá trị loại kiểu thực, số chữ số có nghĩa?
Phát vấn: Muốn tính toán giá trị : 7.5 ta phải sử dụng liệu gì?
một kiểu liệu Pascal?
Nghiên cứu sách giáo khoavà trả lêi - Cã kiĨu: KiĨu nguyªn, kiĨu thùc, kiĨu kÝ tù vµ kiĨu logic
- Cã loại: Byte, word, integer longint
- Cã lo¹i: real, extended
- Cã lo¹i: Char
- Cã loại: boolean, gồm phần tử: True False
Chú ý lắng nghe ghi nhớ
Suy nghĩ trả lời KiĨu Real
Hoạt động 3: tìm hiểu cách khai báo biến.
hớng dẫn giáo viên Hoạt động học sinh Yêu cầu học sinh nghiờn cu sỏch giỏo
khoa cho biết phải khai báo biến?
- Cấu trúc chung khai báo biến ngôn ngữ Pascal
- Cho ví dụ để khai báo biến nguyên biến kiểu kí tự
Treo tranh có chứa số khai báo yêu cầu học sinh chọn khai báo ngôn ngữ lập trình Pascal?
Var
x, y, z: word; n 1: real; X: longint; h: integer; i: byte;
Treo tranh cã chøa mét sè khai b¸o biÕn Pascal
- Hỏi: Có biến tất cả, Bộ nhớ phải cấp phát bao nhiêu?
Var x, y: word; z: longint; h: integer; i: byte;
Nghiên cứu sách giáo khoa trả lời - Mọi biến dùng chơng 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 địa nhớ nơi lu giữ giá trị biến
- Var <danh sách biến>: <kiểu liệu>;
Var x: word; y: char;
Quan sát tranh chọn khai báo
Var
x, y, z: word; i: byte;
Quan sát tranh tr¶ lêi - Cã biÕn
- tổng 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
(13)Những nội dung học
- Một chơng trình gồm có hai phần: Phần khai báo phần thân
- Cỏc kiu d liu chuẩn: Kiểu số nguyên, kiểu số thực, kiểu kí tự, kiểu logic - 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: Var tên_ biến: tên_kiểu_dữ_liệu;
Câu hỏi bào tập nhà
- Làm tập 1, 2, 3, 4, 5, schs giáo khoa, trang 35
- Xem tríc néi dung bài: Phép toán, biểu thức, lệnh gán, sách giáo khoa, trang 24 - Xem néi dung phô lôc B, sách giáo khao , trang 129: Một số kiểu liƯu chn, mét sè thđ tơc vµ hµm chn
Ngày soạn: 28/9/2009 Tiết 6
Đ6 Phép toán, biểu thức, lệnh gán I Mục tiêu
KiÕn thøc
- Biết đợc phép tốn thơng dụng ngơn ngữ lập trình - Biểu diễn đạt hình thức ngơn ngữ lập trình
- Biết đợc chức lệnh gán
- Biết đợc cấu trúc lệnh gán số hàm chuẩn trông dụng ngụn ng lp trỡnh Pascal
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
Chuẩn bị giáo viên
- S¸ch gi¸o khoa, tranh chøa c¸c 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ị - máy vi tính máy chiếu Projector
Chuẩn bị học sinh - Sách gi¸o khoa
III Hoạt động dạy – học
Hoạt động : Tìm hiểu số phép toán.
hớng dẫn giáo viên Hoạt động học sinh đặt vấn đề: để mô tả thao tác
thuật tốn, ngơn ngữ lập trình đếu sử dụng số khái niệm bản: Phép toán, biểu thức, gán giá trị
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 Pascal có phép tốn nhng đợc diễn đạt 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
- Hỏi : Phép Div, Mod đợc sử dụng cho kiểu liệu nào?
- Hỏi: Kết phép toán quan hệ thuộc kiểu liệu nào?
Chú ý lắng nghe
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Ư: <, <=, >, >=, =, <>
- Các phép toán logic: And, Or, Not - Chỉ sử dụng đợc cho kiểu nguyên - Thuộc kiểu logic
(14)Hàm Kiểu đối số Kiểu hàm số
bình phơng: SQR(X) I R Theo kiểu i s
Căn bậc hai: SQRT(X) I R R
Gái 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 ln(x) I R R
Lũy 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 hiƯn 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 Flase
c Các bớc tiến hành
hớng dẫn giáo viên Hoạt động học sinh Nêu vấn đề: toán học ta đợc làm
quen víi kh¸i niƯm biĨu thøc, h·y cho biÕt yếu tố xây dựng nên biểu thức - Nếu toán mà toán 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ì?
Treo tranh có chứa biểu thức toán học lên bảng, yêu cầu: Sử dơng c¸c phÐp to¸n sè häc, h·y biĨu diƠn biĨu thức toán học sau thành biểu thức ngôn ngữ lËp tr×nh
2a+5b+c xy
2z
x+y + x 2
- 2z 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 phÐp to¸n
Nêu vấn đề: tố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ứac hàm , kiểu đối số kiểu hàm số
- cho biÓu thøc: -b + h·y biÓu diễn biểu thức sang biểu thức ngôn ngữ lËp tr×nh
Nêu vấn đề : 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
Suy nghÜ trả lời
- Gồm hai phần: Toán hạng toán tử - Biểu thức số học
Quan sát trả lời 2*a+5*b+c
x*y/(2*z)
((x+y)/(1 – (2 /z)))+(x*x/(2*z))
- Thực ngoặc trớc; Ngoài ngoặc sau Nhân, chia, công, trừ sau
Suy nghĩ trả lời
Hm tri tuyt i, hàm bậc hai, hàm sin, hàm cos
- Quan sát tranh vẽ, nghiên cứu sách giáo khoa 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
(15)là biểu thức gì?
- HÃy lấy vÝ dơ vỊ biĨu thøc quan hƯ?
- 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 biĨu thøc quan hƯ?
- Thø tù thùc hiƯn cđa 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?
Nêu vấn đề: Các biểu thức quan hệ đợc liên kết với phép toán Logic đợc gọi biểu thức Logic
- H·y cho mét sè vÝ dơ vỊ biĨu thøc logic
- to¸n häc ta cã biĨu thøc 5<=x<=11, 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 qu¶ cđa 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ơ: 2*x<y - CÊu tróc chung:
<BT1> <phép toán qh> <BT2> + Tính giá trị biĨu thøc
+ Thùc hiƯn phÐp to¸n quan hƯ
- KiĨu logic
Chú ý theo dõi dẫn dắt giáo viên suy nghĩ để trả lời
- VÝ dơ: (A>B) or ((X+1)<Y) vµ (5>2) and ((3+2)<7)
- Biểu thức ngôn ngữ lập trình : (5<=x) and (x<=11)
+ Thùc hiƯn c¸c biĨu thøc quan hƯ + Thùc hiƯn phÐp to¸n logic
- KiÓu logic
- Häc sinh suy nghĩ trả lời cách điền vào bảng
Hoạt động : Tìm hiểu lệnh gán.
hớng dẫn giáo viên Hoạt động học sinh - Giới thiệu số ví dụ lệnh gán
trong Pascal nh sau: x:=4+8;
- Giải thích: Lấy cộng 8, đem kết đặt vào x Ta đợc x=12
- Hỏi : HÃy cho biết chức lệnh gán?
- Yêu cầu học sinh nghiên cứu sách giáo khoa 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 hai
-b
- Giíi thiƯu thªm vÝ dụ: Cho chơng trình
Var i,z:integer; Begin
z:=4; i:=6; z:=z – 1; i:=i+1;
writeln(“i=”,i); writeln(“z=”,z); readln;
End
- Hỏi: Chơng trình in hình giá trị bao nhiêu?
- Quan sát ví dụ suy nghĩ để trả lời
+ Tính giá trị biểu thức
+ Gán giá trị tính đợc tên biến <tên_biến>:=<biểu_thức>;
x:=(-b+sqrt(b*b – 4*a*c))/(2*a);
(16)- Thực chơng trình để học sinh
kiĨm nghiƯm kÕt qu¶ tù suy ln - Quan sát kết chơng trình IV Đánh giá cuối bài.
Nhng ni dung học.
- C¸c phÐp to¸n Turbo Pascal: Sè häc, quan hƯ vµ logic - C¸c biĨu thøc Turbo Pascal: Sè häc, quan hƯ logic - Cấu trúc lệnh gán Turbo Pascal: tên_biến :=biểu_thức; Câu hỏi tập vỊ nhµ
- Lµm bµi tËp 5, 6, 7, 8, s¸ch gi¸o khoa, trang 35 – 36;
(17)Ngày soạn: 5/10/2009 Tiết 7 Đ7 Các th tc chun vo/ra n gin
Đ8 Soạn thảo dịch, thực hiệu chỉnh chơng trình
I Mơc tiªu KiÕn thøc
- Biết đợc ý nghĩa thủ tục và/ra chuẩn lập trình.
- Biết đợc cấu trúc chung thủ tục vào/ra ngôn ngữ lập trình Pascal - Biết đợc bớc để hồn thành chơng trình
- BiÕt c¸c file chơng trình Turbo Pascal 7.0 Kĩ năng.
- Vit ỳng lnh vo/ra d 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 li
II Đồ dùng dạy học Chuẩn bị giáo viên
- Sách giáo khoa, tranh chøa c¸c biĨu thøc to¸n häc, m¸y chiếu Projector, máy vi tính, số chơng trình viết sẵn
Chuẩn bị học sinh. - S¸ch gi¸o khoa
III Hoạt động dạy – học
Hoạt động 1: tìm hiểu thủ tục nhập liệu từ bàn phím.
hớng dẫn giáo viên Hoạt động học sinh nêu vấn đề: Khi giải
tốn, ta phải đa liệu vào để máy tính xử lí, việc đa liệu lệnh gán làm cho chơng trình có tác dụng với liệu cố định Để chơng trình giải đợc nhiều toán hơn, ta pahỉ sử dụng thủ tục nhp d liu
- Yêu cầu học sinh nghiên cứu sách giáo khoa 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 ax+b=0, ta phải nhập vào đại lợng nào? Viết lệnh nhập?
Chiếu chơng trình Pascal đơn giản có lệnh nhập giá trị có hai 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 học sinh thực nhập liệu cho chơng trình
Chú ý lắng nghe dẫn dắt giáo viên
- Nghiên cứu sách giáo khoa suy nghĩ để trả li
Read(<tên_biến_1>, ,<tên_biến_k>); Readln(<tên_biến_1>, ,<tên_biến_k>); - Phải nhập giá trị cho hai biến: a, b - Viết lệnh: Readln(a,b);
Quan sát chơng trình ví dụ giáo viên
- Nhng giá trị phải đợc gõ cách dấu cách kí tự xuống dịng
- Lên bảng thực nhập theo yêu cầu giáo viên
(18)
hng dn giáo viên Hoạt động học sinh Dẫn dắt: sau xử lí xong, kết
tìm đợc đợc lu nhớ Để thấy đợc kết hình ta sử dụng thủ tục xut d liu
- Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết cấu trúc chung thủ tục xuất 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 ax+b=0, ta phải đa hình giá trị nghiệm b/a, ta phải viÕt lƯnh nh thÕ nµo?
Chiếu chơng trình Pascal đơn giản Program vb;
Var x, y, z:integer; Begin
Writeln(“nhap vao hai so:”); 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 để học sinh 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?
- Cho vÝ dô thĨ víi biÕn c kiĨu Char vµ r kiĨu real
Chó ý l¾ng nghe dÉn dắt giáo viên
- Nghiên cứu sách giáo khoa 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 : Writeln(-b/a);
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
- Dnh 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);
hớng dẫn giáo viên Hoạt động học sinh Đặ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 sách giáo khoa cho biết tên file chơng trình đó?
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
Tham khảo sách giáo khoa trả lời Turbo.exe
Turbo.tpl Graph.tpu
Egavga.bgi vµ file *.chr Học sinh quan sát ghi nhí
Hoạt động 3: Tập soạn thảo chơng trình dịch lỗi cú pháp.
hớng dẫn giáo viên Hoạt động học sinh Soạn mt chng trỡnh lm vớ d, lu
ch-ơng trình, dịch lỗi
- Dựng mỏy chiu vt th để minh họa thap tác lu file chơng trình biờn dch
Quan sát ghi nhớ
- Lu: F2
(19)
Soạn chơng trình, hỏi lỗi cú pháp chơng trình, gọi học sinh dịch lỗi sửa
Program vd1 var x:integer; Begin
Write(‘Nhap mot so nguyen duong); readln(x);
y:=sqrt(x); write(y); End
Quan sát 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
Hoạt động 4: Tập thực chơng trình tìm lỗi thuật tốn để hiệu chỉnh. hớng dẫn giáo viên Hoạt động học sinh Thực chơng trình đợc viết
trên, nhập liệu, giới thiệu kết - Dùng máy chiếu vật thể để minh hạo thao tác thực chơng trình
- Hỏi : Nhóm phím dùng để thực chơng trình?
- Yêu cầu học sinh nhập liệu thực chơng trình
Giới thiệu chơng trình giải phơng trình ax+b=0
Var Begin
Readln(a, b);
If a<>0 then write(-b/a) else write(“PTVN”); Readln;
End
- Yêu cầu học sinh tìm test để chứng minh chơng trình sai
1 Quan sát giáo viên thực tham khảo sách gi¸o khoa
CTRL_F9
Quan sát yêu cầu giáo viên độc lập suy nghĩ để tìm test
a b x VSN
IV Đánh giá cuối bài.
Nhng ni 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 thảo chơng trình Dịch lỗi cú pháp Thực chơng trình Tìm lỗi thuất tốn hiệu chỉnh
C©u hái vµ bµi tËp vỊ 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;
- Đọc trớc nội dung bài: Soạn thảo, dịch, thực hiệu chỉnh chơng trình, sách giáo khoa, trang 32
- Viết chơng trình nhập độ dài bán kính t icnhs chu vi diện tích hìnhtrịn tơng ng
- Làm tập 9, 10, sách giáo khoa, trang 36
- Đọc trớc nội dung phần tập thực hành số 1, s¸ch gi¸o khoa, trang 33 - Xem phơ lục B, sách giáo khoa, trang 122: Môi trờng Turbo Pascal
(20)Ngày soạn: 12/10/2009 Tiết 8, 9 Đ8 Bài thực hành số
I Mơc tiªu.
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 chơng trình thực chơng trình
kĩ năng
- Son c chng trỡnh, lu lên đĩa, dịch lỗi cú pháp, thực tìm lỗi thuật tốn hiệu chỉnh
- Bớc đầu biết phân tích hồn thành chơng trình đơn giản Turbo pascal Thái độ
- Tự giác, tích cực chủ động thực hành II Đồ dùng dạy học
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 Chuẩn bị học sinh
- Sách giáo khoa, 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.
hớng dẫn giáo viên Hoạt động học sinh Chiếu chơng trình lên bảng Yêu cầu
học sinh thực nhiêmj 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 - 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
Quan sát bảng, độc lập soạn chơng trình vào máy
F2 Alt_F9 Ctrl_F9
x1=1.00 x2=2.00 Enter
Ctrl_F9
Thông báo lỗi
Do bậc hai cảu 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,);
Hoạt động 2: Rèn luyện kĩ lập chơng trình. vẽ hình trịn tính diện tích
hớng dẫn giáo viên Hoạt động học sinh Định hớng để học sinh phõn tớch bi
toán
- Dữ liệu vào: - Dữ liệu ra: - Cách tính:
Yêu cầu học sinh soạn chơng trình
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:=sl-s2;
(21)lu lên đĩa
- Quan s¸t híng dÉn tõng häc sinh lóc thùc hµnh
Yêu cầu học sinh nhập liệu thông báo kết
a=3 a=-3
- Soạn thảo 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
- Với a=3, ta đợc:s=9(Pi-2)=10.26 - Với a=-3, kết khơng đúng, độ dài cạnh phải số dơng
IV Đánh giá cuối bài. Những nội dung học
- Các bớc để hồn thành chơng trình:
+ Phân tích tốn để xác định liệu và, liệu + Xác đinh thuật toỏn
+ Soạn chơng tình vào máy + Lu giữ chơng trình
+ Biên dịch chơng trình
+ Thực hiệu chỉnh chơng trình Câu hỏi vµ bµi tËp vỊ nhµ
- Viết chơng trình nhập vào độ dài ba cạnh tam giác tính chu vi, diện tích tam giác ú
- Cho chơng trình sau: Program bt1;
Var r,s1,s2,s:real; Begin
write(‘nhap r’); readln(r);
s1:=4*r*r; s2:= r*r*pi; s:=s1 – s2; write(s:6:2); readln; End
Hỏi : chơng trình thực công việc gì, kết in hình bao nhiêu? - Làm tập 7, 8, 9, 10, trang 36
+ Soạn chơng trình + Dịch lỗi thực
+ Nhập liệu kiểm tra kết
(22)Ngày soạn: 26/10/2009 Tiết 10 Bài tập
I- Mơc tiªu
- Biết khai báo biến hợp lý đỡ tốn nhớ
- Biết viết biểu thức tốn học sang ngơn ngữ Pascal - Biết viết mơt số chơng trình đơn giản phần tập II Đồ dùng dạy học
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 Chuẩn bị học sinh
- Sách giáo khoa, sách tập tập viết nhà III- Nội dung tập
I- Bài tập SGK: Bài 4: đáp án b d Bài 5: đáp án c
Bµi 6: (1+z)*((x+y/z)/(a-1/(1+x*x*x)))
Bµi 8: ((y<1) or (y=1)) and ((y>abs(x)) or (y=abs(x))) Hc (y<=1) and (y>=abs(x))
Bµi (trang 36)
Hoạt động giáo viên Hoạt động học sinh 1 Định hớng để học sinh phân tích
to¸n
+ Cho học sinh nhận xét toán
-Dữ liệu vào - Dữ liệu - Cách tính
Cho học sinh lên viết chơng trình (mỗi em viết phần chơng trình)
Nếu a =2 kết nh nào?
Chiếu toán lên hình lớn cho test kết toán
HS: din tích phần gạch 1/2 diện tích hình trịn tâm 0(0,0) bán kính R = a Lu ý: số Pascal đợc ký hiệu Pi Giá trị Pi 3,1415926536 - Dữ liệu vào : a
- D÷ liƯu ra: S - S:= 1/2Pi*r2
Chơng trình:
Program dien_tich; Var a: Real;
Begin
Write(‘nhap gia tri a (a>0):’);Readln(a);
Write(‘Dien tich phan gach lµ: ‘,a*a*Pi/2:2:4);
Readln End
NÕu a = 2, kết 6.2832
Bài 10:
Hoạt động giáo viên Hoạt động học sinh 1 Định hớng để học sinh phân tớch
bài toán -Dữ liệu vào - Dữ liệu - C¸ch tÝnh
Cho học sinh thảo luận theo nhóm (5 phút) Gọi đại diện nhóm lên trỡnh by
Chiếu toán lên hình lớn cho
-Dữ liệu vào : h - Dữ liƯu : V - C¸ch tÝnh
V:=sqrt(2*g*h)
Đại diện nhóm lên trình bày bảng Chơng trình
(23)test kết to¸n Uses crt; Const g=9.8; Var v, h:Real; Begin
Write(’nhap cao cua vat h = ’);Readln(h);
V:=sqrt(2*g*h);
Writeln(’Van toc cham dat la V = ’, V:10:2,’ m/s’);
Readln End
II- Mét sè bµi tập khác:
Bài1: Viết chơng trình tính đa kết hình biểu thức sau:
IV- Cđng cè:
- C¸ch khai b¸o biÕn
- Viết đuợc chơng trình đơn giản Bài tập nhà:
a) T = 5x + 9y
CHƯƠNG III Tổ chức rẽ nhánh lặp I Mục tiêu chơng.
Kiến thức : Học sinh cần:
- Hiểu 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 đợc kĩ lập trình có cấu trúc
kĩ năng.
- Cú kh phân tích tốn đơn giản để chọ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
Thái độ
- Tiếp tục xây dựng lịng u thích giải tố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, chon 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 cđa 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 vỊ 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
Ngày soạn: 29/10/2009 Tiết 12
Đ9 Cấu trúc rẽ nhánh I Mục tiªu
KiÕn thøc.
- Học sinh biết đợc ý ngiã 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
- Biết cách sử dụng hai dạng cấu trúc rẽ nhánh lập trình: dạng thiếu dạng đủ
(24)- 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 gin
II Đồ dùng dạy học. 1 Chuẩn bị giáo viên.
- Máy vi tính, máy chiếu Overhead, máy chiếu Projector, bìa trong, bút dạ, chơng trình mẫu giải phơng trình bậc hai ax2 + bx + c = 0.
ChuÈn bị học sinh. - Sáhc giáo khoa
(25)Hoạt động 1: Tìm hiểu ý nghĩa tổ chức rẽ nhánh
hớng dẫn giáo viên Hoạt động học sinh Nêu ví dụ thực tiễn minh họa cho tổ
chøc rÏ nh¸nh:
Chiều mai trời khơng ma An xem đá bóng, trời ma An xem ti vi nhà
- Yêu cầu học sinh tìm thêm số ví dụ t¬ng tù
- Yêu cầu học sinh đa cấu trúc chung diễn đạt
- Yêu cầu học sinh lấy ví dụ có cấu trúc chung dạng khuyết đa cấu trúc chung
Nếu bớc để kết luận nghiệm phơng trình bậc hai ax2 +bx+c = 0.
- Chia nhóm lớp thành nhóm yếu cầu vẽ sơ đồ thực bớc bìa
- Chọn hai để chiếu lên bảng, gọi học sinh thuộc nhóm khác nhận xét đánh giá kết bổ sung
Tiểu kết cho hoạt động cách bổ sung xác tập học sinh
1 ý theo dõi dẫn dắt ví dụ giáo viên để suy nghĩ tìm ví dụ tơng tự
- Nếu đội tuyển bóng đá Việt Nam thắng đội Indonesia đợc đá tiếp tranh huy chơng vàng với Thái Lan, khơng thắng Indonesia Việt Nam tranh huy ch-ơng đồng với Mianmar
- Nếu không
- NÕu lµm xong bµi tËp sím An sang nhà Ngọc chơi
Nếu
Theo dõi thc yêu cầu giáo viên
+ Tính delta
+ Nếu delta<0 kết luận phơng trình vô nghiệm
+ Nếu delta>=0 kết luận phơng trình có nghiệm:
x = (-b+sqrt(delta))/(2a) x = (-b – sqrt(delta))/(2a)
- Thực vẽ sơ đồ (giống nh phần nội dung)
- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác
Quan sát hình vẽ nhóm khác giáo viên để ghi nhớ
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
hớng dẫn giáo viên Hoạt động học sinh Yêu cầu học sinh nghiên cứu sách giá
khoa dựa vào ví dụ tổ chức rẽ nhánh để đa cấu chúc chung lệnh rẽ nhánh
Nêu vấn đề trờng hợp khuyết: Khi không dề cập dến việc sảy điều kiện khơng thảo mãn, ta có cấu trúc nh nào?
Yêu cầu học sinh vẽ sơ đồ thực lệnh rẽ nhánh dạng khuyết dạng
Nghiên cứu sách giáo khoa trả lời If <®iỊu kiƯn> then <lƯnh 1> else <lƯnh 2>;
Học sinh ý lắng nghe trả lời: - Khi ta có lệnh khuyết
If <®iỊu kiƯn> then <lƯnh>;
(26)u lờn bng
Gơi ý cần thiÕt cđa lƯnh ghÐp §a cÊu tróc cđa lƯnh ghÐp
- Khi giải thích lệnh, lệnh 1, lệnh 2, giáo viên nói: Sau then else em thấy đợc phép đặt lệnh Trong thực tế, thờng lại nhiều lệnh
- Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết cấu trúc để ghép cáclệnh thành lớp
Theo dõi dẫn dắt giáo viên để trả lời
- Ta ph¶i nhãm nhiỊu lƯnh thµnh mét lƯnh
- CÊu tróc cđa 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
hớng dẫn giáo viên Hoạt động học sinh Nêu nội dung, mục đích u cầu
vÝ dơ mét
Viết chơng trình nhập vào độ dài hai cạnh hình chữ nhật tính chu vi, diện tích hình chữ nhật
- Chơng trình em viết, cho biết có hạn chế chơng trình em?
- Hớng giải em nh nào?
- Yêu cầu học sinh nhà tiếp tục hoàn thiện chơng trình
Nêu nội dung tập, mục đích yêu cầu tập
Tìm nghiệm phơng trình bậc hai - Hãy nêu bớc để trả lời nghiệm phơng trình bậc hai
- Trong toán ta cần lệnh rẽ nhánh Dạng nào?
- Tổ chức lớp thành 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 lên bảng, gọi học sinh nhóm khác nhận xét đánh giá - Chuẩn hóa lại chơng trình cho lớp chơng trình mẫu giáo viên
Chó ý dÉn d¾t cđa giáo viên
- Khi nhp di õm dẫn đến chơng trình trả lời chu vi, diện tích âm Điều khơng có thực tế
- Dùng lệnh rẽ nhánh để kiểm tra giá trị độ dài cạnh nhập vào
- Nếu độ dài dơng tính diện tích ngợc lại thơng báo độ dài sai
Ghi đề bài, ý mục đích yêu cầu tập
+ TÝnh delta
+ Nếu delta<0 kết luận phơng trình vô nghiệm
+ Nếu delta>=0 kết luận phơng trình cã nghiÖm:
x = (-b+sqrt(delta))/(2a) x = (-b – sqrt(delta))/(2a)
- Có thể sử dụng hai lệnh rẽ nhánh dạng khuyết, sử dụng lệnh dạng đủ
- Th¶o luận viết chơng trình lên bìa
- thông báo kết viết đợc
- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác
- Ghi chép nội dung chơng trình giáo viên kết luận
IV Đánh giá cuối bài. Những nội 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ơ đồ thực cấu trúc rẽ nhánh IF
C©u hái tập nhà.
- Trả lời câu hỏi 1, 2, 4, Sách giáo khoa, trang 50
(27)- Viết chơng trình giải phơng trình ax4 + bx2 + c = o.
- Xem trớc nội dung bài: Cấu trúc lặp, s¸ch gi¸o khoa, trang 42
- Xem néi dung phơ lơc B, s¸ch gi¸o khoa trang 131: LƯnh rẽ nhánh lặp - Xem nội dung phụ lơc C, s¸ch gi¸o khoa trang 139: LƯnh rÏ nh¸nh lặp
Ngày soạn: 5/11/2009 Tiết 13
Đ10 Cấu trúc lặp (tiết 1) I Mục tiêu
KiÕn thøc
- Biết đợc ý nghĩa cấu trúc lặp
- Biết đợc cấu trúc chung lệnh lặp for ngơn ngữ lập trình Pascal - Biết sử dụng hai dạng lệnh lặp For ngôn ngữ lập trình Pascal kĩ năng
- Bớc đầu sử dụng đợc lệnh lặp For để lập trình giải đợc số tốn đơn gin
II Đồ dùng dạy học.
Chuẩn bị giáo viên.
- Máy vi tính, máy chiếu Overhead, bìa trong, bút dạ, máy chiếu Projector, sách giáo khoa, sách giáo viên
Chuẩn bị học sinh. - Sách gi¸o khoa
(28)hớng dẫn giáo viên Hoạt động học sinh Nếu toán đặt vấn đề nh toán
- Hãy xác định cơng thức tốn học để tính tổng?
- Gợi ý phơng pháp: Ta xem S nh thùng, số hạng nh ca có dung tích khác nhau, việc tính tổng tơng tự việc đổ ca nớc vào thùng S
- Có lần đổ nớc vào thùng? - Mỗi lần đổ lợng bao nhiêu? Lần thứ i đổ bao nhiờu?
- Phải viết lệnh?
Nêu toán đặt vấn đề nh toán - Em hiểu nh cách tính tiền gửi tiết kiệm tốn
- Từ đó, lập cơng thức tính tiền thu đ-ợc sau tháng thứ
- Ta phải thực tính lÇn nh vËy?
- Dẫn dắt: Chơng trình đợc viết nhơ dài, khó đọc dễ sai sót Cần có cấu trúc điều khiển việc lặp lại thực công việc
- Trong tất ngơn ngữ lập trình có cấu trúc điều khiển việc thực lặp lại so với số lần định trớc
Chia líp thµnh nhãm nhãm viÕt thuật toán giải toán 1, nhóm viết thuật toán giải toán lên bìa
- Thu kết quả, chiếu kết lên bảng Gọi học sinh nhóm khác nhận xét đánh giá
- ChuÈn hãa l¹i thuËt toán cho học sinh lần cuối
Chỳ ý quan sát toán đặt vấn đề - Rất khó xác định đợc cơng thức
- Theo dâi gỵi ý
- Phải thực 100 lần đổ nớc - Mỗi lần đổ
a+i - Ph¶i viÕt 100 lệnh
Chú ý quan sát trả lời câu hỏi - Với số tiền S, sau tháng có tiền lÃi 0,015*S
- Số tiền đợc cộng vảôtng số tiền ban đầu để tính lãi cho tháng - S: = S + 0,015*S;
- Phải thực tính 12 lần nh
- Tập trung theo dõi giáo viên trình bày
Tho lun theo nhúm viết thuất toán: Bớc 1: N <– 0; S <– 1/a;
Bíc 2: N <– N+1;
Bớc 3: : N>100 chuyển đến bớc Bớc : S <– S+1/(a+N),
Quay l¹i bíc
Bớc : Đa S hình kết thúc - Thơng báo kết viết đợc
- Nhận xét, đánh giá kết nhóm khác
- Theo dâi vµ ghi nhí
Hoạt động 2: Tìm hiểu lệnh lặp For ngơn ngữ lập trình Pascal.
hớng dẫn giáo viên Hoạt động học sinh Yêu cầu học sinh nghiên cứu sáhc giáo
khoa vµ cho biÕt cÊu tróc chung cđa For? - Gi¶i thÝch:
< Biến đếm>: Là biến kiểu nguyên, kí tự - Hỏi : ý nghĩa <Giá trị đầu> <Giá trị cuối>, Kiểu liệu chúng
- Hái: Trong toán gửi tiết kiệm, <Giá trị đầu> <Giá trị cuối> bao nhiêu?
Đọc sách giáo khoa vµ trë lêi
For <Biến đếm>:=<giá trị đầu> To <Giá trị cuối> Do <lệnh cần lặp>;
- Dùng để làm giới hạn cho biến đếm - Cùng kiểu với <Biến đếm>
<Gi¸ trị đầu> 1; <Giá trị cuối> 12
(29)- Hái : Trong bµi toán tính tổng <Giá trị đầu> <Giá trị cuối> bao nhiªu?
- Dẫn dắt : Những lệnh cần lặp lại ta đặt sau Do
- Hỏi : Khi nhiều lệnh khác cần lặp lại ta viết nh nào?
- Hỏi : Trong toán gửi tiết kiệm, lệnh cần lặp lại?
- Hỏi : Trong toán tính tổng, lệnh cần lặp lại?
- Hỏi : Em có nhận xét giá trị <Giá trị đầu> <Giá trị cuối> ?
- Dẫn dắt: Khi lệnh For đợc gọi For tiến Ngơn ngỡ lập trình Pascal cịn có dạng For khác gọi For lùi
Yêu cầu: HÃy trình bày cấu trúc chung For lïi
- Hái : So s¸nh <Giá trị đầu> <Giá trị cuối> ?
- Hỏi : Trong hai toán trên, dạng lệnh For phù hợp?
- Phải sư sơng cÊu tróc lƯnh ghÐp
S : = S + 0,015*S; S : = S + a+i
<Giá trị đầu> <Giá trị cuối>
Nghiờn cu sỏch giáo khoa, suy nghĩ, so sánh với cấu trúc For tiến để trả lời For <biến đếm>:=<giá trị cui>
Downto <giá trị đầu> Do <lệnh cần lặp>; <Giá trị đầu> <Giá trị cuối>
- Sử dụng dạng For tiến phù hợp
Hoạt động 3: Rèn luyện kĩ vận dụng lệnh lặp For.
hớng dẫn giáo viên Hoạt động học sinh Nêu nội dung toán Mục tiêu
xác định đợc việc cần làm + Xác định giá trị đầu, giá trị cuối + Xác định lệnh cn lp li
- Yêu cầu học sinh tiếp tục hoàn thành chơng trình nhà
2 Nêu nội dung toán2, mục tiêu viết đợc chơng trìn hồn thiện
- Định hớng vấn đề - Chia lớp thành nhóm Yêu cầu học sinh viết chơng trình lên giấy bìa - Thu phiếu học tập, chiếu lên bảng, gọi học sinh nhóm khác nhận xét đánh giá
- Chính xác hóa làm học sinh chơng trình mẫu
Chú ý lắng nghe trả lời yêu cầu giáo viên
- Giá trị đầu 1, Giá trị cuối 100 S : = S +
a+i
2 Chó ý lắng nghe nội dung yêu cầu
- Cùng thảo luận viết chơng trình theo nhóm
- Quan sát chơng trình giáo viên híng dÉn vµ ghi nhí
IV Đánh giá cuối bài. Những nội dung học.
- Cấu trúc chung lệnh lặp For Sơ đồ thực lệnh lậnh lặp For Câu hỏi tập nhà.
- Giải tập 5.a, 6, sách giáo khoa, trang 51
- Xem trớc phần nội dung cấu trúc lặp có số lần cha xác định While - Xem nội dung phụ lục B, sách giáo khoa trang 131 : Lệnh rẽ nhánh lặp - Xem nội dung phụ lục C, sách giáo khoa trang 139 : Lệnh rẽ nhánh lặp
(30)Đ10 Cấu trúc lặp (tiết 2) I Mơc tiªu
KiÕn thøc
- Biết đợc ý nghĩa cấu trúc lặp
- Biết đợc cấu trúc chung lệnh lặp for ngơn ngữ lập trình Pascal - Biết sử dụng hai dạng lệnh lặp For ngơn ngữ lập trình Pascal kĩ năng
- Bớc đầu sử dụng đợc lệnh lặp For để lập trình giải đợc số bi toỏn n gin
II Đồ dùng dạy học.
Chuẩn bị giáo viên.
- Máy vi tính, máy chiếu Overhead, bìa trong, bút dạ, máy chiếu Projector, sách giáo khoa, sách giáo viên
Chuẩn bị học sinh. - S¸ch gi¸o khoa
(31)hớng dẫn giáo viên Hoạt động học sinh Nếu toán đặt vấn đề nh toán
- Hãy xác định cơng thức tốn học để tính tổng?
- Gợi ý phơng pháp: Ta xem S nh thùng, số hạng nh ca có dung tích khác nhau, việc tính tổng tơng tự việc đổ ca nớc vào thùng S
- Có lần đổ nớc vào thùng? - Mỗi lần đổ lợng bao nhiêu? Lần thứ i đổ bao nhiêu?
- Ph¶i viÕt bao nhiªu lƯnh?
Nêu tốn đặt vấn đề nh toán - Em hiểu nh cách tính tiền gửi tiết kiệm toán
- Từ đó, lập cơng thức tính tiền thu đ-ợc sau tháng thứ
- Ta ph¶i thùc hiƯn tính lần nh vậy?
- Dn dắt: Chơng trình đợc viết nhơ dài, khó đọc dễ sai sót Cần có cấu trúc điều khiển việc lặp lại thực công việc
- Trong tất ngôn ngữ lập trình có cấu trúc điều khiển việc thực lặp lại so với số lần định trớc
Chia líp thµnh nhãm nhóm viết thuật toán giải toán 1, nhóm viết thuật toán giải toán lên bìa
- Thu kt quả, chiếu kết lên bảng Gọi học sinh nhóm khác nhận xét đánh giá
- ChuÈn hóa lại thuật toán cho học sinh lần cuối
Chú ý quan sát toán đặt vấn đề - Rất khó xác định đợc cơng thức
- Theo dâi gỵi ý
- Phải thực 100 lần đổ nớc - Mỗi lần đổ
a+i - Ph¶i viÕt 100 lƯnh
Chó ý quan sát trả lời câu hỏi - Với số tiền S, sau tháng có tiền l·i lµ 0,015*S
- Số tiền đợc cộng vảơtng số tiền ban đầu để tính lãi cho tháng - S: = S + 0,015*S;
- Ph¶i thùc hiƯn tÝnh 12 lÇn nh vËy
- TËp trung theo dõi giáo viên trình bày
Tho lun theo nhóm để viết thuất tốn: Bớc 1: N <– 0; S <– 1/a;
Bíc 2: N <– N+1;
Bớc 3: : N>100 chuyển đến bớc Bớc : S <– S+1/(a+N),
Quay l¹i bíc
Bớc : Đa S hình kết thúc - Thông báo kết viết đợc
- Nhận xét, đánh giá kết nhóm khác
- Theo dâi vµ ghi nhí
Hoạt động 2: Tìm hiểu lệnh lặp For ngơn ngữ lập trình Pascal.
hớng dẫn giáo viên Hoạt động học sinh Yêu cầu học sinh nghiên cứu sáhc giáo
khoa vµ cho biÕt cÊu tróc chung cđa For? - Gi¶i thÝch:
< Biến đếm>: Là biến kiểu nguyên, kí tự - Hỏi : ý nghĩa <Giá trị đầu> <Giá trị cuối>, Kiểu liệu chúng
- Hỏi: Trong toán gửi tiết kiệm, <Giá trị đầu> <Giá trị cuối> bao nhiêu?
Đọc sách giáo khoa trở lời
For <Biến đếm>:=<giá trị đầu> To <Giá trị cuối> Do <lệnh cần lặp>;
- Dùng để làm giới hạn cho biến đếm - Cùng kiểu với <Biến đếm>
<Giá trị đầu> 1; <Giá trị cuối> lµ 12
(32)- Hái : Trong toán tính tổng <Giá trị đầu> <Giá trị cuối> bao nhiêu?
- Dn dt : Những lệnh cần lặp lại ta đặt sau Do
- Hái : Khi nhiỊu lƯnh kh¸c cần lặp lại ta viết nh nào?
- Hỏi : Trong toán gửi tiết kiệm, lệnh cần lặp lại?
- Hỏi : Trong toán tính tổng, lệnh cần lặp lại?
- Hái : Em cã nhËn xÐt g× giá trị <Giá trị đầu> <Giá trị cuối> ?
- Dẫn dắt: Khi lệnh For đợc gọi For tiến Ngơn ngỡ lập trình Pascal cịn có dạng For khác gọi For lùi
Yêu cầu: HÃy trình bày cấu trúc chung cña For lïi
- Hái : So sánh <Giá trị đầu> <Giá trị cuối> ?
- Hỏi : Trong hai toán trên, dạng lệnh For phù hợp?
- Ph¶i sư sơng cÊu tróc lƯnh ghÐp
S : = S + 0,015*S; S : = S + a+i
<Giá trị đầu> <Giá trị cuối>
Nghiên cứu sách giáo khoa, suy nghĩ, so sánh với cấu trúc For tiến để trả lời For <bin m>:=<giỏ tr cui>
Downto <giá trị đầu> Do <lệnh cần lặp>; <Giá trị đầu> <Giá trị cuối>
- Sử dụng dạng For tiến phï hỵp
Hoạt động 3: Rèn luyện kĩ vận dụng lệnh lặp For.
hớng dẫn giáo viên Hoạt động học sinh Nêu nội dung toán Mục tiêu
xác định đợc việc cần làm + Xác định giá trị đầu, giá trị cuối + Xác định lệnh cần lặp lại
- Yªu cầu học sinh tiếp tục hoàn thành chơng trình nhµ
2 Nêu nội dung tốn2, mục tiêu viết đợc chơng trìn hồn thiện
- Định hớng vấn đề - Chia lớp thành nhóm u cầu học sinh viết chơng trình lên giấy bìa - Thu phiếu học tập, chiếu lên bảng, gọi học sinh nhóm khác nhận xét v ỏnh giỏ
- Chính xác hóa làm học sinh chơng trình mẫu
Chú ý lắng nghe trả lời yêu cầu giáo viên
- Giá trị đầu 1, Giá trị cuối 100 S : = S +
a+i
2 Chú ý lắng nghe nội dung yêu cầu
- Cùng thảo luận viết chơng trình theo nhóm
- Quan sát chơng trình giáo viên hớng dẫn ghi nhớ
IV Đánh giá cuối bài. Những nội dung học.
- Cấu trúc chung lệnh lặp For Sơ đồ thực lệnh lậnh lặp For Câu hỏi tập nh.
- Giải tập 5.a, 6, sách giáo khoa, trang 51
(33)Ngày soạn: 19/11/2009 Tiết 15 Đ10 Cấu trúc lặp (tiết 3)
I Mơc tiªu
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 máy gặp lệnh lặp While
Kí năng.
- Phõn bit đợ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ố toán đơn giản
II Đồ dùng dạy học
Chuẩn bị giáo viên.
- Máy vi tính, máy chiếu Overhead, Projector, sách giáo khoa, sách giáo viên Chn bÞ cđa häc sinh
- S¸ch gi¸o khoa
III Hoạt động dạy – học
Hoạt động : Tìm hiểu ý nghĩa cấu trúc lặp có số lần cha xác định hớng dẫn giáo viên Hoạt động học sinh Hoạt động
a Chiếu nội dung toán
- Hỏi : Sự khác toán với toán viết tiết trớc?
- Hỏi : Lặp lại lần? - Hỏi : Lặp đến nào?
b Chiếu nội dung toán
- Hỏi : Sự khác toán với toán giải tiết trớc?
- Hỏi: Số lần lặp lệnh? - Hỏi : Lặp đến nào?
c Tiểu kết vấn đề: Qua hai ví dụ ta thấy có dạng tốn có lặp lại số lệnh nhng trớc số lần lặp Cần có cấu trúc điều khiển lặp lại công viêc định thỏa mãn điều kiện
a Chú ý lắng nghe, quan sát suy nghĩ để trả lời
- Bài trớc: CHo giới hạn N -Bài này: Cho giới hạn S - Cha xác định đợc
- Đến điều kiện 1/a+N < 0,0001 đợc thỏa mãn
b Chú ý 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 ddồng c Theo dõi 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. hớng dẫn giáo viên Hoạt động học sinh Yêu cầu học sinh nghiên cứu sách giáo
khoa vµ cho biÕt cÊu tróc chung cđa lƯnh lặp While
- Giải thích:
+ <Điều kiện>: Là biểu thcứ quan hệ biểu thức logic, điều kiện để lặp lại
- Hỏi : 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ì?
Tham khảo sách giáo khoa 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
(34)+ <Lệnh cần lặp>: Là lệnh cần phải lặp lại
- Hỏi : Trong hai 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 sÏ thùc hiƯn tính <điều kiện> trớc hay thực <lệnh cần lặp> tríc?
Yêu cầu học sinh vẽ sơ đồ cấu trúc lên bảng
- Gọi học sinh đánh giá nhận xét
- Tiểu kết cho vấn đề cách treo sơ đồ mãu giải thích
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 t 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
Lên bảng vẽ sơ đồ cấu trúc lệnh While
- Nhận xét sai bổ sung
Hoat động 3: rèn luyện kĩ vận dụng lệnh lặp While.
hớng dẫn giáo viên Hoạt động học sinh Nêu nội dung toán Mục tiêu
viết chơng trình hồn thiện - Định hớng vấn đề
+ Xác định điều kiện để tiếp tục lặp + Xác định lệnh cần lp
- Chia 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 qu¶ b»ng m¸y Overhead
- Gọi học sinh nhóm khác nhận xét đánh giá
- Chính xác hóa chơng trình cho lớp Nêu nội dung toán Mục tiêu phân tích để xác định <điều kiện> <lệnh cần lặp>
- LÊy mét vÝ dơ thĨ tìm ớc số chung hai số 15 25
m n 15 25 15 10 10
Trả lời: ớc số chung lớn - Hỏi: Điều kiện để tiếp tục lặp gì? - Hỏi : lệnh cần lặp lại gì?
- Yêu cầu học sinh viết chơng trình hoàn thiện toán nhà
- Yờu cu hc sinh hai câu hỏi cần đặt gặp toán dạng
Chú ý lắng nghe suy nghĩ trả lời câu hỏi định hớng giáo viên
- §iỊu kiƯn: S < S1
S:= S + 0,015*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 đợc chơng trình hồn thiện
- Đánh giá – sai bổ sung
- ghi nhớ phần giáo viên sửu chữa 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:=m-n; n:=n-m; - Thuật toán:
B1: NÕu m=n th× UC=m, dõng
B2: NÕu m>n m:=m-n ngợc lại n:=n-m; Quay lại B1
- Suynghĩ trả lời:
+ iu kiện để lặp lại? + Những lệnh cần lặp lại? IV Đánh giá cuối bài.
Những nội dung học
(35)- 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 hiÖn máy gặp lệnh lặp While Câu hỏi tập nhà.
- Giải tập 4, 5b, 7, 8, sách giáo khoa trang 51 - Viết chơng trình tính tổng:
S = 1/a + 1/a+1 + 1/a+2 + + 1/a+N + 1/a+N <0,0001
- Đọ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, sách giáo khoa trang 49
- Xem néi dung phơ lơc B, s¸hc gi¸o khoa trang 131: Lệnh rẽ nahnhs lặp - Xem nôi dung phụ lục C, sách giáo khoa trang 139: Lệnh rẽ nhánh lặp
Ngày soạn:26/11/2009 TiÕt 16
Bµi thùc hµnh sè I Mơc tiªu.
KiÕn thøc.
- Nắm cấu trúc sơ đồ thực cấu trúc rẽ nhánh Kĩ năng
- 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Ĩ
- Làm quen với cơng cụ phục vụ hiệu chỉnh chơng trình thái độ
- Tự giác, tích cực hcủ động thực hành II Đồ dùng dạy hc
Chuẩn bị giáo viên.
- Phịng máy vi tính, máy chiếu Projector để hớng dẫn Chuẩn bị học sinh.
- Sách giáo khoa, sách tập tập viết nhà III Hoạt đông dạy – học
Hoạt động 1: Làm quen với chơng trình cơng cụ hiệu chỉnh chơng trình. hớng dẫn giáo viên Hoạt động học sinh
gơi ý để học sinh nêu khái niệm số Pitago
- Yêu cầu: lấy ví dụ cụ thể
- Hỏi : Để kiểm tra ba số a, b, c có phải Pitago, ta pahỉ kiểm tra đẳng thức nào?
Chiếu chơng trình mẫu lên bảng thực hiƯn mÉu c¸c thao t¸c: lu, thùc hiƯn tõng lƯnh chơng trình, xem kết trung gian, thực chơng tì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ầu học sinh lu chơng trình lên đĩa 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
Theo dõi dẫn dắt cuả chọ sinh để nêu khái niệm số Pitago: Tổng bình ph-ơng hai số bình phph-ơng số cịn lại
VÝ dơ vỊ bé sè Pitago: a2 = b2 + c2.
b2 = a2 + c2.
c2 = a2 + b2.
Soạn chơng trình vào máy theo yêu cầu 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 menu Debug để mở cửa sổ hiệu chỉnh
(36)bộ liệu vào trả lời Hoạt động 2: Rèn luyện kĩ lập trình hồn thiện tốn.
hớng dẫn giáo viên Hoạt động học sinh Nêu nụi dung, mc ớch, yờu cu cu
bài 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 gọi học sinh trả lời cho câu hỏi đó?
- Yêu cầu học sinh phác họa thuât toán Yêu cầu học sinh gõ chơng trình vào máy
- Giáo viên tiếp cận học sinh để h-ng dn v sa sai
Yêu cầu häc sinh nhËp d÷ liƯu - NhËp d÷ 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
ý 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 ln 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 máy
- Thông báo kết viết đợc
NhËp d÷ liƯu theo test giáo viên thông báo kết hcơng tr×nh
T×m testcase 0 VNV VN -1.5
Nhập liệu thông báo kết IV Đánh giá cuối bài.
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 - Soan chng trỡnh vo mỏy
- Lu chơng trình - Biên dịch
- Thực hiệu chỉnh chơng trình Câu hỏi tập vỊ nhµ.
- Viết chơng trình nhập vào độ dài ba cạnh cuat tam giác tính chu vi, diện tích tam gicá
- Cho chơng trình sau: Program max;
var a, b, max:integer; Begin
Write(‘nhap vao hai so bat ki’); readln(a, b);
If max:=a;
If max<b then max:=b; Writeln(max);
Readln; End
Hỏi: Chơng trình thực chơng trình gì, kết in hình bao nhiêu? - Viết chơng tình nhập vào ba số tìm giá trị bé ba số - Xem trớc nội dung bài: kiểu mẳng, sách giáo khoa, trang 53
Ngµy so¹n:26/11/2009 TiÕt 17
(37)I Mơc tiªu. KiÕn thøc.
- Củng cố lại hco học sinhnhững 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, thực máy gặp lnh lp
Kĩ năng.
- Rèn luyện kĩ vận dụng linh hoạt công việc lựa hcọn cấu trúc rẽ nhánh cấu trúc lặp phù hợp để giải toán đặt
Thái độ.
- Tự giác tích cực, chủ động giả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ới thiệu ví dụ minh họa, số chơng trình mẫu
Chn bÞ cđa häc sinh - S¸ch gi¸o khoa
III Hoạt động dạy – học.
Hoạt động 1: Nhắc lại kiến thức học tổ hcức rẽ nhánh lặp
hớng dẫn giáo viên Hoạt động học sinh Yêu cầu học sinh nhắc lại cấu trúc rẽ
nh¸nh
- Chiếu chơng trình tìm giá trị lớn hai số, có sử dụng lệnh rẽ nhánh dạng đủ
Var a b: Integer; Begin
readln(a, b);
If a>b then write(a) esle write(b); read;
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 lệnh 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 lặp while
- Yêu cầu: So sánh giống khác hai dạng lệnh
Độc lập suy nghĩ để trả lời
If <bt®k> then <lƯnh 1> Else <lƯnh 2>;
If <bt®k> then <lệnh >;
- In hình giá trị lớn Var a, b : Integer;
Begin
Readln(a, b); max:=b; If a>b then max:=a; Write(max); readln; end
Suy nghÜ trả lời
For <bin 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 nghĩ trả lời
- Giống: 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
2 Hoạt động 2: rèn luyện kĩ vận dụng tổ chức lặp.
hớng dẫn giáo viên Hoạt động học sinh Tìm hiểu tập giải
- ChiÕu néi dung vÝ dụ lên bảng - Hỏi: Có thể 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 khai triển, cho biết N lấy giá trị tỏng đoạn nào?
- Hái : Ta sư dơng cÊu tróc ®iỊu khiĨn
Quan sát suy nghĩ để giải toán
Y = 1/2 + 2/3 + 3/4 + + 50/51 50
(38)
lặp phù hợp?
- Chia lớp làm ba 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
- Gọi học sinh nhóm khác nhận xét đánh giá bổ sung
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?
- Hái : 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ạo cho giáo viên
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
Quan sát theo dõi định hớng giáo 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.
Những nội 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ần 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 :=2 to x –
if x mod i = then nt:=false;
If nt = true then write(x,’la so nguyen to’) else write(x, ‘khong phai snt’); readln;
End
(39)Ch¬ng Kiểu liệu có cấu trúc I Mục tiêu chơng
Kiến thức: Học sinh cần:
- Hiểu đợc khái niệm kiểu liệu có 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 kiểu liệu có cấu trúc đợc xây dựng từ kiểu liệu sở theo số kĩ thuật tạo kiểu 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
Kĩ
- Biết cách mô tả kiểu liệu ngôn ngữ lập trình Pascal
- Biết cách sử dụng thao tác vao/ra liệu cho biến thuộc kiểu liệu có cấu trúc
- Biết cách sử dụng phép toán thành phẩmcơ sở tùy theo kiểu thành phần sở
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 cần thiết ngời lập trình nh: ý thức chon 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 liệu Ln 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 bày ba kiểu liệu có cấu trúc quan trọng: - Kiểu mẳng chiều mảng hai chiều
- kiểu xâu kí tự - kiểu bảng ghi
kiểu mảng (tiết 1/2) I Mục tiêu
KiÕn thøc
- Biết đợc kiểu liệu kiểu mảng chiều Biết đợc laọi biến có số
- BiÕt cáu trúc tạo kiểu mảng chiều cáhc khai báo biến kiểu mảng chiều Kĩ
- Tạo đợc kiểu mảng chiều sử dụng biến mảng chiều ngơnngữ lập trình Pascal để giải số toán cụ thể
II Đồ dùng dạy học Chuản bị giáo viên
- Mỏy chiu Projector, mỏy vi tính để giới thiệu ví dụ minh họa Chuẩn bị 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 mảng chiều a Mục tiêu:
Biết đợc ý nghĩa 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:
(40)- Ch¬ng tr×nh minh häa Program nhiet tuan;
Var t1, t2, t3, t4, t5, t6, tb:real; dem:integer; Begin
Write(‘Nhap vao nhiet cua ngay:’); readln(t1, t2, t3, t4, t5, t6, t7)/7;
dem:=0;
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;
Write(‘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ử co 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 đợ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 cho phép xác định: tên kiểu mảng, số lợng phần tử, kiểu liệu phần tử, cách khia báo biến mảng cách tham chiếu đến phần tử tng mng
c Các bớc tiến hành:
hớng dẫn giáo viên Hoạt động học sinh Chiếu đề chơng trình ví dụ lên
bảng
- Hỏi: Khi N lớn chơng trình có hạn chế nh 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 tên đánh cho mọt phần tử số
Yêu cầu học sinh tham khảo sách giáo khoa hỏi: Em hiểu nh mảng mét chiỊu?
- Hỏi: Để mơ tả mảng chiều, ta cần xác định yếu tố nào?
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
Nghiên cứu sách giáo khoa để trả lời - 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 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ử
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 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;
+ Kiểu_chỉ_số: Thờng đoạn số nguyên(hoặc đoạn kí tự) xác định số đầu số cui ca mng
+ Kiểu_thành_phần: Là kiểu liệu chung phần tử mảng - Khai báo biến mảng chiều: VAR tên_biến:tên_kiểu_mảng;
(41)hớng dẫn giáo viên Hoạt động học sinh Yêu cầu học sinh nghiên cứu sách giỏo
khoa hco 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 họa
- 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ố khia báo kiểu mang chiều
Type
Arrayr=array[1 200] of real; Arrayr=array[byte] of real;
Arrayb=array[-100 0] of boolean; - Hỏi: Những khai báo đúng? Yêu cầu học sinh cho biết cách khai bóa biến ví dụ khai báo biến mảng ứng với kiểu liệu vừa tạo
- Gäi häc sinh kh¸c, hái: ý nghÜa cđ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 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ụ
Tham khảo sách giáo khoa trả lời - TYPE tên_km= Array[kieeru cs] Of kiểu_thành_phần;
- Ví dơ: Type mmc=array[1 100] of integer;
- T¹o mọt kiểu liệu có tên mmc, gồm 100 phần tử, có kiểu nguyên
- Quan sỏt bảng hcọn khai báo Arrayr=array[1 200] of real;
Arrayb=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ớ
Theo dõi hớng dẫn giáo viên độc lập suy nghĩ để trả lời
a[1] phần tử vị trí mảng a a[i] phần tử vị trí i mảng a Hoạt đô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 biến kiểu mảng hciều để giải toán đơn giản
b Néi dung:
Bài toán: Giải toán phần đặt vấn đề hoạt động 1, có sử dụng biến mảng chiều
c c¸c bíc tiÕn hµnh:
hớng dẫn giáo viên Hoạt động học sinh Giới thiệu đề
- Chiếu đề lên bảng
- Yêu cầu học sinh xác định liệu vào, 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?
Định hớng: Sử dụng kiểu mảng chiều gii quyt bi toỏn
- Yêu cầu học sinh khai báo kiểu mảng - Yêu cầu học sinh khia báo biến mảng
- Yêu cầu học sinh tìm nhiệm vụ cần gi¶i quyÕt
Quan sát đề bài, theo dõi yêu cầu cần giải dề
- Vào: số giá trị nhiệt độ ngày tuần
- Ra: Số ntb nhiệt độ trung bình tuần số nch số ngày có nhiệt độ cao nhit trung bỡnh
- Đợc
- Chơng tình dài dịng, khó sửa đổi Theo dõi hớng dẫn giáo viên Type tuan=array[1 7] of real;
Var ndtuan : tuan;
- Nhập giá trị cho mảng a
(42)Chia lớp thành nhóm Yê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á Chuẩn hóa chơng trình cho học sinh
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 thiếu sót nhóm khác
Quan s¸t ghi nhớ IV Đánh giá cuối
Những nội dung học
- Cách tạo kiểu mảng chiều cách khia báo biến
TYPE tên_kiểu_mảng= Array[kiểu_chỉ_số] Of kiểu_thành_phần; 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 uqá 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
Kiểu mảng (tiết 2/2) I mơc tiªu
KiÕn thøc
- Biết đợc kiểu liệu kiểu mảng hia chiều
- Biết đợc cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu đến tng phn t ca mng
Kĩ
- Tạo đợc kiểu mảng hai chiều khai báo biến mảng hai chiều trongngơn ngữ lập trình Pascal Sử dụng biến mảng để giải số tốn cụ thể
II §å dùng dạy học Chuẩn bị giáo viên
- M¸y vi tÝnh, m¸y chiÕu Projector, s¸ch gi¸o khoa, m¸y chiÕu Overhead, phiÕu häc tËp
Chuẩn bị học sinh - Sách giáo khoa
III Hoạt động dạy – học
Hoạt động : Tìm hiểu ý nghĩa kiểu mảng hai chiều a Mục tiêu:
- Học sinh biết đợc ý nghĩa cần thiết kiểu mảng hai chiều việc giải số toán
b Néi dung:
Bài tốn: Viết chơng trịnh để in hình bảng cửu chơng có dạng nh sau:
1
2 10 12 14 16 18
3 12 15 18 21 24 27
4 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
- Khái niệm : Mảng hai chiều bảng phần tử có kiểu liệu
(43)b Các bớc tiến hành:
hng dn giáo viên Hoạt động học sinh Giới thiệu ví dụ sách giáo khoa
Tính đa hình bảng cửu chơng - Hỏi: Sử dụng kiến thức mảng chiều, đa cách sử dụng kiểu mảng để lu trữ bng cu chng
- Với cách lu trữ nh ta phải khai báo biến mảng?
- Có khó khăn gì?
- Để khắc phục khó khăn này, ta xem bảng chiều phần tử, ta ghép mảng chiều thành mảng hai chiều
- Yêu cầu học sinh nhận xét mảng hai chiÒu
Các yếu tố xác định mảng hai chiều - Hỏi: Để mô tả kiểu mảng hai chiều, ta cần xác định yếu tố nào?
Chó ý theo dõi yêu cầu dẫn dắt giáo viên
- Sử dụng mảng chiêu, mảng lu hàng bảng
- Khai báo mảng chiều
- Khai báo nhiều biến, viết chơng trình nhập xuất liệu dài
- Nếu xem hàng mảng hai chiều phần tử ta nói mảng hai chiều mảng chiều mà phần tử mảng chiều
Cỏc yếu tố để xây dựng mảng hai chiều:
- Tên kiểu mảng
- Số phần tử dòng, số phần tử cột
- Kiểu liệu chung phần tử Hoạt động 2: Tìm hiểu kiểu mảng hai chiều.
a Mơc tiªu:
- Học sinh biết cách tạo kiểu liệu mảng hai chiều, biết khai bóa biến mảng ngơn ngữ lập trình Pascal, biết tham chiếu đến phần tử mảng
b Néi dung:
- T¹o kiểu liệu mảng hai chiều:
TYPE tên_kiểu_mảng=Array[chỉ_số_dòng,chỉ_số_cột] Of kiểu_thanh_phần;
- Khai bỏo bin mảng hai 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:
hớng dẫn giáo viên Hoạt động học sinh 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 hai chiều
- Yêu cầu học sinh tìm vÝ dô minh häa
- Gäi mét học sinh khác, hỏi: ý nghĩa lệnh mà bạn vừa viết?
Yêu cầu học sinh cho biết cách khai báo biến ví dụ khia bóa biến mảng hai chiều ứng với kiểu liƯu võa t¹o
giới thiệu cách tham chiếu đến phần tử mảng hciều Yêu cầu học sinh lấy ví dụ
Tham khảo sách giáo khoa trả lời - TYPE tên_kmhc=Array[csd,csc] Of kiểu_thành_phần;
- Ví dụ: Type mhc=array[1 10,1 5] of integer;
- Lệnh dùng để tạo kiểu mảng hai chiều có tên mhc gồm 10 dòng cột, phần tử có kiểu liệu integer Tham khảo sách giáo khoa trả lời - VAR tên_biến:tên_kmhc;
- VÝ dơ: V¶ a:mhc;
Quan sát cấu trúc chung suy nghĩ tìm ví dụ
a[1,2] phần tử dòng số 1, cột số mảng a
a[i,j] phần tử dòng số i, cột sè j cđa m¶ng a
(44)a Mơc tiªu:
- Học sinh sử dụng đợc biến kiểu mảng hai chiều để giải toán đơn giản b Nội dung:
- Giải toán đặt vấn đề hoạt động c Các bớc tiến hành:
hớng dẫn giáo viên Hoạt động học sinh giới thiệu đề
- Chiếu đề lên bảng
- Yêu cầu học sinh xác định cách thức tổ chức liệu
- Yêu cầu học sinh nhiệm vụ bào toán cần giải
Chia lớp thành nhóm Yê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á Chuẩn hóa chơng trình cho học sinh cách chiếu chơng trình mẫu để học sinh quan sát thực chơng trình để học sinh thấy kết
Chiếu chơng trình ví dụ 2, sách giáo khoa, trang 62 để học sinh quan sát
- Thực chơng trình để học sinh thấy đợc kết
- Giáo viên cần giải thích số chỗ học sinh cha hiểu yêu cầu học sinh nhà tìm hiểu thêm
Quan sỏt đề bài, theo dõi yêu cầu cần giải đề
- Dïng mét m¶ng hai chiều - Điền giá trị cho[i,j]=i*j
- Xuất giá trị a[i,j] theo dòng Thảo luận theo nhóm để viết chơng trình
- Báo cáo kết hoàn thành - Nhận xét, đánh giá bổ sung thiếu sót nhóm khác
ghi nhớ nội dung ó c chnh sa
Quan sát chơng trình ý giải thích giáo viên
- Đặt số câu hỏi thắc mắc
IV Đánh giá cuối Những ni dung ó hc
- Tạo kiểu liệu mảng hai chiều:
TYPE tên_kiểu_mảng=Array[kiểu_chỉ_số_dòng, kiểu_chỉ_số_cột] Of kiểu_thành_phần;
- Khai báo kiểu mảng chiều: VAR tên_biến:tên_kiểu_mảng;
- Tham chiu n tng phn tử: Tên_biến[chỉ_số_dòng, chỉ_số_cột] Câu hỏi tập v nh
- Làm tập số 8, 9, s¸ch gi¸o khoa trang 79, 80
- Xem tríc néi dung cđa bµi thùc hµnh 3, sách giáo khoa, trang 63 Bài thực hành số
I mơc tiªu 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 kỉeu 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
+ Duyệt 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ử thỏa mãn điều kiện + Đếm số phần tử thỏa mãn điều kiện + Tìm phần tử lớn nhất, nhỏ
Thái độ
- Góp phần rèn luyện tác phong, t lập trình: Tự giác, tích cực, chủ độngvà sáng tạo tìm kiếm kiến thức
(45)ChuÈn bị giáo viên.
- Phũng mỏy tớnh, máy chiếu Projector để minh họa Chuẩn bị học sinh
- S¸ch gi¸o khoa
III hoạt động dạy – học
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:
- Học sinh 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 Sum 1;
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 dể ch-ơng trình thực đếm số dch-ơ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(pãi:4,neg:4);
c Các bớc tiến hành:
hng dn giáo viên Hoạt động học sinh tìm hiẻu chơng tình câu a, sách giáo
khoa, 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ĩa 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?
- Hi: 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
Quan s¸t, chó ý trả lời
- Khai bỏo th viện chơng trình Crt để sử dụng đợc thủ tc 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Õ cđa a
- LƯnh khai báo kiểu khai báo biến
(46)- Hái: LƯnh g¸n a[i]:=random(300) – random(300) cã ý nghÜa g×?
- Hái: LƯnh Fori:=1 to n Write(A[i]:5);cã ý nghÜa g×?
- Hái : LÖnh For – Do cuèi cïng thùc hiƯn nhiƯm vơ g×?
- hỏi: Lệnh s:=a+a[i]; đợc thựchiện lần?
- Thực lại chơng trình lần cuối để học sinh thấy kết
Sửa chơng trình câu a để đợc chơng trình giải tốn cõu b
- Chiếu lên hình lệnh cần thêm vào chơng tì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 học sinh thêm vào vị trí cần thiết để chơng trình m c s
- Yêu cầu học gõ nội dung lu lại với tên caub.pas thực chơng trình báo cáo kết
- Lệnh sinh ngẫu nhiên giá trị cho mảng a từ – 299 đến 299
- In 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 hết k
- Quan sát giáo viên thực chơng trình kết hình
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ố lợng đế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 qu¶
Hoạt độ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 kểi 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ó giá trị lớn đa phần tử có số nhỏ
c C¸c bíc tiÕn hµnh:
hớng dẫn giáo viên Hoạt động học sinh láy ví dụ thực tiễn: Ngời mù tìm
viên sỏi có kích thớc lớn dãy viên sỏi để gợi ý cho học sinh thuật tốn tìm giá trị lớn
- Yêu cầu: Nêu thuật toán tìm phần tử có giá trị lớn
Tìm hiểu chơng trình tìm số giá trị lớn
- Chiếu chơng tình ví dụ, sách giáo khoa, trang 64
- Hỏi: Vai trò 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? Đặ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?
Theo dõi vị trí giáo viên
- So sánh lần lợt từ trái sang phải, giữ lại số phần tử lớn
Quan sát chơng trình, suy nghĩ trả lời
- Giữ lại số phần tử có giá trị lín nhÊt
- PhÐp so s¸nh a[i] <a[j]
- Chun thø tù dut tõ n-1 vÌ
Theo dõi yêu cầu, suy nghĩ câu hỏi định hớng để viết chơng trình
(47)- Hái: CÇn thêm lệnh nữa?
- Hi: V trớ thờm cỏc lnh ú?
- Yêu cầu: Viết chơng trình hoàn thiện
- Yêu cầu học sinh nhập liệu vào giáo viên báo kết
- Đánh giá kết qu¶ cđa häc sinh
- Lệnh để in số có giá tị giá trị lớn tìm đợc
- Sau tìm đợc giá trị lớn - Soạn chơng trìnhvà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 Những nội dung học. Một số thuật toán bản:
+ Tìm tổng phần tử thỏa mãn điều kiện + Đếm số phần tử thỏa mãn điều kiện + Tìm phần tử ln nht, nh nht
Câu hỏi bìa 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Þ b»ng x
- Xem néi dung cđa thực hành số 4, sách giáo khoa, trang 65
Bài thực hành số I mục tiêu
KiÕn thøc.
- Củng cố lại kiến thức lập trình với kiểu liệu mảng - Làm quen với thuật toán sp xp n gin
Kĩ
- Rèn luyện kĩ sử dụng kiểu liệu có cấu trúc, kĩ diễn đạt thuất tốn chơng trình sử dụng liệu kiểu mảng
- Rèn luyện kĩ nhận xét, phân tích đề xuất cách giải toán cho chơng trình chạy nhanh
Thái độ
- Tự giác, chủ động thực hành II Đồ dùng dạy học
ChuÈn bị giáo viên
- Phũng mỏy vi tính, máy chiếu Projedtor để hớng dẫn Chuẩn bị học sinh
- Sách giáo khoa, chơng trình đợc viết sẵn III Hoạt động dạy – học
Hoạt động 1: Tìm hiểu chơng trình diễn đạt thuật tốn xếp. a Mục tiêu:
- Học sinh hiểu chơng trình thuật tốn xếp đơn giản b Ni dung:
Bài toán 1: Viết chơng trình xếp phần tử mảng theo thứ tự không giảm - Chơng trình minhhọa:
Uses CRT;
Const nmax=250;
type arrint=array[1 nmax] of integer; Var n, i, j, y:integer;
a:arrint; 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);
(48)For i:=n dowto
For i:=1 to i –
If a[i] >a[i+1] then Begin t:=a[i]; a[i]:=a[i+1]; a[i+1]:=t; End; Writeln(‘day so sau sap xep’); For i:=1 to n write(a[i]:7); Writeln;
readln; End
- Yªu cầu: Soan chơng trình vào máy, chạy thử với giá trị khac n Rút nhận xét thời gian thực hcơng trình
c Các bớc tiến hành:
hng dn ca giỏo viên Hoạt động học sinh Gợi ý cho hc sinh thut toỏn sp xp
tăng dần
- LÊy mét vÝ dơ thùc tiƠn: Ngêi mï xếp dÃy viên bi theo kích thớc không giảm
- Yờu cu: Vch cỏc bớc để xếp phần tử mảng khụng gim
Tìm hiểu chơng trình vÝ dơ, s¸ch gi¸o khoa, trang 65
- Chiếu chơng trình ví dụ lên bảng - Hỏi: Vai trò biến i, j chơng trình? Mỗi vòng lặp For đoạn chơng trình xếp có ý nghÜa g×?
- Hái: Ba lƯnh tg:=a[i]; a[i]:=a[i+1]; a[i+1]:=tg; cã ý nghÜa g×?
- Thực chơng trình, nhập liệu để học sinh thấy kết chơng trình
- Hỏi: Chơng trình làm cơng vịêc gì? Sửa chơng trình để giẩi toán câu b
- Đặt yêu cầu mới: Khai báo thêm biến nguyên Dem bổ sung vào chơng trình đoạn lệnh cần thiết để biến Dem tính số lần thực tráo đổi thuật tốn In kết tìm đợc hình
- Hỏi: Đoạn chơng trình dùng để thực tráo đổi giá trị?
- Yêu cầu học sinh viết lệnh để đếm số lần tráo đổi
- Hỏi: Lệnh đợc viết v no chng trỡnh?
- Yêu cầu học sinh soạn chơng trình?
- Yêu cầu học sinh nhập liệu vào giáo viên thông báo kết
- Đánh giá kÕt qu¶ cđa häc sinh
CHú ý theo dõi dẫn dắt giáo viên để trả li cõu hi
- Lần lợt lấy phần tử từ trái qua phải
- Cứ phần tử ta đem so sánh lần lợt với phần tử đứng bên phải - Nếu nhỏ đổi chỗ
Quan sát chơng trình, suy nghĩ câu hỏi trả lêi
- BiÕn i, j dïng lµm chØ số
- Mỗi vòng lặp For ứng với phép duyệt lần lợt
- Dựng đổi giá trị hai phần tử a[i] với a[i+1]
- Quan sát giáo viên thực chơng trình
- Chơng trình xếp dÃy số theo thứ tự không giảm
Quan sỏt yêu cầu mới, ý định hớng giải giáo viên
tg:=a[i];a[i]:=a[i+1];a[i+1]:=tg; - Dem := Dem+1;
- Ngay sau đoạn trỏo i
- Soạn chơng trình vào máy, thực chơng trình thông báo kết
(49)Hoạt động 2: Rèn luyện kĩ nhận xét, phân tích đề xuất cách giải bào tốn cho chơng trình chạy nhanh
a Mơc tiªu:
- Học sinh biết sử dụng kiểu mảng để lập trình giải tốn Biết nhận xét, phân tích để đề xuất phơng pháp giải hay
b Néi dung:
Cho mảng A gồm n phần tử Viết chơng trình tạo mảng B[1 n], B[i] tổng giá trị i phần tử đầu tiờn ca mng A
Chơng trình minh häa: Const nmax=100;
Type myarray=array[1 nmax] ß integer; Var n, i, j:integer;
a,b:arrint; Begin
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;
For i:=1 to n Begin B[i]:=0;
For j:=1 to i B[i]:=B[i]+A[j]; End;
For i:=1 to n write(B[i]5); Readln;
End
c Các bớc tiến hành:
hớng dẫn giáo viên Hoạt động học sinh Xác định toán
- Chiếu đề lên bảng
- Yêu cầu: Xác định liệu vào, liệu ra?
- Gợi ý để học sinh đề xuất thuật tốn thơ
giới thiệu chơng trình cha cải tiến - Chiếu chơng trình diễn đạt thuật tốn - Thực chơng trình để học sinh biết thời gian thực chơng trình kết chơng trỡnh
- Hỏi: Trong chơng trình phải thực hiên phép toán cộng?
- Hi: Có cách để cải tiến?
- Lệnh đợc thay lệnh ch-ơng trình? Viết v trớ no?
Yêu cầu: Viết chơng trình hoàn thiện
Tiểu kết: Cùng toán, có nhiều cách giải khác Ngời lập trình cần chọn cách cho máy thực hiÖn nhanh nhÊt
Quan sát đề trả lời câu hỏi
- Vµo: Mảng A gồm n phần tử - Ra: Mảng B gåm n phÇn tư
- Tại vị trí i ta tính tổng giá trị phần tử t n i
Quan sát chơng trình bảng
- Quan sát giáo viên thùc hiƯn, nhËn xÐt vỊ thêi gian thùc hiƯn ch¬ng tr×nh
- Phải thực n(n+1)/2 phép cộng - Để tính bớc thứ i, ta sử dụng kết tính bớc thứ i –
B[i]:=B[i-1]+A[i]; - Thay đoạn lệnh
For j:=1 to i B[i]:=B[i]+A[j];
Soạn chơng trình vào máy, thực chơng trình thông báo kết
(50)IV Đánh giá cuối Những nội dung học. - Thuật toán xếp đơn giản
- Một toán có nhiều cách viết thành chơng trình Cần chọn cách có số phép tính
Câu hỏi bµi tËp vỊ nhµ
- Xem lại tất kiến thức học, bao gồm: Lệnh bản, lệnh điều khiển, kiểu liệu bản, kiểu liệu có cấu trúc
- TiÕt sau kiểm tra thực hành, thời gian 45 phút
ôn tập học kì I mục tiêu
KiÕn thøc
- Học sinh nắm đợc toàn kiến thức học từ đầu năm học đến Kĩ
- RÌn lun kĩ nhận xét, phân tích toán II Đồ dùng dạy học
Chuẩn bị giáo viên
- Máy chiếu qua đầu, bìa trong, sách giáo khoa Chuẩn bị häc sinh
- Sách giáo khoa, số chơng trình tập III Hoạt động dạy – học
Hoạt động 1: Nhắc lại kiến thức cũ học a Mục tiêu:
- Học sinh nhớ lại đợc kiến thức lí thuyết học b Nội dung:
- Khái niệm lập trình ngôn ngữ lập trình
- Có hai loại chơng trình dịch: Biên dịch thông dịch
- Các thành phần ngôn ngữ lập trình: Bảng chữ cái, cú pháp ngữ nghĩa - Các khái niệm: Tên, h»ng vµ biÕn, chó thÝch
- CÊu tróc chơng trình Pascal: Phần khai báo phần thân - Các kiểu liệu chuẩn: Số nguyên, số thùc, kÝ tù, logic - PhÐp to¸n, biĨu thøc, lệnh gán
- Tổ chức vào/ra - Cấu trúc rẽ nhánh - Cấu trúc lặp - Kiểu mảng
c Các bớc tiến hành:
hớng dẫn giáo viên Hoạt động học sinh Đặt câu hỏi gợi ý để học sinh tự nhắc lại
kiến thức học
- Em hiểu nh lập trình ngôn ngữ lập trình?
- Các loại chơng trình dịch?
- Các thành phần ngôn ngữ lập trình?
- Các khái niệm ngôn ngữ lập trình?
- Cấu trúc chung chơng trình TP?
- Nêu tên kiểu liệu chuẩn? - Nêu nhóm phép tốn học?
Chú ý, theo dõi trả lời câu hỏi - Lập trình q trình diễn đạt thuật tốn ngụn ng lp trỡnh
- Biên dịch thông dịch
- Bảng chữ cái, cú pháp ngữ nghĩa - Khái niệm tên, biÕn, chó thÝch - Gåm hai phÇn: PhÇn khai báo phần thân
- Số nguyên, số thùc, kÝ tù, logic
(51)
- Các loại biểu thức?
- Chức thực lệnh gán?
- Nêu tên chức số hàm sè häc?
- Tỉ chøc vµo/ra
- Tỉ chøc rÏ nh¸nh - Tỉ chøc lặp - Kiểu mảng
phép toán logic
- BiĨu thøc sè häc, biĨu thøc quan hƯ vµ biĨu thøc logic
- Dùng để tính toán biểu thức gán giá trị cho biến
- Hàm bình phơng, hàm bậc hai, hàm giá trị tuyệt đối, hàm sin, hàm cos - Lệnh Read()/readln();
- LÖnh write()/writeln();
- If <BT§K> then <lƯnh 1> else <lƯnh 2>;
For tiến For lùi While <> - Array Hoạt động 2: Rèn luyện kĩ
a Mơc tiªu:
- Học sinh biết nhận xét, phân tích giải hoàn chỉnh toán b Nội dung:
Viết chơng tình nhập từ bàn phím số nguyên dơng N (1<=N<=100) dãy số A gồm N số nguyên A1, A2, AN Các số A1 có giá trị tuyệt đối lớn 1000 Hóy
đa hình số lợng số dơng số lợng số âm dÃy c Các bớc tiến hành:
hng dn ca giỏo viên Hoạt động học sinh Xác định toán
- Chiếu nội dung đề lên bảng - Chia lớp thành nhóm
Nhóm 1: Nêu câu hỏi phân tích
Nhóm 2: Trả lời câu hỏi phân tích nhóm
- Giáo viên góp ý bổ sung cho hai nhóm
rèn luyện kĩ lập trình - Chia lớp thành hai nhóm
- Yêu cầu: Viết chơng trình hoàn thiện lên b×a
- Thu phiếu học tập, chiếu kết lên bảng Gọi học sinh nhóm khác nhận xét đánh giá bổ sung
Chuẩn hóa kiến thức chơng trình mẫu giáo viên Thực chơng trình, nhập liệu để học sinh thấy kết chơng trình
Quan sát, theo dõi đề định hớng giáo viên để xác định toán
- Nhóm 1:
+ Dữ liệu vào + Dữ liệu
+ Các nhiƯm vơ chÝnh ph¶i thùc hiƯn
- Nhãm 2:
+ Sè N vµ N sè nguyên
+ Số lợng số chẵn C số lẻ L + Nhập liệu
Đếm số lợng số chẵn, số lẻ Đa kết hình Làm việc theo nhóm
- Thảo luận theo nhóm để viết chơng trỡnh
- Báo cáo kết
- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác
Theo dâi vµ ghi nhí
IV Đánh giá cuối Những nội dung học.
- Giáo viên yêu cầu học sinh nhắc lại số nội dung đợc ơn tập tiết học
Câu hỏi bìa tập nhà
(52)KiĨm tra häc k×
Mục tiêu cần đánh giá
- Kiểm tra kết tiếp thu học sinh từ đầu năm học đến - Đánh giá kĩ phân tích tốn t lập trình giấy - Có thái độ tự giác, tích cực làm kiểm tra
Mục đích yêu cầu đề
- Kiến thức: Học sinh nắm đợc kiến thức kiểu liệu bản, kiểu liệu có cấu trúc Các hàm chuẩn thông dụng Cấu trúc vào/ra liệu, cấu trúc rẽ nhánh lặp - Kĩ năng: Có kĩ phân tích tốn, viết chơng trình
ChuÈn bÞ
- Giáo viên chuẩn bị đề kiểm tra
- Học sinh chuẩn bị đầy đủ kiến thức đợc học, ôn tập Nội dung đề đáp án
- Cấu trúc đề: câu kiểm tra hiểu lí thuyết, câu lập trình, thời gian làm 45 phút, hình thức thi viết giấy
- Nội dung đề:
C©u 1: HÃy phân biệt kĩ thuật biên dịch thông dịch
Câu 2: So sánh giống khác cấu trúc For While Cho chơng trình có sử dụng cấu trúc For nh sau:
var i:byte Begin
For i:=1 to 30 write(i:4); Readln;
End
HÃy viết lại chơng trình b»ng c¸ch thay cÊu tróc For b»ng cÊu tróc While
Câu 3: Viết chơng trình nhập mảng chiều gồm 20 phần tử, đếm số phần t cú giỏ tr õm
- Đáp án biểu điểm Câu 1: (2 điểm)
Biên dịch:
Bc 1: Duyệt, phát lỗi, kiểm tra tính đắn lệnh chơng trình nguồn
Bớc 2: Dịch tồn chơng trình nguồn thành chơng trình ngôn ngữ máy (thuận tiện cho chơng trình ổn định cần thực nhiều lần)
- thông dịch:
Bc 1: Kiểm tra tính đắ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 đợc chuyển đổi (phù hợp với môt trờng đối thoại ngời máy) Câu 2: (4 điểm)
- giống: For While cấu trúc lặp
- Khác : For cấu trúc lặp có số lần biết trớc, ngợc lại while ;à cấu trúc lặp có số lần cha xác định
Var i:byte Begin i:=1;
(53)Câu 3: (4 điểm)
type mmc=array[1 20] of longint; Var a:mmc; s:byte; i:byte;
Begin
For i:=1 to 20 begin
write(‘a[’[,i,‘]=’); readln(a[i]) ; End;
s:=0;
For i:=1 to 20
if a[i]<0 then s:=s+1; write(‘so luong dem duoc la’,S); readln;
end
Hoạt động dạy học
Hoạt động 1: ổn định tổ chức giới thiệu đề Các bớc tiến hành:
hớng dẫn giáo viên Hoạt động học sinh - Gọi học sinh vào phòng thi, đánh số
thø tù
- Phát đề cho học sinh
- giải thích số vấn đề thắc mắc
- Ngồi vị trí đợc phân cơng
- Nhận đề, đọc qua đề Thắc mắc số vấn đề cần thiết
Hoạt động 2: Độc lập viết chơng trình Các bớc tiến hành:
hớng dẫn giáo viên Hoạt động học sinh - Thờng xuyên có mặt phịng để giám
s¸t, tr¸nh häc sinh chép - Viết chơng trình lên giấy
IV Đánh giá cuối Những vấn đề cần lu ý: - Nhận xét, phân tích k
Kiểu liệu xâu(tiết 1/2) I Mơc tiªu
KiÕn thøc.
- Biết đợc kiểu liệu mới, biết đợc khái niệm kiểu xâu
- Phân biệt đợc giống khác kiểu mảng kí tự với xâu kí tự
- Biết đợc cách khai báo biến, nhập xuất liệu, tham chiếu đến kí tự xâu - Biết phép toỏn liờn qua n xõu
Kĩ
- Khai báo đợc biến kiểu xâu ngơn ngữ lập trình Pascal Sử dụng biến xâu phép toán xâu để giải toỏn n gin
II Đồ dùng dạy học Chuẩn bị giáo viên
- Máy vi tính, máy chiếu Projector để giới thiệu ví dụ Chuẩn bị học sinh
- S¸ch gi¸o khoa
III Hoạt động dạy – học
(54)- Học sinh biết đợc ý nghĩa xâu số khái niệm xâu Biết cách khai báo biến xâu, nhập xuất liệu cho biến xâu tham chiếu đến kí tự xâu
b Néi dung:
- Xâu kí tự dãy kí tự bảng mã ASCII, kí tự đợc gọi phần tử xâu Số lợng kí tự xâu đợc gọi độ dài xâu Xâu có độ dài khơng xâu rỗng
- Khai báo biến: VAR tên_biến : STRING[độ dài lớn xâu]; - Tham chiếu đến kí tự xâu: tên_biến[chỉ_số]
c C¸c bíc tiÕn hµnh:
hớng dẫn giáo viên Hoạt động học sinh Tìm hiểu ý nghĩa xâu kí tự
- Chiếu đề tốn đặt vấn đề: Viết chơng trình nhập họ tên 30 học sinh lớp
- Hái: ta chọn kiểu liệu nh nào? Khai báo biến nh nào?
- Yờu cầu học sinh: Viết đoạn lệnh để nhập xuất liệu cho phần tử
- Hỏi: Có khó khăn gặp phải?
- Dẫn dắt: Cần có kiểu liệu cho phép ta nhập/ xuất liệu cho xâu lệnh
Tìm hiểu kiểu xâu
- Chiếu lên bảng cách khia báo biến xâu ngôn ngữ lập trình Pascal
- Hái: ý nghÜa cña tõ String, [n]
- Hỏi: Khi khai báo không có[n] số l-ợng kí tự tối đa bao nhiêu?
- Yêu cầu học sinh cho ví dụ xâu kí tự
- Hỏi: Xâu có kí tù?
- Diễn giải: Mỗi kí tự đợc gọi phần tử xâu Số lợng kí tự xâu đ-ợc gọi độ dài xâu
- Hỏi: Xâu gồm kí tự trống đợc viết nh nào? Số lợng kí tự bao nhiêu? - Hỏi: Xâu rỗng đợc viết nh nào? Số lợng kí tự bao nhiêu?
Nhập/xuất liệu cho biến xâu ngôn ngữ Pascal
- Giíi thiƯu cÊu tróc chung cđa thủ tục nhập/xuất liệu
- Yêu cầu häc sinh t×m vÝ dơ thĨ
- Hái: Khi viÕt lƯnh nhËp/xt d÷ liƯu cho biÕn xâu, có khác so với biến mảng kí tù
- Dẫn dắt: Ta sử dụng lệnh gán để nhập giá trị cho biến xâu Cấu trúc chung: Tên_biến_xâu:=hằng_xâu;
- Yêu cầu học sinh tìm ví dụ cụ thể Tham chiếu đến kí tự xâu
Quan sát, suy nh\ghĩ trả lời
- Kiểu mảng chiều gồm 30 kí tự - Khai báo biến mảng A để lu họ tên học sinh
Readln(A[1]0; Readln (A[2]) Readln(A[3]0; Readln (A[4]);
- Chơng trình đợc viết dài dòng Khi nhập liệu, phải thực gõ nhiều phím
Quan s¸t cÊu trúc khai báo tham khảo sách giáo khoa
- String tên kiểu xâu
- [n] giá trị quy định số lợng kí tự tối đa mà biến xâu chứa
- Số kí tự tối đa 255
- VÝ dô: ‘HA NOI’
- Xâu có kí tự, dấu cách kÝ tù
- Kí hiệu xâu gồm kí tự trống ‘ ’ Xâu nà có độ dài
- Kí hiệu xâu rỗng ‘ ’ Xâu có độ dài
Quan sát bảng để trả lời
- VÝ dô: Readln(ho ten);
- VÝ dô: Write(‘ho ten’,hoten);
- ViÕt lệnh nhập nguyên cho xâu Viết lệnh gọn hơn, CHơng trình gọn
- Ví dụ:St:=HA NOI’;
(55)- Giíi thiƯu cÊu tróc chung
- Hỏi: Có giống khác so với cách tham chiếu đến phần t ca mng
- Yêu cầu học sinh t×m mét vÝ dơ KiĨm tra kiÕn thøc
- ChiÕu néi dung bµi tËp kiĨm tra kiÕn thøc:
Var st:string[1]; c:char; Begin
c:=st[1]; {1} c:=st; {2} End
- Hỏi: Trong hai lệnh {1} {2}, Lệnh đúng?
- Thực chơng trình để học sinh tự kiểm nghiệm suy luận
- Gièng cÊu tróc chung tham chiÕu tªn biÕn[chØ sè]
- VÝ dơ: st[2]
Quan sát chơng trình bảng độc lập suy nghĩ
- Lệnh {1}
- LÖnh {2} sai gán xâu cho kí tự
Hoạt động 2: Tìm hiểu phép toán liên quan đến xâu a Mục tiêu:
- Học sinh biết đợc phép toán liên quan đến xâu Diễn đạt đợc phép toán ngơn ngữ lập trình Pascal
b Néi dung:
- Phép ghép xâu: Kí hiệu +, đợc sử dụng để ghép nhiều xâu thành xâu - Các phép so sánh; =, <>,>, <, <=,>=: Thực việc so sánh hai xâu Xâu A đợc xem lớn xâu B nh kí tự khác chúng kể từ trái sang xâu A có số bảng mã ASCII lớn Nếu A B xâu có độ dài khác A đoạn đầu B A nhỏ B
c Các bớc tiến hành:
hng dn ca giáo viên Hoạt động học sinh gợi nhớ phép toán học
- Hỏi: Hãy nhắc lại phép toán học kiểu liệu chuẩn
T×m hiĨu chøc số phép toán kiểu xâu qua số ví dụ - Chiếu chơng trình ví dô:
Var st:string; Begin
st:=’Ha’+ ‘Noi’; Write()st ;
readln; End
- Hái: Kết chơng trình in hình?
- Thực chơng trình để học sinh thấy kt qu
- Yêu cầu học sinh tìm mét sè vÝ dơ kh¸c
- Hỏi: Chức phép cộng?
- Giới thiệu thêm số ví dụ khác yêu cầu học sinh cho biết kết
st:= ‘Ha’ + ‘Noi’; st:= ‘Ha ’+ ‘Noi’; st:= ‘ ’ + ‘Noi’;
Chó ý theo dâi, suy nghĩ trả lời
- Phép to¸n sè häc - PhÐp to¸n so s¸nh - PhÐp to¸n logic
Quan s¸t vÝ dụ, suy nghĩ trả lời - Quan sát chơng trình
- Kết cho ta: st= ‘HA NOI’
- Quan s¸t kÕt chơng trình
- Ví dụ: st:= ‘HA NOI’ + ‘Co ho GUOM’ KÕt qu¶:
st= ‘HA NOI co ho GUOM’
- Là phép toán nối xâu thứ hai vào cuối xâu thø nhÊt
(56)st:= ‘Ha Noi’ + Việt + Nam; - Chiếu chơng trình ví dụ phép so sánh xâu
Var bo:boolean; Begin
bo:= ‘AB’ < ‘AC’; Write(bo);
readln; End
- Hỏi: Kết chơng trình in hình?
- Thc hin chơng trình để học sinh thấy kết
- Hỏi: Cịn có phép so sánh nữa? - Chiếu ví dụ phép so sánh yếu cầu học sinh cho kết phép so sánh
‘AB’ < ‘ABC’ ‘AC’ < ‘ABC’
- Lu ý cho học sinh: Một xâu có độ dài nhỏ lớn (>) xâu có độ dài lớn
st:= ‘Ha Noi ViÖt Nam’;
- Quan sát chơng trình để dự tính kết
- Kết là: TRUE
- Quan sỏt kết chơng trình để kiểm chứng suy luận
- Cã c¸c phÐp <, <=,>=, <>, =
- KÕt qu¶ True - KÕt qu¶: False
IV Đánh giá cuối Những nội dung học.
- Khai báo biến: VAR tên_biến: STRING[độ dài lớn xâu]; - Nhập xuất giá trị cho biến xâu: read/readln(); write/writeln(); - Tham chiếu đến kí tự xâu: tên_biến[chỉ số]
- Phép ghép xâu: Kí hiệu là: +, Đợc sử dụng để ghép nhiều xâu thành xâu - Các phép so sánh: =, <>, >, <, <=, >=: thực việc so sánh hai xõu
Câu hỏi tập nhµ
- Xem phần kiến thức lí thuyết cịn lại bìa, bao gồm hàm thủ tục liên quan đến xâu, sách giáo khoa, trang 70 – 71
KiÓu liệu xâu(tiết 2/2) I Mục tiêu
KiÕn thøc.
- Biết đợc lợi ích hàm thủ tục liên uqna đến xâu ngơn ngữ lập trình Pascal
- Nắm đợc cấu trúc chung chức số hàm thủ túc liên quan đến xâu ngôn ng lp trỡnh Pascal
Kĩ
- Nhận biết bớc đầu sử dụng đợc số hàm thủ tục để giải số tập đơn giản liên quan
II Đồ dùng dạy học Chuẩn bị giáo viªn
- Máy vi tính, máy chiếu Projector để giới thiệu ví dụ, sách giáo viên Chuẩn bị học sinh
- S¸ch gi¸o khoa
III Hoạt động day – học
Hoạt động 1: Tìm hiểu số hàm thủ tục chuẩn liên quan đến xâu ngơn ngữ lập trình Pascal
(57)- Học sinh biết đợc số hàm thủ tục liên quan đến xâu Nắm đợc cấu trúc chung, hiểu đợc tham số hàm thủ tục chuẩn
b Néi dung:
- Thủ tục Delete(st, vt, n) thực việc xóa tring xâu st gồm n kí tự, bắt đàu từ vị trí vt
- Thủ tục insert(st1, st2, vt) thực việc chèn xâu st1 vào xâu st2 vị trí vt - Hàm Copy(st, vt, n) cho giá trị xâu kí tự đợc lấy xâu st, gồm n kí tự liên tiếp vị trí vt xâu st
- Hàm Length(st) cho giá trị số lợng kí tự xâu st
- hàm Pos(st1, st2) cho giá trị vị trí xuất xâu st1 xâu st2 - Hàm Up Case(ch) cho giá trị kí tự hoa t¬ng øng víi kÝ tù ch
c Các bớc tiến hành:
hng dn ca giỏo viờn Hoạt động học sinh giới thiệu cấu trúc chung ca hm
length(st) lên bảng
- Hái: ý nghÜa cđa Length vµ cđa st? - Chiếu chơng trình ví dụ:
Var st:tring; Begin
st:= ‘ha Noi’; Write(length(st)); readln;
End
- Hái: KÕt qu¶ cđa chơng tình in hình?
- Thc chơng trình để học sinh thấy kết
- Hỏi: Chức hàm length() gì?
- Chiếu đề tập ứng dụng: Viết chơng trình nhập xâu, in hình số kí tự ‘a’ có xâu
Giíi thiƯu cÊu tróc chung cđa hµm Upcase(ch)
- Chiếu chơng trình ví dụ: Var ch:char;
Begin ch:= ‘h’;
Write(upcase(ch)); readln;
End
- Hỏi: Kết chơng trình in hình?
- Thc hin chng trình để học sinh thấy kết
- Hỏi: Chức hàm upcase()? - Chiếu tập ứng dụng: Viết chơng trình nhập xâu, in hình xâu dạng in hoa
giíi thiƯu cÊu tróc chung cđa hµm Pos(s1, s2)
- Chiếu chơng trình ví dụ: Var vt:byte;
Begin
vt:=Pos(‘cd’, ‘abcdefcd’);
Quan s¸t cÊu tróc chung
- Length: Là tên hàm, có nghĩa độ dài, st: biểu thức xâu kí tự
- Quan sát chơng trình để dự tính kết qu
- Kết :
- Quan sát kết chơng trình - Hàm cho số lợng kí tự xâu st
Quan sát cấu trúc chung cđa hµm Upcase
- Quan sát chơng trình để dự tính kết
- Kết : H
- Quan sát kết chơng trình
- Cho giá trị chữ in hoa ch Var st:string;
Begin readln(st);
For i:=1 to length(st) write(upcase(st[i])); End
Quan sát cấu trúc chung hàm Pos ví dụ để biết chức
(58)
Write(vt); readln; End
- Hỏi: Kết chơng trình in h×nh?
- Thực chơng trình để học sinh thy kt qu
- Hỏi: Chức cđa hµm Pos?
- Thay tham sè cđa hàm Pos chơng trình Pos(k, abc) Hỏi kết hàm bao nhiêu?
- Chiếu tập ứng dụng: Viết chơng trình nhập vào xâu st Xét xem xâu có dấu cách hay không?
- Hỏi: Có cách giải khác?
Giới thiệu cấu trúc chung hàm copy(st, vt, n)
- Chiếu chơng tr×nh vÝ dơ: Var st:string;
Begin
st:=copy(‘bai tap’, 3, 4); Write(st);
readln; End
- Hỏi: kết chơng trình in hình?
- thc hin chng trình để học sinh thấy kết
- Hỏi: Chức hàm copy?
- Thay tham số hàm copy chơng trình ví dụ nh sau hỏi kết in hình:
Copy(abc,1, 5) Copy(abc,5, 2) Copy(‘abc,1, 0)
- Thực chơng trình để học sinh thấy kết
Giíi thiƯu cÊu tróc chung cđa thđ tơc delete(st, vt, n);
- Chiếu chơng trình ví dụ: Var st:string;
Begin
st:= ‘Ha Noi’; delete(st,3,2); Write(st); readln; End
- Hỏi: Kết chơng trình in hình?
- Thực chơng trình để học sinh thy kt qu
- Kết là:
- Quan sát kết hcơng trình
- Hàm cho giá trị số nguyên vị trú xâu st2 xâu st2
- B»ng kh«ng
Var st:tring; Begin
readln(st);
if pos(‘ ’, st) <>0 then write(‘co’) else write(‘khong’);
End
- Có thể sử dụng For để tìm dấu cách xâu
Quan sát cấu trúc chung hàm coppy ví dụ để biết chức
- Quan sát chơng trình để dự tính kết
- KÕt qu¶ lµ: ‘i ta’
- Quan sát kết chơng trình - Hàm cho giá trị xâu kí tự đợc lấy xâu st, gồm n kí tự bắt đầu vị trí vt
Cho giá trị là: abc Cho giá trị xâu rỗng Cho giá trị xâu rỗng
- Quan sát kết chơng trình để kiểm nghiệm suy luận
Quan s¸t cÊu tróc chung thủ tục delete ví dụ
- Quan sát chơng trình để dự tính kết
st=’ Hai’
- Quan sát kết hcơng trình
(59)- Hỏi: Chức thủ tục delete();
- Thay lƯnh g¸n st:= ‘Ha Noi’; thủ tục xóa lệnh sau hỏi kết in hình
st:= abc; Delete(st,1,5); st:=’ abc’; Delete(st,5,2); st:=’ abc’; Delete(st,1,0);
- Chiếu tập ví dụ: Viết chơng trình nhập xâu xóa dấu cách đầu xâu
Giíi thiƯu cÊu tróc chung cđa thđ tục Insert(st1, st2, vt);
- Chiếu chơng trình vÝ dô: Var st1, st2:string;
begin
st2:= ‘Ha Noi’; st1:= ‘ ’;
insert(st1, st2,3); Write()st;
readln; End
- Hỏi: Kết chơng trình in hình?
- Thc hin chng trỡnh học sinh thấy kết
- Hái chøc thủ tục insert(); - Thay lệnh gán st2:= Ha Noi; thủ tục chèn lệnh nh sau hỏi kết quả:
st2:= ef; Insert(‘abc’,st2, 5); st2:= ‘ef’; Insert(‘abc’,st2, 0);
biÕn x©u st gồm n kí tự, vị trí vt
st:= ; xâu rỗng st:= ‘abc’;
st:= ‘abc’;
Var st:string; Begin
readln(st);
While st[1]= ‘ ’ delete(st, 1, 1); Writeln(st);
readln; End
Quan s¸t cÊu tróc chung cđa thđ tơc Insert
- Quan sát chơng trình để dự tính kết
- KÕt st2= Ha Noi
- Quan sát kết chơng trình
- Thủ tục thực việc chèn xâu st1 vào biến xâu st2 bắt đầu vị trí vt st2= ‘efabc’;
st2= ‘abcef’; Hoạt động 2: Rèn luyện kĩ vận dụng thủ tục a Mục tiêu:
- Học sinh biết sử dụng hàm thủ tục để giải số toán đơn giản Linh hoạt việc lựa chọn hàm thủ tục
b Néi dung
- Viết chơng trình nhập vào xâu xóa dấu thừa có xâu., để lại dấu cách giửa hai từ
c C¸c bíc tiÕn hµnh:
hớng dẫn giáo viên Hoạt động học sinh Xác định toán
- Chiếu nội dung để lên bảng - Xác định liệu vào, liệu
- Hỏi: Các nhiệm vụ giải toán này?
Quan sỏt suy nghĩ để trả lời
- Vµo: Mét xâu kí tự
- Ra: Một xâu có kí trắng hai từ
- Xóa dấu cách thừa đầu xâu cuèi x©u
(60)- Hái: này, ta cần sử dụng hàm thđ tơc nµo?
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 Gọi học sinh nhóm khác nhận xét, đánh giá bổ sung
Chiếu chơng trình mẫu giáo viên viết để xác hóa cho học sinh
- Hµm Pos(), thđ tơc delete();
Thảo luận theo nhóm để viết chơng trình
- Thông báo kết
- Nhận xét bổ sung thiếu sót nhóm khác
Quan sát ghi nhớ IV Đánh giá cuối
Nhng hm thủ tục liên quan đến xâu - Thủ tục Delete(st, vt,n);
- Thđ tơc Insert(st1, st2, vt); - Hµm Copy(st, vt,n)
- Hµm Length(st) - Hµm Pos(st1, st2) - Hµm UpCase(ch)
Câu hỏi tập nhà - Giải tập số 10 trang 80
- Viết chơng trình nhập xâu In hình sỗ từ có xâu - Xem phần nội dung thực hành số 5, sách giáo khoa, trang 73 - Chuẩn bị số tập để thực hành
Bµi thùc hµnh sè I Mơc tiªu
KiÕn thøc.
- Khắc sâu thêm phần kiến thức lí thuyết kiểu xâu kí tự, đặc biệt hàm thủ tục liên quan
- Nắm đợc số thuật toán bản: Tạo xâu mới, đếmm số lần xuất kí tự Kĩ nng
- Khai báo biến kiểu xâu
- Nhập, xuất gá trị cho biến xâu - Duyệt qua tất kí tự xâu - Sử dụng đợc hàm thủ tục chuẩn thái độ
- Tích cực, chủ động thực hành II Đồ dung dạy hc
1 Chuẩn bị giáo viên
- Máy chiếu Projestor để hớng dẫn Tổ chức phịng máy để học sinh có đợc kĩ làm việc với kiểu xâu
Chn bÞ cđa häc sinh
- Sách giáo khoa, tập nhà III Hoạt động dạy – học
Hoạt động 1: Tìm hiểu chơng trình, đề xuất phơng án cải tiến a Mục tiêu:
- Hiểu đợc chơng trình, tính đợc kết chơng trình Biết đề xuất phơng án cải tiến
b Néi dung:
- Nhập vào xâu, kiểm tra xem có phải Palidrom hay không? - Chơng tr×nh
Var i, x:Byte; a,p:string; Begin
Write(‘nhap vao mot xau’); readln(a);
(61)p:= ‘’;
For i:=x downto p:=p+a[i]; If a=p then write(‘xau la Palidrom’) else write(‘xau khong la Palidrom’); Readln;
End
c Các bớc tiến hành:
hng dn ca giáo viên Hoạt động học sinh Tìm hiểu đề
- giới thiệu nội dung đề lên bảng - Diễn giải: Một xâu đợc gọi Palidrom ta đọc kí tự từ phải sang trái giống đọc từ trái sang phi
- Yêu cầu học sinh cho hai ví dụ xâu palidrom ví dụ palidrom
tìm hiểu chơng trình gợi ý - Chiếu chơng trình lên bảng
- Hỏi: Chơng trình sau có chức làm gì? Kết in hình nh thÕnµo?
- Thực chơng trình để học sinh kiểm nghiệm suy luận Cải tiến chơng trình
- Nêu yêu cầu mới: Viết lại chơng trình mà khơng sử dụng biến trung gian p - Yêu cầu: Nhận xét cặp vị trí đối xứng xâu palidrom? - Hỏi: kí tự thứ i đối xứng với kí tự vị trí nào?
- Hỏi: Cần phải so ssánh cặp kí tự xâu để biết đợc xâu ;à palidrom?
- Hỏi: Dùng cấu trúc lặp để so sánh? - Yêu cầu học sinh viết chơng trình hon chnh
- Yêu cầu học sinh nhập liệu cho sẵn giáo viên thông báo kÕt qu¶
- Xác nhận làm có kết
Quan sát, đọc k
Phải: 12321 abccba Không phải: abcdea
Quan sát chơng trình, suy nghĩ phân tích để hiểu chơng trình
- KiĨm tra xâu có phải Palidrom hay không?
- In ra: ‘xau la Palidrom’
‘Xau khong la palidrom - Quan sát giáo viên thực chơng trình, nhập liệu kết chơng trình
Chú ý theo dõi yêu cầu giáo viên, trả lời số câu hỏi dÉn d¾t
- Các kí tự vị trí giống - Kí tự thứ i đối xứng với kí t thứ length() – i +1
- So sánh tối đalength() div
- Cã thĨ dïng For hc While
- Thực soạn thảo chơng trình vào máy theo yêu cầu cải tiến giáo viên - Nhập liệu vào thông báo kết
Hoạt động 2: Rèn luyện kĩ lập trình a.Mục tiêu:
- Học sinh biết phân tích u cầu để viết chơng trình hồn chỉnh b Nội dung
- ViÕt ch¬ng trình nhập vào xâu kí tự S thông báo hình số lần xuất S chữ tiếng Anh(không phân biệt hoa, chữ thờng)
c Các bớc tiến hành:
hớng dẫn giáo viên Hoạt động học sinh Giới thiệu đề
- Chiếu nội dung đề lên bảng Nêu mục đích tốn
- Chia líp thµnh nhãm:
+ Nhóm 1: Đặt câu hỏi phân tích + Nhóm 2: Trả lời câu hỏi phân tÝch
Quan sát đề xác định công việc cần thực
Nhóm 1:
- hỏi: Dữ liệu vào, liệu toán?
(62)- Theo dõi câu hỏi phân tích Của nhóm trả lời câu hỏi phân tích nhãm
- Bỉ sung vµ sửa sai cho nhóm nhóm
Yêu cầu học sinh độc lập viết chơng trình hồn chỉnh theo thuật tốn phát trờn
- Yêu cầu học sinh lập trình xong sím t×m mét sè bé test
- Yêu cầu học sinh nhập liệu vào theo test giáo viên chọn thông báo kết sau thực chơng trình
- Xác nhận kết học sinh sửa sai cho em có kết sai
khi gi¶i toán
- Hỏi: Cấu trúc liệu phải sử dụng nh nào?
- Ta phải sử dụng hàm nào? Nhóm 2:
- Vào: Một xâu S
- Ra: dÃy số ứng với xuất loại kÝ tù x©u
- TT: Duyệt từ trái sang phải, thêm đơn vị cho kí tự đọc đợc
- CÊu tróc d÷ liƯu: Dem[‘A’ Z] - Dùng hàm Upcase()
Độc lập soạn chơng trình vào máy
- T×m test
- Nhập liệu giáo viên thực chơng trình để xem kết
- Thông báo kết cho giáo viên IV Đánh giá cuối
Những nội dung học.
- Một số thuật toán đơn giản liên quan đến xâu kí tự: Kiểm tra xâu đối xứng, tìm tần xuất kí tự có xâu
Câu hỏi tập nhà
- Chuẩn bị nọi dung cho tiết lí thuyết tiết theo đọc trứpc nội dung kiểu ghi, sách giáo khoa, trang 74
KiĨu b¶n ghi I Mơc tiªu
KiÕn thøc.
- Biết đợc khái niệm kiểu ghi
- Phân biệt đợc giống khác giửa kiểu ghi với kiểu mảng chiều Kĩ
- Khai báo đợc kiểu ghi, khai báo đợc biến kiểu ghi ngôn ngữ lập trình pascal
- Nhập xuất đợc liệu cho biến bàn ghi - tham chiếu đến trờng kiểu ghi
- Sử dụng kiểu ghi để giải số tập đơn giản II Đồ dùng dỵa học
Chuẩn bị giáo viên
- Máy vi tính, máy chiếu Projector để giới thiệu ví dụ Chuẩn bị học sinh
- S¸ch gi¸o khoa
III Hoạt động dạy – học
Hoạt động 1: giới thiệu kiêu ghi Tọa kiểu ghi ngơn ngữ lập trình Pascal
a Mơc tiªu:
- Học sinh biết đợc kiểu liệu có cấu trúc: Kiểu ghi Biết đợc ý nghĩa kiểu ghi Phân biệt đợc kiểu ghi với mảng chiều Tạo đợc kiểu ghi Mở bài: Dữ liệu kiểu ghi dùng để mơ ta đối tợng có số thuộc tính mà thuộc tính có kiểu liệu khác
(63)- Mỗi thông tin đối đợc gọi ;à thuộc tính hay trờng Mỗi đối tợng đợc mơ tả nhiều thông tin hàng đợc gọi ghi
- Để mô tả đối tợng nh vậy, ngơn ngữ lập trình cho phép ta xác định kiểu ghi Mỗi đối tợng đợc mô tả ghi
- Một ngơn ngữ lập trình ln có quy tắc để xác định : tên kiểu bane ghi, tên trờng, tên kiểu liệu trờng, cách khai báo biến cách tham chiếu đến trờng
- Khai báo kiểu ghi: type <tên_kiểu_bg> = record
<Tªn_trêng_1>:<KiĨu_trêng_1>;
<Tªn_trêng_n>:<KiĨu_trêng_n>; End:
- Khai báo biến ghi: Var <Tên_biến>: <Tên_kiểu_bg>; c Các bớc tiÕn hµnh:
hớng dẫn giáo viên Hoạt động học sinh Tìm hiểu kiểu ghi
- ChiÕu b¶ng kÕt qu¶ thi tèt nghiƯp , s¸ch gi¸o khoa trang 74
- Hỏi: Trên bảng có thơng tin gì? - Hỏi: Bảng chứa thông tin đối tợng?
- Yêu cầu: Học sinh tìm thêm ví dơ t¬ng tù
- Diễn giải: Mỗi thơng tin đối đơch gọi thuộc tính hay trờng Mỗ đối tợng đợc mô tả nhiều thông tin hàng đợc gọi ghi - Diễn giải: Để mô tả đối tợng nh vậy, ngơn ngữ lập trình cho phép ta xác định kiểu ghi Mỗi đối tợng đợc mô t bng mt bn ghi
Yêu cầu học sinh nghiên nứu sách giáo khoa cho biết cách khai báo kiểu ghi, khai báo biến kiểu ghi ngôn ngữ lập trình Pascal
- u cầu: Tìm ví dụ để minh họa
- Để giải toán mục ta phải khai báo mảng ghi Hãy tạo kiểu mảng
- Yêu cầu học sinh phân biệt giống khác kiểu ghi kiểu mảng mét chiỊu
Quan s¸t vÝ dơ cđa giáo viên trả lời câu hỏi
- Họ tên, sinh, giới tính, điểm m«n thi
- bảng chứa thơng tin đối tợng - Để mô tả ngới tong danh bạ điện thoại cần có thơng tin: Họ tên, địa chỉ, số điện thoại
Tham khảo sách giáo khoa để nắm đ-ợc cấu trúc chung khai báo kiểu ghi, khai báo biến ghi
- VÝ dô:
Typekieu_nguoi=record hoten:string;
diachi:sting; sdt:longint; End;
Var nguoi:kieu_nguoi;
- Độc lập suy nghĩ để tạo kiểu ghi mảng ghi
type kieu_hs=record
Hoten, ngaysinh:string; toan, van:byte;
sdt:read; End;
Kieu_mbg=array[1 50] of kieu_hs;
- Giống nhau: Đợc ghép nhiều phần tử
(64)khi ghi ghép nhiều phần tử có kiểu liệu khác
Hoạt động 2: Tìm hiểu cách sử dụng kiểu ghi ngôn ngữ Pascal a Mục tiêu:
- Học sinh biết cách tham chiếu đến trờng biến ghi Nhập/xuất giá trị cho biến ghi
b Néi dung:
- Tham chiếu đến trờng: Tên_biến_bg Tên_trờng - Gán giá trị biến ghi: Có hai cách:
+ G¸n biÕn ghi cho biến ghi(cùng kiểu khai báo) + Gán giá trị cho trờng
- Nhập/xuất giá trị: Phải viết lệnh nhâp/xuất lần lợt với trờng c Các bớc tiến hành:
hng dẫn giáo viên Hoạt động học sinh giới thiệu cấu trúc chung để tham chiếu
đến trờng biến ghi Tên_biến_bg Tên_trờng
- u cầu: Tìm ví dụ tham chiếu đến trờng biến ghi đợc khai báo
giíi thiƯu c¸ch gán giá trị cho biến ghi
+ Gán nguyên biến ghi(1) + Gán lần lợt trờng (2)
- Yêu cầu: Lấy vÝ dơ minh häa cho tõng trêng hỵp
- Hỏi: trờng hợp (1) thực đợc trờng hp no?
Nhập/xuất giá trị cho biến b¶n ghi
- DiƠn gi¶i: Ta ph¶i viết lệnh nhập xuất giá trị cho trờng
- Yêu cầu học sinh: Viết lệnh nhập giá trị cho ba trờng hợp biến ghi nguoi đợc khai báo
- yªu cầu học sinh: Viết lệnh in giá trị trờng hoten cđa biÕn b¶n ghi nguoi.
Quan sát cấu trúc chung tham chiếu đến trờng biến ghi - ví dụ:
nguoi.hoten nguoi.diachi nguoi.sdt;
Quan sát hai cách gán giá trị cho biến ghi để tìm ví dụ cụ thể
A :=B;
A.ht:=B.ht; A.dtb :=B.dtb;
- hai biến A, B phải đợc khai báo kiểu ghi
Chú ý theo dõi dẫn dắt giáo viên để tìm đợc ví dụ
- Readln(nguoi.hoten); - Readln(nguoi.diachi); - Readln(nguoi.sdt); - Writeln(nguoi.hoten);
Hoạt động 3: rèn luyện kĩ lập trình a Mục tiêu:
- Học sinh sử dụng đợc kiểu ghi để giải số tập đơn giản b Nội dung:
ViÕt ch¬ng trình giải toán sau:
Cú lớp gồm N học sinh (1<=N<=45) Với học sinh cần quản lí thuộc tính: họ tên, điểm toán, điểm văn xếp loại Giả sử xếp loại đợc xác định theo quy tắc sau:
+ Nếu tổng điểm toán điểm văn nhỏ 10 xếp loại D
+ Nếu tổng điểm toán điểm văn lớn 10 nhỏ 14 xếp loại C
+ Nếu tổng điểm toán điểm văn lớn 14 nhỏ 18 xếp loại B + Nếu tổng điểm toán điểm văn lớn 18 xếp loại A
c Các bớc tiến hành:
hng dn ca giáo viên Hoạt động học sinh Chiếu nội dung đề lên bảng
- Hỏi: Sử dụng kiểu liệu nh
Quan sát đề, ý phân tích để trả lời câu hỏi
(65)để giải toán?
- Yêu cầu học sinh: Mô tả thông tin học sinh kiểu ghi Tạo mảng ghi
- Nêu bớc để giải tốn
Chia líp thµnh ba nhóm Yêu cầu viết chơng trình lên bìa
- thu phiếu học tập Chiếu kết lên bảng Gọi học sinh nhóm khác nhận xét đánh giá
Chiếu chơng trình mẫu để xác hóa lại cho học sinh
Type Kieu_hs=record Hoten:string; toan,van,tong:byte; xeploai:char;
end;
Kieu_mhs=array[1 45] of kieu_hs; + Bíc 1: tạo kiểu liệu, khai báo biến + Bớc 2: Nhập liệu co mảng ghi
+ Tính tổng điểm tốn điểm văn + dựa vào tổng điểm để xếp loại
thảo luận theo nhóm để hồn thành ch-ơng trình
- Thông báo kết
- Nhận xét, đánh giá bổ sung sai sót ca nhúm khỏc
Quan sát ghi nhí
IV Đánh giá cuối Những nội dung học.
- Cách tạo kiểu ghi, khai báo biến kiểu ghi - Tham chiếu đến trờng biến ghi - Nhập/xuất giá trị cho biến ghi
Câu hỏi tập nhà
- Bài tập: Viết chơng trình giải toán quản lí sau:
Nhp h tên, điểm tốn(Toan), điểm lí(Ly) 30 học sinh lớp In hình họ tên, điểm trung bình (DTB) 30 học sinh với DTB = (TOAN+LY)/2 - Xem nội dung phụ lục B, sách giáo khoa, trang 134: Câu lệnh With
Ch¬ng tệp thao tác với tệp i mục tiêu chơng
kin thc Hc sinh cần nắm đợc: - Đặc điểm kiểu liệu tệp
- Kh¸i niƯm vỊ tệp có cấu trúc tệp văn
- Các thao tác xử lí tệp: Gán tên tệp, mở/đóng tệp, đọc/ghi tệp
- Hiểu thủ tục khai báo tệp: Gán tên tệp, mở tệp để đọc/ghi, đóng tệp Thái độ
- Thấy đợc cần thiết tiện lợi kiẻu liệu tệp
- Có ý thức lu trữ cách khoa học, phòng chống mát nhiễm virus - Giáo dục thêm ý thức tôn trọng quyền, không sửa chữa vô ý thức phần mềm, không chép phần mỊm cha mau b¶n qun
II Néi dung chủ yếu chơng Nội dung chủ yếu là:
- Phân loại tệp
- Khai bỏo bin tệp, thao tác với tệp: Gán tên tệp, mở/đóng tệp, c/ghi
Kiểu liệu tệp.Thao tác với tệp I Mơc tiªu
(66)- Biết đợc đặc điểm kiểu liệu tệp
- BiÕt kh¸i niƯm vỊ tƯp cã cÊu trúc tệp văn Kĩ năng:
- Khai báo biến kiểu tệp
- Thực đợc thao tác xử lí tệp: Gán tên tệp, mở/đóng tệp, đọc/ghi tệp - Sử dụng đợc thủ tục liên quan để đọc/ghi liệu tệp
Thái độ:
- Thấy đợc cần thiết tiện lợi kiểu liệu tệp - Có ý thức lu trữ liệu cách khoa hc
- Giáo dục thêm ý thức tôn trọng quyền, không sửa chữa, chép phần mềm cha mua quyền
II Đổ dùng dạy học Chuẩn bị giáo viªn
- Máy vi tính, máy chiếu Projector để giới thiệu ví dụ Chuẩn bị học sinh
- S¸ch gi¸o khoa
III Hoạt động dạy – học
hoạt động 1: Tìm hiểu đặc điểm kiểu liệu tệp Phân loại kiểu tệp a Mục tiêu:
- Học sinh biết đợc đặc điểm kiểu tệp Biết đợc hai loại tệp: Định có cấu trúc tệp văn
b Mở bài: Các kiểu liệu học đợc lu trữ nhớ , liệu bị tắt máy Khi giải tốn có liệu cần đợc lu lại xử lí nhiều lần cần có kiểu liệu mới: kiểu tệp
c Néi dung:
- Đặc điểm kiểu tệp:
+ Đợc lu trữ lâu dài nhớ ngoài, không bị mất điện + Lợng thông tin lu trữ lớn
- Cã hai lo¹i tƯp:
+ Tệp có cấu trúc loại tệp mà thành phần đợc tổ chức theo cấu trúc định
+ Tệp văn bản: Là tệp mà liệu đợc ghi dới dạng kí tự theo mã ASCII Trong tệp văn bản, dãy kí tự kết thúc kí tự xuống dịng hay kí tự kết thúc tệp tạo thành dịng
c Các bớc tiến hành:
hng dn giáo viên Hoạt động học sinh - Hỏi: Em cho biết liệu
kiểu liệu từ trớc đến ta sử dụng đợc lu trữ loại nhớ thực ch-ơng trình?
- Hỏi: Vì em biết đợc điều đó?
- Diễn giải: Để lu trữ đợc liệu, ta phải lu nhớ ngồi thơng qua kiểu liệu tệp Mọi ngơn ngữ lập trình có thao tác: Khai báo biến tệp, mở tệp,
đọc/ghi liệu, đóng tệp
- Yêu cầu học sinh nghiên cứu sách giáo khoa hco biết đặc điểm cuat tên tệp? Có loại kiểu tệp?
- Yêu cầu học sinh trình bày khái niệm tệp có cấu trúc tệp văn
- Bé nhí RAM
- MÊt d÷ liƯu mÊt ®iƯn
- Khơng thơng tin tắt máy - Dung lợng liệu đợc lu trữ lớn
- Cã hai lo¹i kiĨu tƯp: Tệp có cấu trúc tệp văn
+ Tệp có cấu trúc loại tệp mà thành phần đợc tổ chức theo cấu trúc định
(67)Hoạt động 2: Tìm hiểu thao tác xử lí tệp văn ngơn ngữ lập trình Pascal
a Mơc tiªu:
- Häc sinh biÕt c¸ch khai b¸o biÕn
- Học sinh biết sử dụng đợc thủ tục xử lí với tệp - Học sinh biết xử lí đọc/ghi tệp văn
b Néi dung:
- Khai b¸o biÕn tƯp văn bản: Var <tên_biên_tệp>: Text;
- Gán tên tệp: Assign(<tên_biến_tệp>,<tên_tệp>); <tên_tệp>: Là biến xâu xâu
- Tạo tệp để ghi: Rewrite(>Tên_biến_tệp>); - Mở tệp để đọc: Reset (>Tên_biến_tệp>); - Đóng tệp : Close(>Tên_biến_tệp>);
- Đọc tệp văn Read(<tên biến tệp>, <Danh sách tên biến>); Hoặc Readln(<tên biến tệp>, <Danh sách tên biến>); - ghi tệp văn Write(<tên biến tệp>, <Danh sách kết quả>); Hoặc Writeln(<tên biến tệp>, <Danh sách kết quả>); c Các bớc tiến hành:
hng dẫn giáo viên Hoạt động học sinh giới thiệu cấu trúc chung khai báo
biÕn tƯp
Var <Tªn_biÕn_tƯp>: Text;
- u cầu học sinh tìm ví dụ cụ thể Giới thiệu thao tác gán tên tệp, tạo tệp để ghi, mở tệp để đọc, đóng tệp Assign(<tên_biến_tệp>,<tên_tệp>); Rewrite(<tên_biến_tệp>);
Close(>Tªn_biÕn_tƯp>);
- u cầu: Lấy ví dụ minh hoạ mở tệp để ghi thơng tin mở tệp để đọc thông tin
Chiếu sơ đồ làm việc với tệp lên bảng, hình 16, trang 86, sách giáo khoa Yêu cầu học sinh giải thích ý nghĩa sơ đồ
Giới thiệu cấu trúc chung thủ tục đọc/ghi liệu tệp văn
- Yªu cÇu häc sinh lÊy vÝ dơ minh häa
Quan sát cấu trúc suy nghĩ trả lời - Var f,g:text;
Quan sát suy nghĩ để trả lời câu hỏi
Assign(f5,’B1.INP’); Rewrite(f5);
Close(f5);
Assign(f5,’B1.OUT’); Rewrite(f5);
Close(f5);
Quan sát sơ đồ suy nghĩ để trả lời - Ghi tệp: Gán tên tệp, tạo tệp mới, ghi thơng tin, đóng tệp
- Đọc tệp: Gán tên tệp, mở tệp, đọc thơng tin, đóng tệp
Quan s¸t cÊu tróc chung
- Readln(f,x1,x2); Đọc liệu từ biến tệp f, đặt giá trị vào hai biến x1 x2 - Writeln(g, ‘tong la’, x1+x2); Ghi vào biến tệp g hai tham số; dòng chữ ‘tong la’ giá trị tổng x1+x2
IV Đánh giá cuối Những nội dung học.
- Việc trao đổi liệu với nhớ ngồi đợc thực thơng qua kiểu liệu tệp Có hai loại tệp: Tệp có cấu trúc tệp văn
- Để làm việc với tệp, cần phải khai báo biến tệp: Var <Tên_biến_tệp>: text; - Mỗi ngôn ngữ lập trình có hàm thủ tục chuẩn để làm việc với tệp nh: Gán tên tệp, tạo tệp để ghi, mở tệp để đọc, đóng tệp
- ngôn ngữ lập trình Pascal có thủ tục tơng ứng là: Assign(<tên_biến_tệp>,<tên_tệp>);
(68)- Đọc/ghi tệp văn bản:
Read(<tên biên tệp>,<danh sách tên biến>); Readln(<tên biên tệp>,<danh sách tên biến>); Write(<tên biên tệp>,<danh sách tên biến>); Writeln(<tên biên tệp>,<danh sách tên biến>); Câu hỏi tập nhà
- Trả lời câu hỏi 1, 2, 3, 4, sách giáo khoa, trang 89
Ví dụ làm việc víi tƯp I.Mơc tiªu
kiÕn thøc:
- Củng cố lại kiến thức học tệp chơng thơng qua ví dụ Kĩ
- Sử dụng đợc hàm thủ tục liên quan để giải tập II Đồ dùng dạy học
Chuẩn bị giáo viên
- Máy chiếu Projector để giới thiệu ví dụ, phịng máy vi tính Chuẩn bị học sinh
- S¸ch gi¸o khoa
III Hoạt động dạy – học
Hoạt động 1: Ơn tập kiến thức lí thuyết a Mục tiêu:
- Học sinh nhớ đợc kiến thức lí thuýet kiểu tệp b Nội dung:
- Gán tên tệp, mở tệp, tạo tệp mới, đóng tệp - Đọc/ghi bn
- Các hàm thủ tục liên quan c Các bớc tiến hành :
hớng dẫn giáo viên Hoạt động học sinh Gợi ý để học sinh nhớ lại kiến thức
đã học kiểu tệp
-Hái: C¸ch khai b¸o biÕn kiĨu tƯp? - Hỏi: Có thủ tục làm viƯc víi tƯp?
- Hái: Hµm thủ tục liên quan xử lí tệp?
Giới thiệu bảng tổng hpj hàm thủ tục lên bảng, xem nh tổng kÕt kiÕn thøc liªn quan
Theo dâi dẫn dắt giáo viên trả lời
- Var <Tªn_biÕn_tƯp>: Text;
- Assign(<Tªn_biÕn_tƯp>,<tªn_tƯp>); - Rewrite(>Tªn_biÕn_tƯp>);
- Reset (>Tªn_biÕn_tƯp>); - Close(>Tªn_biÕn_tƯp>); - Read/readln(<tên_biến_tệp>, <Danh_sách_tên_biến>);
- Write/writeln(<tên_biến_tệp>, <Danh_sách_tên_biến>);
- Eof(>Tên_biến_tệp>)
- Seek(>Tên_biến_tệp>,<biến_nguyên>); Quan sát bảng tổng hợp ghi nhớ
Hot ng 2: Tìm hiểu chơng trình ví dụ a Mục tiêu:
- Học sinh hiểu đợc nội dung chơng trình.Biết đợc đầu vào đầu chơng trình
b Néi dung:
Ví dụ 1, sách giáo khoa, trang 87: Tính khoảng cách điểm Ví dụ 2, sách giáo khoa , trang 87: Tính điện trở tơng đơng
(69)hớng dẫn giáo viên Hoạt động học sinh Tìm hiểu ví dụ
- Giới thiệu nội dung đề
- Chiếu chơng trình ví dụ lên bảng gợi ý để học sinh tìm hiểu chơng trình - Hỏi: Hàm Eof(f) có chức gì?
- Có thể sử dụng cấu trúc For thay th while c khụng?
- Chơng trình thực công việc gì?
- Thực chơng trình để học sinh thấy đợc kết
Tìm hiểu chơng trình ví dụ - Giới thiệu đề
- Chiếu tranh mô kết nối điện trở, hình 17, trang 88, sách giáo khoa - Hỏi: Cơng thức tính điện trở sơ đồ II, III, IV
- Chiếu chơng trình ví dụ lên bảng - Hỏi: Mảng a dùng để lu trữ giá trị nào?
- Cho mét File d÷ liệu vào gồm dòng Yêu cầu học sinh tính kÕt qu¶
- Thực chơng trình đọc file liệu vào để học sinh đối chiếu kết
Theo dõi quan sát đề chơng trình gợi ý
- Hàm cho giá trị True trỏ tệp định vị trí kết thúc tệp
- Không Vì số lợng phần tử tệp
- Tính đa hình khoảng cách từ trại thầy hiệu trởng đến trại giáo viên
Quan sát nội dung đề bài, quan sát tranh mô kết nối điện trở yêu cầu
- Dùng để lu trữ điện trở tơng đơng điện trở theo cách ghép nối nh sơ đồ
- Tính kết điện trở tơng đơng - Quan sát kết chơng trình so sánh với kết tính đơng
- NhËn xÐt vỊ tÝnh xác thời gian thực chơng trình
Hoạt động 3: Rèn luyện kĩ lập trình a Mục tiêu:
- Học sinh sử dụng đợc thủ tục liên quan kiểu tệp để giải toán đặt b Nội dung:
- Viết chơng trình tạo tệp MYBOOK.DAT định kiểu ghi, ghi có cấu trúc:
Record
Ten_sach:String; Tac_gia:Tring[30]; Gia_tien:Longint; End;
Yêu cầu: Ghi tệp sáhc em c Các bớc tiến hành:
hớng dẫn giáo viên Hoạt động học sinh Chiếu đề lên bảng Yêu cầu học
sinh tự viết chơng trình, chạy thử báo cáo kết
Quan sát, theo dõi việc lập trình học sinh, gợi ý cho mét sè em cßn yÕu
yêu cầu học sinh thực ch-ơng trình với test giáo viên chuẩn bị Thông báo kết mà chơng trình tìm đợc Xác nhận kết
Theo dõi đề bài, định hớng liệu vào, thuật toán
Soạn chơng trình vào máy, thực chơng trình thông báo kết cho giáo viên
(70)
IV Đánh giá cuối Những nội dung học. - Các thao tác xử lí tệp: + Gán tên tệp + Mở tệp + to mi
+ Đọc/ghi thông tin cđa tƯp + §ãng tƯp
- Hàm thủ tục liên quan
+ Hàm EOF(Tên_biến_tệp) Câu hỏi tập nhà
- Đọc trớc nội dung bái Chơng trình phân loại Cách viết sử dụng thủ tục
Chơng 6.
Chơng trình lập trình có cấu trúc I Mục tiêu cđa ch¬ng
Kiến thức Học sinh cần nắm đợc:
- Một số khái niệm chơng trình con, lợi ích việc viết chơng trình con.Phân biệt đợc hai loại chơng trình con: Hm v th tc
Kĩ
- Học sinh biết cách khai báo chơng trình với tham số hình thức chóng
- Häc sinh biÕt c¸ch sư dụng chơng trình gọi chơng trình thực víi nh÷ng tham sè thùc sù
- Học sinh đợc rèn luyện kĩ tổ chức chơng trình lập trình, khả diễn đạt số thuật tốn bản, góp phần phát triển t thuật toán
thái độ
- TiÕp tơc rÌn lun c¸c phÈm chÊt cđa ngời lập trình nh tinh thần hợp tác, sẵn sáng làm việc theo nhóm, tuân thủ theo yêu cầu mét viƯc chung
II Néi dung chđ u chơng
Hai loại chơng trình con: Thủ tục hàm Hai loại tham số: Tham số giá trị tham số biến Hai loại biến: biến toàn cục biến cục
Chơng trình phân loại I Mục tiêu
Kiến thøc:
- Biết đợc khái niệm chơng trình
- Biết đợc ý nghĩa chơng trình con, cần thiết phải viết chơng trình thành chơng trình
- Biết đợc cấu trúc chơng trình
- Phân biệt đợc hai loại chơng trình hàm thủ tục Kĩ
- Nhận biết đợc thành phần đầu thủ tục
- Nhận biết đợc hai loại tham số hình thức đầu thủ tục
- BiÕt c¸ch khai báo hai loại chơng trình với tham số hình thức chúng - Biết cách viết lời gọi chơng trình thân chơng trình
thái độ:
- RÌn luyện phẩm chất ngời lập trình nh tinh thần hợp tác, làm việc theo nhóm, tuân thủ yêu cầu công việc chung
(71)- Máy vi tính, máy chiếu Projector để giới thiệu ví dụ, máy chiếu Overhead, bìa trong, bút
2 Chuẩn bị học sinh - Sách giáo khoa
III Hoạt động dạy – học
Hoạt động 1: Tìm hiểu chơng trình lợi ích việc sử dụng chơng trình lập trình
a Mơc tiªu:
- Học sinh biết đợc khái niệm chơng trình lợi ích việc viết chơng trình có sử dụng chơng trình
b Mở bài: Khi viết chơng trình giải tốn phức tạp, chơng trình thờng dài, ngời đọc khó nhận biết đợc chơng trình thực cơng việc gi Vấn đề đặt phải cấu trúc chơng trình nh để dễ đọc, dễ hiểu Mặt khác, việc giải toán lớn thờng đói hỏi phải phân thành tốn Vì vậy, lập trình cần phải chia chơng trình thành chơng trình
c Néi dung:
- Chơng trình dãy lẹnh mơ tả số thao tác định đợc thực nhiều vị trí chơng trình
- Lỵi Ých cđa viƯc sư dụng chơng trình con:
+ Chng trỡnh dễ đọc, dễ hiểu, dễ kiểm tra phát lỗi sửa sai + Có thể giao cho nhiều ngời viết chơng trình
+ Tránh việc phải viết lặp lại nhóm lệnh nhóm lệnh đợc thực nhiều lần khác chơng trình
+ Thn tiƯn cho việc nâng cấp chơng trình d Các bớc tiÕn hµnh:
hớng dẫn giáo viên Hoạt động học sinh Tìm hiểu ý nghĩa khái nim ca
ch-ơng trình
- Chiu hai chơng trình giáo viên chuẩn bị sẵn Một chơng trình có sử dụng chơng trình con, chơng trình khơng sử dụng chơng trình
Ch¼ng hạn: Chơng trình tính tổng lũy thừa: TLT=an+bm+cp+dq
- Gọi học sinh nhận xét tính ngắn gọn, rõ ràng, tính dễ đọc dễ hiểu hai chơng trình
- Hỏi: Khi nên viết chơng trình con?
- Yêu cầu học sinh đọc sách giáo khoa, cho biết khái niệm chơng trình
- Chia lớp thành nhóm Phát bìa cho nhóm Yêu cầu học sinh điền lợi ích việc sử dụng chơng trình
- Thu phiếu học tập Chiếu kết lên bảng
- Bổ sung giải thích thêm mét sè lỵi
Quan sát đề hai chơng trình ví dụ
- Nhận xét: Chơng trình có sử dụng ch-ơng trình đợc viết ngắn gon, dễ hiểu chơng trình viết khơng sử dụng chơng tình
- §èi víi toán lớn, cần nhiều ng-ời viết Chơng trình dài, cần chia làm nhiều đoạn Có nhiều đoạn lệnh lặp lại, nên viết chơng trình
- Tham khảo sách giáo khoa để trả lời
- Nghiên cứu sáhc g iáo khoa, thảo luận để điền phiếu học tập
+ Tránh đợc việc phải viết lặp lặp lại dãy lệnh chơng trình
+ Hỗ trợ việc thực viết chơng trình lớn
+ Phục vụ trình trừu tợng hóa + Mở rộng khả ngôn ngữ
+ Thuận tiện cho việc phát triển nâng cấp chơng trình
- Báo cáo kết qu¶
(72)ích mà học sinh điền cha đầy đủ (vì em cịn mơ hồ chơng trinhg con) phân loại chơng trình
- Hỏi: Có loại chơng trình con? Gọi tªn cđa chóng?
- Hỏi: Đã làm quen với hàm thủ tục cha? Lấy số ví dụ hàm thủ tục đợc học
- ý nghÜa cđa hµm vµ thđ tơc chuÈn?
- yêu cầu học sinh tham khảo sách giáo khoa để phân biệt khái niệm hàm thủ tục
CÊu tróc cđa ch¬ng tr×nh
- Giíi thiƯu cÊu tróc chung chơng trình
<Phần đầu>
[<Phần khai báo>] <Phần thân>
- Yêu cầu học sinh so sánh với cấu trúc chơng trình
- Yêu cầu học sinh giải thích phần khai báo phần thân chơng trình
- Diễn giải: Phần đầu chơng trình gồm có tên chơng trình con, tham số chơng trình Các tham số đ-ợc gọi tham số hình thức
Thực chơng trình
- Hỏi: Để sử dụng hàm thủ tục chuẩn em thờng viết đâu viết nh nào?
- Diễn giải: Để gọi chơng trình con, ta cần phải có lệnh gọi tơng tự lệnh gọi hàm hay thủ tục chuẩn, bao gồm tên chơng trình với tham số(nếu có) cá biến chứa liệu vào/ra tơng ứng với tham số hình thức đặt cặp ngoặc Các biến đợc gọi tham số thực
viên
Tham khảo sách giáo khoa trả lời
- Hai loại chơng trình con: hàm thủ tục
- ĐÃ sư dơng hµm vµ thđ tơc chn - VÝ dơ: Hµm abs(), length(st) Thđ tơc Delete(st,p,n);
- Hàm thực số thao tác nịa trả lời giá trị kiểu đơn giản thông qua tên hàm
- Thủ tục thực thao tác định nhng không trả giá trị qua tên
Quan sát cấu trúc chơng trình
- Giống cấu trúc chơng trình Khác chỗ phần đầu chơng trình bắt buộc phải có
- Phần khai báo thờng khai báo biến,
- Phần thân dãy lệnh thực nhiệm vụ định chơng trình
Suy nghĩ trả lời
- Vit chơng trình Viết thủ tục kèm tham số kết thúc dấu chấm phẩy(;) Viết hàm lẹnh thủ tục Hàm khơng đợc viết nh lệnh
IV Đánh giá cuối Những nội dung học.
- Chơng trình đóng vai trị quan trọng lập trình, đặc biệt lập trình cấu trỳc
- Các lợi ích chơng trình con: Dùng chơng trình thuận lợi cho việc tổ chức, viết, kiểm tra sử dụng lại chơng trình
- Có hai loại chơng tình
(73)- Chơng trình đợc gọi tên Câu hỏi tập nhà
- Đọc trớc nội dung vài: Ví dụ cách viết sử dụng chơng trình con, sách gi¸o khoa, trang 96
VÝ dơ vỊ c¸ch viÕt sử dụng chơng trình I Mục tiêu
KiÕn thøc.
- Biết đợc cấu trúc chung vị trí thủ tục chơng trình - Phân biệt đợc tham số giá trị tham số biến
- Nắm đợc khái niệm biến toàn cục biến cụa Kĩ năng:
- Nhận biết đợc thành phần đầu thủ tục
- Nhận biết đợc hai loại tham số hình thức đầu thủ tục
- Biết cách khai bóa hai loại chơng trình với tham số hình thức cảu chúng - Sử dụng lời gọi chơng trình thân chơng trình
- Phân biệt đợc khác hàm thủ tục - Phân biệt sử dụng biến toàn cục biến cục Thái độ:
- rÌn lun c¸c phÈm hcất ngời lập trình nh tinh thần hợp tác, làm việc theo nhóm, tuân thủ yêu cầu công việc chung
II Đồ dùng dạy học Chuẩn bị giáo viên
- máy vi tính, máy chiếu Projector để giới thiệu ví dụ Chuẩn bị học sinh
- S¸ch gi¸o khoa
III Hoạt động dạy – học
Hoạt động 1: Tìm hiểu cấu trúc chung ví dụ thủ tục chơng trình a Mục tiêu:
- Học sinh biết đợc cấu trúc chung thủ tục vị trí khai báo thủ tục chơng trình
- Häc sinh biÕt khai niƯm vỊ tham sè cđa ch¬ng trình Biết tham số hình thức tham số thùc sù
- Học sinh biết đợc khái niệm tham số giá trị tham số biến b Nội dung:
- CÊu trúc vị trí chơng trình chơng trình Program tên_chơng_trình_chính;
Uses Khai b¸o th viƯn sư dơng; Const khai b¸o h»ng;
type Khai báo kiểu liệu; Var khai báo biến;
procedure tên_thủ_tục(danh sách tham sè); C¸c khai b¸o cđa thđ tơc;
Begin
C¸c lƯnh cđa thđ tơc; End;
BEGIN
C¸c lệnh chơng trình chính; Lời gọi thực hµm vµ thđ tơc; END
- Tham số hình thức: Là tham số đợc đa vào định nghĩa chơng trình - Tham số thực sự: Là tham số đợc viết lời gọi chơng trình
(74)- Tham số giá trị: Khi khai báo khơng có từ khóa Var trớc Khi gọi chơng trình con, tham số hình thức tham số giá trị đợc thay tham số thực giá trị biến
c Các bớc tiến hành:
hng dn ca giỏo viờn Hoạt động học sinh Giới thiệu ví dụ m u
- Chiếu chơng trình ví dụ lên bảng(ví dụ VD thutuc1, trang 96) Giới thiệu cho häc sinh cÊu tróc thđ tơc vÞ trÝ khai b¸o cđa thđ tơc, lêi gäi thđ tơc
T×m hiĨu cÊu tróc thđ tơc
- Hỏi: Vị trí thủ tục nằm phần chơng trình chính?
- Hỏi: Cấu trúc cđa thđ tơc gåm mÊy phÇn?
- Hái: Phân biệt giống khác chơng trình chơng trình chính? - Giới thiệu cấu trúc chung thủ tục Procedure tên_thủ_tục(danh sách tham sè);
C¸c khai b¸o cđa thđ tơc; Begin
C¸c lƯnh cđa thđ tơc; End;
- Lêi gäi thđ tục ta viết phần chơng trình?
Tìm hiểu tham số hình thức tham sè thùc sù
- ChiÕu vÝ dô 2, VD_thutuc2, sách giáo khoa trang 98
- Yêu cÇu häc sinh nhËn xÐt vỊ thđ tơc ve_hcn cđa vÝ dơ nµy víi vÝ dơ tríc
- Diễn giải: Khai báo cho phép thủ tục ve_hcn thực vẽ dợc nhiều hình chữ nhật có kích thíc kh¸c
- Hỏi: Quan sát chơng trình cho biết, chơng trình ta vẽ đợc tất hình chữ nhật
- Tham số chdai, chrong đợc gọi tham số hình thức
- Trong lời gọi thủ tục tham số hình thức đợc thay tham số thực - So sánh tham số lời gọi ve_hcn(5,10); ve_hcn(a,b);
T×m hiểu tham số giá trị tham số biến
- Diễn giải: Tham số có hai chức năng: đa liệu vào cho chơng trình đa liệu chơng trình tìm đợc
- Hái: C¸c tham sè vÝ dơ thc loại nào?
- Chiếu chơng trình VD_thambien 1, s¸ch gi¸o khoa trang 99
- Hỏi: tham số x, y thuộc loại nào? - Diễn giải: lời gọi thủ tục, tham số hình thức đợc thay tham số thực tơng ứng tên biến chứa
Quan s¸t, theo dâi vÝ dơ
Quan sát ví dụ, suy nghĩ trả lời - Nằm phần khai báo, sau phần khai biến
- Ba phần: Tên thủ tục, khai báo thủ tục phần thân
- Gièng: CÊu tróc chung
- Khác: Trong phần tên: Từ khóa đặt tên Procedure, có tham s
- Quan sát ghi nhớ cấu trúc chung
Trong phần thân kết thúc End;
- Trong phần thân chơng trình Quan sát ví dụ bảng
- Thđ tơc ve_hcn ë vÝ dơ có tham số chdai, chrong
- Vẽ đợc hình chữ nhật
- Tham sè thùc sù thđ tơc
ve_hcn(5,10); s thru tục ve_hcn(a,b); biến
Theo dõi trả lời
- Đa liệu vào cho chơng tr×nh xư lÝ
(75)dữ liệu đợc gọi tham số biến - Hỏi: x, y tham số giá trị hay tham số biến?
- Hỏi: Có nhận xét khai báo tham số hình thức tham giá trị tham biến? - Chiếu vd_thambien2 giải thíc để học sinh thấy đợc khác biệt tham số giá trị tham số biến
- Lµ tham sè biÕn
- Khi khai báo tham số biến ta đặt từ khóa var trớc tham số
Hoạt động 2: Tìm hiểu cấu trúc chung vị trí hàm chơng trình a Mục tiêu:
- Học sinh biết đợc cấu trúc chung hàm Biết đợc vị trí khai báo hàm ch-ơng trình
- Học sinh nắm đợc khái niệm biến toàn cục biến cục - Khai báo biến toàn cục biến cục
b Néi dung:
- Cấu trúc vị trí hàm chơng trình Program tên_chơng_trình_chính;
Các khai báo chơng trình chính;
Function tên_ham(danh sách tham số): Kiểu_dữ_liệu_của_hàm; Các khai báo hàm;
begin
Các lệnh hàm; Tên_hàm:=biểu_thức; End;
BEGIN
Các kệnh hcơng trình chính; Lêi gäi thùc hiƯn hµm vµ thđ tơc; END
- Kiểu_dữ_liệu_của_hàm kiểu liệu kết hàm mét c¸c kiĨu Integer, Read, Char, Boolean, String
- Sử dụng hàm: Giống nh sử sụng hàm chuẩn, viết tên hàm cần gọi thay tham số hình thức tham số thực trơng ứng Lời gọi hàm tham gia vào biểu thức nh toán hạng chí tham số lời gọi hàm, thủ tục khác - Biến cục biến có ảnh hởng chơng trình con, đợc khai báo chơng trình
- Biến tồn biến có phạm vi ảnh hởng tồn chơng trình, đợc khai báo phần khai báo chơng trình
c C¸ bíc tiÕn hµnh:
hớng dẫn giáo viên Hoạt động học sinh Nhắc lại kiến thức cũ hàm chuẩn
-Hỏi: Hãy kể tên số hàm chuẩn học cách sử dụng chúng
Giới thiệu cấu trúc chung vị trí hàm chơng trình
- Hỏi: So sánh giống khác hàm thủ tục
Tìm hiểu hàm thông qua ví dụ - Chiếu chơng trình vÝ dơ rutgon_phanso, s¸ch gi¸o khoa trang 101 - Hỏi: chơng trình có hàm
Suy nghĩ trả lời
- Hàm ABC(), SQRT(), ROUD()
- Viết tên hàm cần gọi tham số - Lời gọi hàm đợc viết biểu thức nh tốn hạng, chí tham số hàm khác
Quan s¸t cÊu tróc chung
- Giống: Có cấu trúc tơng tự, có tham sè
- Khác: Tên hàm phải quy định kiểu liệu; Trong thân hàm phải có lnh
Tên_hàm:=biểu_thức;
Bắt đầu hàm từ Function Quan sát ví dụ trả lời
(76)
- Hàm UCLN(x, y) dùng để làm gì? - Hỏi: Lời gọi hm õu?
- Hỏi: Có khác víi thđ tơc lêi gäi hµm
- Chiếu chơng trình ví dụ 2, Minbaso, s¸ch gi¸o khoa, trang 102
- Hái: chơng trình có hàm? Chức hàm?
- Có lời gọi hàm chơng trình chính?
Tìm hiểu biến cơc bé vµ biÕn toµn bé
- ChiÕu chơng trình ví dụ 2: rutgon_phanso lên bảng
- Hỏi: Có biến đợc sử dụng chơng trình? Các biến đợc khao báo chỗ chơng trình?
- DiƠn gi¶i: Biến tuso, mauso, A có ảnh hởng toàn chơng trình Biến Sodu ảnh hởng thân chơng trình - Yêu cầu học sinh: Phân biệt giống khác biến toàn vµ biÕn cơc bé
chung lín nhÊt cđa hai sè X, Y
-LÖnh A:=UCLN(tuso,mauso);
-Lời gọi hàm phải đợc đặt lệnh lời gọi chơng trình khác
- Quan sát chơng trình ví dụ
- Có hàm đợc khai báo - Hàm đợc sử dụng hai lần
- Kết hàm lại đầu vào cho hàm lần gọi thứ hai Quan sát lại ví dụ
- Quan sát chơng trình giáo viên - Có biến: tuso, mauso, A, sondu - Các biến: tuso, mauso, A đợc khai báo chơng trình
- Các biến: sodu đợc khai báo ch-ơng trình
- Biến cục bộ: Có ảnh hởng chơng trình con, đợc khai báo phần khai báo chơng trình
- Biết tồn bộ: Có phạm vi ảnh hởng tồn chơng trình, đợc khai báo phần khai báo chơng trình IV Đánh giá cuối
Những nội dung học. - Có hai loại chơng trình
- Cấu trúc chơng trình vị trí chơng trình chính: Chơng trình chính: Chơng trình đợc viết phần khai báo Chơng trình có phần đầu, phần khai báo phần thân
- Chơng trình có tham số hình thức khai báo đợc thay tham số thực gọi chơng trình
- Phân biệt tham số hình thức tham số thực Cách sử dụng tham biến tham trị
- Chơng trình đợc gọi tên Câu hỏi tập nh
Bài thực hành số I Mục tiêu
KiÕn thøc.
- Cñng cố lại kiến thức xâu kí tự, chơng trình Kĩ năng:
- Rèn luyện kĩ xử lí xâu việc tạo hiệu ứng chữ chạy hình - Nâng cao kĩ viết sử dụng chơng trình
(77)- Máy vi tính, tổ chức tịa phịng máy để học sinh có đợc kĩ việc tổ chức sử dụng chơng trình lập trình
Chn 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 việc xây dựng hai thủ tục catdan(s1, s2) cangiua(s) a Mục tiêu:
- Học sinh nắm đợc chức hai thủ tục catdan() cangiua() Biết đợc ý nghĩa tham số chơng trình
b Néi dung:
Thđ tơc cantdan
Type str79=string[79]
Procedure cantdan(s1:str79; var s2:str79); Begin
s2:=copy(s1,2,length(s1) – 1)+s1[1]; End;
Thđ tơc cangiua
Proceure cangiua(var s:str79); var i, n:integer;
Begin
n:=length(s); n:=(80 – n) div 2;
For i:=1 to n s:= ‘ ’ + s; End;
c Các bớc tiến hành:
hớng dẫn giáo viên Hoạt động học sinh Tìm hiểu hai thủ tục catdan(s1,s2)
cangiua(s)
- ChiÕu néi dung thđ tơc catdan(s1,s2); - Hỏi: Đầu vào đầu thủ tục nay?
- Hỏi: Chức thủ tục gì? - Yêu cầu học sinh cho ví dơ minh häa - ChiÕu néi dung thđ tơc: cangiua(s); - Hỏi: Đầu vào thủ tục?
- Hái: Thđ tơc thùc hiƯn c«ng việc gì?
- Giáo viên ý: Có thể nhắc học sinh không khai báo s tham biến thủ tục hiệu lực lệnh đa s hình không nằm thủ tục Tìm hiểu chơng trình câu b, sách giáo khoa, trang 103, 104
- Chiếu chơng trình lên bảng - Hỏi: Chức chơng trình
- Giới thiệu cho học sinh thủ tục chuẩn: gỗty(x,y); delay(n); vµ keypressed;
- Thực chơng trình để giúp học sinh thấy kết chơng trinh
Quan sát thủ tục catdan() trả lời câu hỏi giáo viên
- Vào: âu kí tự s1 - Ra: Biến x©u kÝ tù s2
- Thực việc tạo xâu s2 từ xâu s1 việc chuyển kí tự thứ đến vị trí cuối xâu
- S1= ‘abcd’ th× S2= ‘bcda’ - Quan sát, suy nghĩ trả lời
- Đầu vào xâu kí tự S không 79 kÝ tù
- Thủ tục thực thêm vào trớc xâu s số kí tự trằng để đa s hình kí tự S ban đầu đợc dịng gồm 80 kí t
Quan sát chơng trình bảng theo dõi dẫn dắt giáo viên
(78)Hoạt động 2: Rèn luyện kĩ lập trình a Mục tiêu:
- Học sinh vận dụng đợc hiểu biết chơng trình con, thuật tốn vừa đợc cung cấp để giải toán tổng quát
b Néi dung:
- Viết chơng trình nhập xâu kí tự đa dịng chữ chạy dịng chơng trình quy định
- Nôi dung chơng trình giống nh chơng trình câu b, sách giáo khoa, trang 103 c Các bớc tiến hành:
hng dn ca giỏo viên Hoạt động học sinh Tìm hiểu yêu cầu đề
- Chiếu nội dung yêu cầu lên bảng - Yêu cầu học sinh tìm vấn đề tập
- Yêu cầu học sinh lập trình máy - Yêu cầu học sinh thực chơng trình nhập liệu test
- Đánh giá kết lập trình học sinh
Quan sát yêu cầu bảng
- Về bản, giống nh nhiệm vụ mà câu b làm Chỉ khác chơng trình câu b ln cho xâu kí tự chạy dịng Vì phải truyền tham số quy định dịng chạy cho th tc
- Độc lập viết chơng trình vào máy báo cáo kết thử nghiệm
- Nhập liệu theo test giáo viên báo cáo kết
IV Đánh giá cuối Câu hỏi tập vỊ nhµ
- Viết thủ tục chaychu(s,dong) nhận tham số xâu S gồm không 79 kí tự biến nguyên Dong In hình dịng chữ xác định S chạy dịng Dong Viết chơng trình thực có sử dụng th tc ny
- Chuẩn bị cho bµi thùc hµnh sè 7: Xem tríc néi dung thực hành số 7, sách giáo khoa, trang 105
Bµi thùc hµnh sè I Mơc tiªu
KiÕn thøc:
- Củng cố lại kiến thức chơng trình con: Thủ tục, hàm, tham số biến tham số giá trị, biến toàn biến cục
Kĩ năng:
- S dng c chơng trình để giải trọn vẹn tốn máy tính II Đồ dùng dạy học
Chuẩn bị giáo viên
- máy vi tính, tổ chức phịng máy để học sinh có đợc kĩ việc tổ chức sử dụng chơng trình lập trình
Chn 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 việc xây dựng hàm, thủ tục chơng trình thực việc liên quan đến tam giác
a Mơc tiªu:
- Học sinh biết đợc hàm thủ tục chơng trình Hiểu đợc chức cuả chơng trình Tính đợc đầu vào đầu chơng trình
b Néi dung:
Procedure daicanh(r:tamgiac; var a,b,c:real); nhận đầu vòa biến r mô tả tam giác đầu độ dài ba cạnh a, b, c
(79)Function dientich(var r:tamgiac):real; Cho giá trị tam giác tam giác r Procedure tinhchat(var r:tamgiac; var deu,can,vuong:boolean); nhận đầu vào biến r mô tả tam giác đầu tính chất tam giác: đều, cân vng Procedure hienthi(var r:tamgiac); hiển thị tọa độ ba đỉnh tam giác hình
Function kh_cach(p,q:diem):real; cho giá trị khoảng cách hai điểm p, q Các chơng trình đợc viết sách giáo khoa, trang 106, 107
c bớc tiến hành:
hng dn ca giỏo viên Hoạt động học sinh Tìm hiểu việc xây dựng hàm thủ tục
- Chiếu khai báo kiểu liệu diem tamgiac Chiếu hàm thủ tục lên bảng
- Hỏi: Chức chơng trình con?
- Có tham số nào? Tham số dạng tham số biến tham dạng tham số giá trị
Tìm hiểu chơng trình câu b, sách giáo khoa trang 106
- Chiếu chơng trình câub
- Hỏi: Chơng trình thực chơng trình gì?
- Thực chơng trình để giúp học sinh thấy kết
- Thay tham biến thành tham trị để học sinh thấy đợc sai khác
Quan sát chơng trình con, lệnh khai báo tham số
- Chức chơng trình con: daicanh(); tính độ dài ba cạnh a, b, c tam giác r
chuvi():real; cho giá trị chu vi tam giác r
dientich():real; cho giá trị diện tích tam giác r
tinhchat(); khẳng định tính chất tam giác: dều, cân vuông
hienthi(); hiển thi tọa độ ba đỉnh tam giác hình
Kh_c¸ch():real; cho giá trị khoảng cách hai điểm
- Tham sè biÕn r, a, b, c - Tham số giá trị p, q
Quan sát chơng trình, dự tính chức chơng trình
- Nhập vào tọa độ ba đỉnh tam giác khảo sát tính chất tam giác: cân, vuông, In chu vi diện tích tam giác
- Quan sát kết hình để đối chiếu với kết tự tính đợc
- Quan sát ghi nhớ kết để thấy đ-ợc hiệu ứng thay đổi tham trị tham biến
Hoạt động 2: Rèn luyện kĩ lập trình a Mục tiêu:
- Viết chơng trình có sử dụng chơng trình để tính đợc số lợng tam giác đều, số lợng tam giác cân số lợng tam giác vuông
b Néi dung:
- Viết chơng trình sử dụng hmà thủ tục đợc xây dựng để giải tốn sau:
Cho tƯp d÷ liƯu TAMGIAC.INP cã cÊu tróc nh sau: Dßng 1: Ghi sè nguyªn N (1<=N<=100)
N dịng tiếp theo: Mỗi dòng ghi số thực xA yA xB yB xC yC tọa độ ba đỉnh A, B, C tam giỏc (-32000<=xA,yA,xB,yB,xC,yC<=32000)
Yêu cầu: Đọc liệu từ tệp TAMGIAC.INP, xử lí đa kết tƯp TAMGIAC.OUT gåm dßng:
(80)Dòng 2: Ghi số lợng tam giác cân(nhng khơng đều) Dịng 3: Ghi số lợng tam giỏc vuụng
c Các bớc tiến hành:
hớng dẫn giáo viên Hoạt động học sinh Phân tích yêu cầu đề
- Chiếu nội dung yêu cầu lên bảng - Chia líp thµnh nhãm
+ Nhóm 1: Nêu câu hỏi phân tích để giải tốn
+ Nhóm 2: Trả lời câu hỏi phân tích nhóm để tìm cách giải bi toỏn
- Giáo viên góp ý bổ sung cho câu hỏi phân tích trả lời phân tích
Lập trình
- Yêu cầu học sinh lập trình máy Giáo viên tiếp cận học sinh để sửa lỗi cn thit
- Yêu cầu học sinh nhập liệu vào giáo viên báo cáo kết chơng trình
- Đánh giá kết học sinh
Quan sát yêu cầu - Nhóm 1: Đặt câu hỏi + Dữ liệu vào
+ Dữ liệu
+ Cần sửa chỗ chơng trình c©u b
+ Thuật tốn để đếm số lợng loại hình tam giác
- Nhóm 2: trả lời câu hỏi phân tích + Cho tệp, phải viết lệnh đọc liệu tệp
+ Ba số nguyên dơng số lợng ba loại hình tam giác Ba số đợc ghi ba dòng tệp
+ Cần thay đoạn chơng trình nhập liệu chơng trình để đọc liệu từ tệp TAMGIAC.INP Thay đoạn ch-ơng trình in kết hình chơng trình để in ba số nguyên dơng số lợng ba loại hình tệp
TAMGIAC.OUT + Thuật toán:
Nếu deu d:=d+1
Ngợc lại can c:=c+1; Ngợc lại v:=v+1;
c lp vit chng trình, thực ch-ơng trình test tự tạo
- Thông báo kết cho giáo viên - Nhập liệu giáo viên báo cáo kết
IV ỏnh giỏ cui Những nội dung học.
- Cách xây dựng hàm thủ tục, cách khai báo tham số dạng tham biến tham trị
- Tìm hiểu số chơng trình liên quan đến tam giác Câu hỏi tập nhà
- Cho file liệu nh tập hoạt động
- Đọc đọc thêm: Ai lập trình viên đầu tiên? Sách giáo khoa, trang 109
- Chuẩn bị cho tiết häc lÝ thut: Xem tríc néi dung bµi Th viƯn chơng trình chuẩn, sách giáo khoa, trang 110
Th viện chơng trình chuẩn I Mục tiêu
KiÕn thøc:
(81)- Bớc đầu sử dụng đợc th viện lập trình - Khởi động đợc chế độ đồ họa
- Sử dụng đợc thủ tục vẽ điểm, đờng kính, hình trịn, hình ellipse, hình chữ nhật II Đồ dùng dạy học
Chuẩn bị giáo viên
- máy chiếu Projector để giới thiệu ví dụ Chuẩn bị học sinh
- S¸ch gi¸o khoa
III Hoạt động dạy – học
Hoạt động 1: Tìm hiểu th viện CRT a Mục tiêu:
- Học sinh biết đợc số chơng trình chuẩn th viện b Nội dung:
- Th viện CRT chứa thủ tục liên quan đến việc quản lí khai thác hình bàn phím
- Thđ tơc Clrcr: xóa hình
- Th tc Ttextcolor(c): Đặt màu cho chữ hình, c biến có giá trị ngun khơng âm để xác định màu
- thñ tục textbackground(c): Đặt màu cho hình
- Thủ tục Gotoxy(x,y): Đa trỏ đến vị trí cột x dịng y hình văn c Các bớc tiến hành:
hớng dẫn giáo viên Hoạt động học sinh Tìm hiu th tc Clrscr
- Yêu cầu học sinh nghiên cứu sách giáo khoa, kể tên chơng tr×nh th viƯn CRT
- ChiÕu chơng trình sau: Begin
clrscr; Readln; End
- Biên dịch chơng trình Hỏi: Tại xuất lỗi? Khắc phục nh nào?
- Thêm Uses CRT; vào đầu chơng trình thực chơng trình để học sinh thấy kết Chú ý cho học sinh ghi nhớ hình trớc lúc thực chơng trình - Hỏi: Chức thủ tục Clrscr; Tìm hiểu thủ tục textcolor
- Chiếu chơng trình ví dụ: Uses CRT;
begin
Write(‘chua dat mau chu’); textcolor(4);
Write(‘Da dat mau chu la do’); Readln;
End
- Thực chơng trình để học sinh thấy kết
- hái: Chức lệnh textxolor(4);
T×m hiĨu thđ tơc Textbackground - Chiếu chơng trình ví dụ:
uses CRT; Begin
Textbackground(1);
Writeln(‘da lat lai mau nen);
Tham khảo sách giáo khoa:
- Clrscr, textcolor, textbackground, gotoxy
- Quan sát chơng trình
- V× sư dơng thđ tơc nhng cha sư dơng th viƯn CRT
- Thªm lƯnh USES CRT ;
- Quan sát giáo viên thực chơng trình
- Xóa hình
- Quan sát chơng trình
- Quan sát kết chơng trình
- Đặt màu chữ thành màu đỏ
(82)Readln; End
- Thực chơng trình để học sinh thấy kết
- Hỏi: Chức lệnh Textbackground(1); Tìm hiểu thủ tục gotoxy - Chiếu chơng trình vÝ dô: Uses CRT;
Begin
Writeln(‘Con tro dang dung o cot 10 dong 20’);
Gotoxy(10,20); Readln;
End
- Thực chơng trình để học sinh thy kt qu
- Hỏi: Chức lệnh Gotoxy(10,20);
- Quan sát kết chơng trình
- Đặt màu chữ thành màu xanh trời
- Quan sát chơng trình
- Quan sát kết chơng trình
- Đa trỏ vị trí cột 10 dịng 20 Hoạt động 2: Tìm hiểu th viện graph ngơn ngữ lập trình Pascal
a Mơc tiªu:
- Học sinh biết đợc cách khởi động thoát chế độ đồ họa b Nội dung:
- Th viện Graph chứa chơng trình phục vụ khai thác khả đồ họa máy tính mức độ thông dụng nh vẽ điểm, đờng, tô màu
- Các thiết bị hcơng trình hỗ trợ họa:
+ Cú hai chế độ àn hình: Đồ họa văn
+ Bảng mạch điều khiển hình thiết bị đảm bảo tơng tác xử lí hình để thể chế độ phân giải màu sắc
+ Turbo Pascal cung cấp chơng trình điều khiển (có phần mở rộng BGI) tơng ứng với loại card đồ họa Khi khởi động chế độ đồ họa cần đờng dẫn đến chơng trình
+ Tọa độ hình đồ họa đợc đánh giá số từ Cột đợc đánh số từ phải sang trái, dòng đợc ấnh số từ xuống dới Giá trị lớn toạn độ dòng tọa độ cột đợc gọi độ phân giải hình
+ Để thực đợc chức đồ họa cần sử dụng thủ tục hàm th viện Graph
- Khởi động chế độ đồ họa: Initgraph(dr,md:integer;pth:string); dr: Là số hiệu trình điều khiển BGI
md: Là số hiệu độ phân giải pth: Là đờng dẫn đến tệp BGI
- Kết thúc chế độ đồ họa trở chế độ văn bản: Closegraph; c Các bớc tiến hành:
hớng dẫn giáo viên Hoạt động học sinh Yêu cầu học sinh nghiên cứu sách giáo
khoa để trả lời câu hỏi:
- Hỏi: Các dạng liệu đợc hiển thị hình?
- Hái: NhiƯm vơ chÝnh cđa card hình?
- Hi: Khi núi mn hình có độ phân giải 640 x 480 nói đến điều gì?
Đa cấu trúc chung thủ tục khởi động đồ họa
Initgraph(dr,md:integer;pth:string); - Giải thích thông số thủ tôc
Tham khảo sách giáo khoa để tr li
- Văn hình ảnh
- Làm cầu nối CPU hình thể thông tin
- Là nói đến hình có 640 dịng 480 cột
(83)cho häc sinh
- Cho học sinh thấy ví dụ khởi động đồ họa
giới thiệu thủ tục trở chế độ văn Closegraph;
- Yêu cầu học sinh khởi động chế độ đồ họa chuyển chế độ văn
- Quan sát giáo viên thực
Quan sát so sánh hai chế độ văn đồ họa
- Thay phiên thực việc chuyển đổi hai chế độ văn đồ họa Hoạt động 3: Tìm hiểu thủ tục vẽ điểm, đờng hình thức
a Mơc tiªu:
- Học sinh biết đợc thủ tục vẽ điểm, đờng hình Biết đợc tên thủ tục, tham số chức thủ tục
b Néi dung:
- Vẽ điểm: Putpixel(x,y:integer;color:word); - Vẽ đờng thẳng: Line(x1,y1,x2,y2:integer);
Lineto(x,y:integer); Linere(dx,dy:integer); - Vẽ hình tròn: Circle(x,y:integer ;r:word);
- VÏ h×nh elip: Ellipse(x,y:integer; stangle,endangle,xr,yr:word); - VÏ h×nh chữ nhật: Rectangle(x1,y1,x2,y2:integer);
- Đặt màu cho nét vẽ: Setcolor(word); c Các bớc tiến hành:
hng dẫn giáo viên Hoạt động học sinh
T×m hiĨu thđ tơc Putpixel
- ChiÕu cÊu tróc chung cđa thđ tơc: Putpixel(x,y:integer;color:word); - Chiếu chơng trình ví dụ
Use graph Begin drive:=0;
initgraph(drive,mode, ‘c:\Tp\BGI’); Putpixe1(12,40,15);
readln; End
- Thực chơng trình để học sinh thấy kết
- Hỏi: Chức thủ tục Putpixel Tìm hiĨu thđ tơc Line
- ChiÕu cÊu tróc chung cđa thđ tơc: Line(x1,y1,x2,y2:integer);
- Chiếu chơng trình ví dụ nhng thay lệnh Putpixel(12,40,15); lệnh line(1,1,20,20); - Thực chơng trình để học sinh thy kt qu
- Hỏi: Chức cđa thđ tơc Line T×m hiĨu thđ tơc Lineto
- ChiÕu cÊu tróc chung cđa thđ tơc: Lineto(x,y:integer);
- Chiếu chơng trình ví dụ nhng thay lệnh Putpixel(12,40,15); lệnh lineto(20,20); - Thực chơng trình để học sinh thấy đợc kết qu
- Hỏi: Chức thủ tục Lineto T×m hiĨu thđ tơc Lineto
Quan sát cấu trúc chung suy nghĩ để trả lời câu hỏi
- Quan sát chơng trình
- Quan sỏt kt qu chơng trình - Vẽ điểm có màu Colỏ hình tọa độ (x,y)
Quan sát cấu trúc chung suy nghĩ để trả lời câu hỏi
- Quan sát chơng trình
- Quan sỏt kt qu chơng trình - Vẽ đoạn thẳng từ điểm có tọa độ (x1,y1) đến điểm có tọa độ
(x2,y2)
Quan sát cấu trúc chung suy nghĩ để trả lời câu hỏi
- Quan sát chơng trình
- Quan sát kết chơng trình - Vẽ đoạn thẳng từ điểm đến điểm có tọa độ (x,y)
(84)- ChiÕu cÊu tróc chung cđa thđ tơc: Linere(dx,dy:integer); - Hỏi: Chức thủ tục Linerel Tìm hiĨu thđ tơc Circle, Ellipse, Rectangle
- ChiÕu cÊu tróc chung cđa c¸c thđ tơc: Circle(x,y:integer; r:word);
Ellipse(x,y:integer;stabgle,endangle,xr,yr:word); Rectangle(x1,y1,x2,y2:integer);
- Chiếu chơng trình ví dô Use graph
Begin drive:=0;
initgraph(drive,mode, ‘c:\Tp\BGI’); Circle(12,40,30);
Ellipse(50,50,30,120,50,100:word); Rectangle(100,100,200,200);
readln; End
- Thực chơng trình để học sinh thấy đợc kết
- Hỏi: Chức thủ tục Circle, Ellipse, Rectangle
T×m hiĨu thđ tơc Setcolor
- ChiÕu cÊu tróc chung cđa c¸c thđ tục: Setcolor(m:word);
- Chiếu chơng trình ví dô Use graph
Begin drive:=0;
initgraph(drive,mode, ‘c:\Tp\BGI’); Circle(12,40,100);
Setcolor(4);
Circle(12,40,200); readln;
End
- Thực chơng trình để học sinh thấy kết
- Hỏi: Chức thủ tục Lineto
- Vẽ đoạn thăng nối điểm với điểm có tọa độ tọa độ điểm cộng với dx, dy
Quan sát cấu trúc chung suy nghĩ để trả lời cõu hi
- Quan sát chơng trình
- Quan sát kết chơng trình + Circle: Vẽ đờng trịn có tâm (x,y) bán kính r
+ Ellipse: Vẽ cung ellipse có tâm điểm x,y với bán kính trục xr, yr, từ góc khởi đầu stangle đến góc kết thúc endangle
Quan sát cấu trúc chung suy nghĩ để trả lời câu hi
- Quan sát chơng trình
- Quan sát kết chơng trình - Setcolor(m: word): Đặt màu cho nét vẽ víi mµu cã s hiƯu m
Hoạt động 4: Tìm hiểu số th viện khác a Mục tiêu:
- Học sinh biết đợc tên chức th viện: System, Dos, Printer b Nội dung:
- Th viện System chứa hàm sơ cấp thủ tục vào/ra mà chơng trình dùng tới
- Th viƯn Dos chøa c¸c thđ tơc cho phép thực trực tiếp lệnh nh tạo th mơc, thiÕt lËp ngµy, giê hƯ thèng
- Th viƯn Printer cung cÊp c¸c thđ tơc làm việc với máy in c Các bớc tiến hành:
(85)khoa, nêu tên th viện
Yêu cầu học sinh nêu chức
mỗi th viện Chức th viện: - System: Chứa hàm thủ tục vào/ra sơ cấp
- Dos: Cha thủ tục nh tạo th mục, đóng mở file
- printer: Chứa thủ tục liên quan đến máy in
Hoạt động 5: Rèn luyện kĩ lập trình a Mục tiêu:
- Bứpc đầu học sinh sử dụng đợc thủ tục th viện graph để viết chơng trình vẽ số hình
b Néi dung:
- Viết chơng trình bẽ 20 hình trịn lơng có tọa độ tâmm điểm hình, hình có bán kính cách điểm ảnh
c Các bớc tiến hành:
hng dn ca giỏo viờn Hoạt động học sinh Giới thiệu nội dung yêu cầu lên bảng
Định hớng cách giải vấn đề cho học sinh
- Thủ tục để vẽ đợc hình trịn cs tâm điểm hình
- Cần lệnh nh vậy, dùng cấu trúc để điều khiển
chia líp lµm nhãm 01 nhóm viết ch-ơng trình máy 02 nhóm viết lên 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á Sửa chơng trình hồn chỉnh cho học sinh viết máy
thực chơng trình máy để học sinh thấy đợc kết
Quan sát yêu cầu giáo viên
Circle(x,y:integet;r:word);
- Cần 20 lệnh, nên dùng cấu trúc For để chơng trình ngắn gọn
Thảo luận theo nhóm để viết chơng trình lên giấy bìa
- Báo cáo kết viết đợc
- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác
Quan sát kết hình IV Đánh giá cuối
Nhng ni dung học.
- Th viƯn ch¬ng tình cung cấp chơng trình chuẩn nhằm mở rộng khả ứng dụng
- Khởi động chế độ đồ họa Chuyển từ chế độ hình đồ hoa sang chế độ hình văn
- Thủ tục vẽ điểm, đờng, hình bản: Hình trịn, hình chữ nhật, hình ellipse Câu hỏi tập nhà
- Đọc đọc thêm 4: Âm thanh, sách giáo khoa, trang 118
Bµi thùc hµnh I Mơc tiªu
kiÕn thøc:
- Học sinh biết đợc khả đồ họa Pascal Kĩ năng:
- Sử dụng đợc thủ tục đồ họa để viết đợc chơng trình đơn giảnn II Đồ dựng dy hc
Chuẩn bị giáo viên
(86)Chuẩn bị häc sinh - S¸ch gi¸o khoa
III Hoạt động dạy – học
Hoạt động 1: Tìm hiểu số chơng tình Pascal a Mục tiêu:
- Biết đợc số thủ tục, suy luận đợc kết chơng trình b Nội dung:
- Chơng trình vẽ đờng gấp khúc ngẫu nhiên nhờ thủ tục Lineto, đoạn có màu ngẫu nhiên Vị trí bắt đầu vẽ tâm hình Kết thúc việc vẽ cách nhấn phím bất kỡ
c Các bớc tiến hàh:
hng dẫn giáo viên Hoạt động học sinh Giới thiệu chơng trình câu a
- ChiÕu nội dung chơng trình lên bảng(sách giáo khoa, trang 115)
- Hỏi: Hàm Detectinit có chức gì?
- Thđ tơc Moveto(getmaxx div 2, getmaxy div 2) thực công việc gì? - Chơng trình thực công việc gì?
- Thực chơng trình để học sinh thấy kết chơng trình
Giới thiệu chơng trình câu b, sách giáo khoa trang 116
- Yêu cầu học sinh nghiên cứu chơng trình cho biết chức chơng trình
- Thực chơng trình để học sinh thấy kết
- Yêu cầu học sinh thay đổi số tham số màu vẽ, tọa độ thực lại chơng trỡnh
Quan sát nội dung chơng trình
- Cho giá trị khác khơng có lỗi khởi động đồ họa
- Chuyển trỏ đồ họa đến vị trí tâm hình
- Vẽ đờng gấp khúc ngẫu nhiên nhờ thủ tục Lineto, đoạn có màu ngẫu nhiên Vị trí bắt đầu vẽ tâm hình Kết thúc việc vẽ cách nhấn phím bt kỡ
- Quan sát giáo viên thực hiƯn vµ kiĨm nghiƯm suy ln
Quan sát nội dung chơng trình
- V hình chữ nhật với nét vẽ màu vàng - Vẽ đờng tròn màu xanh cây, tam 450, 100 bán kính 50
- Quan s¸t kÕt thực Chơng trình kiểm nghiệm suy luận
- Thực yêu cầu giáo viên Thực chơng trình để biết đợc ý nghĩa thủ tục tham số
Hoạt động 2: Rèn luyện kĩ xử lí đồ họa a Mục tiêu:
- Học sinh sử dụng đợc thrutục xử lí đồ họa cơng thức đổi trục tọa độ để lập trình vẽ đợc đồ thị hàm số
b Néi dung:
- Viết chơng trình vẽ hình vng có độ dài cạnh 100 tọa độ đỉnh góc trái 50, 50
c Các bớc tiến hành:
hng dn giáo viên Hoạt động học sinh Giới thiệu nội dung đề lên bảng
Định hớng phơng pháp giải vấn đề: - Từ điểm góc trái, dùng thủ tục linerel(0,100) để vẽ đoạn thẳng đến đỉnh góc dới trái Tơng tự nh vậy, thực để vẽ hình vng
u cầu học sinh độc lập viết chơng trình lên máy
Quan sát nội dung đề bài, theo dõi định hớng phân tích yêu cầu giáo viên
(87)- Yêu cầu học sinh thực chơng tình để thấy kết
- Tiếp cận học sinh để hớng dẫn sửa chữa sai sót cho học sinh
m¸y
- Thông báo hoàn thành lập trình - Thực chơng trình
IV ỏnh giỏ cui Những nội dung học. - Các thủ tục xử lí đồ họa Câu hỏi bìa tập nhà
- Viết chơng trình vẽ hình vng có độ dài cạnh d tọa độ đỉnh trái (x,y)
ôn tập cuối năm
I Mục tiªu KiÕn thøc.
- Nắm đợc toàn kiến thức học từ đầu năm học Kĩ năng:
- Vận dụng đợc lệnh kiểu liệu học để lập trình giải bìa tốn cách trọn
II Đồ dùng dạy học Chuẩn bị giáo viên - Máy chiếu Projector Chn bÞ cđa häc sinh - S¸ch gi¸o khoa
III Hoạt động dạy – học
Hoạt động 1: Nhắc lại kiến thức đợc học a Mục tiêu:
- Học sinh nắm tất kiến thức lí thuyết đợc học từ đầu năm đến
b C¸c bíc tiÕn hµnh:
hớng dẫn giáo viên Hoạt động học sinh Đặt câu hỏi để giúp học sinh nhớ lại
kiến thức đợc học
- Kể tên loại ngôn ngữ lập trình
- Phân biệt hai kĩ thuật biên dịch thông dịch
- trình bày thành phần ngôn ngữ lập trình
- Nêu cấu trúc chung chơng trình Pascal Cho ví dụ đơn giản
- Kể tên kiểu liệu đơn giản học, giới hạn kiểu đó, phép tốn tơng ứng kiểu hàm liên quan
theo dõi câu hỏi giáo viên suy nghĩ trả lời
- Ngôn ngữ máy - Hợp ngữ
- Ngôn ngữ bậc cao : Pasacl, c, - Biên dịch:
- Thông dịch:
- Bảng chữ cái, cú pháp ngữ nghĩa - Gồm phần: Phần khia báo phần thân
Program vd; Var i:integer; Begin;
i:=5; Writeln(i); Readln; End
- Sè nguyªn, sè thùc, kÝ tù, logic
- PhÐp to¸n sè häc, phÐp to¸n quan hƯ, phÐp to¸n logic
(88)- ViÕt cÊu trúc chung lệnh gán chức lệnh
- ViÕt cÊu tróc chung cđa thủ tục nhập/xuất liệu
- Nêu cấu tróc chung cđa lƯnh rÏ nh¸nh
- Nêu cấu trúc chung lệnh lặp
- Cách khai báo kiểu mảng, khai báo biến kiểu mảng tham chiếu đến phần tử mảng
- Cách khai báo biến xâu, tham chiếu đến kí tự xâu, hàm thủ tục liên quan đến xâu
- Cách tạo kiểu ghi, khai báo biến kiểu ghi tham chiếu đến phần tử biến ghi
- Hàm bình phơng, hàm bậc hai, hàm giá trị tuyệt đối, hàm sin, hàm cos - Tên biến:=biểu thức;
- Dùng để tính tốn biểu thức gán giá trị cho biến
- Thđ tơc Read()/readln(); - Thđ tơc Write()/writeln();
If <BT§K> then <lƯnh1>else<lƯnh2>;
For i:=gt1 to gt2 do<lÖnh>; While<btdk> <lÖnh>
- Type tênkiểu = Array[cs1 cs2] of kiểu_phần_tử;
- Var tªnbiÕn: tªnkiĨu; - TªnbiÕn[chØ sè] - Var tênbiến:string; - Tênbiếnxâu[chỉ số]
- Hàm: length(st), upcase(ch),
copy(st,p,n) - Thđ tơc: Delete(st,p,n), str(n,st), Var(st,n,m1), Insert(s1,s2,n);
- Type tênkiểubảnghi=record têntrờng i: kiĨud÷liƯu i; End;
- Var Tênbiếnbảnghi:tênkiểubảnghi;
- Tờnbinbnghi.tờntrng Hot ng 2: rèn luyện kĩ viết chơng trình
a Mơc tiªu:
- Học sinh sử dụng kiến thức tông hợp đẻ giải đợc toán đặt b Nội dung:
- Viết chơng trình nhập vào dãy số gồm N phần tử nguyên dơng In hình ớc số chung lớn dãy số
c Các bớc tiến hành:
hng dn ca giỏo viên Hoạt động học sinh Giới thiệu nội dung bi lờn bng
Địng hớng phơng pháp giải - Các nhiệm vụ phải thực hiện: NhËp mét d·y sè T×m íc sè chung lín nhÊt cđa hai sè T×m íc sè chung lín nhÊt cđa N số in kết hình
Chia líp lµm nhãm
Nhãm 1: Viết chơng trình nhập giá trị cho mảng
Nhóm 2: Viết chơng trình tìm íc sè chung lín nhÊt cña sè
Nhóm 3: Viết chơng trình có chơng trình nhập mang tìm ớc số chung lớn cña hai sè
- Thu phiếu học tập, chiếu nội dung lên bảng Gọi học sinh nhóm nhận xét đánh giá lẫn
- Yêu cầu học sinh ghép chơng trình để đợc chơng trình
- Thực chơng trình để toàn lớp thấy
Quan sát nội dung đề suy nghĩ phơng pháp giải theo định hớng phân tích giáo viên
Thảo luận theo nhóm viết chơng trình lên giấy bìa
- Thông báo kết cho giáo viên hoàn thành
- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác
- Thảo luận để ghép chơng trình
(89)đợc kết
IV Đánh giá cuối Những nội dung học.
- Khái niệm ngơn ngữ lập trình ngơn ngữ lập trình Pascal - Chơng trình Turbo Pascal đơn giản
- Tổ chức rẽ nhánh lặp - KiĨu d÷ liƯu cã cÊu tróc
- kiểu tệp thao tác xử lí tệp - Chơng trình
- lập trình xử lí đồ họa âm Câu hỏi tập nhà