Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 105 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
105
Dung lượng
1,93 MB
Nội dung
Phần A Những vấn đề chung I Nội dung chương trình chuẩn kiến thức, kĩ mơn Tin học cấp trung học sở Mục tiêu • Kiến thức: o Trang bị cho học sinh số hiểu biết nhập mơn thuật tốn ngơn ngữ lập trình, cấu trúc chương trình bản: tuần tự, rẽ nhánh lặp mức phổ thông o Biết lợi ích việc viết chương trình máy tính để giải tốn khác lĩnh vực đời sống o Biết cách sử dụng phần mềm học tập trình bày SGK o Hiểu ý nghĩa phần mềm máy tính ứng dụng lĩnh vực khác sống • Kĩ năng: o Giải số tốn đơn giản máy tính cách vận dụng thuật toán đơn giản, liệu chuẩn ngơn ngữ lập trình bậc cao cụ thể o Sử dụng khai thác thành thạo phần mềm học tập giới thiệu o Rèn luyện khả thao tác nhanh với bàn phím chuột máy tính • Thái độ: o Ham thích mơn học, tác phong làm việc nghiêm túc, cẩn thận tinh thần làm việc theo nhóm o Nghiêm túc học làm việc máy tính khơng phân biệt phần mềm học tập hay phần mềm trị chơi Có ý thức sử dụng máy tính mục đích o Nâng cao ý thức lịng say mê học tập mơn học Nội dung chương trình • Lập trình đơn giản - Thuật tốn ngơn ngữ lập trình; - Chương trình Turbo Pascal (TP) đơn giản; - Tổ chức rẽ nhánh; - Tổ chức lặp; - Kiểu mảng biến có số; - Một số thuật tốn tiêu biểu • Khai thác phần mềm học tập 3) Chuẩn kiến thức, kĩ CHủ Đề MứC Độ CầN ĐạT GHI CHú Lập trình đơn giản Kiến thức • Biết khái niệm tốn, thuật tốn • Biết mơ tả thuật tốn cách liệt kê bước sơ Thuật đồ khối toán ngơn ngữ lập trình • Biết chương trình mơ tả thuật tốn ngơn ngữ cụ thể Kĩ • Mơ tả thuật toán đơn giản liệt kê bước Chương Kiến thức trình TP đơn • Biết sơ ngơn ngữ lập trình giản Pascal • Biết cấu trúc chương trình TP: cấu trúc chung thành phần • Biết thành phần sở ngơn ngữ Pascal • Hiểu số kiểu liệu chuẩn - Nên chọn thuật toán toán gần gũi, quen thuộc với học sinh - Có thể sử dụng ngơn ngữ lập trình khác theo hướng dẫn thực chương trình - Minh hoạ CHủ Đề MứC Độ CầN ĐạT • Hiểu cách khai báo biến • Biết khái niệm: phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ • Hiểu lệnh gán • Biết câu lệnh vào/ra đơn giản để nhập thông tin từ bàn phím đưa thơng tin hình Kĩ • Viết chương trình TP đơn giản, khai báo biến, câu lệnh vào/ra để nhập thông tin từ bàn phím đưa thơng tin hình Tổ chức rẽ nhánh GHI CHú khái niệm chương trình TP đơn giản - Cần xây dựng thực hành tổ chức thực phòng máy để học sinh đạt kỹ theo yêu cầu Kiến thức • Hiểu câu lệnh rẽ nhánh - Nhấn mạnh (dạng thiếu dạng đủ) cấu trúc điều • Hiểu câu lệnh ghép khiển tuần tự, rẽ nhánh lặp Kĩ • Viết lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ • Biết sử dụng có hiệu câu lệnh rẽ nhánh Kiến thức Tổ chức • Hiểu câu lệnh lặp kiểm tra điều kiện trước, vòng lặp với số lần lặp định trước • Biết tình sử dụng loại lệnh lặp - Trình bày thuật tốn số toán rẽ nhánh thường gặp, chẳng hạn giải phương trình bậc - Kĩ yêu cầu sử dụng lệnh lặp với số lần định trước Kĩ • Viết lệnh lặp với số lần định CHủ Đề MứC Độ CầN ĐạT GHI CHú trước Kiến thức • Biết khái niệm mảng chiều - Yêu cầu học Kiểu • Biết cách khai báo mảng, truy cập sinh viết mảng phần tử mảng chương trình biến có Kĩ số tốn số • Thực khai báo mảng, sau: nhập giá trị truy cập phần tử mảng, sử dụng phần tử phần tử mảng biểu thức mảng, in, tính tính toán tổng phần tử Kiến thức Một số • Hiểu thuật toán số thuật toán tốn thường gặp như: tìm số lớn nhất, số nhỏ nhất; kiểm tra số cho tiêu biểu trước có phải độ dài cạnh tam giác không Khai thác Kiến thức phần mềm • Biết cách sử dụng phần mềm học - Lựa chọn phần học tập tập lựa chọn mềm học tập theo hướng dẫn Kĩ • Thực cơng việc thực khởi động/ra khỏi, sử dụng bảng chương trình chọn, thao tác tương tác với phần mềm II Giới thiệu sách giáo khoa tin học dành cho trung học sở - Cấu trúc, nội dung phân bổ thời lượng Sách giáo khoa Tin học dành cho THCS Q3 biên soạn theo số định hướng cụ thể sau: Thể nội dung, yêu cầu chương trình Bộ Giáo dục Đào tạo phê duyệt cung cấp cho học sinh kiến thức, kĩ bản, thiết thực có hệ thống ban đầu thuật tốn kĩ thuật lập trình Tiếp cận trình độ giáo dục phổ thơng nước tiên tiến khu vực giới Nội dung sách giáo khoa tập trung vào kiến thức định hướng để từ học sinh phát huy yếu tố tích cực thành tựu công nghệ thông tin tăng cường khả tự học Nội dung, cách trình bày diễn đạt ngắn gọn, dễ hiểu thông qua mô tả ví dụ minh hoạ cụ thể • Cấu trúc Tương ứng với Chương trình giáo dục phổ thơng mơn Tin học, cấp Trung học Cơ sở (THCS), phần III, sách giáo khoa (SGK) gồm hai phần: Phần 1- Lập trình đơn giản: gồm lí thuyết, thực hành; Phần - Phần mềm học tập: gồm lí thuyết kết hợp với thực hành • Nội dung TIN học dành cho THCS - Phần 1- Lập trình đơn giản Bài Máy tính chương trình máy tính Bài Làm quen với Chương trình Ngơn ngữ lập trình Bài thực hành Làm quen với Turbo Pascal Bài Chương trình máy tính liệu Bài thực hành Viết chương trình để tính tốn Bài Sử dụng biến chương trình Bài thực hành Khai báo sử dụng biến Bài Từ toán đến chương trình Bài Câu lệnh điều kiện Bài thực hành Sử dụng lệnh điều kiện if then Bài Câu lệnh lặp Bài thực hành Sử dụng lệnh lặp for Bài Lặp với số lần chưa biết trước Bài thực hành Sử dụng lệnh lặp while Bài Làm việc với dãy số Bài thực hành Xử lí dãy số chương trình Phần - Phần mềm học tập Luyện gõ phím nhanh với Finger Break Out Tìm hiểu thời gian với phần mềm Sun Times Học vẽ hình với phần mềm Geogebra Quan sát hình khơng gian với phần mềm Yenka • Đề xuất phân bổ thời lượng: Nội dung Bài lí thuyết lí thuyết kết hợp thực hành Phần Lập trình đơn giản Phần Phần mềm học tập Bài thực Tổng số hành tiết 34 16 Bài tập Ôn tập Kiểm tra Tổng cộng 13 70 - Một số giải thích a) Sách giáo khoa Tin học dành cho THCS - Quyển biên soạn bám sát theo nội dung, yêu cầu Chương trình giáo dục phổ thông môn Tin học, cấp THCS, phần III ban hành kèm theo Quyết định số 16/2006/QĐ-BGDĐT ngày 05/5/2006 Bộ trưởng Bộ Giáo dục Đào tạo b) Phần gồm lí thuyết, dạy 02 tiết lí thuyết 01 tiết tập, riêng dạy 04 tiết lí thuyết và 02 tiết tập; Bài khơng có tiết tập riêng Có thực hành, dạy 02 tiết Phần gồm lí thuyết kết hợp thực hành Mỗi dạy trọn vẹn 04 tiết Về tiết tập dành cho việc làm tập phần (Lập trình đơn giản), phần (Phần mềm học tập) không cần tiết tập c) Thời lượng dành cho ơn tập cuối kì 04 tiết, học kì 02 tiết Thời lượng dành cho kiểm tra định kì tiết, học kì 04 tiết Việc phân bổ thời lượng tương đối, trình dạy học giáo viên (GV) điều chỉnh để phù hợp với tình hình thực tiễn d) Trong phân bổ thời lượng, số tiết tập nhiều (8 tiết) Điều thể câu hỏi, tập phần quan trọng việc giúp HS tiếp thu kiến thức, rèn luyện kĩ e) Các nội dung đọc thêm cuối không bắt buộc, tránh yêu cầu tất HS phải đọc, hiểu, gây tải GV chọn lựa, giới thiệu, giải thích đơi chút để gây hứng thú cho em ham thích, đọc thêm Gợi ý cách tiến hành giảng dạy a) Về SGK lựa chọn phương án trình bày kiến thức, kĩ chung lập trình sử dụng ngơn ngữ Pascal để minh hoạ Cách tiếp cận thể rõ việc dạy lập trình nói chung mà khơng phải dạy ngơn ngữ lập trình cụ thể Pascal Tuy nhiên, giảng dạy GV khơng thiết phải trình bày theo cách tiếp cận Có thể tiếp cận cách từ ngơn ngữ lập trình cụ thể Pascal khái quát thành kiến thức, kĩ lập trình nói chung Cách tiếp cận từ cụ thể đến khái quát phù hợp với phần lớn HS THCS Trong SGV, nội dung cụ thể gợi ý cách dạy học theo hướng từ cụ thể để khái quát b) Do sử dụng ngôn ngữ Pascal để minh hoạ, thời lượng làm việc với câu lệnh, chương trình, phần mềm TP nhiều nên dễ cảm nhận học ngơn ngữ Pascal Vì vậy, q trình dạy học GV cần lưu ý tiến hành khái quát lúc, chỗ để HS vượt khỏi ngôn ngữ cụ thể, rút kiến thức, kĩ năng, ngun lí lập trình nói chung Trong SGV có hướng dẫn thời điểm khái quát hoá kiến thức, kĩ số học cụ thể c) Các chương trình viết học tiết lí thuyết, tiết tập cần để HS chạy thử thực hành sau Làm giúp HS củng cố, hiểu rõ nội dung lí thuyết vừa học Hơn nữa, việc giúp tạo hứng thú, củng cố niềm tin cho HS, gắn kết tốt học với hành Để tránh HS nhiều thời gian vào việc gõ chương trình, GV nên gõ sẵn chương trình viết lí thuyết, tập để HS chỉnh sửa, chạy thử, tìm hiểu thực hành, khơng nên u cầu HS gõ chương trình tiết thực hành d) Trong phân bổ thời lượng dành tiết để làm tập, tiết để ôn tập Các tiết chưa định nội dung cụ thể, GV hoàn toàn chủ động đưa nội dung cho tiết tập, ôn tập Tuy nhiên, tiết tập nên dành thời gian để hướng dẫn học sinh làm số tập SGK (nếu tiết lí thuyết chưa làm hết), chuẩn bị cho thực hành sau Tuỳ mức độ tiếp thu HS, GV thêm tập, bổ sung thực hành máy tính để HS ơn luyện kiến thức, kĩ Các tiết ôn tập nên bố trí vào cuối kì (ngay trước sau kiểm tra cuối học kì), tiết ơn tập cần tổng kết, khái quát kiến thức, kĩ trọng tâm chương trình để HS khắc sâu, ghi nhớ Đặc biệt tiết ơn tập cần khái qt hố để thể tư tưởng dạy lập trình mà khơng dạy ngơn ngữ lập trình cụ thể e) Trong SGV có gợi ý mơ tả số thuật tốn theo cách biểu diễn gần với câu lệnh mà học sinh cần viết cần tìm hiểu chương trình tương ứng GV tham khảo, lựa chọn cách mơ tả để giảng dạy phù hợp với đối tượng HS f) Các tốn giới thiệu SGK nói chung đơn giản, viết chương trình mà khơng gặp nhiều khó khăn Đối với toán cụ thể, nhiệm vụ HS viết chương trình Tuy nhiên, qua tốn HS cần hiểu thực bước giải tốn máy tính: Xác định tốn, xây dựng (lựa chọn) thuật tốn viết chương trình Do vậy, cần thực đầy đủ bước từ tốn đến chương trình: Xác định input, output tốn, xây dựng, mơ tả thuật tốn cách liệt kê viết chương trình g) Có thực tế số câu lệnh (nhất câu lệnh có cấu trúc) hay giới thiệu gắn liền với số tốn, thuật tốn điển hình Cách làm có thuận lợi HS vừa học câu lệnh vừa học toán, thuật toán Tuy nhiên, số HS việc lúc 10 phải học hai nội dung lúc dễ dàng Để giảm bớt khó khăn cho HS, nên tách việc dạy câu lệnh với việc dạy thuật toán mới, nghĩa dạy xong câu lệnh đến thuật toán ngược lại Trong SGV có giới thiệu số cách làm vậy, toán sử dụng để giới thiệu áp dụng câu lệnh thường dễ HS biết tốn, thuật tốn từ trước Khi đó, HS cịn nhiệm vụ tìm hiểu câu lệnh, khơng phải thời gian để hiểu tốn, thuật tốn HS cần tập trung tìm hiểu câu lệnh Ngược lại, giới thiệu thuật tốn cần sử dụng câu lệnh HS biết sử dụng, lúc HS tập trung vào tìm hiểu thuật toán Hi vọng cách làm tạo thuận lợi để học sinh tiếp thu kiến thức nhẹ nhàng h) SGK tài liệu mà HS có SGK in màu, hình thức đẹp, tranh, ảnh cách trình bày SGK chọn lọc, cân nhắc kĩ lưỡng Vì vậy, cần khai thác tối đa SGK trình dạy học Một việc thực lớp học hướng dẫn HS dành thời gian cho HS tự nghiên cứu nội dung SGK Ban đầu việc giao cho HS đọc thời gian, kĩ đọc hiểu HS cải thiện việc dành thời gian để em tự đọc khơng khơng thời gian mà ngược lại tiết kiệm thời gian i) Việc dạy học phần mềm dạy học hiệu tiến hành phịng máy tính Nhưng dạy lập trình khơng nên lạm dụng phịng máy tính Tiết thực hành để HS chạy thử chương trình, rèn luyện kĩ làm việc với mơi trường lập trình Khơng để tình trạng vào tiết thực hành HS biết toán viết chương trình máy tính mà chưa chuẩn bị trước j) Việc giới thiệu phần mềm học tập nhằm mục đích cung cấp kiến thức, rèn luyện kĩ khai thác phần mềm cho HS Bên cạnh đó, việc khai thác phần mềm học tập nhằm mục đích tạo thay đổi, gây thêm hứng thú học tập Do vậy, SGK trình bày hai phần tách biệt khơng có nghĩa phải dạy theo trình bày SGK Nội dung Phần (Phần mềm học tập) cần dạy xen kẽ với Phần (Lập trình đơn giản) Cũng lí mà SGK khơng đánh số thứ tự phần Phần mềm học tập 11 Ôn tập kiểm tra a) Thời lượng dành cho ôn tập 04 tiết (02 tiết/học kì) Căn vào tình hình thực tế lớp học, giáo viên tự xác định nội dung tiết ôn tập Tuy nhiên, nên dành tiết ôn tập để ôn luyện, tổng kết kiến thức, kĩ trọng tâm chương trình Trong tiết ơn tập GV cần khái qt kiến thức, kĩ lập trình nói chung thể rõ mục tiêu, trọng tâm chương trình b) Thời lượng để kiểm tra, đánh giá tiết, học kì 04 tiết Có thể dành tiết cho kiểm tra cuối học kì, tiết lại dành cho kiểm tra định kì học kì Nếu tiến hành hai kiểm tra định kì (mỗi tiết) học kì, nên có kiểm tra giấy, kiểm tra thực hành máy Hướng dẫn cụ thể kiểm tra, đánh giá có Hướng dẫn thực chương trình, sách giáo khoa mơn Tin học lớp phân phối chương trình môn học c) Nội dung kiểm tra phải đảm bảo lí thuyết thực hành Cần lựa chọn nội dung kiểm tra để đảm bảo bao quát hết kiến thức, kĩ trọng tâm chương trình d) Một số nội dung phần lập trình đơn giản thuận lợi cho việc áp dụng phương pháp trắc nghiệm khách quan kiểm tra, đánh giá Vì vậy, cần lưu ý tăng cường sử dụng trắc nghiệm khách quan kiểm tra, đánh giá nội dung e) Việc kiểm tra, đánh giá có tác động đến q trình dạy học Để định hướng học tập cho HS, bên cạnh việc kiểm tra kiến thức, kĩ gắn liền với ngơn ngữ lập trình cụ thể, cần dành tỉ lệ thích đáng cho câu hỏi, tập kiến thức, kĩ lập trình nói chung Những câu hỏi, tập giúp HS có ý thức trọng đến kiến thức, kĩ lập trình nói chung, tránh HS trọng đến đến chi tiết cụ thể ngơn ngữ lập trình Pascal f) Cần tiến hành đánh giá học sinh thực hành, điểm điểm kiểm tra thường xuyên (hệ số 1) Trong tiết thực hành đánh giá, cho điểm lớp nhóm vài học sinh Tuy nhiên, cần lưu ý mục tiêu thực hành để học sinh thực hành, kiểm tra Kiểm tra thực hành để học sinh tập trung, chăm chỉ, nghiêm túc học tập 12 Bài thực hành Sử dụng lệnh lặp while Mục đích, u cầu • Hiểu câu lệnh lặp while chương trình TP có sẵn • Biết lựa chọn câu lệnh lặp while for phù hợp với tình cụ thể • Rèn luyện kĩ khai báo, sử dụng biến • Rèn luyện khả đọc chương trình • Biết vai trò việc kết hợp cấu trúc điều khiển Những điểm cần lưu ý gợi ý dạy học Trước hết cần lưu ý Chuẩn kiến thức, kĩ không yêu cầu HS phải viết chương trình có sử dụng câu lệnh lặp với số lần chưa biết trước Do vậy, thực hành khơng u cầu HS phải viết chương trình có câu lệnh while để giải tốn GV cho HS đọc, hiểu chương trình đặc biệt cần hiểu hoạt động lệnh while chương trình Trước cho HS thực hành SGK, cho HS gõ chương trình Chao_hoi mà em học lí thuyết Việc thử nghiệm chương trình viết học lí thuyết giúp HS dễ hiểu hơn, đặc biệt tính thuyết phục cao thể việc gắn kết lí thuyết với thực hành Với 1, trước hết cần xác định Input Ouput toán: Input: Dãy số thực x1, x2 xn Output: Giá trị trung bình (x1 + x2+ +xn)/n Thuật toán Bước - Nhập N số lượng số thực nhập từ bàn phím: - Gán biến đếm Dem← 0; - Gán tổng Sum ← Bước Trong Dem < N 2.1 Nhập giá trị số thực x từ bàn phím; 2.2 Cộng thêm x vào tổng Sum: Sum ← Sum + x; 2.3 Tăng biến dem thêm đơn vị: Dem ← Dem + 1; Bước Tính trung bình dãy số vừa nhập TB ← Sum/N 93 Bước Đưa TB hình, kết thúc Có nhiều cách để mơ tả thuật tốn này, nhiên cách mô tả sử dụng với mục đích HS thuận lợi đọc, hiểu, đối chiếu thuật tốn với chương trình Tinh_Trung_binh câu b Căn vào mơ tả thuật tốn, HS tìm hiểu để xác định biến kiểu tương ứng cần khai báo chương trình Câu c) yêu cầu HS thử dịch, chỉnh sửa, chạy kiểm thử chương trình Những kĩ HS rèn luyện thực hành trước HS hồn tồn thực GV đưa hướng dẫn HS tạo liệu test GV cần yêu cầu HS đọc, thảo luận đối chiếu thuật tốn câu lệnh mơ tả thuật tốn chương trình Cần làm cho HS hiểu rõ hoạt động vòng lặp while chương trình, cho học sinh làm việc nhóm để mơ chương trình (Việc nên làm lớp học, tiết tập trước thực hành máy) Ví dụ mơ hoạt động chương trình với n=3 Trước bắt đầu vòng lặp while do: dem=0, TB=0, n = 3; Bắt đầu vòng lặp while DEM < N DEM X (nhập từ bàn phím) TB Đúng 10 10 Đúng 15 25 Đúng 20 45 Sai Kết thúc vòng lặp while do: TB = 45/3 = 15 Câu d) yêu cầu HS chuyển từ sử dụng câu lệnh while sang sử dụng câu lệnh for Qua việc làm HS rèn luyện thêm sử dụng lệnh for Tuy nhiên, tình sử dụng while for khác While thích hợp với trường hợp lặp với số lần chưa biết trước, for thích hợp với trường hợp lặp với số lần biết trước Ví dụ, khơng thể 94 sử dụng lệnh for để thay lệnh while chương trình Chao_hoi (chưa biết trước số bạn nhóm) Như vậy, câu d, bên cạnh mục đích cho HS có ý thức việc lựa chọn cấu trúc lặp phù hợp với tình huống, cịn có mục đích tiếp tục rèn luyện viết chương trình với câu lệnh for đảm bảo đạt yêu cầu đề chuẩn kiến thức, kĩ Với 2, cách tiến hành giống với Trước hết cần xác định Input Output toán: Input: Số tự nhiên N Output: Trả lời N số nguyên tố N không số nguyên tố Thuật tốn HS lớp biết tính chất số nguyên tố, số nguyên tố số tự nhiên chia hết cho Để kiểm tra N có phải số ngun tố hay khơng ta kiểm tra xem N có chia hết số từ đến N − hay không Nếu N không chia hết cho số khoảng từ đến N − N số nguyên tố, ngược lại N chia hết cho số khoảng từ đến N − N khơng phải số ngun tố Sử dụng phép chia lấy phần dư mod để kiểm tra tính chia hết Bước 1: Nhập số tự nhiên N từ bàn phím Bước 2: Nếu N≤ thơng báo N số tự nhiên, chuyển đến bước Bước 3: Nếu N > 0: 3.1 i←2; 3.2 Trong N mod i 0, i←i+1; 3.3 Nếu i = N thơng báo N số ngun tố, chuyển đến bước 4, khơng thơng báo N số nguyên tố; Bước 4: Kết thúc Sau GV cho HS đọc chương trình SGK, đối chiếu việc sử dụng câu lệnh để mơ tả thuật tốn Lưu ý, chương trình sử dụng câu lệnh điều kiện, câu lệnh lặp while Mục đích để HS thấy cần thiết phải kết hợp cấu trúc điều khiển để giải toán Hơn nữa, ví dụ cịn sử 95 dụng phép chia lấy phần dư mod Điều thể cần thiết tính hiệu lựa chọn cơng cụ phù hợp lập trình Đối với đa số HS lớp 8, thuật tốn kiểm tra tính ngun tố số tự nhiên khơng khó Tuy nhiên, thấy HS gặp khó khăn tìm hiểu thuật tốn này, GV thay ví dụ khác Ví dụ mà GV đưa cần thể kết hợp câu lệnh điều kiện câu lệnh lặp với số lần chưa biết trước, không thiết phải có tình sử dụng phép chia lấy phần dư mod Sự kết hợp cấu trúc điều khiển (tuần tự, rẽ nhánh lặp) ngơn ngữ lập trình tạo nên linh hoạt góp phần tạo nên sức mạnh ngơn ngữ lập trình Chính kết hợp cấu trúc điều khiển cho phép ngôn ngữ lập trình mơ tả thuật tốn phức tạp, giúp giải nhiều toán xuất phát từ nhu cầu thực tiễn Giáo viên khơng cần trình bày ý nghĩa việc kết hợp cấu trúc điều khiển với HS Như nêu chuẩn kiến thức, kĩ không yêu cầu HS phải viết chương trình có sử dụng câu lệnh lặp với số lần biết trước Tuy nhiên, HS tiếp thu tốt, GV yêu cầu HS tập viết chương trình đơn giản có sử dụng câu while Bài Làm việc với dãy số Mục đích, yêu cầu • Biết khái niệm mảng chiều • Biết cách khai báo mảng, nhập, in, truy cập phần tử mảng • Hiểu thuật tốn tìm số lớn nhất, số nhỏ dãy số Những điểm cần lưu ý gợi ý dạy học Tương tự với câu lệnh điều kiện, câu lệnh lặp, vào đầu cần giới thiệu số ví dụ nhằm đưa đến nhu cầu cần có biến mảng ngơn ngữ lập trình Ví dụ 1, SGK dẫn đến nhu cầu biến mảng, sau phân tích bất tiện sử dụng cách khai báo biến biết (khai báo biến đơn) Pascal cung cấp công cụ hiệu để hỗ trợ người lập trình biến mảng Mục có hai nội dung quan trọng nhu cầu biến mảng ngơn ngữ lập trình thuật tốn tìm số lớn dãy số Thuật tốn tìm số lớn 96 dãy số (học sinh tìm hiểu 5) Trong mục giới thiệu việc tìm số lớn dãy số nhiệm vụ cần thực mà không đề cập đến việc giải nhiệm vụ Mục tiêu ví dụ mục dẫn đến nhu cầu cần có biến mảng Trong phần cần cho HS biết cách khai báo, truy cập, nhập (gán) giá trị, viết giá trị biến mảng hình a) Khai báo biến mảng: Có hai cách khai báo biến mảng Cách 1: Khai báo trực tiếp biến mảng chiều: var : array [kiểu số] of [kiểu phần tử]; Cách 2: Khai báo gián tiếp biến mảng qua kiểu mảng chiều: type = array [kiểu số] of ; var :; đó: - kiểu số dãy số nguyên liên tục n n2 với n1, n2 (hoặc biểu thức cho kết số nguyên) xác định số số cuối (n1≤n2) - kiểu phần tử kiểu phần tử mảng Tuy nhiên, GV cần giới thiệu với HS cách Kiểu số cần giới thiệu thật đơn giản dãy số nguyên dương n 1=1 (không thiết phải giới thiệu trường hợp lại) Kiểu phần tử số nguyên, thực GV cần sử dụng số ví dụ để luyện tập khai báo mảng chiều giải thích số lượng phần tử, kiểu phần tử biến mảng tương ứng với ví dụ b) Truy cập mảng: Sau cho HS luyện tập với khai báo biến mảng, sử dụng khai báo vừa thực để giới thiệu truy cập vào biến mảng Ví dụ, với khai báo var Diem: array[1 50] of real; khai báo tạo biến mảng có 50 phần tử từ phần tử đến phần tử 50 Các phần tử "đặt tên" nào? Để "gọi đích danh" phần tử cụ thể Pascal sử dụng cách: Tên biến mảng[chỉ số phần tử] Ví dụ, Diem[1] phần 97 tử thứ nhất; Diem[5] phần tử thứ Có thể thực thao tác gán giá trị, so sánh, viết giá trị hình với Diem[1], Diem[2] Diem[50] với biến học (biến đơn) c) Nhập giá trị cho biến mảng: Để nhập giá trị cho biến mảng cần nhập giá trị cho phần tử mảng Giống với việc gán giá trị cho biến đơn, có hai cách để gán giá trị cho phần tử mảng: Gán trực tiếp lệnh gán: ví dụ: Diem[1] := 8, Diem[2] := 9.5 Gán giá trị cách nhập từ bàn phím, sử dụng lệnh read(), readln() Có thể viết đoạn chương trình với 50 lệnh readln() để thực việc nhập giá trị cho 50 phần từ mảng từ bàn phím: readln(Diem[1]; readln(Diem[2]); readln(Diem[50]); Tuy nhiên, việc kết hợp vòng lặp for với câu lệnh readln() cách lập trình hiệu quả, hay sử dụng để nhập liệu cho mảng For i:=1 to 50 readln(Diem[i]); Tương tự vậy, để viết giá trị phần tử mảng hình người ta kết hợp for với lệnh writeln() write() For i:=1 to 50 writeln(Diem[i]); Giả sử muốn viết hình điểm số lớn chẳng hạn, câu lệnh sau: For i:=1 to 50 if Diem[i] >= then writeln(Diem[i]); Việc đưa u cầu có hai mục đích: thứ để HS làm quen trước với so sánh phần tử biến mảng sử dụng phần sau Làm HS không bị bỡ ngỡ gặp phép so sánh chương trình Thứ hai, HS thấy kết hợp câu lệnh mà cụ thể câu lệnh for câu lệnh if-then chương trình Trong ví dụ trên, duyệt phần tử biến mảng hoàn tồn sử dụng cấu trúc while do, nhiên cấu trúc for phù hợp trường hợp biết trước số lần lặp Mặt khác, sử dụng cấu trúc for nói chung dễ hiểu hơn, gần với cách nghĩ tự nhiên HS GV nhắc lại tầm quan trọng việc lựa chọn cấu trúc điều khiển phù hợp lập trình 98 Mục ví dụ chương trình cụ thể sử dụng biến mảng thuật tốn tìm giá trị lớn nhất, nhỏ dãy số nguyên Trước giới thiệu chương trình cụ thể GV nên hướng dẫn HS tìm hiểu lại thuật tốn (đã học Bài 5) Giải thích thuật tốn tìm giá trị lớn dãy số nguyên: + Đầu tiên gán giá trị số thứ dãy số cho Max (Ban đầu tạm thời coi số thứ số lớn -số lớn tạm thời) + So sánh số lớn tạm thời với số thứ 2, số thứ lớn số lớn tạm thời-Max gán giá trị số thứ cho Max Như đến thời điểm Max số lớn số thứ số thứ + Cứ tiếp tục vậy, đem so sánh Max với tất số lại, găp số lớn Max gán giá trị số cho Max Sau so sánh đến số cuối dãy số Max giá trị lớn dãy số Do học sinh tìm hiểu thuật toán 5, giáo viên u cầu học sinh trình bày lại thuật tốn tìm số lớn dãy số thực lại việc mơ thuật tốn dãy số cụ thể để em nhớ lại thuật toán Ví dụ mơ thuật tốn có Sau yêu cầu học sinh thảo luận chỉnh sửa thuật tốn để tìm số nhỏ dãy số Ví dụ, mơ thuật tốn tìm giá trị nhỏ dãy số bảng đây: Dãy số 4 15 i Đún g Sai Sai Sai Đún g Sai Sa i Sa i 4 4 3 3 < SMIN SMIN Thuật tốn tìm giá trị lớn nhất, nhỏ dãy số ngun đơn giản, khơng khó hiểu với HS Nhưng HS lại khó hiểu em chưa biết máy tính lại phải sử dụng thuật tốn tìm số lớn Thực tế, GV viết dãy số nguyên lên bảng (ví dụ, 1, 4, 23, 6, 8, 9) HS thấy 23 giá trị lớn mà không nhận thấy cần thiết phải thực thuật toán nêu 99 Trong trường hợp này, có khác biệt người máy tính giải cơng việc Con người nhìn nhiều số đồng thời, với dãy số ngắn người nhìn dãy số lúc Con người nhận diện số lớn không dựa vào giá trị mà cịn qua số dấu hiệu bổ trợ khác, ví dụ như: độ dài số (có số có hai chữ số) chẳng hạn Với dấu hiệu bổ trợ, khả quan sát tư duy, người nhanh chóng "khoanh vùng" đáp án nhanh chóng tìm đáp án Tức phương án giải người không mà bỏ qua số bước cần thiết Do vậy, trong nhiều tình người giải toán hiệu nhiều máy tính Tuy nhiên, khả người lại bị hạn chế tình dãy số lớn (hàng ngàn, hàng triệu, hàng tỉ số chẳng hạn) Khi máy tính lại thể sức mạnh ưu tốc độ xử lí Để HS hiểu máy tính làm việc nào, GV yêu cầu em thực sau: Viết 10 số nguyên, số vào mảnh giấy Gấp 10 mảnh giấy lại bỏ vào hộp A Đặt hộp B rỗng bên cạnh Yêu cầu HS chuyển đến hết mảnh giấy hộp A sang hộp B Sau chuyển xong HS cho biết số số lớn số ghi mảnh giấy HS phép xem số mảnh giấy chuyển mảnh giấy từ hộp A sang hộp B Yêu cầu HS không ghi chép giấy Mục đích việc khơng cho học sinh ghi chép để HS mô hoạt động máy tính: Chỉ cần nhớ số lớn thời điểm tại, so sánh với số vừa lấy từ hộp A (đang cầm tay) nhớ lấy số lớn tiếp tục đến hết số hộp, số nhớ cuối số lớn Để thực công việc cần hướng dẫn HS thực mô theo giải thuật tìm dãy số lớn dãy số nguyên Nhặt mảnh giấy hộp A, mở nhớ giá trị mảnh giấy (coi số lớn tạm thời), gấp lại bỏ vào hộp B Nhặt mảnh giấy thứ hai, mở so sánh với giá trị lớn tạm thời, nhớ giá trị lớn thấy lớn Lặp lại công việc đến hết mảnh giấy hộp A GV thêm, bớt mảnh giấy để HS làm lại Sau HS làm đề nghị em mô tả lại cách em thực để tìm số lớn Cách mà HS làm giống với cách máy tính tính thực theo thuật tốn Máy tính tham chiếu đến số dãy số, máy tính khơng có khả quan sát dãy số máy tính phải thực theo thuật tốn Máy tính 100 thực theo dẫn người, máy tính khơng có trí thơng minh Tất nhiên, ngược lại máy tính lại có ưu điểm vượt trội tốc độ xử lí Có thể cải biến nội dung dạy học thành nhiều trị chơi khác Ví dụ, yêu cầu em không sử dụng giấy, bút, GV viết số lên bảng, xoá ln, HS quan sát để tìm số lớn (hoặc nhỏ nhất) Hoặc mời nhóm HS đứng lên phía lớp Mời em qua bạn một, em đến bên bạn bạn phải đưa số (có thể nói thầm viết mảnh giấy) Đi hết lượt HS phải nói bạn đưa số lớn (hoặc nhỏ nhất) Kết kiểm chứng công khai bạn đưa số Thuật tốn tìm Max dãy số nguyên nhập từ bàn phím sau: Bước Nhập N dãy A1, , An Bước Max ← A1 Bước Lần lượt gán giá trị từ đến N cho i Với giá trị i thực hiện: Nếu Max