- T¹o ®îc kiÓu m¶ng hai chiÒu vµ khai b¸o biÕn m¶ng hai chiÒu trongng«n ng÷ lËp tr×nh Pascal. híng dÉn cña gi¸o viªn Ho¹t ®éng cña häc sinh.. 2) KiÓu m¶ng hai chiÒu.[r]
(1)Ngày soạn: 1/08/2008
khái niệm lập trình ngôn ngữ lập trình Tiết 1: Khái niệm lập trình
A 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
Kỹ năng
- Biết vai trò chơng trình dịch
- Hiểu ý nghĩa nhiệm vụ chơng trình dịch
T duy:
- Giúp em hình thành t logic
4.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 học tập
B chuÈn bÞ
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
- Thuyt trình, hi áp, t , so sánh
c Tiến trình học ổn định lớp
Lớp 11A3 11A4
Sĩ số Ngày giảng
2 KiĨmtra bµi cị: BµI míi
hớng dẫn giáo viên Hoạt động học sinh
1.Hot ng1
Giáo viên đa toán tìm phơng trình bậc ax + b =
Và kết luận nghiệm phơng trình Hãy xác định Inputvà Output ?
- 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ữ nào? - diễn đạt thuật tố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)
- Hái : Em hiĨu nh thÕ nµo ngôn ngữ máy, hợp ngữ ngôn ngữ bậc cao?
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
- Ngôn ngữ Tiếng Anh
- Em dùng ngôn ngữ lập trình
- Lập trình việc sử dụng cấu trúc liệu lệnh ngơn ngữ lập trình cụ thể để mô tả liệu diễn đạt thao tác thuật toán
- Ta đợc chơng trình - Ngơn ngữ máy
- Hỵp ngữ
- Ngôn ngữ bậc cao
- Ngụn ngữ máy : Các lệnh đợc mã hóa kí hiệu – Chơng trình đợc viết ngơn ngữ máy đợc nạp vào nhớ thực
(2)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 câu nói 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
Anh Ctr viết ng2 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
Chú ý lắng nghe ví dụ giáo viên thảo luận để tìm ví dụ tơng tự
- Biên dịch :
Bc : Duyt, phát 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 cn 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 máy)
4 Cñng cè.
a Những nội dung học
- Kh¸i niệm lập trình, khái niệm chơng trình dịch b.Câu hỏi vµ bµi tËp vỊ nhµ
- KĨ tên số ngôn ngữ lập trình bậc cao, trả lời câu hỏi 1, 2, 3, sgk 13
5 Hớng dẫn.
(3)Ngày soạn: 01/08/2008
Tiết 2: Các thành phần ngôn ngữ lập trình A Mục tiêu
Kin thc:- Nắm đợc thành phần ngôn ngữ lập trình nói chung - Biết đợc số khái niệm nh: tên, tên chuẩn, tên dành riêng…
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, hằng, biến, biết đặt tên đúng, nhận biết tên sai
T duy: - Giúp em hình thành t logic
4.Thái độ: - Tự giác nghiêm túc, từ tìm hiểu học tập
B chn bÞ
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp: - Thuyt trình, hỏi đ¸p, đặt vấn đề, so s¸nh
c Tiến trình học ổn định lớp
Líp Sĩ số Ngày giảng
2 Kiểmtra cũ:
- Nêu k/n lập trình chơng trình dịch? Kể tên ngôn ngữ lập trình em biết ?
BµI míi
hớng dẫn giáo viên Hoạt động học sinh
1 Hoạt động 1
Đặt vấn đề : Có yếu tố dùng để xây dựng nên ngôn ngữ tiếng Việt? * Trong ngơn ngữ lập trình gồm có: Bảng chữ cái, cú pháp ngữ nghĩa * Chia lớp thành nhóm yêu cầu nhóm thực nhiệm vụ :
- Hãy nêu bảng chữ tiếng Anh - Nêu kí tự 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
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 sgk t10, 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
* 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 :
* Độc lập suy nghĩ trả lời - Bảng chữ c¸i tiÕng ViƯt, sè, dÊu - C¸ch ghÐp c¸c kÝ tự thành từ, phép từ thành câu
- Ngữ nghĩa từ thành câu
* 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 a b c Hệ đếm : Kí hiệu đặc biệt :
+ - * / = < > [ ] , _ ; # ^ $ & ( ) { } : “
- Theo dõi kết nhóm bổ sung - TËp trung xem tranh vµ ghi nhí
* 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 - Ko bắt đầu chữ số,ko chứa dấu cách
- Độ dài không 127 * Quan sát tranh trả lời
* Nghiờn cu 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
(4)Program Abs Interger Type Xyx Byte tong
3 Hoạt đông
* Yêu cầu học sinh cho số ví dụ số, xâu logic
- trình bày khái niệm số, xâu logic
* 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ơ mét 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
dựng theo ý ngha 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
* Độc lập suy nghĩ trả lời - H»ng sè : 50 60.5
- H»ng x©u : “Ha Noi” “A” - H»ng logic : False
- H»ng sè häc lµ 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 q trình thực chơng trình phải đợc khai báo
- Vị dụ hai tên biến : Tong, xyz - 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
Cđng cè.
Những nội dung học
- Thành phần ngôn ngữ lập trình : Bảng chữ, cú pháp ngữ nghĩa
- Khái niệm : Tên, tên chuẩn, tên dành riêng, tên ng lập trình đặt, hằng, biến Câu hỏi tập nhà : - Làm tập 4, 5, 6, sách giáo khoa, trang 13
5 Híng dÉn.
- 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
- Xem néi dung phơ lơc B, s¸ch gi¸o khoa trang 128 : Một số tên giành riêng Ngày soạn: 10/08/2008
Tiết 3: Bài tập A Mục tiêu
KiÕn thøc:
- Nắm đc số k/n sở ngữ lập, đặc điểm chủ yếu ngơn ngữ bậc cao - Vai trị trình dịch: thơng dịch, biên dịch
- Các quy định tên, tên chuẩn, từ khoá, biến
2 Kỹ năng:
- Bit vit hng biến theo ngơn ngữ lập trình biết đặt phân biệt tên
T duy:
- Giúp em hình thành t logic
4.Thái độ:
- Ham muốn học ngơn ngữ lập trình để giải tốn máy tính điện tử
B chn bÞ
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp:
- Thuyt trình, hi áp, t , so sánh
c Tiến trình học ổn định lp
(5)Ngày giảng
2 Kiểmtra bµi cị:
- Nêu quy tắc đặt tên, lấy ví dụ tên, tên chuẩn, từ khố? Phân biệt biến lấy toán cụ thể xác định biến tốn
BµI míi
Hoạt động giáo viên & học
sinh Néi dung
C©u 1: Tại ngời ta phải xây dựng ngôn ngữ lập trình bậc cao
GV : Đa câu hỏi
- Dớng dẫn học sinh trả lời câu hỏi gọi học sinh phát biểu ý kiến bổ sung nội dung liên quan cần
HS : ý lắng nghe trả lời câu hỏi có bổ xung nhận xét ý kiến
Câu 2 : Chơng trình dịch cần phải có chơng trình dịch
GV : Nêu input output chơng trình dịch
Câu 3 : Biên dịch thông dịch khác nh ?
- HS : ý lắng nghe trả lời câu hỏi có bổ xung nhận xét ý kiến
Câu : HÃy cho biết điểm khác
nhau tên dành riêng tên chuẩn
Cõu 5 : Hóy tự viết ba tên theo quy tắc Pascal
GV : gọi hs nhắc lại quy tắc đặt tên Pascal
C©u 6 : H·y cho biết biểu diễn dới không biểu diễn Pascal rõ lỗi trờng hợp :
a) 150.0 b) -22 c) 6,23 d) ‘43’ e) A20 f) 1.06E-15 g) 4+6 h) ‘C i) ‘ TRUE’
- Ngôn ngữ bậc cao gần với ngôn ngữ tự nhiên hơn, thuận tiện cho ụng o ngi lp trỡnh
- 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 phần cứng máy tínhvà chơng trình thực nhiều loại máy tính khác
- Chơng trình viết ngôn ngữ bậc dễ hiểu, dễ hiểu chỉnh dễ nâng cấp
- Ngôn ngữ bậc cao cho phép làm việc với nhiều kiểu liệu cách tổ chức liệu đa dạng, thuận tiện cho mô tả thuật to¸n
- Chơng trình dịch chơng trình đặc biệt có chức chuyển đổi chơng trình đc viết ngơn ngữ bậc cao sang chơng trình viết ngơn ngữ máy tính cụ thể
- Trình biên dịch : Duyệt, kiểm tra, phát lỗi, xác định tính đắn chơng trình nguồn, dịch tồn ctr nguồn thàng ctr đích thực đc máy lu trữ lại để sử dụng sau cần thiết - Trình thơng dịch lần lợt dịch câu lệnh ngôn ngữ máy thực câu lệnh vừa dịch đợc báo lỗi ko dịch đc
- Tên dành riêng không đợc dùng khác với ý nghĩa xác định, tên chuẩn đc dùng với ý nghĩa khác
FA33C9, PpPpPp, TIN_HOC11
Những biểu diễn dới biểu diễn tronng Pascal
c) 6,23 dÊu phÈy thay b»ng dÊu chÊm e) A20 Lµ tên cha rõ giá trị
h) C Sai quy định xâu, thiếu nháy đơn cuối
Cñng cè.
Những nội dung học
(6)- Thành phần ngơn ngữ lập trình : Bảng chữ, cú pháp ngữ nghĩa - Tên, tên chuẩn, tên dành riêng, tên ng lập trình đặt, hằng, bin 5 Hng dn.
(7)Ngày soạn: 15/08/2008
Chơng : Chơng trình đơn giản Tiết 4: Cấu trúc chơng trình
Mét sè kiĨu liệu chuẩn - khai báo biến A Mục tiªu
KiÕn thøc
- Biết đợc cấu trúc chơng trình đơn giản: Cấu trúc chung thành phần; - Biết số kiểu liệu chuẩn: nguyên, thực, kí tự, logic
- Xác định biết đợc kiểu cần khai báo liệu đơn giản, hiểu cách khai báo biến
2 Kỹ năng:
- Nhn bit c cỏc thành phần chơng trình đơn giản - Xác định đợc kiểu cần khai báo liệu đơn giản
- Biết cách khai báo biến, nhận biết đợc khai báo sai
3 T duy:
- Giúp em hình thành t logic
4.Thái độ:
- Ham muốn học ngơn ngữ lập trình để giải tốn máy tính điện tử
B chn bÞ
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp:
- Thuyt trình, hi áp, t , so sánh
c Tiến trình học ổn định lớp
Lớp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 KiĨmtra bµi cị: 3 BµI míi
hớng dẫn giáo viên Hoạt động ca hc sinh
A- Cấu trúc chơng trình
1.Câú trúc chng :
B- Một số kiểu liệu chuẩn - Một chơng trình có cấu trúc phần?
Các thành phần chơng trình
Trong phần khai báo có khai báo nµo?
+ Häc sinh lÊy vÝ dơ về:
- Khai báo tên chơng trình Pascal - Khai báo th viện chơng trình ngôn ngữ Pascal
- Khai báo ngôn ngữ Pascal
- Khai báo biến ngôn ngữ Pascal
- Yêu cầu hs cho biết cấu trúc chung phần thân chơng tr×nh Pascal
3 Ví dụ chơng trình đơn giản Chơng trình đơn giản ngơn ngữ C++
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ình con, khai báo hằng, khai báo biến khai b¸o ctc
- CÊu tróc : Program ten_chuong_trinh ; VÝ dô : Program tinh_tong ;
- 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
(8)
# 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 printf có chức gì?
- Chơng trình đơn giản Pascal Program VD1 ;
Var x,y:byte; t:word; Begin t:=x+y; Writeln(t); readln; End
B- Mét sè kiĨu d÷ liƯu chuÈn
Đặt vấn đề: Trong toán học, để thực đợc tính tốn ta cần phải có tập số Đó tập số nào?
Kiểu 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 toỏn
- Có kiểu liệu chuẩn ngôn ngữ Pascal?
1 Kiểu nguyên :
- Trong Pascal, có kiểu nguyên thờng dùng, phạm vi biểu diển ?
2 KiĨu thùc
- Trong Pascal, cã nh÷ng kiĨu số thực thờng dùng, phạm vi biểu diễn?
3 KiĨu kÝ tù :
- Trong ng«n ngữ Pascal, có kiểu kí tự?
4 Kiểu logic
- Trong ngôn ngữ Pascal, có kiểu logic, gồm giá trị nào?
Phát vấn: Muốn tính toán giá trị : 7.5 ta phải sử dụng liệu gì? C 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ự
Viết bảng số khai báo yêu cầu học sinh chọn khai báo ngơn ngữ lập trình Pascal?
viện stdio.h - Phần thân {}
- Lệnh printf dùng để đa thông báo mn 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
- Số tự nhiên, số nguyên, số hữu tỉ, số thực
- Liên tởng tập số toán học với kiểu liệu Pascal?
- Cã kiĨu: KiĨu nguyªn, kiĨu thùc, kiĨu kÝ tù vµ kiĨu logic
- KiĨu sè nguyªn:
Byte: 255
Integer: -32768 32767 Word: 65535
Longint: -2148473648 214873647 - KiÓu sè thùc:
Real: 2.9E-39 1.7E38 Extended: 3.4E 1.1E4932
- Kiểu kí tự: Là kí tự thuộc bảng mã ASCII, gồm 256 kí tự đợc đánh số từ đến 255
- Kiểu logic: Là tập hợp gồm hai giá trị True Flase, kết phép so sánh Chú ý lắng nghe ghi nhớ
Suy nghĩ trả lời Kiểu Real
- Mọi biến dùng chơng trình phải đợc khai báo tên kiểu liệu biến, dùng để xác lập quan hệ biến địa nhớ nơi lu giữ giá trị bin
- Var <danh sách biến>: <kiểu liÖu>; Var x: word;
y: char;
(9)x, y, z: word; n 1: real; X: longint; H; integer; i: byte;
- 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;
x, y, z: word; i: byte;
Quan sát tranh trả lời - Có biÕn
- tỉng bé nhí cÇn cÊp ph¸t
x (2 byte); y (2 byte); z (4 byte); h (2 byte); i (1 byte); táng 11 byte
Cñng cè.
-Mét chơng trình thờng có hai phần: Phần khai báo phần thân chơng trình - Phần khai báo có chơng trình
-Một chơng trình thờng có hai phần: Phần khai báo phần thân chơng trình - Phần khai báo có chơng tr×nh
- Các kiểu liệu 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;
5 Híng dÉn.
- Xem tríc bµi : Mét sè kiĨu dù liƯu chn - Lµm bµi tËp 1, 2, sách giáo khoa, trang 35 - 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 Ngày soạn: 25/08/2008
Tiết 5: Phép toán, biểu thức, câu lệnh gán A 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ết đợc cấu trúc chức lệnh gán
- Biết đợc số hàm chuẩn thô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
T duy:
- Gióp c¸c em rèn luyện t lập trình tác phong cđa ngêi lËp tr×nh
Thái độ:
- Ngiêm túc học tập tuân thủ nguyên tắc ngiêm ngặt lập trình
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập, tranh chứa bảng hàm số học chuẩn
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
- Thuyt trình, hi áp, t , so sánh
c Tiến trình học
1 n nh lp
Líp 11A3 11A4 11A5 11A6
SÜ sè Ngµy giảng
2 Kiểm tra cũ:
Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
1) PhÐp to¸n:
Phát vấn: Hãy kể phép toán em đ-ợc học tốn học
- DiƠn gi¶i: Trong Pascal
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
(10)- Yêu cầu học sinh nghiên cứu sách giáo khoa cho biÕt c¸c 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 qu¶ cđa phÐp toán quan hệ thuộc kiểu liệu nào?
2) BiÓu thøc sè häc
- Nêu vấn đề: Hãy cho biết yếu tố xây dựng nên biu thc
Xem hình sgk yêu cầu: Sử dụng c¸c phÐp to¸n sè häc, biĨu diƠn biĨu thøc to¸n học thành biểu thức ngôn ngữ lập trình 2a+5b+c
Xy 2z
- Nghiªn cứu sgk, hÃy nêu thứ tự thực phép toán
3) Hàm số học chuẩn
Trong toỏn học ta làm quen với số hàm số học, kể tên số hàm đó? - cho biểu thức: -b + biểu diễn biểu thức sang biểu thức ngơn ngữ lập trình
4) BiĨu thøc quan hƯ
* Khi biểu thức số học liên kết với phép toán qhệ ta đợc biểu thức mới, biểu thức gọi biểu thức gì? - Hãy lấy ví dụ biểu thức quan hệ? - Yêu cầu hs nghiên cứu sgk cho biết cấu trúc chung biểu thức quan hệ? - Cho biết kết phép toán quan hệ thuộc kiểu liệu học?
5 BiĨu thøc l«gic
Các biểu thức qhệ đợc liên kết với phép toán Logic gọi biểu thức Logic
- H·y cho mét sè vÝ dơ vỊ bthø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
- Kết biểu thức logic có kiểu liệu gì?
6 Câu lệnh g¸n
- Giíi thiƯu mét sè vÝ dơ vỊ lƯnh g¸n x:=4+8;
- Giải thích: Lấy cộng 8, đem kết đặt vào x Ta đợc x=12
- Hãy cho ví dụ để tính nghiệm phơng trình bậc hai
- 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
+ Suy nghÜ vµ trả lời
- Gồm hai phần: Toán hạng toán tử
+ Quan sát trả lêi
2*a+5*b+c x*y/(2*z)
- Thùc hiÖn ngoặc trớc; Ngoài ngoặc sau Nhân, chia, công, trừ sau
+ Suy nghĩ trả lời
Hàm tri tuyệt đối, hàm bậc hai, hàm sin, hm cos
- Suy nghĩ, lên bảng trả lêi (-b+sqrt(b*b – 4*a*c))/(2*a)
+ Suy nghÜ vµ trả lời
- Gọi biểu thức quan hƯ - VÝ dơ: 2*x<y
- CÊu tróc chung:
<BT1> <phÐp to¸n qh> <BT2> - 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)
- KiĨu logic
- 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);
4 Cñng cè.
(11)- Lµm bµi tËp 5, 6, 7, 8, s¸ch gi¸o khoa, trang 35 – 36; - Xem phơ lơc A, s¸ch gi¸o khoa trang 121: Một số phép toán thờng dùng giá trị phép toán logic
Ngày soạn: 01/09/2008
Tit 6: Cỏc th tc chun vo/ra n gin
Soạn thảo, dịch thực hiệu chỉnh chơng trình A Mục tiªu
KiÕn thøc:
- Biết đợc ý nghĩa cấu trúc chung thủ tục vào/ra chuẩn lập trình - Biết bớc để hồn thành chơng trình file ctr c bn ca Pascal
Kỹ năng
- Viết lệnh vào/ra liệu 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 ctr vào máy - Thực đợc ctr để nhập liệu thu kết quả, tìm lỗi thuật toán sửa lỗi
T duy:
- Gióp c¸c em rÌn lun t lËp trình tác phong ngời lập trình
Thái độ:
- Ngiêm túc học tập tích cực hoạt động nhóm
B chn bÞ
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập, tranh chứa bảng hàm số học chuẩn
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
- Thuyt trình, hỏi đ¸p, đặt vấn đề, so s¸nh
c TiÕn trình học
1 n nh lp
Lớp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ: - Kết hợp giê häc
Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
1 Nhập liệu vào từ bàn phím
- Dùng để đa nhiều liệu khác cho chơng trình xử lí
Read/Readln(<tªnbiÕn_1>, ,<tªn_biÕn_k >);
Nêu vấn đề: giải tốn, ta đa liệu vào máy để xử lí, đa lệnh gán có t/d với dliệu cố định Để ctr giải đc nhiều toán ta sd thủ tục nhập dliệu - Cấu trúc chung thủ tục nhập liệu ngôn ngữ lập trình Pascal:
- Nêu ví dụ: GPT ax+b=0, ta phải nhập vào đại lợng nào? Viết lệnh nhập? Chơng trình Pascal đơn giản có lệnh nhập giá trị có hai biến
- Hái : Nhập gtrị nhiều biến, ta làm ntn ? 2 Đa liệu hình
- Dựng đa kết sau sử lí hình để ngời sử dụng thấy
Write/Writeln(<tham_số_1>, ,<tham_số_k Dẫn dắt: sau xử lí xong, kết tìm đợc đợc lu nhớ Để thấy kết ta sử dụng thủ tục xuất liệu
- CÊu tróc chung cđa thđ tơc xt d÷ liƯu ngôn ngữ lập trình Pascal
Chú ý lắng nghe dẫn dắt giáo viên
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ụ gv - Những gtrị đợ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
(12)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
- Hái : Chøc lệnh Writeln(); - Hỏi: ý nghĩa : lệnh Write( )
3 Soạn thảo dÞch thùc hiƯn hiƯu chØnh ctr
Để sử dụng đợc Turbo Pascal, máy phải có file chơng trình cần thiết
Trình diễn cách khởi động Turbo Pascal - 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
- Gõ lệnh chơng trình (giống nh hệ soạn thảo văn bản)
- Lu file chơng trình đĩa bấm F2 - Biên dịch lỗi cú pháp : bấm ALT_F9 Soạn ctrình làm ví dụ lu dịch lỗi Soạn chơng trình, hỏi lỗi cú pháp, gọi học sinh dịch lỗi sửa
Program vd1 var x:integer; Begin
Write(‘Nhap songuyen duong); readln(x); y:=sqrt(x); write(y); End
Quan sát chơng trình ví dụ giáo viên
- Viết hình dòng chữ đa trá xng dßng
- Dành vị trí hình để viết số x, để y z
Tham khảo sách giáo khoa trả lời Turbo.exe Turbo.tpl Graph.tpu Egavga.bgi file *.chr Học sinh quan sát ghi nhớ Quan sát ghi nhớ
- Lu: F2
- Dịch lỗi: ALT_F9
Quan sỏt v phỏt hin lỗi để sửa lỗi Program vd1;
var x,y:integer; Begin
Write(‘Cho so ng d¬ng ); readln(x); y:=sqrt(x); write(y); End
Cñng cè.
- NhËp/ Xt d÷ liƯu
- Khởi động pascal, soạn thảo dịch , thực ctrình Tìm lỗi thut toỏn v hiu chnh
+Câu hỏi tập nhà
- HÃy so sánh Write(); writeln(); Read(); Readln();
- ViÕt Ctr nhËp R vµ tÝnh chu vi diƯn tÝch hình tròn nhập vào X tính X2
- Làm tập 9, 10, sách giáo khoa, trang 36 5 Hớng dẫn. - Đọc trớc bµi tËp vµ TH1, sgk t33 Xem phơ lơc B sgk t122và t136
Ngày soạn: 06/09/2008
Tiết 7: Bài thực hành số
A 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 chch-ơng trình thực chch-ơng trình
Kỹ năng
- Soạn đợc chơng 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
T duy:
- Gióp em rèn luyện t lập trình tác phong cđa ngêi lËp tr×nh
Thái độ:
- Tự giác, tích cực chủ động thc hnh
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập, tranh chứa bảng hàm số học chuẩn
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
(13)- Thuyt trình, hi áp, t , so sánh
c Tiến trình học
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ: - Kết hợp học
Bµi míi
1 Hoạt động 1: Tìm hiểu chơng trình hồn chỉnh a Mục tiêu:
- Học sinh biết đợc chơng trình hồn chỉnh - Biết soạn chơng trình
- Biết lu, biết dịch, thực chơng trình - Biết tìm lỗi sửa lỗi
b Nội dung:
- Cho chơng trình sau: Program giai_pt; Uses CRT;
var a,b,c,d,x1,x2:read; Begin
clrscr;
write(‘nhap a b c’); Readln(a,b,c); d:=b*b – 4*a*c;
x1:=(-b – sqrt(d))/(2*a); x2:=(-b + sqrt(d))/(2*a);
writeln(‘x1=’,x1:6:2,’x2=’,x2:6:2,); Readln;
End
c Các bớc tiến hành:
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,); Cñng 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à, liệu + Xác đinh thuật tố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
5 Híng dÉn.
(14)(15)Ngày soạn: 10/09/2008
Tiết 8: Bài thực hành sè
A Mơc tiªu
KiÕn thøc:
- Biết đợc chơng trình Pascal hon chnh
- Làm quen với dịch vụ chủ yếu Turbo Pascal việc soạn thảo, lu ch-ơng trình, dịch chch-ơng trình thực chch-ơng trình
Kỹ năng
- Son đợc chơng 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
T duy:
- Gióp c¸c em rÌn luyện t lập trình tác phong ngời lËp tr×nh
Thái độ:
- Tự giác, tích cực chủ động thực hành
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập, tranh chứa bảng hàm số học chuẩn
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
- Thuyt trình, hi áp, t , so sánh
c Tiến trình học
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ: - KÕt hỵp giê häc
Bài mới
Rèn luyện kĩ lập chơng trình
a Mục tiêu:
- Học sinh soạn đợc chơng trình lu chơng trình vào đĩa Biên dịch thực đợc chơng trình Nhập đợc liệu kiểm định kết chơng trình
b néi dung:
- Viết chơng trình tính diện tích hình đợc mơ tả màu, với a đợc nhập vào từ bàn phím
vẽ hình tròn tính diện tích c Các bớc tiến hành:
hng dn ca giỏo viờn Hoạt động học sinh
Định hớng để học sinh phân tích tố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 lu lên đĩa
- Quan sát hớng dẫn 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
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;
Thùc hiƯn c¸c yêu cầu giáo viên
- Soạn thảo chơng trình
- Bm 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
(16)a=3
a=-3 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
Cñng cè.
a Những nội 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à, liệu + Xác đinh thuật tố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 b Câu hỏi tập nhà
- 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
5 Híng dÉn.
- Xem phơ lục B, sách giáo khoa, trang 122: Môi trờng Turbo Pascal - Làm tập nhà sgk 36 sbt
- Đọc trớc nội dung bài: Cấu trúc rẽ nhánh, sách giáo khoa, trang 38 Ngày soạn: 11/09/2008
Tiết 9: Bài tËp A Mơc tiªu
1 KiÕn thøc:
- Biết phân biệt loại biểu thức NNLT
Kỹ năng
- Vit c cỏc biểu thức số học logic với phép toán thông dụng 3 T duy:
- 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
4.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 tính
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
- Thuyt trình, hi áp, t , so sánh
c Tiến trình học
1 n nh lớp
Líp 11A3 11A4 11A5 11A6
SÜ sè Ngày giảng
2 Kiểm tra cũ:
(17)Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
Bài tập 8/sgk/36
a Mục tiêu: Xây dựng biểu thức logic làm điều kiện để giải số toán đơn giản
b Nội dung: Viết biểu thức lôgic cho kết True tọa độ (x, y) điểm nằm vùng gạch chéo kể biên hình 2.a 2.b (trang 36/sgk)
Quan sát hình trả lời 0<=y<=1
-1<=x<=1
- Giá trị y vùng gạch chéo?
- Giá trị x vùng gạch chéo?
- Điểm A(x,y) x, y có quan hệ nào?
- Y/cầu hs từ biểu thức quan hệ viết bthức lôgic theo yêu cầu đề?
- Phân tích giá trị x, y để đơn giản biểu thức
(y<=1) and (abs(x)<=y)
Hình 2.b
Y/cầu hs tự làm, tương tự hình 2.a
|x|<=y
(|x|<=y) and ((x>=-1)and (x<=1)) and ((y>=0) andy<=1)
Chú ý lắng nghe, để ý cách xác định giá trị
(18)Bài 9/sgk/36
a Mục tiêu: Củng cố lại bước xây dựng chương trình, sử dụng dạng câu lệnh vào học - Y/cầu hs đọc đề
Định hướng để hs phân tích tốn - Dữ liệu vào:
- Dữ liệu ra: - Cách tính:
Y/cầu hs tự viết chương trình - Chỉ định hs lên bảng trình bày - Y/cầu hs khác nhận xét làm bảng (lỗi cú pháp, thuật tốn, …)
- Treo bảng có sẵn chtrình đúng để hs so sánh
(Pi có sẵn Pascal có giá trị 3.1415926536)
Chạy thử chtrình
Nếu a=2 kquả: 6.2832
- Đọc đề
- Dữ liệu vào: a =R
- Dữ liệu ra: dtích phần gạch chéo (1/2 dtích hình trịn)
- Cách tính: a*a*pi/2
Hs độc lập viết chương trình - hs lên bảng
- Nhận xét
So sánh, nhận xét
Program dt; Var a: real;
Begin
Write(‘nhap gia tri a (a>0) ‘); readln(a);
Writeln(‘Dien tich can tim la: ‘, a*a*pi/2 :20:3); Readln;
End. 4 Cñng cè.
5 Hớng dẫn.
(19)Ngày soạn: 11/09/2008
Chơng 3: Tổ chức rẽ nhánh lặp Tiết 10: CÊu tróc rÏ nh¸nh
A Mơc tiªu
KiÕn thøc:
- 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
Kỹ năng
- Bc u sử dụng đợc cấu trúc rẽ nhánh If then else ngơn ngữ lập trình Pascal để viết chơng trình giải đợc số tốn đơn giản
T duy:
- 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
4.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
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
- Thuyt trình, hi áp, t , so sánh
c Tiến trình học
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ: - Kết hợp học
Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
1 RÏ nhánh:
1 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
2 C©u lƯnh IF – THEN
- Dạng thiếu:
Cấu trúc: IF<điều kiện> then <c©u lƯnh>;
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 sÏ 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 PT vô nghiệm + Nếu delta>=0 th× kÕtln PT cã nghiƯm x = (-b+sqrt(delta))/(2a)
x = (-b – sqrt(delta))/(2a) - Nhận xét, đánh giá bổ sung thiếu sót nhóm khác
(20)- Dạng đủ:
CÊu tróc : If <®iỊu kiƯn> then <lƯnh 1> else <lÖnh 2>;
đkiện: biểu thức qhệ logic lệnh 1, lệnh 2: Là lệnh Pascal 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 đủ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
1 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>;
Vẽ sơ đồ thực nh đợc trình bày phần nội dung
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 lệnh
Cñng cè.
- 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, Sgk T50.Viết ctrình nhập số in giá trị lớn 5 Híng dÉn.
- Xem tríc bµi: Cấu trúc lặp, sách giáo khoa, trang 42
(21)Ngày soạn: 11/09/2008
Tiết 11: Cấu trúc rẽ nhánh ( tiết 2)
A Mục tiêu
KiÕn thøc:
- 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 đủ
Kỹ năng
- Bc u s dụng đợc cấu trúc rẽ nhánh If then else ngơn ngữ lập trình Pascal để viết chơng trình giải đợc số tốn đơn giản
T duy:
- 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
4.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
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
- Thuyt trình, hi áp, t , so sánh
c Tiến trình học
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ: - Kết hợp học
Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
3 C©u 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
4 Mét sè vÝ dô
a.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
Nêu nội dung, mục đích yêu cầu ví dụ
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 bi
Chú ý dẫn dắt giáo viên
- CÊu tróc cđa lƯnh ghÐp Begin
<các lệnh cần ghép>; End;
1 Chú ý dẫn dắt giáo viên
- Khi nhập độ dài â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
(22)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
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 lnh dng
- 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
4 Cđng 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, Sgk T50.Viết ctrình nhập số in giá trị lớn - Viết chơng trình giải phơng trình ax4 + bx2 + c = o .
5 Híng dÉn.
- Xem tríc nội dung bài: Cấu trúc lặp, sách giáo khoa, trang 42
(23)Ngày soạn: 18/09/2008
Tiết 12: CÊu tróc lỈp ( tiÕt1/ 2) A 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 để đợc số toán đơn giản
T duy:
- Học sinh thấy đợc cần thiết cấu trúc lặp lập trình
4.Thái độ:
- Kh¬i dËy tÝnh ham học hỏi tích cực tự giác học lập trình
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
- Thuyt trình, hi áp, t , so sánh
c Tiến trình bµi häc
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ:
- Phân biệt giống khác dạng câu lệnh If- Then
Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
LỈp
Bài tốn 1: Viết chơng trình tính tổng S = 1/a+ 1/a+1 + 1/a+2 + + 1/a+100 - Hãy xác định cơng thức tính tổng? - Gợi ý phơng pháp: Ta xem S thùng, số hạng ca, tính tổng nh việc đổ ca 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?
Dn dt: Ctr vit 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 cơng việc Chia lớp thành nhóm nhóm viết thuật tốn giải tốn 1, nhóm viết thuật tốn giải tốn
- Thu kÕt qu¶,
- Gọi hs nhóm khác nhận xét đánh giá - Chuẩn hóa lại thuật toỏn cho hsln cui
2 Lặp với số lần biết trớc câu lệnh for - do
Yêu cầu học sinh nghiên cứu SGK 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
1 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
- Tập trung theo dõi giáo viên trình bày Thảo luận 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 bớc Bớc : S <– S+1/(a+N), Quay lại b2 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 - Theo dõi ghi nhớ
Đọ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>
(24)- Hỏi : Trong tố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 ta đặt sauDo Khi nhiều lệnh cần lặp lại ta viết ntnào? - Hỏi : Trong tố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> ?
- Dn dt: 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?
Ví dụ 1: Viết chơng trình tính tổng S = 1/a+ 1/a+1 + 1/a+2 + + 1/a+100
Ví dụ 2: Một ngời có số tiền S, ông ta gửi tiền tiết kiệm ngân hàng với lãi suất 1,5% tháng Hỏi sau 12 tháng gửi tiết kiệm, ông ta đợc số tiền bao nhiờu?
<Giá trị đầu> 1; <Giá trị cuối> 100
- Ph¶i sư sơng cÊu tróc lƯnh ghÐp
S : = S + 1/ a+i
<Giá trị đầu> <Giá trị cuối>
Nghiờn cu SGK, suy nghĩ, so sánh với cấu trúc For tiến để trả lời
For <biến đếm>:=<giá trị cuối> Downto <giá trị đầu> Do <lệnh cần lặp>;
- Sử dụng dạng For tiến phù hợp
1 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 + 1/ a+i
4 Cñng cè.
- Cấu trúc chung lệnh lặp For Sơ đồ thực lệnh lậnh lặp For - Giải tập 5.a, 6, sách giáo khoa, trang 51
5 Híng dÉn.
- Xem trớc phần nội dung cấu trúc lặp có số lần cha xác định While Ngày soạn: 21/9/2008
TiÕt 13: CÊu tróc lỈp ( tiÕt2/ tiÕt 2) A 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 s ging v 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 để giải số toán đơn giản
T duy:
- Học sinh thấy đợc cần thiết cấu trúc lặp lập trình
4.Thái độ:
- Kh¬i dậy tính ham học hỏi tích cực tự giác học lập trình
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
- Thuyt trình, hi áp, t , so sánh
c Tiến trình học
1 n nh lp
Líp 11A3 11A4 11A5 11A6
(25)2 Kiểm tra cũ:
- Nêu cấu trúc chung vòng lặp for, làm tập
Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
Lặp với số lần cha biết trớc câu lƯnh While – do
Bài tốn 1: Viết chơng trình tính tổng: S = 1/a + 1/a+1 + 1/a+2 + + 1/a+N + 1/a+N <0,0001
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?
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
c Theo dõi ghi nhớ kết luận giáo viê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 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ì?
+ <Lệnh cần lặp>: Là lệnh cần phải lặp lại
- Hỏi : Trong toán lệnh cần lặp gì?
- Hỏi: Một khác lệnh cần lặp For While gì?
- Da vo cu trỳc chung, cho biết máy thực 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
T×m hiĨu cÊu trúc lệnh lặp While ngôn ngữ lập trình Pascal 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
S < S1
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
4 Cñng cè.
Những nội dung học
- ý nghĩa cấu trúc lặp có số lần cha xác định
- Cấu trúc chung lệnh lặp While ngôn ngữ Pascal - Sơ đồ thực lệnh lặp While
- Sù thùc hiƯn cđa 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
(26)- Đọ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 thực hành số 2, sách giáo khoa trang 49 Ngày soạn: 26/09/2008
Tiết 14: Bài tập thực hành ( tiết1) A 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 cụ thể
- Làm quen với công cụ phục vụ hiệu chỉnh chơng trình
T duy:
- Học sinh biết cách giải tập đơn giản có sử dụng câu lệnh rẽ nhánh
4.Thái độ:
- Tự giác, tích cực hcủ động thực hành
B chuÈn bÞ
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n nh lớp
Líp 11A3 11A4 11A5 11A6
SÜ sè Ngày giảng
2 Kiểm tra cũ:
- KÕt hỵp giê häc
Bài mới
1- Làm quen với chơng trình công cụ hiệu chỉnh chơng trình a Mơc tiªu:
- Học sinh hiểu đợc nội dung chơng trình kết uqả sau thực chơng trình Biết cơng cụ dùng để hiệu chỉnh chơng trình cần thiết nh : Thực bớc xem kết trung gian
b Néi dung:
- Ba số nguyên dơng a, b, c đợc gọi số Pitago tổng bình phơng hai số bình phơng s cũn li
Yêu cầu: Viết chơng tình nhập từ bàn phím ba số nguyên dơng a, b, c vµ kiĨm tra xem chóng cã lµ bé sè Pitago hay kh«ng?
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
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
(27)a vi 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
- bÊm F7, nhËp c¸c giá trị a=3, b=4, c=5
- Chn menu Debug để mở cửa sổ hiệu chỉnh
- Quan sát trình rẽ nhánh liệu vào trả lời
4 Củng cố.
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ào, liệu ra, thuật tốn - Soan chơng trình vào 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 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?5 5. Híng dÉn.
- 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
(28)Ngày soạn:1/10/2008
Tiết 15: Bài tập vµ thùc hµnh ( tiÕt 2) A Mơc tiªu
KiÕn thøc:
- Nắm cấu trúc sơ đồ thực cấu trúc r nhỏnh v lp
Kỹ năng
- Rèn luyện kĩ sử dụng cấu trúc rẽ nhánh lặp việc lập trình giải số toán cụ thể
- Làm quen với công cụ phục vụ hiệu chỉnh chơng tr×nh
T duy:
- Học sinh biết cách giải tập đơn giản có sử dụng câu lệnh rẽ nhánh lặp
4.Thái độ:
- Tự giác, tích cực hcủ động thực hành
B chuÈn bÞ
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n nh lp
Líp 11A3 11A4 11A5 11A6
SÜ sè Ngµy giảng
2 Kiểm tra cũ:
- Kết hợp học
Bài mới
2.- Rèn luyện kĩ lập trình hoàn thiện toán a Mục tiêu:
- Học sinh biết đọc hiểu đề, phân tích yêu cầu đề Từ chọn đợc cấu trúc liệu lệnh phù hợp để lập trình
b Néi dung:
hớng dẫn giáo viên Hoạt động học sinh
1-ViÕt ch¬ng t×nh GPT ax + b =
1.1- Nêu nơi dung, mục đích, u cầu cầu tố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 1.2- Yêu cầu học sinh gõ chơng trình vào máy
- Giáo viên tiếp cận học sinh để h-ớng dẫn sửa sai
1.3 Yêu cầu học sinh nhập liệu - Nhập liệu với test -2 1.4 Yêu cầu học sinh xác định testcase, nhập liệu, đối sánh kết
2-Viết ctrình tính giátrị tổng
X(N) = 13 + 33 + 53 + + (2N + 1)3,
với N lần lợt 0, 1, 2, 3, , , chừng X(N) cò nhỏ x 109 Đa giá trị
ý theo dõi vấn đề đặt giáo viên
- Xác định input output thuật giải - Mục đích giải phơng trình?
+ Kết luận số nghiệm giá trị nghiệm x
- Để tính đợc nghiệm x cần đại l-ợng nào?
+ Cần đại lợng : a b
- Có bớc xử lí để tính đợc x? Độc lập soạn chơng trình 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
1 Quan sát suy nghĩ để giải bi toỏn
(29)1 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 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
50
- S dụng cấu trúc lặp có số lần xác định
- Thảo luận theo nhóm để viết chơng trình lên bìa
- b¸o c¸o kÕt qu¶ cđa 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 bµi tËp vỊ nhµ
4 Cđng cè.
- Các bớc để hồn thành chơng trình
- Phân tích toán để xác định liệu vào, liệu ra, thuật tốn Soan chơng trình vào máy,Lu chơng trình,Biên dịch.Thực hiệu chỉnh chơng trình
Hớng dẫn.
(30)Ngày soạn: 5/10/2008
TiÕt 16: Bµi tËp A 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
- Cñng cè lại cho hs kiến thức liên quan đén tổ chức rẽ nhánh lặp
Kỹ năng
- Rèn luyện kĩ nhận xét, phân tích toán
- Rốn luyn 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
T duy:
- Học sinh biết cách giải tập đơn giản có sử dụng câu lệnh rẽ nhánh lặp
4.Thái độ:
- Tự giác tích cực, chủ động giải bi
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình häc
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ:
- Kết hợp giê häc
Bµi míi.
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 cơbản NNLT? - C¸c kh¸i niƯm NNLT?
- 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?
- 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
Nhắc lại kiến thức học tổ chức rẽ nhánh lặp
1 Yêu cầu học sinh nhắc lại cấu tróc rÏ nh¸nh
- Chiếu chơng trình tìm giá trị lớn hai số, có sử dụng lệnh rẽ nhánh dạng đủ
Var a b: Integer; Begin
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, hằng, biến, 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
- PhÐp to¸n sè häc, phÐp to¸n quan hƯ, 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 tố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();
Độc lập suy nghĩ để trả lời
If <bt®k> then <lƯnh 1> Else <lƯnh 2>;
(31)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 cu hc 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
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 <biến đếm>:=<giá trị đầu>; To <giá trị cuối> Do <lệnh>;
While <điều kiện> Do <lệnh cần lặp>; - Quan sát, suy 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
4 Cñng cè.
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
- Hãy viết lại chơng trình lệnh lặp For đợc thay lệnh lặp Whlie Hãy cho biết, toán sử dụng lệnh lặp tốt
Híng dÉn.
- Ôn tập chuẩn bị kiểm tra tiết
Ngày soạn: 5/10/2008
Tiết 17: Kiểm tra học kì 1 A Mục tiêu
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
2 Mục đích yêu cầu đề.
- Kiến thức: Hs 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
B chuÈn bÞ
1 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 trờn giy
c Tiến trình học
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
(32)2 KiĨm tra bµi cị: 3 Bµi míi
- 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 cách thay cấu trúc For cấu trúc While Câu 3: Viết chơng trình tính trung bình cđa 10 sè nhËp vµo tõ bµn phÝm
Đáp án biểu điểm
Câu 1: (2 điểm) - Biên dịch:
Bc 1: Duyt, 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; While i<=30 begin
write(i:4); i:=i+1; End;
Readln; End
Câu 3: (4 điểm) Program tinh_tb; Const solap =10;
Var Kq,so: real; I: integer; Begin
Kq:=0;
For i:=1 to solap begin
write(‘cho so thu’,i,‘=’); readln(so) ; kq:=kq+so; End; Kq:=kq/solap;
write(‘gia tri trung binh la: ‘, kq:10:3); readln; end
ổn định tổ chức giới thiệu đề
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 đề cn thit
Độc lập viết chơng trình
hng dẫn giáo viên Hoạt động học sinh
(33)nhau
4 Cñng cè.
Những vấn đề cần lu ý: - Nhận xét, phân tích kĩ đề
(34)Ngày soạn: 5/10/2008
Chơng iii: kiểu liệu cã cÊu tróc TiÕt 18: KiĨu m¶ng (TiÕt1/2)
A Mơc tiªu
KiÕn thøc:
- Biết cáu trúc tạo kiểu mảng chiều cách khai báo biến kiểu mảng chiều
Kỹ năng
- To c kiu mng chiều sử dụng biến mảng để giải số toán
T duy:
- Hiểu thuật toán thờng gặp mô hình liệu
4.Thỏi :
- Tiếp tục rèn luyện phẩm chất cần thiết ngời lập trình
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình häc
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 KiĨm tra bµi cị: 3 Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
KiĨu m¶ng mét chiỊu :
Nhập vào nhiệt độ (trung bình) ngày tuần Tính in hình nhiệt độ trung bình tuần số lợng ngày tuần có nhiệt độ cao nhiệt độ trung bình tính đợc
* Chiếu đề chơng trình ví dụ lên bảng
- Hái: Khi N lín th× 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 HS tham khảo SGK hỏi: Em hiểu nh mảng chiều? - Hỏi: Để mô tả mảng chiều, ta cần xác định yếu tố nào?
a Khai b¸o.
Yêu cầu HS tham khảo SGK cho biết cách tạo kiểu liệu mảng chiều - 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?
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á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 cu 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 cỏc phn t ca nú
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;
(35)- 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?
Giải toán cã sư dơng biÕn m¶ng mét chiỊu
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 hs khai báo kiểu mảng - Yêu cầu hs khai báo biến mảng - Yêu cầu học sinh tìm nhiệm vụ 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
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ớ - Vào: số giá trị nhiệt độ ngày - Ra: Số ntb nhiệt độ trung bình tuần số nch số ngày có nhiệt độ cao nhiệt độ 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
- Tính TB cộng giá trị mảng
- Đếm số ptử có giá trị >TB cộng có đc 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ớ 4 Củng cố.
- Nắm đợc khái niệm mảng chiềuCách tạo kiểu mảng chiều cách khia báo bin
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ố]
Híng dÉn.
- Đọc trớc nội dung kiểu mảng hai chiều, sách giáo khoa trang 59 Ngày soạn: 15/10/2008
Tiết 19: Kiểu mảng (Tiết2/2)
A Mục tiêu
KiÕn thøc:
- BiÕt c¸u tróc tạo kiểu mảng chiều cách khai báo biến kiểu mảng chiều
Kỹ năng
- Rèn luyện kĩ sử dụng kiểu mảng chiỊu
T duy:
- HiĨu c¸c thuật toán thờng gặp mô hình liệu
4.Thái độ:
- TiÕp tơc rÌn lun phẩm chất cần thiết ngời lập trình
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cị:
(36)Bµi míi :
hớng dẫn giáo viên Hoạt động học sinh
b> Một số ví dụ :
Ví dụ 1 : Tìm phần tử lớn dãy số nguyên
- Input : Số nguyên dương N dãy số A1, A2, … , AN
- Output : Chỉ số giá trị số lớn dãy
- Ý tưởng :
+ Đặt số A1 số lớn (max) + Cho i lặp từ đến N, A[i]>
đổi max = A[i] vả lưu lại vị trí i GV soạn sẵn chương trình cho học sinh
Nếu có nhiều thời gian, giáo viên tiến hành soạn chương trình từ đầu để học sinh dễ dàng nhận thao tác cần phải thực viết chương trình
Ví dụ : Sắp xếp dãy số nguyên theo thuật toán tráo đổi
- Input : Số nguyên dương N dãy số A1, A2, …, AN
- Output : Dãy A xếp theo thứ tự không giảm
- Ý tưởng :
+ Đổi để đưa số lớn vị trí cuối
+ Làm tương tự số
lại
GV : Đưa ví dụ, nhắc lại ý tưởng thuật tốn
Nếu có thời gian, giáo viên tiến hành soạn chương trình từ đầu để học sinh dễ dàng nhận việc chuyển đổi ngôn ngữ từ ngôn ngữ thuật tốn sang ngơn ngữ lập trình
Ví dụ 3 : Tìm kiếm nhị phân
- Input : Dãy số A1, A2,………, AN xếp tăng dần
- Output : Có hay khơng số i mà
HS : Xây dựng thuật tốn để giải tốn Quan sát chương trình
Program timmax ;
var a : array[1 250] of integer ; n,i,max,csmax : Integer ; Begin
Write('Nhap n = ') ; Readln(n) ;
For i := to n Begin
Write('a[',i,'] = ') ; readln(a[i]) ; End ;
max := a[i] ; csmax := ; For i := to n If a[i] > max then Begin
max := a[i] ; csmax :=i ; End ;
Writeln('Gia tri lon nhat : ',max) ; Writeln('chi so ptu lon nhat : ',csmax) ; Readln ;
End
HS : Xây dựng thuật toán để giải toán (thuật toán học lớp 10)
Program sapxep ;
var A : Array[1 250] of integer ; n,i,j,tg : Integer ;
Begin
Write('Nhap so ptu mang n = ') ; Readln(n) ; For i := to n
Begin
Write('A[',i,'] = ') ;readln(A[i]) ; End ;
For j := n downto Begin
For i := to j-1 If A[i] > A[i+1] then Begin
tg := A[i] ;A[i] := A[i+1] ;A[i+1] := tg ; End ;
End ;
Writeln('day sau sap xep : ') ; For i := to n
write(a[i]:8) ; readln ;
Writeln('chi so ptu lon nhat : ',csmax); readln ; End
Chương trình sau :
Program sapxep ;
var A : Array[1 250] of integer;TK : boolean ; n,i,k : Integer ; dau,cuoi,giua : Integer ; Begin
(37)thấy - Ý tưởng :
Xem lại thuật tốn tìm kiếm nhị phân trong SGK lớp 10
Begin
Write('A[',i,'] = ') ; readln(A[i]) ; End ;
Write('nhap so can tim k : ') ; Readln(k); dau := ; cuoi := n ; TK := false ; while (dau <= cuoi) and Not TK Do Begin
giua := (dau+cuoi) div ; If A[giua] = k then TK := true
Else If a[giua]>k then cuoi := giua - Else dau := giua + ;
End ;
If TK then write('Chi so la : ',giua) else write(' Khong tim thay '); readln ; End
4 Cñng cè.
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 chiu n tng phn t: Tờn_bin[ch s]
Câu hỏi tập nhà.
- trả lời câu hỏi 1_4, làm tập 5, 6, 7, s¸ch gi¸o khoa, trang 79
Híng dÉn.
- §äc tríc néi dung vỊ kiểu mảng hai chiều, sách giáo khoa trang 59 Ngày soạn: 15/10/2008
Tiết 20: Kiểu mảng (Tiết3/2)
A 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 phần tử mảng
Kỹ năng
- To c kiu mng 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ố toán cụ thể
T duy:
- HiĨu c¸c tht to¸n thờng gặp mô hình liệu
4.Thái độ:
- TiÕp tơc rÌn lun c¸c phÈm chất cần thiết ngời lập trình
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n định lớp
Líp 11A3 11A4 11A5 11A6
SÜ số Ngày giảng
2 Kiểm tra cũ:
- Tại phải khai báo kích thớc cho mảng khai báo phần tử mảng có kiểu gì? nêu cách tham chiếu tới phần tử mảng
Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
2) KiĨu m¶ng hai chiỊu
Giíi thiƯu vÝ dơ s¸ch gi¸o khoa
(38)- 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ữ bảng cu chơng
- 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 vỊ 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? * Khai bỏo mng chiu
1 Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết cách tạo kiểu liệu mảng 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ụ
- 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ử 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
4 Củng cố.
- 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]
Híng dÉn.
(39)Ngày soạn: 20/10/2008
Tiết 21: Kiểu mảng (Tiết4/2)
A Mục tiêu
KiÕn thøc:
- Biết đợc kiểu liệu kiểu mảng hai 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 phần tử ca mng
Kỹ năng
- 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ố toán cụ thể
- 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
T duy:
- Hiểu thuật toán thờng gặp mô hình liệu
4.Thỏi :
- tiếp tục xây dựng lòng yêu thích giải toán lập trình máy vi tính
- Tiếp tục rèn luyện phẩm chất cần thiết ngời lập trình nh: ý thức chon xây dựng kiểu liệu thể đối tợng thc t
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình bµi häc
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ:
- Kết hợp giê häc
Bµi míi
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
b> Mt số ví dụ :
Ví dụ :
Chương trình sau đưa hình bảng
Quan sát đề bài, theo dõi yêu cầu cần giải đề
- Dïng 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 chỉnh sửa
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
Program cuuchuong; Uses crt ;
(40)cửu chương
GV cho học sinh quan sát chương trình giải thích lệnh chương trình, ý sâu vào lệnh lặp để em nhận thường ta sử dụng vòng lặp for -do để duyệt qua phần tử mảng GV nên soạn sẵn chương trình cho em quan sát chương trình, chạy thử chương trình máy để em tiện theo dõi
i, j : Byte ; Begin
Clrscr ;
Writeln('Bang cuu chuong -> : '); Writeln ;
For i := to For j := to A[i,j] := i*j ; For i := to Begin
For j := to Write(a[i,j]:4); Writeln ;
Writeln ; End ; Readln ; End
4 Cñng cè.
Những nội dung học
- 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 phần tử: Tên_biến[chỉ_số_dòng, chỉ_số_cột] Câu hỏi bi v nh
- Làm tËp sè 8, 9, s¸ch gi¸o khoa trang 79, 80
Híng dÉn.
(41)Ngày soạn: 25/10/2008
Tiết 22: Bài tập thực hành (Tiết1/2)
A 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
- Nâng cao kĩ sử dụng số lệnh kiểu liệu mảng chiều lập trình: + 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ử t/m điều kiện đó.Tìm phần tử lớn nhất, nhỏ
T duy:
- HiĨu c¸c tht toán thờng gặp mô hình liệu
4.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
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ:
- Mô tả nêu cách khai báo mảng chiều Mảng chiều giống khác mảng chiều nh nào/ Ví dụ minh hoạ
Bµi míi
hớng dẫn 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?
- Hỏi: Những dòng lệnh dùng để tạo biến màng a?
- Thực chơng trình để học sinh thấy kết
- Hái: Lệnh gán a[i]:=random(300) random(300) có ý nghĩa gì?
- Hái: LÖnh Fori:=1 to n Write(A[i]:5);cã ý nghÜa g×?
- Hái : LƯnh For – Do ci 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
Quan sát, ý trả lời
- Khai báo th viện chơng trình Crt để sử dụng đợc thủ tục Clrscr;
- Tªn kiểu liệu
- nmax số phần tử tối đa chứa biến mảng a.n số phần tử thực tế a
- Lệnh khai báo kiểu khai báo biến
- Quan sát chơng trình thực kết hình
- Lnh 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
(42)Sửa chơng trình câu a để đợc chơng trình giải toán câu b
- Chiếu lên hình lệnh cần thêm vào chơng tình câu a
- Hỏi: ý nghÜa cđa biÕn Posi vµ 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
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
4 Cñng cè.
Những nội dung học Một số thuật tố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ử lớn nhất, nhỏ nht
5 Hớng dẫn. 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ị x
(43)Ngày soạn: 30/10/2008
TiÕt 23: Bµi tËp vµ thùc hµnh (TiÕt2/2)
A 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
- Nõng cao k nng sử dụng số lệnh kiểu liệu mảng chiều lập trình: + 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ử t/m điều kiện đó.Tìm phần tử lớn nhất, nhỏ
T duy:
- Hiểu thuật toán thờng gặp mô hình liệu
4.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ủ động sáng tạo tìm kiếm kiến thức
B chn bÞ
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n nh lớp
Líp 11A3 11A4 11A5 11A6
SÜ sè Ngày giảng
2 Kiểm tra cũ: 3 Bµi míi
Hoạt động : 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ị ln nht
- 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
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è cđa phÇn tư lín nhÊt
Quan sát chơng trình, suy nghĩ trả lời
- Giữ lại số phần tử có giá trị lớn
- PhÐp so s¸nh a[i] <a[j]
(44)ra 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?
- Hỏi: Cần thêm lệnh nữa?
- Hỏi: Vị trí thêm lệnh đó?
- 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 học sinh
hi định hớng để viết chơng trình - Có
- 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 d÷ liƯu
4 Cđng cè.
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ử lớn nhất, nhỏ
5 Hớng dẫn. 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ị x
(45)Ngày soạn: 5/11/2008
Tiết 24: Bài tËp A 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 2chiều - Làm quen với thuật toán sp xp n gin
Kỹ năng
- Rèn luyện kĩ sử dụng kiểu liệu có cấu trúc, diễn đạt thuật tốn chơng trình sử dụng liệu kiểu mảng chiều
- Rèn luyện kĩ nhận xét, phân tích đề xuất cách giải tốn cho chơng trình chạy nhanh
T duy:
- HiĨu c¸c thuật toán thờng gặp mô hình liệu
4.Thái độ:
- Tự giác, chủ động thực hành
B chuÈn bÞ
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n nh lp
Lớp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 KiĨm tra bµi cị: 3 Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
GV : Khi khai báo mảng chiều cần Minh họa hình ảnh mảng chiều số phần tử mảng hai chiều cách viết truy cập phần tử mảng
GV cho học sinh quan sát chương trình giải thích lệnh chương trình, ý sâu vào lệnh lặp để em nhận thường ta sử dụng vịng lặp for - do
để duyệt qua phần tử mảng
GV nên soạn sẵn chương trình cho em quan sát chương trình, chạy thử chương trình máy để em tiện theo dõi
Ví dụ :
Chương trình sau nhập vào mảng chiều số nguyên k, sau in phần tử có giá trị nhỏ k ca mng
- 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
Ví dụ :
Chương trình sau đưa hình bảng cửu chương
Program cuuchuong; Uses crt ;
var A : Array[1 9,1 9] of Integer ; i, j : Byte ;
Begin Clrscr ;
Writeln('Bang cuu chuong -> : '); Writeln ;
For i := to For j := to A[i,j] := i*j ; For i := to Begin
For j := to Write(a[i,j]:4); Writeln ; End ;
Readln ;End
Program Timkiem;
var A : Array[1 100,1 100] of Integer; i,j,n,m : Byte ;
k,d : integer ; Begin
Write(' Nhap so dong, cot cua mang : ') ; Readln(m,n);
(46)- Nếu nhỏ đổi chỗ - 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]
- Chơng trình xếp dÃy số theo thứ tự không giảm
tg:=a[i];a[i]:=a[i+1];a[i+1]:=tg; - Dem := Dem+1;
- Ngay sau on 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
- Nhập liệu theo yêu cầu giáo viên, thực chơng trình thông báo kÕt qu¶ sau thùc hiƯn
For j := to n Begin
Write(' A[',i,',',j,'] = '); Readln(A[i,j]);
End ;
Writeln(' Mang vua nhap vao la : '); Writeln;
For i := to m Begin
For j := to n Write(a[i,j]:4) ; Writeln;
End;
Write(' Nhap gia tri k : '); Readln(k) ; d := ; For i := to m For j := to n If a[i,j] < k then Begin
write('So nho hon ',k,' la '); write(a[i,j]:8); d := d+1 ; End ;
If d = then
Write('Khong co ptu nao nho hon ',k); readln;
End
4 Cñng 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 Ýt nhÊt
5 Híng dÉn. * Câu hỏi tập nhà
- Xem lại tất kiến thức học
(47)TiÕt 25: Bµi tËp vµ thùc hµnh (TiÕt1/2)
A 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ỹ năng
- 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 tốn cho chơng trình chạy nhanh
T duy:
- HiĨu c¸c thuật toán thờng gặp mô hình liệu
4.Thái độ:
- Tự giác, chủ động thực hành
B chuÈn bÞ
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n nh lp
Lớp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 KiĨm tra bµi cị: 3 Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
Gỵi ý cho häc sinh thuật toán xếp tăng dần
- Lấy mét vÝ dơ thùc tiƠn: Ngêi mï s¾p xÕp mét dÃy viên bi theo kích thớc không giảm
- Yêu cầu: Vạch bớc để xếp phần tử mảng không giảm
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 tố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 toá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ị?
CHú ý theo dõi dẫn dắt giáo viên để trả lời câu hỏi
- Lần lợt lấy phần tử từ trái qua phải
- C mi phn tử ta đem so sánh lần lợt với phần tử đứng bên phải - Nếu nhỏ hn thỡ 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 cu mi, ý định h-ớng giải giáo viên
(48)
- 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ị 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 häc sinh
- 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
- Nhập liệu theo yêu cầu giáo viên, thực chơng trình thông báo kết sau thực
4 Cñng 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
5 Hớng dẫn. * 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
(49)Ngµy soạn: 10/11/2008
Tiết 26: Bài tập thực hành (TiÕt2/2)
A 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ỹ năng
- 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 tốn cho chơng trình chạy nhanh
T duy:
- HiĨu c¸c thuật toán thờng gặp mô hình liệu
4.Thái độ:
- Tự giác, chủ động thực hành
B chuÈn bÞ
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n nh lp
Lớp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ: Không kiểm tra bµi cị
3 Bµi míi
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 toá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ử mảng 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,
Quan sát đề trả lời câu hỏi
(50)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 mét 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 nhanh nhÊ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 thời gian thực 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 qu¶
- NhËn xÐt vỊ thêi gian thùc chơng trình so với chơng trình trớc c¶i tiÕn
4 Cđng cè.
* Những nội dung học
- Thuật tốn xếp đơn giản
- Mét bµi 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
5 Hớng dẫn. * Câu hỏ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 liu cú cu trỳc
Ngày soạn: 18/11/2008
Tiết 27: Kiểu xâu (Tiết1/2)
A Mục tiêu
KiÕn thøc:
- Biết đợc kiểu liệu mới, 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 khai báo biến, nhập xuất liệu, tham chiếu xâu, phép toán
Kỹ năng
- Khai bỏo c bin 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 giản
T duy:
- Hiểu thuật toán xâu c¸ch sư dơng
4.Thái độ:
- Tự giác, chủ động thực hành
B chuÈn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n định lớp
Líp 11A3 11A4 11A5 11A6
SÜ số Ngày giảng
(51)3 Bài mới
Tìm hiểu xâu cách sử dụ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ố]
hớng dẫn giáo viên Hoạt động học sinh
Tìm hiểu ý nghĩa xâu kí tự Viết ctrình nhập họ tên 30 học sinh - Hỏi: ta chọn kiểu liệu nh nào? Khai báo biến nh nào?
- Hỏi: Có khó khăn gặp phải? Cần có kiĨu d÷ liƯu míi cho phÐp ta nhËp/ xt d÷ liệu xâu
Tìm hiểu kiểu xâu - Chiếu khai báo biến xâu - Hái: ý nghÜa cđa tõ String, [n] - Yªu cầu hs cho ví dụ xâu kí tự - Hỏi: Xâu có kí tự?
- Diễn giải: Mỗi kí tự phần tử xâu Số lợng kí tự độ dài xâu - Hỏi: Xâu gồm kí tự trống 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 Cấu trúc chung thủ tục nhập/xuất dữliệu - Yêu cầu học sinh tìm vÝ dơ thĨ - DÉn d¾t: 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;
Tham chiu n kí tự xâu - Hỏi: Có giống khác so với cách tham chiếu đến phần tử mảng - Yêu cầu học sinh tìm ví dụ
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
- Chơng trình đợc viết dài dịng Khi nhập ,phải 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ị số lợng kí tự tối đa mà 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í 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); - VÝ dô:St:=’HA NOI’;
Quan sát suy nghĩa để trả lời - Giống cấu trúc chung tham chiếu tên biến[chỉ số]
- VÝ dơ: st[2]
Tìm hiểu phép tốn liên quan đến xâu.
- Hỏi: Hãy nhắc lại phép toán học kiểu liệu chuẩn
1 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 ? - Thực chơng trình để học sinh thấy kết qu
- Yêu cầu h s tìm sè vÝ dơ kh¸c
- Hái: Chøc phép cộng? - 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: 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 toán số học, so s¸nh, logic
1 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ứ
-Quan sát chơng trình dự tính kết
- Kết là: TRUE
(52)‘AB’ < ‘ABC’
‘AC’ < ‘ABC’ - KÕt qu¶: False
4 Cñng cè.
- Khai báo : VAR tên_biến: STRING[độ dài];Nhập xuất giá trị cho xâu: read/readln(); write/writeln(); Tham chiếu 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
5 Híng dÉn.
- 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
Ngày soạn: 18/11/2008
Tiết 28: Kiểu xâu (Tiết2/2)
A Mục tiêu
KiÕn thøc:
- Biết lợi ích hàm thủ tục liên quan đến xâu lập trình Pascal - Hiểu đợc cấu trúc chung chức số hàm thủ tục liên quan đến xâu ngơn ngữ lập trình Pascal
Kỹ năng
- Nhận biết bớc đầu sử dụng đợc số hàm thủ tục để giải số tập
T duy:
- HiĨu c¸c tht toán xâu cách sử dụng
4.Thỏi độ:
- Tự giác, chủ động học tập
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ: - Kiểu xâu gì? lấy ví dụ kiểu xâu - Viết khai báo kiểu xâu?
3 Bài mới
hng dn ca giáo viên Hoạt động học sinh
giíi thiƯu hµm length(st)
- Hái: ý nghÜa Length st? - Chiếu chơng trình vÝ dô:
Var st:tring; Begin
st:= ‘ha Noi’; Write(length(st)); readln; End
- Hỏi: Chức hàm length() 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: Chức hàm upcase()?
Giíi thiƯu hµm Pos(s1, s2) - Hái: Chøc hàm Pos? - Thay tham số hàm Pos
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
- Hàm cho số lợng kí tự xâu st Quan sát cấu trúc chung hàm Upcase
- Quan sát chơng trình để dự tính kết qu
- Kết : H
(53)chơng trình Pos(k, abc) Hỏi kết hàm bao nhiêu? Giới thiệu 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: Chức hàm copy?
Giíi thiƯu cÊu tróc chung cđa thđ tơc delete(st, vt, n);
- Hỏi: Chức thđ tơc delete(); st:=’ abc’; Delete(st,1,5);
st:=’ abc’; Delete(st,5,2);
Giíi thiƯu cÊu tróc chung cđa thđ tơc Insert(st1, st2, vt);
- 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 st2:= ‘ef’; Insert(‘abc’,st2, 5); st2:= ‘ef’; Insert(‘abc’,st2, 0);
Mét sè vÝ vô
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 tốn này?
- 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
- 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 hc sinh
vị trí xâu st2 xâu st2 - B»ng kh«ng
Quan sát cấu trúc chung hàm coppy ví dụ để biết chức - Quan sát ctrình để dự tính kết - Kết là: ‘i ta’
- 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
Quan sát cấu trúc chung thủ tục delete c¸c vÝ dơ
- Thđ tơc thùc hiƯn viƯc xóa biến xâu st , n kí tự, vị trí vt st:= ; xâu rỗng
st:= abc;
Quan sát cÊu tróc chung cđa thđ tơc Insert
- 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’;
1 Quan sát suy nghĩ để trả lời - Vào: Một xâu kí tự
- Ra: x©u chØ có kí trắng từ - Xóa dấu cách thừa đầu xâu cuối xâu
- Xóa dấu cách thừa Giữa hai từ - 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ớ
4 Cñng cè.
Những hàm thủ tục liên quan đến xâu - Thủ tục Delete(st, vt,n); Insert(st1, st2, vt);
- Hµm Copy(st, vt,n), Length(st), Pos(st1, st2), UpCase(ch) - Giải tập số 10 trang 80
5 Híng dÉn.
(54)Ngày soạn: 25/11/2008
Tiết 29: Bài thực hành số (Tiết1/2)
A Mục tiêu
KiÕn thøc:
- Khắc sâu kiến thức kiểu xâu kí tự, đặc biệt hàm thủ tục liên quan - Hiểu đợc số thuật toán bản: Tạo xâu mới, đếm số lần xuất kí tự
Kỹ năng
- 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ù cđa x©u
T duy:
- Hiểu thuật toán xâu cách sử dơng
4.Thái độ:
- Tích cực, chủ động thực hành
B chuÈn bÞ
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n nh lp
Líp 11A3 11A4 11A5 11A6
SÜ sè Ngµy giảng
2 Kiểm tra cũ: - Kết hợp
3 Bài mới
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);
x:=length(a); 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 ý
Quan sỏt, c k
Phải: 12321 abccba Không phải: abcdea
(55)- 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?
- Thc 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 hoàn chỉnh
- Yêu cầu học sinh nhập liệu cho sẵn giáo viên thông báo kết - Xác nhận làm có kết
- 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 qu¶
4 Cđng 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
5 Hớng dẫn.
(56)Ngày soạn: 25/11/2008
TiÕt 30: Bµi thùc hµnh sè (TiÕt2/2)
A Mơc tiªu
KiÕn thøc:
- Khắc sâu kiến thức kiểu xâu kí tự, đặc biệt hàm thủ tục liên quan - Hiểu đợc số thuật toán bản: Tạo xâu mới, đếm số lần xuất hin kớ t
Kỹ năng
- 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
T duy:
- HiĨu c¸c tht toán xâu cách sử dụng
4.Thỏi độ:
- Tích cực, chủ động thực hnh
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ: - Kết hợp
3 Bài mới
Rèn luyện kĩ lập trình.
1.Mục tiêu:
- Hc sinh biết phân tích yêu cầu để viết chơng trình hồn chỉnh 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 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
- 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 toán phát
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?
- Nêu nhiệm vụ cần thực 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 c¸c sè øng víi sù xt hiƯn cđa 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()
(57)hiệ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
- T×m test
- Nhập liệu giáo viên thực chơng trình để xem kt qu
- Thông báo kết cho giáo viên
4 Củng 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
5 Híng dÉn.
Chuẩn bị nội dung cho tiết ôn tập kiến thức ó c hc t u nm
Ngày soạn: 30/11/2008
Tiết 31: ôn tập học kì ( Tiết 1/2 ) A 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ỹ năng
- Rèn luyện kĩ nhận xét, phân tích toán
T duy:
- Hiểu thuật toán đơn giản áp dụng làm số tập đơn giản 4.Thái độ:
- Tích cực, chủ động học tập thực hnh
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ: - Không kiểm tra cũ
3 Bµi míi
Nhắc lại kiến thức cũ học Mục tiêu:
- Học sinh nhớ lại đợc kiến thức lí thuyết học 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, biÕn, chó thÝch
- CÊu tróc cđa 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
(58)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 thÕ nµo 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?
- 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
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ữ lập 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, h»ng vµ 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
- PhÐp to¸n sè häc, phÐp to¸n quan hƯ, 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 tố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 4 Cñng 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
5 Híng dÉn.
Chuẩn bị nội dung cho tiết ôn tập kiến thức đợc học từ đầu năm
Ngµy soạn: 30/11/2008
Tiết 32: ôn tập học kì ( TiÕt 2/2 ) A 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 hc n
Kỹ năng
- Rèn luyện kĩ nhận xét, phân tích toán
T duy:
- Hiểu thuật toán đơn giản áp dụng làm số tập đơn giản 4.Thái độ:
- Tích cực, chủ động học thc hnh
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
(59)1 ổn định lớp
Líp 11A3 11A4 11A5 11A6
Sĩ số Ngày giảng
2 Kiểm tra cũ: Không kiểm tra cũ
3 Bài míi
Củng cố rèn luyện kĩ giải số toán đơn giản 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 cđa 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ụ phải thùc hiÖn - Nhãm 2:
+ Số N N số nguyên
+ Số lợng số chẵn C số lẻ L – NhËp d÷ 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 qu¶
- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác
Theo dâi vµ ghi nhí
4 Cđng 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
5 Híng dÉn.
Chuẩn bị nội dung cho tiết ôn tập kiến thức đợc học từ đầu năm
(60)Câu 1: Chơng trình dịch chơng trình
a Chuyển đổi ngôn ngữ khác ngôn ngữ máy b Chuyển đổi ngôn ngữ máy ngôn ngữ bậc cao c Chuyển đổi hợp ngữ ngôn ngữ bậc cao
d Cả sai
Câu 2: Trong ngơn ngữ lập trình Pascal, từ khố VAR dựng
a Khai báo tên chơng trình b Khai b¸o biÕn
c Khai b¸o th viƯn d Khai báo
Câu 3: Trong ngôn ngữ lập trình Pascal, kiểu liệu kiểu sau có miền giá trị lớn nhất?
a Byte b Word c Integer d Longint
C©u 4: ViÕt lại biểu thức sau từ dạng toán học sang dạng biểu thức tơng ứng Pascal
Biểu thức to¸n häc BiĨu thøc Pascal
2 2
x x ………………
2 2
a b x y
………
………
……… Câu 5: Trong Turbo Pascal, để thực thi chơng trình
a NhÊn phÝm F9 b NhÊn tỉ hỵp phÝm Shift F9
c NhÊn tỉ hỵp phÝm Ctrl F9 d NhÊn tỉ hỵp phÝm Alt F9
Câu 6: Trong ngơn ngữ lập trình Pascal, câu lệnh sau đúng?
a IF x= THEN x:= d+1; ELSE x:= d+2; b IF x= THEN x:= d+1 ELSE x:= d+2;
c IF x= THEN x= d+1 ELSE x= d+2; d IF x= THEN x:= d+1 ELSE x:= d+2
Câu 7: Trong ngơn ngữ lập trình Pascal, mặt cú pháp câu lệnh sau với cấu trúc lặp WHILE có lệnh
a WHILE a> and a< 17 DO a:= a-1; b WHILE (a> 5) and (a< 17) DO; a:= a-1;
c WHILE (a> 5) and (a< 17) DO a:= a-1 d WHILE (a> 5) and (a< 17) DO a:= a-1;
Câu 8: Trong Pascal, để đổi giá trị phần tử mảng 1chiều A hai vị trí i j, ta viết mã lệnh nh sau:
a A[i]:= Tag; A[i]:= A[j]; A[j]:= Tag;
b Tag:= A[i]; A[j]:= A[i]; A[j]:= Tag; c Tag:= A[i];
A[i]:= A[j]; A[j]:= Tag;
d Tag:= A[i]; A[i]:= A[j]; Tag:= A[j];
Câu 9: Trong Pascal, với khai báo mảng A: ARRAY [1 100, 100] OF INTEGER; việc truy xuất đến phần tử nh sau:
a A[i],[j] b A[i][j] c A[i, j] d A[i; j]
PhÇn II: Tù luËn
(61)Tính đa hình số lợng số dơng dãy chia hết cho In số hình?
Đáp án: - Từ câu đến câu 9: ý cho 0,5 điểm - Câu 10: điểm
+ Khai báo điểm + Nhập liệu điểm + Mỗi ý ỳng: im
+ Trình bày hình tốt: ®iĨm
1- a 2- b 3- d
4- sqrt(x*x + 2) – x*x*x; sqrt(a*a + b*b + sqrt(x*x + sqrt(abs(y))))
5- c 6- b 7- d 8- c 9- c
10-
- Const Max= 100;
Var A: array [1 Max] of Integer; N, dem: integer; - Readln (N);
For i:= to N readln (A[i]);
- dem:= 0;
For i:= to N If (A[i]> 0) and (A[i] mod 7= 0) then Begin
dem:= dem+ 1; write(A[i]: 5); End;
- Writeln (dem: 5);
Ngày soạn: 8/12/2008
TiÕt 34: KiĨu b¶n ghi
A 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 kiểu ghi với kiểu mảng chiều
Kỹ năng
- Khai bỏo c kiu ghi, 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
T duy:
- Hiểu kiểu liệu ghi áp dụng giải số bàI toán đơn giản
4.Thái độ:
- TiÕp tôc rèn luyện phẩm chất cần thiết ngời lập trình
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
(62)1 n định lớp
Líp 11A3 11A4 11A5 11A6
SÜ số Ngày giảng
2 Kiểm tra cũ: 3 Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
Xét ví dụ sau :
Viết chương trình dùng để quản lí thí sinh kỳ thi tuyển sinh Chương trình cần quản lí được:
+ Họ tên thí sinh, + Giới tính,
+ Điểm mơn … + SBD thí sinh
GV : Đưa số câu hỏi sau :
- Làm để quản lý toàn thông tin học sinh ?
Mỗi thông tin có kiểu liệu ? GV lấy bảng điểm học sinh rõ : Mỗi hàng ta gọi ghi, cột trường
GV : Mỗi ngôn ngữ có cách khai báo kiểu ghi khác
Ngôn ngữ Pascal không cho bạn khai báo biến ghi trực tiếp mà phải khai báo biến ghi thông qua khai báo kiểu ghi
GV : Làm để khai báo nhiều biến ghi có kiểu ?
Ví dụ khai báo ghi
Khai báo kiểu ghi để xử lý bảng kết thi học sinh
Mỗi ghi bao gồm : Họ tên học sinh (Hoten), ngày tháng năm sinh(Ngaysinh), Giới tính (NamNu), điểm thi môn học sinh (Toan, Ly, Hoa, Van, Su, Dia,Tin)
Hãy xác định kiểu liệu cho trường (Mỗi nội dung trường ghi)
GV : Khi có nhu cầu thay đổi thông tin trường, làm để truy
Một số khái niệm
- Kiểu ghi dùng mơ tả đối tượng có số thuộc tính mà thuộc tính có kiểu liệu khác
- Bản ghi thường gọi Record, Record lưu trữ liệu đối tượng - Mỗi thuộc tính tương ứng với trường Các ngơn ngữ lập trình thường xác định :
+ Tên kiểu ghi + Tên trường
+ Kiểu liệu trường + Cách khai báo biến
+ Cách tham chiếu đến trường
HS : Có thể quản lý kiện mảng chiều
Ngơn ngữ lập trình bậc cao có cách tốt để quản lý liệu -> Bản ghi
1 Khai báo
Để khai báo biến ghi, thường khai báo kiểu ghi sau khai báo biến ghi
Cách khai báo kiểu :
Type <Tên kiểu ghi>=Record
<Tên trường 1> : <Kiểu trường 1> ; ……… ………
<Tên trường n> : <Kiểu trường n> ;
End ;
HS : GV gợi ý để học sinh đưa sử dụng kiểu mảng phần tử mảng có kiểu ghi
Cách khai báo biến :
Var <Tên biến> : <Tên kiểu ghi> ;
Var <Tên mảng> : Array[1 n] Of <Tên kiểu ghi> ;
Type Hocsinh = Record Hoten : String[30] ; Ngaysinh : String[10] ; NamNu :Boolean ;
Toan,Ly, Hoa, Van, Su, Dia : Real ; End ;
Var A, B : Hocsinh ;
Lop : Array[1 100] Of Hocsinh ;
Để truy cập vào trường ghi, ta viết :
(63)- Mỗi ngơn ngữ có cách truy cập khác thường viết :
<Tên biến ghi>.<tên trường>
GV: Đưa số ví dụ
GV: Vì ghi có nhiều trường nên việc gán giá trị cho ghi phức tạp biến khác
Ví dụ :
Chương trình sau viết ngơn ngữ Pascal dùng kiểu ghi để xử lý bảng kết thi bao gồm mơn Tốn, Văn học sinh , Sau nhập xong danh sách đưa bảng kết học tập xếp loại (xem kỹ đầu SGK)
Ví dụ :
A.Hoten B.Ngaysinh Lop[i].Toan Lop[i].Ly
……… với i số mảng Lop 2 Gán giá trị
Có cách để gán giá trị cho ghi
- Dùng lệnh gán trực tiếp : Nếu A, B hai ghi kiểu ta gán giá trị A cho B câu lệnh gán : Vd : B := A ; A := B ;
- Gán giá trị cho trường Dùng câu lệnh gán gán giá trị cho trường nhập từ bàn phím
A.Hoten := ‘Nguyen Van Tuan’ ;
Readln(a.Ngaysinh);
Chương trình xử lý bảng kết thi
4 Củng 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
5 Hớng dẫn.
- Bài tập: Viết chơng trình giải toán quản lí sau:
Nhập 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
Ngày soạn: 18/12/2008
Tiết 35: Bài TËp
A Mơc tiªu
KiÕn thøc:
- Củng cố lại kiến thức học kiểu mảng 2chiều, kiểu xâu, kiểu ghi - Giải đợc toán kiểu liu cú cu trỳc
Kỹ năng
- BiÕt c¸ch khai b¸o b»ng c¸ch trùc tiÕp gián tiếp
- Sử dụng thao tác vào/
- Sử dụng phép toán thành phần sở T duy:
- Hiểu kiểu liệu ghi áp dụng giải số bàI toán đơn giản
4.Thái :
- Hình th nh xây dựng phẩm chất cần thiết ng ời lập trình
- Có ý thức rèn luyện kĩ sử dụng thao tác kiểu liệu có cấu trúc B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 ổn định lớp
Líp 11A 11A 11A 11A
Sĩ số Ngày giảng
2 Kiểm tra cị: 3 Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
Bµi
- Yêu cầu HS gõ chơng trình soạn sẵn SGK vào máy tính Dịch sửa chơng trình cịn lỗi Sau
(64)chạy chơng trình với số Test cụ thể để kiểm tra xác định chơng trình thực cơng việc gì?
Bµi 9
Cho mảng 2chiều kích thớc nxn với các phần tử số nguyên Tìm trong hàng phần tử lớn rồi đổi chỗ với phần tử có số hàng bằng số cột.
- Thay yêu cầu tìm kiếm mỗi hàng tìm kiếm cột. - Muốn sửa đổi cần hốn đổi vị trí 2chỉ số đoạn thứ hai ch-ơng trình Nghĩa đổi i trở thành số thứ hai, số thứ hai trở thành số i câu lệnh có liên quan - Hai vịng lặp for- lồng đầu chơng trình có nhiệm vụ nhập vào mảng 2chiều từ bàn phím
- Hai vòng lặp For- lồng thực việc tìm phần tử lớn cột thứ i hốn đổi vị trí phần tử với phần tử vừa nằm dòng i vừa có số cột i
- Hai vßng lặp For- lồng cuối chơng trình in mảng kết
Bài 10
Vit chng trình nhập từ bàn phím xâu kí tự S có độ dài khơng q 100 Hãy cho biết có chữ số xuất hiện trong xâu S Thông báo kết màn hình.
Bµi 11
Hãy bổ sung thêm vào chơng trình Xep_loai (ở Đ13) lệnh cần thiết để chơng trình đa danh sách hc sinh xp loi A
Cần đa thêm đoạn chơng trình sau vào cuối chơng trình Xep_loai
Writeln (‘ Danh sach hoc sinh xep loai A lop: ‘);
For i:= to N
If Lop[i].Xeploai= ‘A’ then Writeln (Lop[i].HoTen: 30);
hai từ dới lên… Việc hốn đổi vị trí dịng thứ i với dịng đối xứng với đợc thực i nhận giá trị từ đến N làm cho dịng đợc hốn đổi vị trí hai lần Vì cuối mảng A khơng thay i so vi ban u
* Chơng trình:
PROGRAM Bai9_chuong4;
Var N, i, j, Max, Ind, Vsp: Integer; A: Array [1 15, 15] of Integer; BEGIN
Writeln (‘ Nhap N nho hon 15: ‘); Readln (N); For i:= to N
For j:= to N Begin
Write(‘A[‘, i, ‘,’,j, ‘] =’); Readln (A[i, j]); End;
For i:= to N Begin
Max:= A[1, i]; Ind:= 1; For j:= to N If a[j, i]> Max then Begin
Max:= A[j, i]; Ind:= j; End;
Vsp:= A[i, i]; A[i, i]:= a[Ind, i]; a[Ind, i]:= Vsp; End;
For i:= to N Begin
Writeln; For j:= to N write (A[i, j]: 3); End; Writeln; Readln;
END
* Chơng trình
PROGRAM bai10_chuong4; Var S: string [100]; i, dem: byte; BEGIN
Writeln(‘ Cho mot xau ki tu dai khong qua 100’);
Readln (S); dem:= 0; For i:= to length (S)
If (‘0’<= S[i]) and (S[i]<= ‘9’) then dem:= dem+ 1;
Writeln(‘ Trong xau S co ‘, dem, ‘chu so’); Readln;
END
4 Cñng cè.
- Củng cố lại kiến thức học
Híng dÉn.
(65)Ngày soạn: 28/12/2008
Chơng V- tệp thao tác với tệp Tiết 36: Kiểu liệu tệp & Thao tác với tệp A Mục tiêu
KiÕn thøc:
- Biết khái niệm kiểu liệu tệp, tệp định kiểu tệp văn - Biết lệnh khai báo tệp định kiểu tệp văn
- Biết bớc làm việc với tệp: gán tên cho biến tệp, mở tệp, đọc/ ghi tệp, đóng tệp - Biết số hàm thủ tục chuẩn làm việc với tệp
Kỹ năng
- Khai bỏo ỳng văn
- Sử dụng đợc số hàm thủ tục làm việc với tệp T duy:
- Hiểu kiểu liệu tệp áp dụng giải số bàI toán đơn giản 4.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 học
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 ổn định lớp
Líp 11A 11A 11A 11A
Sĩ số Ngày giảng
2 Kiểm tra cũ: 3 Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
1 Vai trß cđa kiĨu tƯp
- Em cho biết liệu kiểu liệu sử dụng đợc lu trữ loại nhớ nào? => Để lu trữ đợc liệu, ta fải lu nhớ ngồi Mọi ngơn ngữ lập trình có thao tác: khai báo, mở tệp, đọc/ ghi liệu, đóng tệp
- Nghiên cứu SGK cho biết, đặc điểm kiểu liệu tệp?
- Bé nhí tạm RAM
- Mất liệu điện
- Dữ liệu kiểu tệp đợc lu trữ lâu dài nhớ ngồi (đĩa từ, CD,…) khơng bị tắt nguồn điện
- Lợng liệu lu trữ tệp lớn phụ thuộc vào dung lợng đĩa
2 Ph©n loại tệp thao tác với tệp
- Tham khảo SGK cho biết tệp đợc phân thành loại nào? Đặc điểm nó? - Khác với mảng, số lợng phần tử tệp không cần xác định trớc
- Thao tác liệu tệp gì? - Để thao tác với kiểu liệu tệp, ngời lập trình cần tìm hiểu cách thức mà ngơn ngữ lập trình cung cấp để:
+ Khai b¸o biÕn tƯp + Më tƯp
+ §äc/ ghi d÷ liƯu + §ãng tƯp
* Xét cách tổ chức liệu,tệp phân thành: - Tệp văn bản: liệu đợc ghi dới dạng kí tự theo mã ASCII
- Tệp có cấu trúc: thành phần đợc tổ chức theo cấu trúc định * Xét cách truy cập, phân tệp thành: - Tệp truy cập tuần tự: cho truy cập liệu tệp cách đầu tệp qua lần lợt tất liệu trớc - Tệp truy cập trực tiếp: cho phép tham chiếu liệu cần truy cập xác định trực tiếp vị trí liệu
- Ghi liệu vào tệp đọc liệu từ tệp 3 Khai báo
Var <tªn biÕn tƯp>: text; - Em h·y cho VD?
4 Thao t¸c víi tƯp
a Gắn tên tệp
- Tên tệp dùng tham chiếu (Tên biến xâu xâu.( phân biệt tên biếnvà tên tệp)
- VD:
Var tep1, tep2: text; - VD:
(66)- Để thao tác với tệp, phải gắn tên tệp với đại diện biến tệp thủ tục:
Assign (<biÕn tƯp>, <tªn tƯp>); b Më tƯp
- Tệp dùng để chứa kếtquả dliệu vào - Câu lệnh dùng thủ tục mở tệp để ghi liệu
Rewrite (<biÕn tÖp>);
- Câu lệnh dùng thủ tục mở tệp để đọc liệu Reset (<biến tệp>);
Trớc mở tệp, biến tệp phải đợc gấn tên tệp bằng thủ tục Assign.
c Đọc/ ghi tệp văn bản
Read/Readln(<biếntệp>, <danh sách biÕn>);
+ danh sách biến: 1hoặc nhiều biến đơn - Câu lệnh dùng thủ tục ghi có dạng:
Write/ Writeln (<biến tệp>, < danh sách kết quả>);
+ danh sách k quả: gồm 1hoặc nhiều phần tư - Mét sè hµm chn thêng dïng
+ Hµm eof (<biÕn tƯp>) + Hµm eoln (<biÕn tƯp>) d §ãng tƯp
- Câu lệnh dùng thủ tục đóng tệp có dạng: Close (<biến tệp>);
Sau đóng, 1tệp mở lại Khi mở lại tệp, dùng biến tệp cũ khơng cần dùng thủ tục Assgin gắn lại tên tệp.
* Sơ đồ thao tác với tệp: SGK 84 - Giải thích ý nghĩa sơ đồ?
Assign (tep2, ‘C:\ INP.DAT’); - VD:
+ Mở tệp để ghi liệu:
Assign (tep3, ‘C:\ KQ.DAT’); Rewrite (tep3);
+ Mở tệp để đọc liệu: Assign (tep1, ‘DL.INP’); Reset (tep1);
- VD:
+ Thủ tục dùng để đọc liệu từ tệp: Readln (tep1, A, X);
{Đọc liệu từ biến tệp tep1, đặt giá trị vào 2biến A X}
+ Thủ tục dùng để ghi liệu vào tệp: Writeln (tep1, ‘Gia tri la: ‘, X: 5: 2);
{Ghi vµo biÕn tƯp tep1 hai tham số: dòng chữ Gia tri la: giá trÞ cđa X}‘ ‘
- VD: Close (tep1); Close (tep3);
- 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
4 Cđng cè.
Để làm việc với tệp cần 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 Đọc/ ghi tệp văn bản:
Híng dÉn.
(67)Ngày soạn: 1/1/2008
Tiết 37: Ví dụ làm việc víi tƯp A 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
2 Kỹ năng
- S dụng đợc hàm thủ tục liên quan để giải tập
T duy:
- Hiểu kiểu liệu tệp áp dụng giải số bàI toán đơn giản 4.Thái độ:
- Thấy đợc tiện lợi cần thiết kiểu liệu tệp
- Cã ý thức lu trữ liệu cách khoa học phòng chống mát nhiễm virus B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n nh lp
Líp 11A3 11A4 11A5 11A6
SÜ sè Ngµy giảng
2 Kiểm tra cũ: 3 Bài míi
hớng dẫn giáo viên Hoạt động học sinh
VÝ dô1: sgk 87
- Theo yêu cầu đề cho biết công thức tính khoảng cách điểm biết toạ độ hai điểm mặt phẳng toạ độ?
- Yêu cầu học sinh theo dõi Ct viết sẵn SGK
=> VËy tƯp TRAI.TXT chøa liªn tiÕp cặp số nguyên, số cách dấu cách không kết thúc kí tự xuống dòng
- Híng dÉn HS t×m hiĨu vÝ dơ * Chơng trình
Program Khoang_cach;
Var d: real; F: text; X, y: integer; Begin
Assign ( f, ‘TRAI.TXT’); Reset (f); While not eof (f) do
bgin
Read (f, x, y); d: = sqrt ( x* x + y* y); writeln ( ‘ Khoang cach :’, d: 10:2); end;
close (f); End.
* Chó ý theo dõi yêu cầu toán
- Suy nghĩ trả lời:
Công thức: d:= sqrt ( x*x + y* y)
Phần khai báo;
- Gán tên tệp TRAI.TXT cho biến tệp f;‘ ’ - Mở tệp f để đọc;
- Trong trỏ văn đầu tệp - Đọc từ tệp f giá trị x y;
- Tính khoảng cách theo công thức; - Đa giá trị khoảng cách hình; - Đóng tệp f;
Ví dụ 2: Tính điện trở tơng đơng - Nhắc lại cơng thức tính điện trở?
- Gi¶i thích ý nghĩa câu lệnh ch-ơng trình?
* Chơng trình
Program Dientro;
Var a: array [1 5] of real; R1, R2, R3: Real; I: integer;
F1, f2: text;
- Theo dõi yêu cầu đề
- Nếu mắc theo sơ đồ I điện trở tơng đơng là:
R= (R1* R2*R3)/ (R1*R2+ R1*R3+ R2*R3)
- Nếu mắc theo sơ đồ V R= R1+ R2+ R3
(68)BEGIN
Assign (f1, ‘RESIST.DAT’); Reset (f1);
Assign (f2, ‘RESIST.EQU’); Rewrite (f2);
While not eof (f1) do Begin
Readln ( f1, R1, R2, R3);
A[1]: = ( R1* R2*R3)/ ( R1*R2 + R1*R3 + R2*R3);
A[2]: = R1* R2/ ( R1 + R2) + R3; A[3]:= R1* R3/ ( R1 + R3 ) + R2; A[4]:= R2*R3/ (R2 + R3 ) + R1; A[5]: = ( R1+ R2 +R3);
For i:= to n do write ( f2, a[i]: 9:3, ‘ ‘); Writeln (f2);
End;
Close (f1); Close (f2); END.
- Lu ý HS viÕt c¸c biểu thức toán học ch-ơng trình
- Gán tªntƯp RESIST.DAT cho biÕn tƯp‘ ’ f1;
- Mở f1 c;
- Gán têntệp RESIST.EQU cho biÕn tÖp‘ ’ f2;
- Mở tệp f2 để ghi;
- Trong trỏ đầu tệp - Đọc từ tệp f1 ba giá trị R1, R2 R3; - Tính điện trở sơ đồ I;
- Tính điện trở sơ đồ II; - Tính điện trở sơ đồ III; - Tính điện trở sơ đồ IV; - Tính điện trở sơ đồ V;
- giá trị điện trở đợc lu vào mảng gồm 5 phần tử ghi vào tệp f2;
- §ãng tƯp f1; §ãng tƯp f2; 4 Cđng cè: - C¸c thao t¸c xư lÝ tƯp:
+ Gán tên tệp + Mở tệp
+ tạo tệp + Đọc/ghi thông tin tƯp + §ãng tƯp
- Hàm thủ tục liên quan + Hàm EOF(Tên_biến_tệp) 5 Dặn dò.
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
Ngày soạn: 1/1/2008
Tiết 38: BàI tập A Mục tiêu
KiÕn thøc:
- Củng cố lại nội dung ý nghĩa vấn đề lí thuyết đợc đề cập gồm kiểu tệp, biến tệp, thao tác với tệp: gắn tên tệp, mở đóng tệp, đọc / ghi d liu
2 Kỹ năng
- Vit chơng trình đơn giản có sử dụng thao tác đọc / ghi tệp - Thực chơng trình để thấy kết thao tác T duy:
- Hiểu chơng trình áp dụng giải số toán đơn giản 4.Thái độ:
- Cã ý thøc tù gi¸c tÝch cực làm tập - Có ý thức lu trữ liệu cách khoa học B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n nh lp
Líp 11A3 11A4 11A5 11A6
(69)2 KiĨm tra bµi cị: 3 Bµi míi
hớng dẫn giáo viên Hoạt động học sinh Nêu cách khai báo biến tệp văn bản?
2 Nêu thủ tục thực gắn tệp, mở tệp, đọc/ghi tệp văn bản, đóng tệp?
3 Nhắc lại sơ đồ mô tả thao tác với tệp.Bài 1: Nêu số trờng hợp phải dùng tệp
Bµi 2:
Trong sơ đồ thao tác với tệp, cần nhập liệu từ tệp phải dùng thao tác nào?
Bµi 3:
Tại cần phải có câu lệnh mở tệp trớc đọc / ghi tệp?
Bµi 4:
Tại phải dùng câu lệnh đóng tệp sau kết thúc ghi liệu vào tệp?
Bµi 5:
Trong 1chơng trình sử dụng tệp có tên DATA, ta khai báo biến tệp với tên DATA đợc khơng? Tại sao?
Bµi 6:
Một tệp đợc soạn thảo WINWORD (tệp có phần mở rộng DOC) có phải tệp văn khơng? Tại sao?
Bµi 7:
ViÕt CT tạo tệp chứa số nguyên từ dến 100 với tên tệp nhớ NGUYEN.DAT
Bài 8: Viết CT đọc tất phần tử tệp số nguyên ghi hình giá trị số ngun cuối ghi số phần tử
-1 Khai báo biến tệp:
Var <tên biến tệp> : text; Gắn tên tệp
Assign(<biến tệp>, <tên tệp>); Mở tệp:
- Đọc liƯu: Rewrite(<biÕn tƯp>); - Ghi d÷ liƯu: Reset(<biÕn tƯp>);
3 Suy nghĩ trả lời Một số trờng hợp phải dùng tệp: lợng thông tin lớn, dùng lâu dài, - Trong sơ đồ thao tác với tệp, cần nhập liệu từ tệp phải dùng thao tác nh gắn tên tệp, mở tệp để ghi, ghi liệu vào tập, đóng tệp để hồn tất việc ghi liệu
Assign (f, fi); Rewrite (f);
Write ( f, x, ‘ ‘, y, ‘ , z); { Ghi giá trị các biến x,y, z vµo tƯp}
Close(f);
- Trớc sử dụng tệp phải có câu lệnh mở tệp để trình dịch biết mục đích mở tệp để đọc hay ghi, đồng thời đặt trỏ tệp vào vị trí thích hợp
- Phải dùng câu lệnh đóng tệp sau kết thúc ghi liệu vào tệp để hệ thống hoàn tất việc ghi liệu tệp
- Đợc, tên biến kiểu tệp tên tệp hai đối tợng khác nhau, mối quan hệ chúng đợc xác lập qua lệnh mở tệp
- Không Đó loại tệp có cấu trúc
* Chơng trình
Program Tao_tep1; Var i: integer; F: text; Begin
Assign (f, ‘Nguyen.Dat’); Rewrite (f);
For i: = to 100 do write( f, i); Close(f);End.
* Chơng trình
Program Tep2;
Var i, dem: integer; F: text;
Begin
Assign (f, ‘SoNguyen.Dat’); Rewrite (f);
Dem: =0;
While not eof (f) do Begin
Read(f,i); Writeln(i); Dem:= Dem+1; End;Close(f);
(70)4 Cñng cè:
- Trớc liệu đợc thực ghi vào tệp, đợc lu trữ nhớ đệm Mỗi nhớ đệm đầy có yêu cầu đóng tệp liệu nhớ đệm (có thể cha đầy) đợc chuyển ghi vào
5 Dặn dò.
- Chuẩn bị xem trớc chơng chơng trình lập trình có cấu trúc
Ngày soạn: 1/1/2008
Chơng VI:Chơng trình lập trình có cấu trúc
Tiết 39: Chơng trình phân loại A Mơc tiªu
KiÕn thøc:
- Biết đợc khái niệm, cấu trúc CTC,phân biệt hai loại CTC hàm thủ tục 2 Kỹ năng
- Nhận biết đợc thành phần thủ tục, biết hai loại tham số CTC - Biết cách khai báo hai loại CTC với tham số hình thức chúng 3 T duy:
- Hiểu chơng trình phân loại áp dụng giải số toán đơn giản 4.Thái độ:
- Cã ý thøc lu tr÷ liệu cách khoa học B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n nh lp
Líp 11A 11A 11A 11A
SÜ sè Ngµy giảng
2 Kiểm tra cũ: - Kết hợp giảng
3 Bài mới
hớng dẫn giáo viên Hoạt động học sinh
1 Khái niệm Chơng trình con
- a VD 2chơng trình GV chuẩn bị sẵn Một chơng trình có sử dụng CTC, chơng trình khơng s dng CTC
Bài toán: Tính tổng luỹ thừa Tluythua= an+ bm+ cp+ dq
- Gọi HS 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 - Khi nờn vit CTC?
- Tham khảo SGK, nên khái niệm CTC?
- Chia lớp thành nhóm, yêu cầu HS điền lợi ích việc sử dụng CTC?
- Trình bày kết lên bảng, bổ sung giải thích thêm số lợi ích mà HS cha hoàn thành
- Quan sát VD
- Nhận xét: Chơng trình có sử dụng CTC đợc viết ngắn gọn, dễ hiểu chơng trình viết khơng s dng CTC
- Đố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 CTC
- Chng trỡnh (CTC) dãy lệnh mô tả số thao tác định đ-ợc thực (đđ-ợc gọi) từ nhiều vị trí trong chơng trình.
- Lỵi Ých cđa viƯc sư dơng CTC:
+ Tránh việc phải viết lặp lặp lại mt dóy lnh no ú
+ Hỗ trợ việc thực chơng trình lớn + Phục vụ cho trình trừu tợng hoá + Mở rộng khả ngôn ngữ
+ Thuận tiện cho phát triển, nâng cấp chơng trình
(71)- Cú my loại CTC? Gọi tên chúng? - Đã làm quen với hàm thủ tục cha? Lấy 1số VD hàm thủ tục đợc học? - ý nghĩa hàm thủ tục?
b CÊu tróc CTC
- Giíi thiƯu cÊu tróc chung cđa CTC <Phần đầu>
[<Phần khai báo>] <Phần thân>
- So sánh với cấu trúc chơng trình chính?
- Giải thích phần khai báo vào phần thân CTC?
- Nh tham số hình thức? BiÕn cơc bé? BiÕn toµn cơc? Cho VD thĨ?
c Thùc hiƯn CTC
- §Ĩ sư dơng hàm thủ tục chuẩn, em th-ờng viết đâu vµ viÕt thÕ nµo?
- Để gọi CTC, 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 CTC với tham số (nếu có) hay biến chứa liệu vào 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 thc s
- Có 2loại CTC: hàm thủ tục - ĐÃ sử dụng hàm thủ tôc chuÈn VD:
+ Hàm: Sqrt(); Abs(); Length();… + Thủ tục: Delete(st, p, n); Readln(a);… - Hàm (FUNCTION) CTC thực 1số thao tác trả giá trị qua tên
- Thủ tục (PROCEDURE) CTC thực thao tác định nhng không trả giá trị qua tờn ca nú
- 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,
- Phn thõn dãy lệnh thực nhiệm vụ định CTC
- Các biến đợc khai báo cho liệu vào/ đợc gọi tham số hình thức CTC VD: x, k
- Các biến đợc khai báo để dùng riêng CTC đợc gọi biến cục bộ.
VD: j
- C¸c biến chơng trình gọi biến toàn cục
VD: TLthua
- Viết 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 - VD sử dụng CTC để tính an ta gọi:
Luythua (a, n); - VD vÒ tham sè thùc sù: a, n
4 Cñng 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
- Chơng trình đợc gọi tên 5 Dặn dị.
Câu hỏi tập nhà
(72)Ngày soạn: 10/1/2008
Tiết 40: Ví dụ cách viết sử dụng chơng trình A Mơc tiªu
KiÕn thøc:
- Biết cấu trúc thủ tục, danh sách vào/ hình thức, mối liên quan ch ơng trình vµ thđ tơc BiÕt gäi mét thđ tơc
2 Kỹ năng
- Nhn bit c cỏc thnh phn phần đầu thủ tục - Sử dụng đợc lời gọi thủ tục Viết đợc thủ tục đơn giản 3 T duy:
- Hiểu chơng trình phân loại áp dụng giải số tốn đơn giản 4.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
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n nh lớp
Líp 11A 11A 11A 11A
SÜ sè Ngày giảng
2 Kiểm tra cũ: - Kết hợp giảng
3 Bài mới
hớng dẫn giáo viên Hoạt động học sinh
HĐ1: Tìm hiểu cấu trúc chung thủ tục=> HS biết đợc cấu trúc chung 1thủ tục vị trí khai báo thủ tục chơng trình chớnh
1 Cách viết sử dụng thủ tục
* Tìm hiểu cấu trúc vị trí CTC chơng trình
Program Tên_chơng_trình_chính; Uses Tên_th_viện_sử_dụng; Const Khai_báo_hằng;
Type Khai_báo_kiểu_dữ_liệu; Var Khai_báo_biến;
Procedure/ Function Tên_CTC ; {Khai báo CTC}
BEGIN <Cỏc_cõu_lnh>; END. - VD: Sử dụng kiến thức học, vẽ hình chữ nhật có dạng sau:
* * * * * * * * * * * * * * * * * * * * *
- Nếu muốn vẽ hcn (hoặc nhiều hơn) nh trên, ta nên làm nào?
- Thủ tục Ve_Hcn sgk a CÊu tróc thđ tơc
Procedure <tªn thủ tục> [<dsách tham số>];[<phần khai báo>];
Begin
[<d·y c¸c lƯnh>];End;
- CÊu tróc thđ tục gồm phần? Phân biệt giống khác CTC chơng trình chính?
- Lời gọi thủ tục ta viết phần ch-ơng trình?
- Quan sát
- Nhận xét: Vị trí CTC nằm phần khai báo, sau phần khai báo biến
- Để vẽ hcn bên ta sư dơng c©u lƯnh sau: Writeln (‘* * * * * * *’);
Writeln (‘* * * * * * *’); Writeln (‘* * * * * * *’);
- Ta đa câu lệnh vào thủ tục có tên Ve_Hcn Mỗi cần vẽ hcn ta đa vào câu lệnh gọi thủ tục
- Gọi thủ tục Ve_Hcn để vẽ hình chữ nhật, sau vẽ xong xuống 2dịng
- Gồm phần: tên thủ tục, khai báo thủ tục phần thân thủ tục
- Giống: cÊu tróc chung
Khác: phần tên từ khố đặt tên Procedure, có tham số;
(73)- Thủ tục Ve_Hcn vẽ đợc hcn với kích thớc cố định 7x3 Giả sử chơng trình cần vẽ nhiều hcn với kích thớc khác nhau, ta nên làm nào?
- Chiếu VD_thutuc2; lên bảng HS nhận xét? - 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 sự.
- So s¸nh c¸c tham sè cđa lêi gäi Ve_Hcn(5, 10); vµ Ve_Hcn(a, b);?
- Tham số có hai chức năng: đa liệu vào cho CTC đa liệu CTC tìm đợc - Các tham số VD_thutuc2 thuc loi no?
- Chiếu chơng trình VD_thambien1, tham số x, y thuộc loại nào?
=> Trong 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 liệu đợc gọi tham số biến.
- VËy x, y lµ tham số giá trị hay tham số biến?
- Có nhận xét khai báo tham số hình thức tham trị tham biến?
- Chiu VD_thambien2 giải thích để HS thấy đợc khác biệt tham số giá trị tham số biến
số cho liệu vào chiều dài chiÒu réng
- Nhận xét: Thủ tục Ve_Hcn VD_thutuc2 có tham số chdai, chrong Khai báo cho phép thủ tục thực vẽ đợc nhiều hcn với kích thớc khác
- Vẽ đợc hình chữ nhật
- Tham sè thùc sù thủ tục Ve_Hcn(5, 10); số thủ tục Ve_Hcn(a, b); biến
- Đa liệu vào cho CTC xử lý
- Đa liệu sau CTC xử lý
- Lµ tham sè biÕn
- Khi khai báo tham số biến ta đặt từ khoá Var trớc tham số
- Trong chơng trình x tham số giá trị, y tham số biến Khi chơng trình thực hiện, ta nhận đợc kết quả:
5 10
(Giá trị x giữ nguyên, giá trị y đợc thay đổi)
4 Củng cố: - 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ử dng th tc ny
5 Dặn dò : - Chuẩn bị cho nhà
Ngày soạn: 15/1/2008
Tiết 41: Ví dụ cách viết sử dụng chơng trình (t2) A Mơc tiªu
KiÕn thøc:
- Biết cấu trúc thủ tục, danh sách vào/ hình thức, mối liên quan ch ơng trình thđ tơc BiÕt gäi mét thđ tơc
2 Kü năng
- Nhn bit c cỏc thnh phn phần đầu thủ tục - Sử dụng đợc lời gọi thủ tục Viết đợc thủ tục đơn giản 3 T duy:
- Hiểu chơng trình phân loại áp dụng giải số toán đơn giản 4.Thái độ:
- rèn luyện 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
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n định lớp
Líp 11A 11A 11A 11A
(74)Ngày giảng
Kiểm tra cị:
CÊu tróc chung cđa thđ tơc? Ph©n biệt tham số giá trị tham số biến?
3 Bµi míi
hớng dẫn giáo viên Hot ng ca hc sinh
HĐ1: Tìm hiểu cấu tróc chung cđa hµm
=> HS biết đợc cấu trúc chung hàm vị trí khai báo hàm chơng trình 2 Cách viết sử dụng hàm
- Hãy kể tên số hàm chuẩn học cách sử dụng chúng?
a CÊu trúc hàm
Function <tên hàm> [<dsách tham số>]: <kiểu liệu>;
[<phần khai báo>]; Begin
[<dÃy lệnh>];
<tên hàm>:= <biểu thức>; End;
- So sánh giống khác hàm thủ tục?
- Hàm ABS (); SQRT (); LENGTH (); - Viết tên hàm cần gọi tham số
- Li gi hàm đợc viết biểu thức nh toán hạng, chí tham số hàm khác
* Gièng:
- Thủ tục hàm CTC, nói chung có cấu trúc giống chơng trình
- Thủ tục hàm chứa tham số ( tham số giá trị tham số biến), tuân theo quy định khai báo sử dụng loại tham số
* Kh¸c:
- Việc thực hàm ln trả giá trị thuộc kiểu xác định qua tên hm
- Bắt đầu với từ khoá Function
- Sau tên hàm phần khai báo danh sách tham số (nếu có) phải giá trị kết hàm thuộc kiểu liệu
- Trong thân hàm thờng có câu lệnh gán giá trị cho tên hàm
H2: Tỡm hiu hot ng ca hàm
=> HS tìm hiểu hoạt động hàm thơng qua VD cụ thể b Ví dụ hàm
* Ví dụ 1: Xét chơng trình thực việc rút gọn phân số, có sử dụng hàm tính ƯCLN hai số nguyên
- Trong chơng trình có hàm? - Hàm UCLN (x, y) dùng để làm gì? - Lời gọi hàm õu?
- Có khác với thủ tơc lêi gäi hµm?
- Có biến đợc sử dụng ch-ơng trình?
- Các biến đợc khai báo chỗ chơng trỡnh?
- Phân biệt giống khác cđa biÕn toµn bé vµ biÕn cơc bé?
- Biến tuso, mauso, A có ảnh hởng toàn chơng trình Biến sodu ảnh hởng thân CTC
* Ví dụ 2: Chơng trình cho biết giá trị nhỏ nhất ba số nhập từ bàn phím, đó có sử dụng hàm tìm số nhỏ nht hai s.
- Trong chơng trình có hàm? Chức hàm?
- Có lời gọi hàm chơng trình chính?
Writeln (‘So nho nhat ba so la: ‘, Min (Min (a, b), c));
- Hàm Min đợc gọi thực với hai tham
* Quan s¸t VD1 trả lời:
- Mt hm UCLN dựng để tìm ớc số chung lớn 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 CTC khác
- Cã c¸c biÕn: tuso, mauso, A, sodu.
- Các biến tuso, mauso, A đợc khai báo chơng trình
- Các biến sodu đợc khai báo CTC - Biến cục bộ: có ảnh hởng CTC, đợc khai báo phần khai báo CTC - Biến 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 chng trỡnh chớnh
* Quan sát VD2 trả lêi:
- Có hàm đợc khai báo Hàm tìm giá trị nhỏ giá trị a b
- 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
(75)+ Tham sè thùc sù thø kết thực hàm Min (a, b)
+ Tham sè thùc sù thø hai lµ c
Để có đợc tham số thực thứ đó, hàm Min (a, b) đợc thực hiện, kết trả số nhỏ hai giá trị a b
Cñng cè:
- Viết thủ tục chaychu(s,dong) nhận tham số xâu S gồm khơng q 79 kí tự biến ngun 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ủ tục ny
5 Dặn dò :
(76)Ngày soạn: 15/1/2008
Tiết 42: Ví dụ cách viết sử dụng chơng trình (t2) A Mơc tiªu
KiÕn thøc:
- Biết cấu trúc thủ tục, danh sách vào/ hình thức, mối liên quan ch ơng trình vµ thđ tơc BiÕt gäi mét thđ tơc
2 Kỹ năng
- Nhn bit c cỏc thnh phn phần đầu thủ tục - Sử dụng đợc lời gọi thủ tục Viết đợc thủ tục đơn giản 3 T duy:
- Hiểu chơng trình phân loại áp dụng giải số toán đơn giản 4.Thái độ:
- rèn luyện 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
B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 ổn định lớp
Líp 11A 11A 11A 11A
Sĩ số Ngày giảng
Kiểm tra cị:
CÊu tróc chung cđa thđ tơc? Ph©n biệt tham số giá trị tham số biến?
3 Bµi míi
hớng dẫn giáo viên Hot ng ca hc sinh
Nhắc lại kiÕn thøc cị vỊ hµm chn
-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 cđa hµm vµ 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 - Hàm UCLN(x, y) dùng để làm gì? - Hỏi: Lời gọi hàm đâ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?
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_hm:=biu_thc;
Bắt đầu hàm từ Function Quan sát ví dụ trả lời
- Một hàm UCLN, dùng để tìm ớc số chung lớn 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 chng 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
(77)T×m hiĨu vỊ 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 biến cục
Quan sát lại ví dụ
- Quan sỏt chng 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
Cđng 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ị
5 Dặn dò :
(78)Ngày soạn: 20/1/2008
TiÕt 43: Bµi thùc hµnh sè (t1)
A 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
2 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
3 T duy:
- Hiểu chơng trình phân loại áp dụng giải số toán đơn giản 4.Thái độ:
- rÌn lun c¸c phÈm hcÊt cđa 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
B chuẩn bị
1 Phơng tiện:- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị:- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình học
1 n nh lớp
Líp 11A 11A 11A 11A
SÜ sè Ngày giảng
Kiểm tra cũ: Bµi míi
hớng dẫn giáo viờn Hot ng ca hc sinh
HĐ1: Tìm hiểu việc xây dựng hai thủ tục Catdan(s1,s2) Cangiua(s)
=> HS nắm đợc chức hai thủ tục Catdan() Cangiua() Biết đợc ý nghĩa tham số chơng trình
* Tìm hiểu hai thủ tục Catdan(s1,s2) Cangiua(s)
- ChiÕu néi dung thđ tơc Catdan(s1,s2); Type str79 = string[79]];
Procedure Catdan(s1: str79; var s2: str79);
begin
S2: = copy(s1,2, length(s1) -1) +s1[1]; end;
- Đầu vào đầu thủ tục này? - 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);
Procedure Cangiua(var s: str79); Var i, n: integer;
begin
n:= length(s); n: = (80-n) div 2;
for i:= to n do s: = +s; end;
- Đầu vào đầu thủ tục này? - Chức thủ tục gì?
- GV ý: 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
- Quan sát thủ tục Catdan(s1,s2) trả lời câu hỏi giáo viên
- Vào: xâu kí tự s1 - Ra: biÕn x©u kÝ tù s2
- Thực việc tạo xâu s2 từ xâu s1bằng việc chuyển kí tự thứ đến vị trị cuối xâu
- S1 = abcd s2= bcda - Quan sát suy nghĩ trả lời
- Đầu vào xâu kí tự s không 79 kí tự
(79)Type str79 = string [79];
Var s1, s2: string 79; Stop: boolean; Procedure CatDan(s1:str79;var s2: str79); begin
s2:= copy( s1,2,length(s1)-1) + s1[1]; end;
procedure CanGiua (var s : str79); var i,n: integer;
begin
n:=length(s); n:= (80-n) div 2; for i:= to n s:= ' ' +s;
end; Begin clrscr;
write ('Nhap xau s1:'); readln(s1); CanGiua(s1); clrscr; stop:= false;
while not (stop) do begin
gotoxy(1,12); write(s1); delay(500); CatDan(s1,s2); s1:=s2;
stop:= keypressed; end; readln
End.
- Giới thiệu cho HS thủ tục chuẩn: gotoxy( x,y); Delay(n); keypressed; - Thực chơng trình để giúp HS thấy kết chơng trình
* Quan sát chơng trình bảng theo dõi dẫn dắt giáo viên
* Chức chơng trình?
- Chc nng ca chng trỡnh: Yêu cầu ngời sử dụng nhập xâu kí tự Đa xâu hình có dạng dịng chữ chạy hình văn 25 *80
- Quan sát hình để đối chiếu với kết mà học sinh tự suy luận tính đợc
4 Củng 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
- Ph©n biƯt tham sè hình thức tham số thực Cách sử dụng tham biến tham trị
5 Dặn dò : - Chuẩn bị cho thực hành số 6: Xem tríc néi dung cđa bµi thùc hµnh sè 6, sách giáo khoa trang 105
Tiết 44: tập thực hành (T2) A Mục tiêu
1.KiÕn thøc
- Cho hs tìm hiểu thao tác xử lí xâu, cách tạo hiệu ứng chữ chạy hình - Củng cố cho học sinh khái niệm chơng trình con: Thủ tục, hàm, tham số giá trị, tham số biến, tham số thực sự, biến toàn cục, biến cục
Kỹ năng
- RÌn lun c¸c thao t¸c xư lÝ xâu, kỹ tạo hiệu ứng chữ chạy hình - Nâng cao kĩ viết, sử dụng chơng trình
3 T duy:
- Hiểu chơng trình phân loại áp dụng giải số toán đơn giản 4.Thái độ:
- Góp phần rèn luyện tác phong, t lập trình B chuẩn bị
1 Phơng tiện:
- Giáo án, SGK, sách giáo viên, sách tập,
2 Thiết bị
- Máy tính máy chiếu có cài sẵn phần mềm phục vụ cho giảng dạy
3 Phơng pháp
c Tiến trình bµi häc
1 ổn định lớp
Líp 11A 11A 11A 11A
(80)KiĨm tra bµi cị: - Híng dÉn HS thùc hµnh
Bµi míi
hớng dẫn giáo viên Hoạt động học sinh
H§ 2: Rèn luyện kĩ lập trình
=> Hc sinh vận dụng đợc hiểu biết chơng trình con, thuật toán vừa đợc cung cấp để giải toán tổng quát
* Tìm hiểu yêu cầu đề bài
c H·y viÕt thđ tơc Chuchay (s, dong) nhận đầu vào xâu s gồm không 79 kí tự biến nguyên dong, đa xâu s có dạng chữ chạy dòng dong. Viết chạy CT có sử dụng thủ tục
- Yêu cầu HS tìm vấn đề tập
- Tạo điều kiện cho HS vận dụng hiểu biết CTC, thuật toán vừa đợc cung cấp để giải toán tổng quát chút (xâu chữ chạy dịng chơng trình qui định - u cầu HS lập trình trờn mỏy
+ Thủ tục chữ chạy:
Procedure Chuchay ( s1: str79; dong : byte); Var s2: str79;
Stop: boolean; Begin
Clrscr; Cangiua(s1); Clrscr;
Stop:= false;
While not (stop) do Begin
Gotoxy(1, dong); Write (s1); Delay(100); Catdan(s1, s2); S1: = s2;
Stop:= keypressed; End;
End;
+ Chơng trình:
BEGIN Clrscr;
Write ( ‘ Nhap xau chu’); readln(s1); Write (‘ Nhap dong xuat hien’); readln(dong);
Chuchay( s1, dong); Readln
END.
* Yêu cầu HS thực CT nhập liệu Test - Đánh giá kết lập trình HS
* 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 12, cịn xâu kí tự phải chạy dịng Vì phải truyền tham số quy định dịng chạy cho thủ tục
- §éc lập viết chơng trình vào máy báo cáo kết qu¶ thư nghiƯm
- Thủ tục chữ chạy Chuchay (s, dong) có sử dụng hai thủ tục Catdan(s1,s2) Cangiua(s). Do vậy, chơng trình sử dụng thủ tục Chuchay có hai thủ tục phần khai báo chơng trình con, phải đặt phía phần khai báo thủ tục Chuchay
- Thân CT sử dụng thủ tục Chuchay đơn giản cần gọi thủ tục làm việc Trớc hết cần xác định xâu chữ cần chạy (xác định giá trị biến s) xác định chữ chạy dịng hình CT có thêm biến dong thuộc kiểu byte (thực tế số ngun dơng khơng vợt q số dịng hình)
* NhËp d÷ liƯu theo test giáo viên báo cáo kết
4 Cđng cè:
- Ơn tập kiến thức học chơng VI 5 Dặn dò
(81)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 vµ 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 hc
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
Function chuvi(var r:tamgiac):real; Cho giá trị chu vi tam giác r 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 vuông 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 dẫn 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ì?
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 ca 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
(82)
- 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
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ố ll-ợ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:
Dịng 1: Ghi số lợng tam giác
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 vng
c Các bớc tiến hành:
hng dn ca 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 tố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
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
+ Thut 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;
(83)lỗi cần thiết
- 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
- 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á cuối
1 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í thuyết: Xem trớc nội dung Th viện chơng trình chuẩn, sỏch giỏo khoa, trang 110
Th viện chơng trình chn
I Mơc tiªu KiÕn thøc:
- Biết đợc số th viện chơng trình Kĩ năng:
- 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 hiểu thủ tục 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;
Tham khảo sách giáo khoa:
- Clrscr, textcolor, textbackground, gotoxy
(84)
End
- Biên dịch chơng trình Hỏi: Tại xuất lỗi? Khắc phục nh thÕ 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 ny
- 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’); 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 thấy kt qu
- Hỏi: Chức lệnh Gotoxy(10,20);
- 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 đỏ
- Quan sát chơng trình
- 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
(85)+ 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ụ card hình?
- Hỏi: Khi nói 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
Initgraph(dr,md:integer;pth:string); - Giải thích th«ng sè thđ tơc 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
Tham khảo sách giáo khoa để trả lời
- Văn hình ảnh
- Làm cầu nối CPU hình thể hiƯn th«ng tin
- Là nói đến hình có 640 dịng 480 cột
Quan sát theo dõi dẫn dắt giáo viê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:
hớng dẫn giáo viên Hoạt động học sinh
T×m hiĨu thđ tơc Putpixel
(86)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 thấy kt qu
- Hỏi: Chức 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
- 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 kt qu
- Hỏi: Chức thđ tơc Circle,
- Quan s¸t chơng trình
- Quan sát kết chơng trình
- V mt im cú mu 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 kết chơng trình
- V mt on thng 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) Quan sát cấu trúc chung suy nghĩ để trả lời câu hỏi
- 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
(87)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
+ 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 mu 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 hiƯn trùc tiÕp c¸c lƯnh nh tạo th mục, thiết lập ngày, 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:
hớng dẫn giáo viên Hoạt ng ca hc sinh
Yêu cầu học sinh nghiên cứu sáhc giáo khoa, nêu tên th viện
Yêu cầu học sinh nêu chức th viện
Các th viện: System, Dos, Printer Chức th viện:
- System: Chứa hàm thủ tục vào/ra sơ cấp
- Dos: Cha cỏc 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:
hớng dẫn 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
(88)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 hoà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
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 cỏc nhúm khỏc
Quan sát kết hình
IV Đánh giá cuối
1 Những nội 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 dạy học
Chuẩn bị giáo viên
- Máy vi tính, tổ chức phòng máy 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 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
c C¸c bíc tiÕn hµh:
hớng 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 hiƯn công việc gì?
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
(89)g×?
- Thực chơng trình để học sinh thấy kết chơng trình ny
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
- Thc 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
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
- Quan sát giáo viên thực kiểm nghiệm suy luận
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 ca 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
- 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
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
Độc lập soạn thảo chơng trình vào máy
- Thông báo hoàn thành lập trình - Thực chơng trình
IV Đánh giá cuối
1 Nhng ni 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
(90)- 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 trn
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 hc
- 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 toán tơng ứng kiểu hàm liên quan
- 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 v th
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
- BiĨu thøc sè häc, biĨu thøc quan hƯ vµ biĨu thøc logic
- 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ố]
(91)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
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ênbiếnbảnghi.têntrờng
Hoạt độ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 dẫn giáo viên Hoạt động học sinh
Giới thiệu nội dung đề lên bảng Địng hớng phơng pháp giải - Các nhiệm vụ phải thực hiện: Nhập dãy số Tìm ớc số chung lớn hai số Tìm ớc số chung lớn 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 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 nhÊt 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 để tồn lớp thấy đợc kết
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
- Quan sát để thấy kết
IV Đánh giá cuối
1 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 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à