Posted by : amakong2 Thứ Ba, 31 tháng 5, 2016

B. những vấn đề cụ thể phần 1. lập trình đơn giản I. Giới thiệu 1. Mục tiêu Mục tiêu của phần này là cung cấp cho HS một số kiến thức, kĩ năng cơ bản, phổ thông về lập trình thông qua ngôn ngữ lập trình bậc cao Pascal. Kiến thức • Biết được khái niệm bài toán, thuật toán, mô tả thuật toán bằng cách liệt kê; • Biết được một chương trình là mô tả của một thuật toán trên một ngôn ngữ cụ thể; • Hiểu thuật toán của một số bài toán đơn giản (tìm số lớn nhất, số nhỏ nhất; kiểm tra ba số cho trước có phải là độ dài ba cạnh của một tam giác không); • Biết cấu trúc của một chương trình, một số thành phần cơ sở của ngôn ngữ; • Hiểu một số kiểu dữ liệu chuẩn, đơn giản, cách khai báo biến; • Biết các 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 được lệnh gán; • Biết các câu lệnh vào/ra đơn giản để nhập thông tin từ bàn phím và đưa thông tin ra màn hình; • Hiểu được câu lệnh điều kiện, câu lệnh ghép, câu lệnh lặp kiểm tra điều kiện trước, vòng lặp với số lần định trước; • Biết được các tình huống sử dụng từng loại lệnh lặp; • Biết được khái niệm mảng một chiều, cách khai báo mảng, truy cập các phần tử của mảng. Kĩ năng • Mô tả được thuật toán đơn giản bằng liệt kê các bước; • Viết được chương trình đơn giản, khai báo đúng biến, câu lệnh vào/ra để nhập thông tin từ bàn phím hoặc đưa thông tin ra màn hình; • Viết đúng các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ; • Biết sử dụng đúng và có hiệu quả câu lệnh điều kiện; • Viết đúng lệnh lặp với số lần định trước; • Thực hiện được khai báo mảng, truy cập phần tử mảng, sử dụng các phần tử của mảng trong biểu thức tính toán. Thái độ • Nghiêm túc trong học tập, ham thích lập trình trên máy tính để giải các bài tập. 2. Nội dung Bài 1. Máy tính và chương trình máy tính (2 tiết) Bài 2. Làm quen với chương trình và ngôn ngữ lập trình (2 tiết) Bài thực hành 1. Làm quen với Turbo Pascal (2 tiết) 13 Bài 3. Chương trình máy tính và dữ liệu (2 tiết) Bài thực hành 2. Viết chương trình để tính toán (2 tiết) Bài 4. Sử dụng biến trong chương trình (2 tiết) Bài thực hành 3. Khai báo và sử dụng biến (2 tiết) Bài 5. Từ bài toán đến chương trình (4 tiết) Bài 6. Câu lệnh điều kiện (2 tiết) Bài thực hành 4. Sử dụng lệnh điều kiện if ... then (2 tiết) Bài 7. Câu lệnh lặp (2 tiết) Bài thực hành 5. Sử dụng lệnh lặp for ... do (2 tiết) Bài 8. Lặp với số lần chưa biết trước (2 tiết) Bài thực hành 6. Sử dụng lệnh lặp while...do (2 tiết) Bài 9. Làm việc với dãy số (2 tiết) Bài thực hành 7. Xử lí dãy số trong chương trình (2 tiết)Như đã nói ở trên, việc phân bố thời lượng như trên chỉ là tương đối, trong quá trình giảng dạy, nhà trường, giáo viên có thể phân bố thời lượng cho các bài sao cho phù hợp hơn với tình hình cụ thể của nhà trường và trình độ nhận thức của học sinh. 3. Những điểm cần lưu ý và gợi ý dạy học a. Nội dung của phần này là cung cấp cho học sinh một số kiến thức và kĩ năng ban đầu về lập trình. Sau phần này, học sinh sẽ có một số hiểu biết cơ bản về lập trình, viết được một số chương trình đơn giản bằng một ngôn ngữ lập trình cụ thể là ngôn ngữ Pascal. Các chương trình đơn giản này một mặt gây sự hứng thú cho học sinh trong việc tìm hiểu các bài toán phức tạp hơn và viết chương trình để giải quyết các bài toán đó, mặt khác chúng có thể phục vụ cho việc học tập và tìm hiểu sâu hơn các môn học khác, nhất là môn Toán. Phần này được chia thành 9 bài lí thuyết và 7 bài thực hành, nội dung mỗi bài được biên soạn để trình bày trọn vẹn trong 02 tiết và 01 tiết bài tập. Riêng với Bài 5 thời lượng được tăng gấp đôi, tức 04 tiết lí thuyết và 02 tiết câu hỏi và bài tập. Mỗi bài thực hành được trình bày ngay sau bài lý thyết nhằm mục đích để học sinh ghi nhớ và rèn luyện những kiến thức và kĩ năng học sinh đã học trong bài lí thuyết trước đó. b. Về cơ bản SGK trình bày theo cách tiếp cận các kiến thức, khái niệm cơ bản về lập trình từ khái quát đến cụ thể. Mục tiêu của SGK là trình bày các khái niệm ban đầu về lập trình nói chung, với cố gắng không gắn với một ngôn ngữ lập trình cụ thể. Cách tiếp cận này thể hiện rõ mục tiêu chính của chương trình là dạy kiến thức, kĩ năng về lập trình, ngôn ngữ lập trình nói chung, không phải dạy một ngôn ngữ lập trình nhất định. Đối với HS THCS, để HS dễ tiếp thu, việc trình bày về ngôn ngữ lập trình cần thông qua một ngôn ngữ lập trình cụ thể để minh hoạ, giải thích. Hơn nữa, các kĩ năng lập trình như viết, chỉnh sửa, dịch, chạy và kiểm thử chương trình đòi hỏi phải sử dụng một ngôn ngữ lập trình bậc cao cụ thể. Khó có thể lựa chọn một ngôn ngữ lập trình cụ thể nào đó đáp ứng cùng lúc được các tiêu chí như: hiện đại, cập nhật, dễ hiểu, dễ dùng, giá thành rẻ (hoặc miễn phí) và tính sư phạm cao. Cho nên cách sử dụng Pascal để minh hoạ trong SGK chỉ là một phương án. Giáo viên có thể thay thế ngôn ngữ Pascal bằng một ngôn ngữ lập trình khác phù hợp hơn với thực tế của lớp học miễn là truyền đạt được kiến thức, kĩ năng theo yêu cầu của chương trình. 14 Việc lựa chọn ngôn ngữ Pascal để minh hoạ trong SGK cũng được cân nhắc kĩ lưỡng bởi một số lí do chính sau đây: (1) Ngôn ngữ Pascal là ngôn ngữ lập trình cấu trúc, trong sáng, có tính sư phạm cao; (2) Phần lớn GV Tin học ở cấp THCS hiện nay đã được học và thực hành ngôn ngữ lập trình Pascal là chính; (3) Ngôn ngữ Pascal có nhiều phiên bản chạy được trên hệ điều hành khác nhau hiện có trong trường THCS; (4) Ngôn ngữ lập trình Pascal chạy được trên hầu hết tất cả các máy đã được trang bị ở các trường THCS từ trước đến nay; (5) Việc cài đặt Pascal là dễ dàng và ngôn ngữ Pascal có thể được sử dụng miễn phí. Cũng có thể có ý kiến cho rằng có thể chọn một ngôn ngữ lập trình khác để minh họa, chẳng hạn như Logo, Basic, VB, C hoặc Java, nhất là VB, C và Java do chúng là những ngôn ngữ hiện đại và hiện được sử dụng để phát triển hầu hết các ứng dụng. Hai ngôn ngữ đầu là những ngôn ngữ ít được phổ biến, hoặc đã không còn được sử dụng rộng rãi. Những ngôn ngữ sau lại là những ngôn ngữ khá nặng nề và phức tạp trong việc cài đặt và sử dụng, nhất là trong điều kiện hiện nay về cơ sở vật chất của các trường phổ thông. Do đó các tác giả thấy rằng hiện tại Pascal vẫn là lựa chọn hợp lí và khả thi nhất. Tuy sử dụng Pascal để minh họa, khi giảng dạy giáo viên cần lưu ý truyền đạt kiến thức về lập trình là chính, tránh việc sa đà trình bày quá nhiều chi tiết về các thủ thuật với ngôn ngữ Pascal. c. Do chỉ là một ngôn ngữ đóng vai trò minh họa cho các kiến thức bắt đầu về lập trình nên các nội dung cụ thể gắn liền với Pascal trong SGK đã được cố gắng trình bày một cách cô đọng, tăng tính trực quan và giảm tối đa tính hình thức theo nguyên tắc cần đến đâu thì giới thiệu đến đó. SGK không nhằm mục đích giới thiệu các thành phần, kiểu dữ liệu, cú pháp, ngữ nghĩa của các câu lệnh và các đặc trưng khác của Pascal một cách đầy đủ như là cẩm nang về lập trình. Chẳng hạn, rất nhiều kiểu dữ liệu, câu lệnh điều kiện case, các câu lệnh lặp khác,... không được giới thiệu trong SGK, nhiều câu lệnh chỉ được giới thiệu ngắn gọn mà không đi sâu vào giải thích cú pháp và ngữ nghĩa, v.v. Các ví dụ và chương trình Pascal cũng được lựa chọn và trình bày theo nguyên tắc trên. Xét về mặt nào đấy, chúng có thể chưa phải là những chương trình đã được viết một cách gọn nhất hoặc tối ưu nhất. Tuy nhiên chúng được mô tả và trình bày một cách phù hợp với sự phát triển tư duy của học sinh sau khi đã được giới thiệu phần kiến thức tương ứng về ngôn ngữ lập trình. Trong quá trình học tập, với sự hướng dẫn của giáo viên, học sinh có thể chỉnh sửa để có các chương trình tốt hơn, qua đó phát triển tốt hơn các kĩ năng lập trình. d. Về thứ tự trình bày các nội dung trong Phần 1, giáo viên cần lưu ý một vài điểm sau đây. Trước hết, cần nhấn mạnh rằng việc xác định bài toán và xây dựng thuật toán là bước quan trọng nhất trong việc viết chương trình. Chương trình chỉ là thể hiện một thuật toán cụ thể bằng ngôn ngữ lập trình. Chương trình chỉ hoạt động có hiệu quả khi có thuật toán đúng và tối ưu và do vậy chỉ có thể viết được chương trình sau khi đã xây dựng và mô tả thuật toán. Xét theo thứ tự thời gian và tư duy logic thì nội dung giới thiệu về bài toán và thuật toán cần được giới thiệu ngay từ Bài 1. Tuy nhiên, các tác giả cho rằng nội dung về thuật toán và mô tả thuật toán là vấn đề khó nhất trong toàn bộ nội dung của SGK. Trước hết, thuật toán luôn luôn gắn liền với tư duy toán học, việc mô tả thuật toán lại gắn liền với tư duy công nghệ. Không phải ngẫu nhiên mà đa phần học sinh thường khó hiểu nội dung phép gán giá trị cho một biến, đặc biệt là dưới dạng X = X + 1. Nếu trình bày về thuật toán ngay trong Bài 1, khi học sinh mới bắt đầu một năm học mới, sẽ gây cảm giác quá tải cho học sinh, nhất là đối với phần lớn học sinh không có nhiều năng khiếu về toán. Hơn thế nữa, việc giới thiệu như thế sẽ làm cho học 15 sinh hiểu nhầm rằng lập trình chính là giải toán (mặc dù việc giải quyết các bài toán nhỏ đúng là như thế). Mặt khác, với tâm sinh lí học sinh THCS, trước khi giới thiệu những nội dung khó cần bắt đầu dẫn dắt từ những nội dung nhẹ nhàng hơn và dễ gây hứng thú cho học sinh. Nội dung của các bài từ 1 đến 4 phục vụ mục đích này. Có một lý do khác là nếu chưa được giới thiệu và chưa hiểu được bản chất của phép gán, học sinh sẽ rất khó hiểu các nội dung về thuật toán. Trong khi đó, để học sinh có được khái niệm về phép gán thì cách tốt nhất là giới thiệu các nội dung liên quan đến biến trong lập trình. Cuối cùng, để học sinh hiểu được nội dung của các bài từ 1 đến 4 không cần thiết phải có những kiến thức về thuật toán. Các vấn đề giới thiệu trong các bài đó và trong các bài thực hành có thể giải quyết được với những “thuật toán hiển nhiên”, hầu như học sinh nào cũng có thể nhận biết và áp dụng. Tuy nhiên, trước khi đề cập tới các cấu trúc điều khiển trong chương trình thì lại cần thiết phải giới thiệu trước về khái niệm thuật toán và mô tả thuật toán. Đó chính là lí do nội dung về bài toán và thuật toán được trình bày trong Bài 5. e. Mỗi phần nội dung trong SGK được trình bày trong một bài lí thuyết và một bài thực hành. Bài lí thuyết giới thiệu các kiến thức ban đầu về nội dung tương ứng. Ngay sau bài lí thuyết (trừ bài 1 và bài 5) là bài thực hành những kiến thức lí thuyết đã học. Mục đích chính của các bài thực hành là cung cấp kĩ năng cho HS, qua đó hiểu sâu hơn về các nội dung vừa học ở bài lí thuyết. Các bài thực hành này về cơ bản là để HS thực hành, sử dụng những nội dung vừa học ở phần lí thuyết. Tuy nhiên, càng về sau các bài thực hành không chỉ phục vụ cho việc củng cố, thực hành nội dung lí thuyết của bài học tương ứng mà còn giúp ôn luyện những kiến thức, kĩ năng đã được học ở các bài trước đó. f. Cấu trúc của mỗi bài lí thuyết được xây dựng một cách nhất quán như sau: Mỗi bài lí thuyết đêu cố gắng bắt đầu bằng những ví dụ trong cuộc sống hàng ngày, từ đó dẫn dắt đến cách thức giải quyết các vấn đề đời thường đó bằng cách viết chương trình. Quan điểm của các tác giả là chương trình máy tính được viết chính là để giải quyết các bài toán đời thường như thế. Bằng cách đó học sinh sẽ dễ thấy hơn mối liên hệ chặt chẽ giữa việc lập trình và cuộc sống, cũng lợi ích của việc lập trình để giải quyết các bài toán bằng máy tính. Phần nội dung tiếp theo trình bày các thành phần cơ bản hoặc cấu trúc tương ứng của ngôn ngữ lập trình nói chung. Các nội dung này được cố gắng trình bày ở mức tổng quát nhất có thể, nhưng vẫn đảm bảo học sinh có thể hiểu được. Do đó, khi sử dụng Pascal để minh họa trong các mục tiếp theo, SGK không cố gắng trình bày cú pháp và ngữ nghĩa của các câu lệnh Pascal một cách đầy đủ và chi tiết. Giáo viên cần lưu ý điều này để bổ sung cho học sinh trong các bài thực hành tiếp ngay sau đó. Cuối cùng là một số ví dụ về chương trình để minh họa tình huống sử dụng. Về các ví dụ, các tác giả đã cố gắng hạn chế đến mức tối đa việc lập trình giải quyết các bài toán có nội dung toán học, tránh gây quá tải cho học sinh hoặc dẫn đến sự hiểu nhầm là lập trình gắn liền với toán học. Tuy nhiên, do hạn chế về nội dung của chương trình, những minh họa gây hứng thú hơn như thiết kế giao diện, màu sắc, phông chữ hoặc mô phỏng chuyển động của các đối tượng trên màn hình đã không được đưa vào. Do vậy các ví dụ về toán học vẫn chiếm một tỷ lệ đáng kể. 16 Cuối mỗi bài lí thuyết đều có mục Ghi nhớ liệt kê một số điểm chính của bài học để HS dễ dàng ghi nhớ. Mục ghi nhớ là căn cứ để GV xác định nội dung kiến thức, kĩ năng trọng tâm của mỗi bài. Mỗi bài lí thuyết đều có phần Câu hỏi và bài tập nhằm mục đích cho học sinh ôn luyện các kiến thức, kĩ năng của bài học lí thuyết và chuẩn bị cho bài thực hành ngay sau đó. Một phần của các câu hỏi, bài tập này chỉ là nhắc lại các kiến thức của bài học lí thuyết, vì vậy cần hướng dẫn HS làm ngay trên lớp. Một phần khác dành để giúp học sinh nắm vững hơn cú pháp và ngữ nghĩa của các câu lệnh Pascal. Với những câu hỏi và bài tập này giáo viên nên hướng dẫn học sinh giải và trả lời trong tiết bài tập. Trong phân bổ thời lượng, số tiết bài tập là khá nhiều (8 tiết). Điều này thể hiện câu hỏi, bài tập là một phần quan trọng trong việc giúp HS tiếp thu kiến thức, rèn luyện kĩ năng. Hệ thống câu hỏi, bài tập đa dạng, phù hợp với HS THCS, phù hợp với đổi mới dạy học và đổi mới kiểm tra, đánh giá. Tốt nhất là nên tổ chức tiết bài tập sau khi học sinh đã thực hiện các tiết thực hành. Số lượng các câu hỏi và bài tập tương đối nhiều. Tuy nhiên, đa số các bài đó chỉ là các câu hỏi và bài tập dễ, học sinh chỉ cần hiểu các kiến thức trong bài lý thuyết trước đó là có thể trả lời và giải được. Một số bài tập khác, mặc dù không vượt quá kiến thức đã trình bày trong phần lí thuyết, nhưng đòi hỏi học sinh vận dụng kiến thức một cách linh hoạt hơn. Việc đưa ra nhiều câu hỏi và bài tập một mặt giúp cho việc sử dụng SGK một cách hiệu quả và linh hoạt hơn trong những điều kiện học sinh khác nhau về trình độ, mặt khác giúp cho học sinh có thể có điều kiện đào sâu suy nghĩ hơn kiến thức lí thuyết và giúp giáo viên phân biệt trình độ của học sinh rõ hơn. Cũng có thể, ngay tại một trường, một số bài tập đối với học sinh trong một lớp là hơi khó, nhưng các học sinh trong một lớp khác lại có thể tự giải tất cả các bài tập đó một cách không khó khăn lắm. Do vậy, tuỳ tình hình tiếp thu kiến thức của HS, giáo viên có thể lựa chọn chỉ làm một số bài hoặc chủ động ra thêm các câu hỏi, bài tập phù hợp với trình độ học sinh, không nhất thiết phải làm hết các câu hỏi, bài tập trong SGK. g. Các bài thực hành cũng được xây dựng một cách nhất quán với việc đề ra mục tiêu, các bước cần thực hiện, thông thường ở mức khá chi tiết. Ngoài ra còn có các ví dụ để học sinh tìm hiểu tác dụng của các câu lệnh trong chương trình. Do thời lượng có hạn, giáo viên nên khuyến khích học sinh viết và chạy các chương trình đó khi tự học ở nhà. Khác với các bài thực hành trong các Quyển 1 và 2, trong SGK quyển 3 nội dung các bài thực hành không chỉ ôn luyện, củng cố, thực hành các kiến thức đã học mà còn giới thiệu kiến thức mới, cụ thể là những kiến thức lí thuyết, nhưng gắn liền với ngôn ngữ lập trình Pascal. Một số kiến thức này không được trình bày trong bài lí thuyết với chủ đích tránh làm dàn trải các nội dung lí thuyết về lập trình nói chung. Một số câu lệnh, thủ tục, hàm Pascal được giới thiệu trong bài thực hành. Kiến thức về câu lệnh được đúc rút sau khi HS đã được thực hành về câu lệnh. Giáo viên cần nhận rõ sự khác biệt này, dành thời gian giới thiệu, hướng dẫn cho học sinh để tăng hiệu quả của các giờ thực hành. Mục Tổng kết cuối mỗi bài thực hành tóm tắt các kiến thức, kĩ năng cơ bản học sinh cần tiếp thu được của bài thực hành, chủ yếu là các bước đã thực hiện, cú pháp, ngữ nghĩa cũng như cách sử dụng của Pascal. Phần này giúp HS hệ thống lại những kiến thức, kĩ năng của bài thực hành và là nội dung giúp HS tra cứu nhanh trong quá trình học tập. Tuy nhiên, không nên yêu cầu học sinh học thuộc lòng phần nội dung này. Trong quá trình thực hành, học sinh sẽ từng bước ghi nhớ cú pháp và ngữ nghĩa các câu lệnh. 17 h. Nội dung về bài toán và thuật toán (Bài 5) được phân bố thời lượng gấp đôi (04 tiết lí thuyết và 02 tiết bài tập). Theo đánh giá của các tác giả, đây là một phần nội dung quan trọng, nếu không nói là quan trọng nhất. Nếu đã nắm vững cách thức mô tả thuật toán để giải quyết bài toán, học sinh sẽ dễ dàng tiếp thu được các kiến thức trình bày trong những bài tiếp theo. Có thể biểu diễn thuật toán bằng sơ đồ khối hoặc bằng cách liệt kê. Tuy nhiên, SGK lựa chọn giới thiệu cách biểu diễn thuật toán bằng cách liệt kê. Về cơ bản cách liệt kê gần gũi với cách tư duy của HS THCS hơn và đặc biệt là mô tả bằng cách liệt kê thuận lợi hơn cho viết chương trình. ở một vài chỗ, SGK chỉ sử dụng sơ đồ khối để biểu diễn hoạt động của cấu trúc điều khiển (rẽ nhánh, lặp). GV không giới thiệu thêm về cách biểu diễn thuật toán bằng sơ đồ khối hoặc yêu cầu học sinh mô tả thuật toán bằng cách vẽ sơ đồ khối. Bên cạnh các kiến thức, kĩ năng theo yêu cầu của Chương trình, SGK còn giới thiệu thêm một số nội dung, ví dụ một số công cụ lập trình (câu lệnh, hàm chuẩn, thủ tục chuẩn) nhằm tạo thêm hứng thú cho HS; một số bài toán, thuật toán phổ thông, đơn giản để HS mở rộng thêm kiến thức, kĩ năng; một số câu hỏi, bài tập, bài thực hành có yêu cầu cao hơn dành cho HS khá, giỏi. Một số kiến thức như cú pháp câu lệnh, cú pháp khai báo biến, kiểu dữ liệu,... được giới thiệu dần dần. Do cách giới thiệu như vậy nên ban đầu có thể chưa đủ, chưa bao quát hết nhưng đảm bảo không sai. Khai báo biến, cú pháp câu lệnh rẽ nhánh, câu lệnh lặp... được đúc rút, khái quát hoá sau tiết thực hành. i. Các nội dung đọc thêm ở cuối bài là không bắt buộc, tránh yêu cầu tất cả HS phải đọc, hiểu, gây quá tải. GV có thể chọn lựa, giới thiệu, giải thích đôi chút để gây hứng thú cho các em ham thích, đọc thêm. Việc phân bổ thời lượng cho các bài lí thuyết, thực hành là tương đối, GV có thể phối hợp với các tiết bài tập, ôn tập để tự cân đối thời lượng cho phù hợp với tình hình giảng dạy thực tiễn. Điều quan trọng là đảm bảo truyền đạt đúng, đủ kiến thức, kĩ năng theo yêu cầu của Chương trình. II. Hướng dẫn chi tiết Bài 1. Máy tính và chương trình máy tính 1. Mục đích, yêu cầu • Biết con người chỉ dẫn cho máy tính thực hiện công việc thông qua lệnh. • Biết chương trình là cách để con người chỉ dẫn cho máy tính thực hiện nhiều công việc liên tiếp một cách tự động. • Biết rằng viết chương trình là viết các lệnh để chỉ dẫn máy tính thực hiện các công việc hay giải một bài toán cụ thể. • Biết ngôn ngữ dùng để viết chương trình máy tính gọi là ngôn ngữ lập trình. • Biết vai trò của chương trình dịch. 2. Những điểm cần lưu ý và gợi ý dạy học Khái niệm về lệnh, nút lệnh HS đã được biết đến ở lớp 6 và lớp 7. Dựa trên hiểu biết có sẵn của HS về lệnh, GV cần nhắc để HS nhớ lại và hình dung về lệnh một cách đơn giản, phổ thông. 18

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Chia sẻ tài liệu - Blogger Templates - Powered by Blogger - Designed by Johanes Djogan -