I. Mục đích, yêu cầu
1. Kiến thức Củng cố cho học sinh kiến thức về cấu trúc rẽ nhánh và cấu trúc lặp.
2. Kỹ năng:
-Rèn luyện kỹ năng vận dụng và linh hoạt trong việc lựa chọn cấu trúc rẽ nhánh và cấu trúc lặp để giải quyết bài toán đặt ra.
3. Tư duy, thái độ:
-Rèn luyện ý thức tự giác học tập tích cực, ham thích tìm hiểu, chủ động trong giải quyết các bài tập.Rèn luyện tư duy khoa học, tư duy logic.
II. Chuẩn bị của giáo viên và học sinh
GV: - Soạn giáo án.
HS: - Học bài cũ và chuẩn bị bài tập.
III. Phương pháp dạy học
Gợi mở và thuyết trình.
IV. Tiến trình bài dạy:
1. Hoạt động 1: Kiểm tra bài cũ
Câu hỏi 1(H1): Trình bày cấu trúc câu lệnh rẽ nhánh và cấu trúc lặp ?
Ngày soạn: LUYỆN TẬP VỀ CẤU TRÚC RẼ NHÁNH VÀ CẤU TRÚC LẶP. PPCT: 20 I. Mục đích, yêu cầu 1. Kiến thức Củng cố cho học sinh kiến thức về cấu trúc rẽ nhánh và cấu trúc lặp. 2. Kỹ năng: -Rèn luyện kỹ năng vận dụng và linh hoạt trong việc lựa chọn cấu trúc rẽ nhánh và cấu trúc lặp để giải quyết bài toán đặt ra. 3. Tư duy, thái độ: -Rèn luyện ý thức tự giác học tập tích cực, ham thích tìm hiểu, chủ động trong giải quyết các bài tập.Rèn luyện tư duy khoa học, tư duy logic. II. Chuẩn bị của giáo viên và học sinh GV: - Soạn giáo án. HS: - Học bài cũ và chuẩn bị bài tập. III. Phương pháp dạy học Gợi mở và thuyết trình. IV. Tiến trình bài dạy: 1. Hoạt động 1: Kiểm tra bài cũ Câu hỏi 1(H1): Trình bày cấu trúc câu lệnh rẽ nhánh và cấu trúc lặp ? Hoạt động của GV Hoạt động của HS Ghi bảng - GV gọi 1 HS lên trả lời H1. - GV yêu cầu cả lớp nhận xét câu trả lời của bạn. - GV nhận xét và đánh giá. - 1 HS lên bảng trả lời. - Cả lớp theo dõi và nhận xét bổ sung (nếu có). -Rẽ nhánh If then else ; If then ; - Lặp For For := To Do ; For := Downto Do ; - Lặp While WhileDo; 2. Hoạt động 2: Giải bài tập 4 Câu hỏi 1(H1): Sử dụng lệnh If này gồm mấy nhánh ? Câu hỏi 2(H2): Hàm lấy giá trị tuyệt đối của biểu thức hay biến ? Hoạt động của GV Hoạt động của HS Ghi bảng Hoạt động 1: - GV gọi 1 HS lên bảng giải câu 4a) - GV đặt H1. - GV yêu cầ cả lớp theo dõi và nhận xét. - GV nhận xét, hoàn chỉnh bài làm và đánh giá. Hoạt động 2: - GV gọi 1 HS lên bảng giải câu 4b) - GV đặt H2. - GV nhận xét và đánh giá. - 1 HS lên bảng giải câu 4a) - 1 HS trả lời H1. - Các HS khác theo dõi và nhận xét. - 1 HS lên bảng giải câu 4b) - 1 HS trả lời H2. Câu 4a) If (sqrt(x) + sqrt(y)) <=1 then z:= sqrt(x) + sqrt(y) Else If y>=x then z:= x+y Else z:= 0.5; Câu 4b) If (sqr(x-a) + sqr(y-b)) <= sqr(r) then z:=abs(x) +abs(y) Else z:= x+y; 3. Hoạt động 3: Giải bài tập 5 Câu hỏi 1(H1): Hãy khai triển biểu thức Y = dưới dạng tường minh ? Câu hỏi 2(H2): Nhìn vào công thức khai triển, em hãy cho biết n lấy giá trị trong đoạn nào ? Câu hỏi 3(H3): Em hãy thử đưa ra phương pháp tính Y ? Câu hỏi 4(H4): Sử sụng cấu trúc điều khiển lặp nào là phù hợp ? Hoạt động của GV Hoạt động của HS Ghi bảng - GV đặt H1. - GV đặt H2. - GV đặt H3. - GV đặt H4. - GV gọi 1 HS lên bảng giải bài 5a) - GV yêu cầu các HS còn lại theo dõi và nhận xét. - GV nhận xét, hoàn chỉnh bài làm và đánh giá. - 1 HS lên bảng trình bày H1. - 1 HS trả lời H2. - 1 HS trả lời H3 - 1 HS trả lời H4 - 1 HS lên bảng giải bài 5a - Các HS còn lại theo dõi và nhận xét bổ sung (nếu có). Y = Câu 5a) Uses crt; Var y: real; n: byte; Begin Clrscr; y:=0; for n:=1 to 50 do y:= y + n/(n+1); writeln(y:14:6); readln; End. V. Củng cố và dặn dò 1. Nắm được những Nội dung đã học: Có 2 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 chưa xác định 2. Làm các bài tập còn lại trong SGK trang 51. Ngày soạn: 16/11/2010 §11. KIỂU MẢNG (Tiết 1) PPCT: 21 I. Mục đích, yêu cầu 1. Kiến thức -Biết được một kiểu dữ liệu mới là kiểu mảng một chiều. -Biết được một loại biến có chỉ số; -Biết cấu trúc tạo mảng một chiều, cách khai báo biến kiểu mảng một chiều. 2. Kĩ năng -Biết được các thành phần trong khai báo kiểu mảng một chiều; -Biết được định danh của một phần tử kiểu mảng một chiều xuất hiện trong một chương trình; -Biết cách khai báo mảng đơn giản với chỉ số miền con của kiểu nguyên; -Biết cách tham chiếu đến các phần tử của mảng một chiều. 3. Tư duy và thái độ: Tự giác, tích cực, chủ động và sáng tạo trong tìm kiếm tri thức. II. Đồ dùng dạy học 1. Giáo viên: giáo án, sgk, sơ đồ cấu trúc mảng 1 chiều 2. Học sinh: sgk III. Phương pháp Đặt vấn đề, thuyết giảng IV. Hoạt động dạy học 1. Hoạt động 1: Khởi động bài mới Hoạt động của GV Hoạt động của HS Nội dung ghi bảng 1. Nêu bài toán mở đầu. Y/cầu hs đọc, tìm hiểu chương trình giải quyết bài toán đó. Và trả lời các câu hỏi sau: - Các biến: t1, ,t7 thể hiện các giá trị nào? Kiểu của các biến đó thế nào? - Biến dem dùng làm gì? - 7 câu lệnh IF trong chương trình thực hiện việc gì? 2. Mở rộng bài toán từ phạm vi một tuần sang phạm vi N ngày (chẳng hạn một tháng hay một năm) thì chương trình trên có hạn chế như thế nào? 3. Để khắc phục hạn chế trên người ta thường ghép chung 7 biến trên thành một dãy và đặt cho nó chung 1 tên và đánh cho mỗi phần tử một chỉ số. - GV giới thiệu bài mới: Kiểu mảng. Chúng ta chỉ xét hai kiểu mảng thông dụng: Kiểu mảng một chiều và kiếu mảng hai chiều. 4. Y/cầu hs tham khảo sgk và hỏi: Em hiểu như thế nào về mãng một chiều? Hỏi: Để mô tả mảng một chiều, ta cần xác định những yếu tố nào? 1. N/cứu bài toán và chương trình, suy nghĩ trả lời các câu hỏi: - Nhận giá trị nhiệt độ của 7 ngày trong tuần. Cùng kiểu thực (real) - dem: để đếm số ngày tron tuần có nđộ lớn hơn nđộ trung bình. - Để kiểm tra lần lượt các ngày, nđộ ngày nào lớn hơn nđộ trung bình. 2. Bản chất thuật toán không có gì thay đổi nhưng việc viết chương trình gặp khó khăn do cần dùng rất nhiều biến và đoạn các câu lệnh tính toán khá dài. 3. Lắng nghe 4. N/cứu sgk và trả lời: Mảng một chiều là dãy hữu hạn các phận tử cùng kiểu dữ liệu. Các ptử trong mảng cùng tên và phân biệt nhau bởi chỉ số. - Trả lời: + Kiểu của các p/tử. + Cách đánh số các p/tử. BÀI 11. KIỂU MẢNG 1.Kiếu mảng một chiều a. K/n mảng một chiều Mảng một chiều là dãy hữu hạn các phận tử cùng kiểu dữ liệu. Các ptử trong mảng cùng tên và phân biệt nhau bởi chỉ số. Để mô tả mảng một chiều, ta cần xác định: + Kiểu của các p/tử. + Cách đánh số các p/tử. 2. Hoạt động 2:Tạo kiểu mảng một chiều và khai báo biến mảng Hoạt động của GV Hoạt động của HS Nội dung ghi bảng 1. Y/cầu hs tìm hiểu phần khai báo một lời giải khác cho bài toán trên trong trường hợp tổng quát (N ngày), có sử dụng mảng 1 chiều. Hỏi: Chỉ ra phần khai báo mảng trong phần khi báo của chương trình? * Ghi lại phần khai báo lên bảng - Ý nghĩa của các khai báo trên là gì? 2. Giới thiệu cú pháp khai báo kiểu mảng một chiều. -Khái quát hoá, ta có cú pháp khái báo biến mảng một chiều * Lưu ý về cách chọn 3. Y/cầu cho ví dụ khai báo mảng? Gọi hs khác: Ý nghĩa của khai báo bạn vừa viết? * Lưu ý hs tránh nhầm lẫn giữa tên kiểu dữ liệu mảng và biến kiểu mảng. -Hỏi: (Treo bảng) Trong ba cách khai báo ở ví dụ 2, thì cách nào tốt hơn? - Hỏi: Dựa vào ví dụ trang 55 SGK, cho biết: + Tên kiểu mảng? + Số phần tử của mảng? + Mỗi phần tử của mảng thuộc kiểu gì? 4. Cách tham chiếu đến từng phần tử của mảng: Y/cầu hs lấy ví dụ(sử dụng các khbáo ở trên) - Trả lời Trả lời: Dòng 1: Kbáo kiểu mảng một chiều gồm Max số thực. Dòng 2 : Kbáo biến mảng Nhietdo qua kiểu mảng Lắng nghe và ghi chép 3. Suy nghĩ và trả lời Var Dhs2: array [1..100] of real; - Kbáo trực tiếp mảng có tên Dhs2 gồm 100 p/tử có kiều thực. Trả lời: Cách 2 & 3, vì ta dễ dàng điều chỉnh kích thước của mảng .ArrayReal .301 phần tử .Real a[2] p/tử ở vị trí thứ 2 của mảng a a[i] p/tử ở vị trí i của mảng a. hs trả lời câu hỏi. Type Kmang1=array [1..Max] of real; Var Nhietdo: Kmang1; b. Khai báo (Có hai cách) + Kbáo gián tiếp: (sgk) + Kbáo trực tiếp: (sgk) Ví dụ 1: Var Nhietdo: array [1..Max] Of real; Ví dụ 2: Khai báo mảng tối đa 100 số nguyên (chỉ số đầu tiên là 1) Ta có các cách sau: Cách 1: Var a: Array[1..100] Of Integer; Cách 2: Const Nmax = 100; Var a: Array[1..Nmax] Of integer; Cách 3: Const Nmax = 100; Type MyArray = Array [1..Nmax] Of Integer; Var a:MyArray; * Tham chiếu tới phần tử cuả mảng Tên_biến[chỉ số] 3. Hoạt động 3: Củng cố Hoạt động của GV Hoạt động của HS Nội dung ghi bảng (Treo bảng) + Những khai báo nào là đúng? + Biến a trong khai báo trên chiếm dung lượng bộ nhớ là bao nhiêu? (số phần tử của mảng a, kiểu phần tử) + Trả lời: Arrayr=array[1..200] of integer; Arrayb = array[-100..100] of boolean; + Trả lời: a chiếm 400 byte trong bộ nhớ. Type Arrayr = array[1..200] of integer; Arrayr = array[byte] of real; Arrayb = array[-100..100] of boolean; Var a : arrayr; B : arrayb; IV. Củng cố bài học Câu hỏi, bài tập về nhà Đọc ví dụ 1 và ví dụ 2/ trang 56+57 SGK : -Xem lại thuật toán tìm phần tử lớn nhất của dãy số nguyên và thuật toán sắp xếp dãy số nguyên bằng thuật toán hoán đổi (lớp 10); -Khai báo được mảng, tham chiếu được các phần tử của mảng. Ngày soạn: 21/11/2010 §11. KIỂU MẢNG (Tiết 2) PPCT: 22 I. Mục đích, yêu cầu 1. Kiến thức: Khai báo kiểu, biến mảng một chiều, cách tham chiếu dến các p/tử trong mảng. 2. Kĩ năng: Hs sử dụng được biến kiểu mảng một chiều để giải quyết một bài toán đơn giản. 3. Tư duy, thái độ: Tự giác, tích cực, chủ động và sáng tạo trong tìm kiếm tri thức II. Đồ dùng dạy học 1. Giáo viên: giáo án, bảng phụ, sgk 2. Học sinh: sgk III. Phương pháp IV. Hoạt dộng dạy học 1. Hoạt động 1: Kiểm tra bài cũ Hoạt động của GV Hoạt động của HS 1. Trình bày các cách khai báo kiểu mảng trong NNLT Pascal? 2. Khai báo mảng gồm N số nguyên (N£500). (theo 2 cách: trực tiếp và gián tiếp). Gọi lần lượt hs trả lời. Gọi hs khác nhận xét Nội dung trên bảng Đánh giá, cho điểm. Hs1: Đứng tại chổ trả lời Hs2: (lên bảng) Const N = 500; C1: Var M : array[1..N] of integer; C2: Type Mnguyen = array[1..N] of integer; Var M : Mnguyen; 2. Hoạt động 2: Vận dụng kiểu mảng một chiều a. Nội dung : - Bài toán: Tạo mảng A gồm N (N£100) số nguyên. Tính tổng các phần tử của mảng là bội của một số nguyên dương k cho trước. b. Các bước tiến hành: Hoạt động của GV Hoạt động của HS Nội dung ghi bảng 1. Nêu đề bài toán (ghi bảng) Y/cầu hs xác định In/Output của bài toán. 2. Ở lớp 10 ta đã xây dựng t/toán cho bài toán này rồi. Y/cầu hs nhắc lại t/toán. 3. Y/cầu hs cho biết các việc chính cần thực hiện trong chương trình là gì? 4. Y/cầu hs cho biết các biến chính cần sử dụng là gì? - Y/cầu hs khác lên viết phần khai báo các biến đó? 5. Tiếp tục y/cầu hs lên viết phần chương trình tạo giá trị cho các ptử của mảng A. (lưu ý nhập số lượng ptử của mảng trước) Gọi hs khác nhận xét * Chỉnh sửa đoạn chương trình hs vừa hoàn thành. 6. Để viết tiếp đoạn chương trình còn lại (tính tổng) theo thuật toán ta phải kiểm tra lần lượt tất cả các ptử của mảng từ A[1] đến A[n]. vậy ta sử dụng câu lệnh gì ở đây? - Hỏi: trước khi tính tổng, ngoài mảng A trong CT cần có thêm gì không? (GV bổ sung) - Y/cầu hs khác lên viết đoạn chương trình còn lại? ** Chuẩn hoá lại chương trình. * Chạy thử chương trình với 1 bộ giá trị: 1. Đọc đề bài toán và trả lời: In: mảng A, số k Out: Tổng (S) các p/tử trong mảng A là bội của k. 2. 1-2 hs nhắc lại t/toán 3. Trả lời + Cho biết số ptử của mảng A. + Nhập giá trị cho các ptử của mảng A + Tính tổng. 4. suy nghĩ và trả lời - mảng A biến đơn: N, k, S. - Lên bảng trình bày Var S, N, k: integer; A: array[1..100] of integer; 5. Thực hiện tương tự các CT trước (Lên bảng trình bày) Đứng tại chổ n/xét, (bổ sung nếu sai sót) ... ột điểm màu color trên màn hình tại tọa độ (x,y) Use graph; Begin Drive: = 0; Initgraph ( drive, mode, ‘C: TP\BGI’); Line (20,40,30,60); Readln; End. - Cấu trúc chung: Line (x1,y1,x2,y2: integer) - Chức năng: Vẽ một đoạn thẳng từ điểm có tọa độ (x1,y1) đến điểm có tọa độ (x2,y2). Use graph; Begin Drive: = 0; Initgraph ( drive, mode, ‘C: TP\BGI’) Lineto (20,20) Readln; End. - Cấu trúc chung: Lineto (x,y: integer) - Chức năng: Vẽ một đường thẳng từ điểm hiện tại đến điểm có tọa độ (x,y) Use graph Begin Drive: = 0; Initgraph ( drive, mode, ‘C: TP\BGI’) Linerel (10,10); Readln; End. - Cấu trúc chung: Linerel (dx,dy: integer) - Chức năng: Vẽ một đường thẳng nối điểm hiện tại với điểm có tọa độ bằng tọa độ hiện tại cộng với gia số (dx,dy). Use graph; Begin Drive: = 0; Initgraph ( drive, mode, ‘C: TP\BGI’) Lineto (20,20); Setcolor (10); Lineto (20;-20); Readln; End. - Cấu trúc chung: Setcolor (color: word) - Chức năng: Đặt màu cho nét vẽ. Trình chiếu: ví dụ - Cho HS nêu kết quả - Gọi HS nêu lần lượt cấu trúc chung của các thủ tục Circle, Ellipse, Rectange - Giải thích các thông số trong thủ tục - Chức năng của từng thủ tục là gì? Giới thiệu các hàm xác định GTLN của màn hình, thủ tục chuyển con trỏ tới tọa độ (x, y) - Quan sát - HS trả lời - HS trả lời - HS trả lời d. Các thủ tục vẽ hình đơn giản Use graph; Begin Drive: = 0; Initgraph ( drive, mode, ‘C: TP\BGI’) Circle (20, 20, 30); Elipse (50,50,30,120,50,100); Rectangle (100,100,100,200); Readln; End. - Cấu trúc chung: + Hình tròn: Circle (x,y: integer; r:word) + Elipse: Ellipse(x,y:integer; stAngle, EndAngle, Xr, Yr: word) + Hình chữ nhật: Rectange(x1,y1,x2,y2:integer) - Chức năng: + Circle:Vẽ một đường tròn có tâm tại (x,y) và bán kính r. + Elipse : Vẽ cung của Elip có tâm tại điểm (x,y) với trục lớn xr, trục nhỏ yr, từ góc đầu StAngle đến góc cuối EndAngle. + Rectange: Vẽ hình chữ nhật với (x1,y1) là tọa độ của đỉnh trái trên; (x2,y2) là tọa độ của đỉnh phải dưới. e. Các thủ tục và hàm liên quan đến vị trí con trỏ - Hàm xác định GTLN cua màn hình: Function GetMaxX: integer; Function GetMaxY: integer; - Thủ tục chuyển con trỏ tới tọa độ (x;y) Procedure MoveTo(x,y:integer); - Hãy nêu một số thư viện khác trong Pascal? - Chức năng của từng thư viện? - Để sử dụng các thủ tục và hàm chuẩn của thư viện nào đó ta phải làm gì? - Gọi HS nêu VD - System, Dos, printer - HS trả lời - Khai báo - uses crt,graph; 3. Một số thư viện khác: - System: chứa các hàm sơ cấp và các thủ tục vào ra. - Dos: chứa các thủ tục tạo thư mục, thiết lập giờ hệ thống. - Printer: cung cấp các thủ tục làm việc với máy in. 4. Sử dụng thư viện: - Khai báo thủ tục và hàm chuẩn theo cấu trúc: Uses unit1, unit2,...,unit n; Củng cố - Dặn dò - Biết được một số thư viện chuẩn. - Biết được một số thủ tục đồ họa đơn giản. - Đọc thêm bài “Âm thanh” ------------------------------------------------------------------------------------------------------------ Ngµy so¹n: 7/04/2010 PPCT:51 Bµi thùc hµnh sè 8 I. MỤC TIÊU: 1. Kiến thức: Giới thiệu một số chương trình để học sinh thấy được khả năng đồ hoạ của Pascal. 2. Thái độ: Học sinh thấy được khả năng của Pascal và có hứng thú hơn với môn lập trình. II. ĐỒ DÙNG DẠY HỌC: 1. Chuẩn bị của giáo viên: Máy vi tính, tổ chức tại phòng máy để HS có được các lỹ năng cơ bản trong việc tổ chức và sử dụng các chương trình con trong lập trình, chuẩn bị trước chương trình chép vào máy tính 2. Chuẩn bị của học sinh: Đọc trước bài tập thực hành theo yêu cầu của giáo viên III. HOẠT ĐỘNG DẠY VÀ HỌC: 1. Hoạt động 1: Tìm hiểu chương trình vẽ đường gấp khúc. a. Muc tiêu: HS biết được khả năng đồ hoạ của pascal bằng cách vẽ đường gấp khúc bằng thủ tục Lineto với mỗi đoạn có 1 màu ngẫu nhiên. b. Các bước tiến hành: Hoạt động của GV Hoạt động của HS - Giới thiệu chương trình - HD HS mở tệp có sẵn trong thư mục D:\tp7\Bin\gapkhuc mà giáo viên đã chuẩn bị sẵn. Yêu cầu HS thực hiện chương trình và quan sát kết quả Gọi HS dậy và hỏi ý kiến học sinh nhận xét về hình vẽ? Mặc dù không phải là điểm mạnh của Pascal nhưng với Pascal chung ta cũng có thể lập trình để tạo ra các hình ảnh đồ hoạ - HS lắng nghe GV giảng bài - Làm theo HD của GV Nhận xét kết quả thực hiện 2. Hoạt động 2: Tìm hiểu chương trình vẽ hình đơn giản. a. Mục tiêu: HS biết thêm được khả năng đồ hoạ của pascal bằng chương trình vẽ hình đơn giản b. Các bước tiến hành: Hoạt động của GV Hoạt động của HS Nêu chức năng của chương trình: Chương trình cho phép thay đổi một số tham số màu vẽ, toạ độ HDHS mở tệp có sẵn trong thư mục: D:\tp7\bin\bai8b.pas Yêu cầu hs thực hiện và quan sát kết quả trên mà hình Hãy nhận xét về kết quả thực hiện của chương trình? Theo dõi Thực hiện theo HD của GV Quan sát kết quả thực hiện chương trình Nhận xét kết quả thực hiện IV. CỦNG CỐ KIẾN THỨC: Đây là bài học cuối cùng trong chương trình Tin học 11. Mặc dù đây là một môn khá khó, nhưng chúng ta cũng đã từng bước hình thành được một số kiến thức và kỹ năng trong lập trình. Hy vọng sau này chúng ta sẽ có người vào học chuyên ngày CNTT và lấy đây làm cơ sở cho bản thân. Chúc các em thành công với ước mơ của mình Ngày soạn: 8/05/2010. PPCT: 52 ÔN TẬP I. Mục tiêu *Kiến thức: - Ôn lại các kiến thức đã học trong học kỳ 2: các kiểu dữ liệu có cấu trúc kiểu dữ liệu tệp và chương trình con. - Chuẩn bị kiến thức để kiểm tra học kỳ. *Kỹ năng: rèn luyện kĩ năng lập trình cho học sinh. II. Chuẩn bị của giáo viên và học sinh. GV: các nội dung trong đề cương HS: Làm trước đề cương III. Tiến trình lên lớp. 1. Ổn định lớp, sỹ số. 2. Vào bài: Hoạt động 1. Ôn lại các kiến thức lý thuyết. Hoạt động của GV Hoạt động của HS Nội dung Chúng ta đã học những kiểu DL có cấu trúc nào? Thế nào là kiểu dữ liệu mảng? Các em chú ý chúng ta chỉ ôn lại phần mảng một chiều, mảng hai chiều về nhà các em xem lại. Thế nào là kiểu dl xâu? về bản chất xâu là mảng kiểu kí tự do vậy chúng ta có thể truy xuất xâu như truy xuất các phần tử của mảng. gọi HS so sánh 2 xâu ‘tin hoc’ và Tin hoc’ Hãy nhắc lại vai trò của kiểu tệp? Nêu thứ tự các thao tác với tệp Chương trình con là gì? Có mấy loại? Hãy phân biệt giữa thủ tục và hàm. Ngoài ra các khái niệm biến cục bộ, biến toàn cục, tham biến, tham trị.. về nhà các em xem lại SGK. trả lời mảng là dãy hữu hạn các phàn tử có cùng kiểu DL. Xâu là dãy kí tự trong bộ mã ASCII. Ghi nhận trả lới câu hỏi trả lới câu hỏi 1. Kiểu dữ liệu có cấu trúc. - Mảng (array). Thao tác nhập các phần tử của mảng a có N phần tử là For i:= 1 to N do Begin Write(‘a[‘, i , ‘]= ‘); readln(a[i]); End; - Xâu (String). + phép so sánh xâu (nhớ qui tắc so sánh) + Chú ý các thủ tục và hàm xử lí xâu: ghép xâu, xoá bớt kí tự trong xâu, chèn thêm, sao chép các kí tự của xâu. 2. Dữ liệu kiểu tệp. - vai trò của kiểu dl tệp. - Các thao tác với tệp: + Khai báo. + Gắn tên tệp + Mở tệp + Đọc/ghi tệp 3. Chương trình con - Hàm (function) - Thủ tục (Procedure) Hoạt động 2: Giải một số bài tập Bài1. viết chương trình tính tổng các số chia hết cho 3 của dãy số nguyên được nhập từ bàn phím Hoạt động của GV Hoạt động của HS Nội dung Đây là một bài toán quen thuộc Yêu cầu học sinh tự làm rồi lên bảng trình bày Gọi các hs khác nhận xét chuẩn hoá bài giải Nghiên cứu, lấy nháp và làm việc Lên bảng trình bày. Nghe giảng và chép bài Var a:array[1..100] of integer; N,i:byte; S: integer; Begin Write(‘nhap N’); readln(N); Writeln(‘nhap cac phan tu cua mang’); For i:=1 to N do Begin Write(‘a[‘,i,’[= ‘); Readln(a[i]); End; S:=0; For i:=1 to N do If a[i] mod 3 = 0 then s:=s+a[i]; Write(‘tong cac so chia hat cho la‘, s); Readln; End: Củng cố: Để chuẩn bị tốt nhất cho bài kiểm tra cuối năm về nhà các em xem lại các vấn đề chúng ta đã học trong tiết học hôm nay, đồng thời xem thêm các vấn đề đề cập trong đề cương mà chúng ta chưa có thời gian ôn tập lại. xem lại các dạng bài tập có trong đề cương. Ngày soạn: 10/05/2010. PPCT: 53 KIỂM TRA HỌC KỲ II Mục tiêu đánh giá: - Kiểm tra, đánh giá khả năng tiếp thu kiến thức, kĩ năng của học sinh về: Các kiểu dữ liệu có cấu trúc, chương trình con và dữ liệu kiểu tệp - Đánh giá khả năng tổ chức 1 chương trình Pascal với các cấu trúc cơ bản của chương trình và chương rình con. Phương pháp ra đề: Đề kiểm tra: ĐỀ KIỂM TRA Thời gian: 45 phút (không kể thời gian giao đề) I. Phần trắc nghiệm khách quan: Nội dung Mức độ Chương IV Chương V Chương VI Nhận biết Câu 1,5 Câu 2,4 Thông hiểu Câu 3,6 Vận dụng Câu8 Câu7,9 (Nhận biết) các kiểu dữ liệu có cấu trúc bao gồm: kiểu mảng, kiểu xâu. Kiểu mảng, kiểu xâu, kiểu bản ghi. Kiểu mảng, kiểu xâu, kiểu bản ghi, kiểu nguyên, kiểu thực Kiểu mảng, kiểu xâu, kiểu bản ghi, kiểu tệp (Nhận biết) Trong ngôn ngữ Pascal, từ khoá Text dùng để: Khai báo tên chương trình Khai báo biến tệp văn bản Khai báo biến tệp Khai báo hằng (Thông hiểu) Trong ngôn ngữ lập trình Pascal, với câu lệnh như sau For i:=1 to N do Begin Write(‘a[‘,i,’[= ‘); Readln(a[i]); End; sẽ thực hiện: Tính giá trị của A[i] C. lấy các giá trị từ mảng a. Nhập giá trị vào cho mảng a D. Không đưa ra gì cả (Nhận biết) Trong ngôn ngữ lập trình Pascal, kiểu dữ liệu nào trong các kiểu sau không bị mất dữ liệu khi mất điện? A. Byte B. String C. Text D. Longint 5. (Nhận biết) Trong ngôn ngữ lập trình Pascal, Với khai báo mảng X: Array[1..100] of integer; thì việc truy xuất đến các phần tử nào là đúng: A. X[i] B. X C. X.i D. X(i) 6. (Thông hiểu) Trong ngôn ngữ lập trình Pascal, để in một xâu kí tự ra màn hình theo thứ tự ngược lại của các kí tự trong xâu (Vd: abcd thành dcba), đoạn chương trình nào sau đây thực hiện việc này? A. For i:=1 to length(S) do write(S[i]); B. For i:=length(S) downto 1 do write(S[i]); C. For i:=length(S) downto 1 do write(S]); D. For i:=1 to length(S) div 2 do write(S[i]); 7. (Vận dụng) Dưới đây là một phần của chương trình Pascal: Function vd(a,b,c:integer):integer; Begin If (a>=b) and(a>=c) then vd:=a; If (b>=a) and(b>=c) then vd:=b; If (c>=a) and(c>=b) then vd:=c; End. Giả sử nhập dữ liệu sau: write(vd(6,5, 8)); Sau khi chạy chương trình ta thu được kết quả gì? A. 5 B. 6 C. 8 D. 12 II. Phần tự luận: 8. (Thông hiểu) Cho chương trình sau: Program vidu; Var f:text; begin assign(f,’vidu.inf’); readln(f.n); n:=n+1; write(‘n= ‘,n); a. Tìm và sửa lỗi cú pháp trong chương trình trên. b. Cho biết chương trình trên thực hiện công việc gì? 9. (Vận dụng) Viết hàm tìm giá trị lớn nhất của ba số nguyên. IV. Đáp án - Biểu điểm: Phần trắc nghiệm: mỗi câu trả lời đúng: 0,5điểm 1B 2B 3B 4C 5A 6B 7C Phần tự luận + Câu 1a: 1 điểm 1b: 1 điểm Phát hiện được các lỗi thiếu Begin và end 1 điểm biết chương trình dùng để tính và thông báo ra màn hình diện tích và chu vi hình vuông 1điểm + Câu 2: 4.5 điểm Khai báo đúng 2 điểm Viết được đoạn tính và thông báo ra màn hình 2,5 điểm Mỗi lỗi trừ 0,2 điểm
Tài liệu đính kèm: