Tài liệu Rèn luyện kỹ năng phương pháp viết chương trình lập trình turbo pascal cho học sinh lớp 8

  • Số trang: 32 |
  • Loại file: DOC |
  • Lượt xem: 477 |
  • Lượt tải: 1
tailieuonline

Đã đăng 39801 tài liệu

Mô tả:

MỤC LỤC NỘI DUNG Trang PHẦN I. ĐẶT VẤN ĐỀ 1 PHẦN II. NỘI DUNG 3 I. CƠ SỞ LÝ LUẬN 3 II. CƠ SỞ THỰC TIỄN 4 III. NỘI DUNG, BIỆN PHÁP THỰC HIỆN 5 1. Các yêu cầu cơ bản của giáo viên 5 2. Các yêu cầu cơ bản của học sinh 5 3. Biện pháp tiến hành 6-29 IV. HIỆU QUẢ CỦA SÁNG KIẾN KINH NGHIỆM 29 1. So sánh kết quả 29 2. Bài học kinh nghiệm 30 PHẦN III. KẾT LUẬN 31 TÀI LIỆU THAM KHẢO 32 0 PHẦN I. ĐẶT VẤN ĐỀ. Trong những năm gần đây sự bùng nổ công nghệ thông tin đã tác động lớn đến công cuộc phát triển kinh tế xã hội loài người. Với xu thế ngày càng phát triển về công nghệ thông tin và ứng dụng công nghệ thông tin trong cuộc sống hàng ngày là rất lớn, nên Đảng, Nhà nước đã xác định rõ ý nghĩa tầm quan trọng của tin học và công nghệ thông tin, truyền thông cũng như những yêu cầu đẩy mạnh của ứng dụng công nghệ thông tin, đào tạo nguồn nhân lực đáp ứng yêu cầu công nghiệp hoá, hiện đại hoá, mở cửa và hội nhập, hướng tới nền kinh tế tri thức của nước ta nói riêng - thế giới nói chung. Đặc biệt là trong năm học 2006-2007 và những trở lại đây liên tiếp Sở giáo dục và đào tạo tỉnh Nghệ An nói chung và của phòng giáo dục và đào tạo huyện nhà nói riêng đã phát động phong trào “Ứng dụng công nghệ thông tin trong quản lý và dạy học" và xem đây là giải pháp đột phá để nâng cao chất lượng giáo dục, giải pháp này đã được các nhà trường tích cực hưởng ứng và thực hiện đạt hiệu quả cao trong quản lý và dạy học. Lịch sử nhân loại đã chứng kiến những cuộc cách mạng về công nghệ thông tin với sự trợ giúp của máy tính và hệ thống máy tính, con người đã nâng cao năng suất và tự động hóa ngày một hiệu quả hơn, và một trong những ứng dụng không thể không nhắc tới đó là những ứng dụng phần mềm của máy tính với nền công nghệ thông tin hiện nay. Phần mềm máy tính ngày một đi lên và phát triển với các ngôn ngữ lập trình khác nhau, ở đây tôi nói đến những ứng dụng và sự phát triển của ngôn ngữ lập trình Turbo Pascal. Để đáp ứng nhu cầu giảng dạy bộ môn tin học ở trong nhà trường, phòng giáo dục cũng như địa phương đã rất quan tâm đầu tư trang thiết bị phục vụ cho việc dạy học của giáo viên và học sinh. Vì vậy cơ sở vật chất của các nhà trường đã từng bước được bổ sung về hệ thống máy vi tính và các điều kiện khác để phục vụ cho công tác dạy và học. Do đó môn tin học đã được đưa vào giảng dạy ở trường trung học cơ sở nhằm trang bị cho học sinh những hiểu biết cơ bản về công nghệ thông tin và vai trò của nó trong xã hội hiện đại. Môn học này giúp học sinh bước đầu làm quen với phương pháp giải quyết vấn đề theo quy trình công nghệ và kỹ năng sử dụng máy tính phục vụ học tập và cuộc sống. Tin học có ý nghĩa to lớn đối với sự phát triển trí tuệ, tư duy thuật toán, góp phần hình thành học vấn phổ thông cho học sinh. Là giáo viên trực tiếp giảng dạy môn tin học tôi xác định mục tiêu chính là giúp học sinh không chỉ biết soạn thảo mà còn phải có khả năng phân tích, tổng hợp, trừu tượng hoá, khái quát hoá vấn đề và đặc biệt là phát triển tư duy, sáng tạo trong phương pháp lập trình. Qua kinh nghiệm nhiều năm giảng dạy và bồi dưỡng học sinh dự thi tin học trẻ về ngôn ngữ lập trình Turbo Pascal cùng với nhiều đối tượng học sinh khác nhau trong nhà trường, tôi nhận thấy học sinh còn lúng túng nhất ở khâu vận dụng xây dựng chương trình cụ thể, không biết làm thế nào? bắt đầu từ đâu? Do đó tôi đã tích luỹ được một vài kinh nghiệm về “RÈN LUYỆN KỸ NĂNG PHƯƠNG PHÁP VIẾT CHƯƠNG TRÌNH LẬP TRÌNH TURBO 1 PASCAL CHO HỌC SINH LỚP 8” nhằm giúp các em nắm vững các kỹ năng và kiến thức cơ bản để từ đó tạo tiền đề cho việc học lập trình về sau. PHẦN II. NỘI DUNG I. CƠ SỞ LÝ LUẬN Vận dụng linh hoạt, sáng tạo các phương pháp dạy học theo cách phát huy yếu tố tích cực và những ưu điểm của phương pháp dạy học truyền thống cùng phương pháp dạy học hiện đại nhằm tăng cường tính tích cực của học sinh trong tiếp nhận kiến thức, hình thành kỹ năng sử dụng máy tính, sử dụng thành thạo phần mềm Turbo Pascal để phục vụ cho học tập và bước đầu vận dụng vào cuộc sống. Từ đó, tôi luôn tạo điều kiện tối ưu để học sinh bồi dưỡng kỹ năng tự học. Vận dụng linh hoạt, sáng tạo các hình thức tổ chức học tập kết hợp giữa học tập cá thể với học tập hợp tác; giữa hình thức học cá nhân với hình thức học theo nhóm. Tôi luôn chủ động sáng tạo thiết kế các dạng bài tập căn cứ vào mục tiêu cụ thể của bài học, không gò bó theo một quy trình cứng nhắc những bước đi bắt buộc. Tăng cường kiểm tra đánh giá bằng nhiều hình thức khác nhau theo chuẩn kiến thức kỹ năng, yêu cầu học sinh tự viết các chương trình hoàn chỉnh đó là một biện pháp kích thích hứng thú học tập. Với phương pháp dạy và học hiện nay đang có xu hướng thay đổi một cách tích cực. Phương pháp mới hướng tới lấy học sinh làm trung tâm, học sinh không còn đóng vai trò tiếp thu một cách thụ động những kiến thức do giáo viên truyền đạt. Giáo viên trở thành người hướng dẫn, giúp đỡ học sinh. Học sinh hướng tới việc học tập chủ động, biết tự thích nghi. Kiến thức được cá nhân học sinh tự tìm tòi, phát hiện một cách tích cực dưới sự hướng dẫn của giáo viên. Ngoài ra, cách tổ chức học theo nhóm làm tăng thêm khả năng cộng tác, khả năng làm việc tập thể. Tin học là môn học có nhiều điều kiện thuận lợi để thực hiện các phương pháp dạy và học mới này. Cũng như những môn học khác, việc rèn luyện kỹ năng lập trình trong bộ môn tin học cần được thực hiện trong hoạt động và bằng hoạt động tự giác, tích cực, chủ động và sáng tạo của học sinh. Khi cần dạy một nội dung tin học cho học sinh, người giáo viên phải biết phân tích nội dung đó liên quan đến những hoạt động nào. Và một số hoạt động trong đó lại được phân tích thành những hoạt động thành phần. Rồi căn cứ vào mục tiêu tiết học, trình độ học sinh, trang thiết bị hiện có mà lựa chọn cho học sinh tập luyện và thực hiện một số những hoạt động tiềm tàng trong nội dung cần dạy. Để học sinh có ý thức về ý nghĩa của những hoạt động, cần tạo động cơ học tập cho học sinh, để học sinh học bằng sự hứng thú thực sự, nó được nảy sinh từ việc ý thức sâu sắc ý nghĩa nội dung bài học, học bằng tất cả tính tích cực, độc lập và trách nhiệm cao nhất của học sinh. Để thưc hiện được các mục đích trên cần phải đặt học sinh vào tình huống có vấn đề để hướng đích cho học sinh. Phải tập luyện cho học sinh những hoạt động ăn khớp với tri thức phương pháp. Phải phân bậc hoạt động để tuần tự nâng cao yêu cầu khi tình huống dạy học cho phép hoặc hạ thấp yêu cầu khi học sinh gặp 2 khó khăn. Hệ thống bài tập được phân bậc để học sinh luyện tập tại lớp hoặc làm ở nhà. II. CƠ SỞ THỰC TIỄN Ngôn ngữ lập trình Turbo Pascal do nhà bác học Niklaus Wirth sáng lập vào những năm 70 của thế kỷ XX. Đây là ngôn ngữ có cú pháp sảng sủa, dễ hiểu và thường được dạy trong nhà trường và dành cho những người mới học lập trình. Chính vì thế Pascal thường được gọi là "Ngôn ngữ lập trình của học đường". Hai môi trường lập trình trên ngôn ngữ này đang được sử dụng phổ biến hiện nay ở Việt Nam là Turbo Pascal và Free Pascal. Lập trình Turbo Pascal là một ngôn ngữ lập trình có cú pháp chặt chẽ, đơn giản và dễ hiểu, ngôn ngữ lập trình Pascal đang được giảng dạy cho học sinh lớp 8. Turbo Pascal là ngôn ngữ cơ sở để giới thiệu cho học sinh làm quen với kỹ thuật xây dựng chương trình. Quan điểm của tác giả viết ngôn ngữ lập trình là chương trình máy tính được viết để giải quyết các bài toán trong đời sống. Bằng cách đó học sinh sẽ dễ thấy hơn mối liên hệ chặt chẽ lập trình và cuộc sống, cũng nhơ 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. Ngoài ra, nó cũng được dùng để trình bày nhiều chuyên đề khác nữa của tin học trong những năm học tiếp theo. Mỗi học sinh đến với bộ môn tin học ở cấp trung học sơ sở thường cảm thấy khó khăn trong kiến thức lập trình ở chương trình tin học lớp 8. Quả thật như vậy vì với các em, ngôn ngữ lập trình dường như rất xa lạ vì đây là kiến thức đầu tiên trong lập trình mà các em được học. Ngôn ngữ lập trình Pascal có những đặc điểm ưu thế như: ngữ pháp và ngữ nghĩa đơn giản, tính logic cao, cấu trúc chương trình rõ ràng, dễ hiểu, dễ sửa chữa và cải tiến, cùng với sự phát triển của phần mềm tin học người ta nhanh chóng nhận ra sức mạnh của Pascal trong việc xử lý cho các vấn đề hiện đại của tin học. Lập trình Pascal không gắn với bất kỳ một hệ điều hành hay một máy tính nào, nó được gọi là ngôn ngữ lập trình hệ thống vì nó được dùng cho viết hệ điều hành, nó cũng tiện lợi cho việc viết các chương trình xử lý số, văn bản và các cơ sở dữ liệu. Ngôn ngữ lập trình Pascal là một phần mềm có cấu trúc đơn giản và rất được nhiều độc giả quan tâm, cũng chính ở đó có nhiều cuốn sách hay đã ra đời do nhiều tác giả viết. Song với bản thân tôi khi lựa chọn viết đề tài “RÈN LUYỆN KỸ NĂNG PHƯƠNG PHÁP VIẾT CHƯƠNG TRÌNH LẬP TRÌNH TURBO PASCAL CHO HỌC SINH LỚP 8” nhằm ứng dụng ngôn ngữ lập trình Pascal vào chương trình lớp 8 để phát huy hết năng lực viết chương trình của học sinh. Trong quá trình dạy tôi nhận thấy việc tiếp cận các từ khoá hay cấu trúc chương trình của ngôn ngữ lập trình đối với học sinh rất khó khăn, phải làm rất nhiều lần và thực hành rất nhiều tiết các em mới hiểu việc nhập và xuất dữ liệu. Do đó sẽ rất khó khăn để các em hình thành kỹ năng viết một chương trình giải một bài toán thực tế cụ thể. Trong những năm qua ngành giáo dục có phát động phong trào giải toán trên mạng, cuộc thi tin học trẻ dành cho đối tượng học sinh tiểu học, trung học cơ sở. Điều đó đã thúc đẩy tôi rất nhiều trong việc dạy học là làm sao 3 thổi được vào trong các em sự đam mê về lập trình và có khả năng tư duy lập luận tốt trong việc viết chương trình, để từ đó phát triển tài năng của học sinh trong việc đào tạo nhân tài cho đất nước sau này. III. NỘI DUNG, BIỆN PHÁP THỰC HIỆN: 1. Các yêu cầu cơ bản của giáo viên : Giáo viên cần phải nắm vững các phương pháp dạy học Tin học (theo sự đổi mới: kết hợp giữa ôn cũ giảng mới, trong tiết dạy cần kết hợp phương pháp dạy vừa lý thuyết, vừa thực hành...) nhằm phát huy tính tích cực, chủ động của học sinh trong học tập. Để nâng cao chất lượng dạy học môn tin học, giáo viên phải tiếp cận nội dung bài và lựa chọn các phương pháp, xây dựng hệ thống các dạng bài tập lập trình phù hợp với ba đối tượng: giỏi-khá, trung bình, yếu. Từ đó dẫn dắt học sinh tự khám phá kiến thức, không thụ động ghi nhận kiến thức giáo viên cung cấp, phải có sự phối hợp giữa hoạt động dạy và hoạt động học trên cơ sở lấy học sinh làm trung tâm. Để kích thích hứng thú học tập và hoạt động tích cực chủ động của học sinh, giáo viên phải phối hợp nhuần nhuyễn, phù hợp các phương pháp dạy học đồng thời giáo viên phải tác động cho học sinh thấy được môn tin học là cần thiết cho bản thân các em sau này. 2. Các yêu cầu cơ bản của học sinh: Học sinh phải xác định được sách giáo khoa là phương tiện chủ yếu để học sinh học tập. Bên cạnh đó, học sinh phải biết chọn lọc những tài liệu tham khảo phù hợp để học tốt môn tin học. Học sinh phải tích cực chủ động học tập, thực hiện các yêu cầu của giáo viên và chuẩn bị chu đáo ở nhà trước khi đến lớp. Trong quá trình học tập, các em phải tư duy theo sự hướng dẫn gợi mở của giáo viên, phải chủ động quan sát vấn đề, hiện tượng, phối hợp giải quyết, khám phá ra nội dung bài học để thực hành vận dụng đạt hiệu quả cao. Học thì phải hành. Thực hành là thước đo đánh giá tiếp nhận và vận dụng kiến thức. Thực hành thông thường là áp dụng bài tập trên lớp và ở nhà. Vì vậy học sinh phải biết kết hợp lý thuyết với thực hành một cách thành thạo. Thật vậy trong các năm qua huyện nhà đã rất quan tâm đến mảng công nghệ thông tin, nên đã tổ chức rất nhiều đợt thi tin học trẻ về lập trình Pascal và đã dấy lên trong các em phong trào yêu thích môn học, số lượng học sinh tham gia đông, học sinh ham tìm tòi sáng tạo nhiều hơn. Học sinh đang học lập trình Pascal 4 Học sinh đang say mê nghiên cứu về chương trình Pascal Học sinh tham gia dự thi tin học trẻ cấp huyện môn lập trình Pascal 3. Biện pháp tiến hành 3.1 Giới thiệu chung giúp học sinh nắm được về các thành phần cơ bản của ngôn ngữ lập trình Pascal * Bộ chữ viết - Biểu thức- Câu lệnh - Từ khóa a. Bộ chữ viết Bộ chữ viết trong Pascal gồm: + 26 chữ la tinh lớn: A, B, C,…Z + 26 chữ la tinh nhỏ: a, b, c,…z + Dấu gạch dưới: _ 5 + Bộ chữ số thập phân: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 + Ký hiệu toán học: +, -, *, / ,< >, ( ),.. + Ký tự đặc biệt: @, #, !, $, %,… + Dấu khoảng trắng b. Biểu thức (expression) là công thức tính toán mà trong đó bao gồm các phép toán, các hằng, các biến, các hàm và các dấu ngoặc đơn. Trong một biểu thức, thứ tự ưu tiên của các phép toán được liệt kê theo thứ tự sau: + Lời gọi hàm. + Dấu ngoặc () + Phép toán một ngôi (NOT, -). + Phép toán *, /, DIV, MOD, AND. + Phép toán +, -, OR, XOR + Phép toán so sánh =, <, >, <=, >=, <>, IN c. Câu lệnh + Câu lệnh đơn giản: Câu lệnh gán (:=): :=; Lời gọi hàm, thủ tục. + Câu lệnh có cấu trúc Câu lệnh ghép: BEGIN ... END; Các cấu trúc điều khiển: IF.., CASE..., FOR..., REPEAT..., WHILE... + Các lệnh xuất nhập dữ liệu Lệnh xuất dữ liệu Để xuất dữ liệu ra màn hình, ta sử dụng ba dạng sau: (1) WRITE( [, ,...]); (2) WRITELN( [, ,...]); (3) WRITELN; Nhập dữ liệu Để nhập dữ liệu từ bàn phím vào các biến có kiểu dữ liệu chuẩn (trừ các biến kiểu BOOLEAN), ta sử dụng cú pháp sau đây: READLN(, ,..., ); d. Từ khóa 6 Là các từ riêng của Pascal, có ngữ nghĩa đã được xác định, không được dùng nó vào các việc khác hoặc đặt tên mới trùng với các từ khóa: Array, Begin, Const, Div, Do, Else, End, For, If, Mod, Program, String, Then, To,Var, While... - Từ khóa chung: PROGRAM, BEGIN, END - Từ khóa để khai báo: biến, hằng, mảng, xâu kí tự: VAR, CONST, ARRAY, STRING - Từ khóa của lệnh lựa chọn: Câu lệnh điều kiện IF ... THEN ... ELSE - Từ khóa của lệnh lặp với số lần biết trước FOR... TO... DO (đi từ giá trị nhỏ đến giá trị lớn) FOR... DOWNTO... DO (đi từ giá trị lớn đến giá trị bé) - Từ khóa của lệnh lặp với số lần chưa biết trước WHILE... DO - Từ khóa toán tử: DIV: Chia lấy phần nguyên MOD: Chia lấy phần dư - Lệnh dịch chương trình: ALT + F9 - Lệnh chạy chương trình: CTRL +F9 - Để thay đổi vị trí lưu kết quả biên dịch trong bộ nhớ hay tạo tệp chạy trực tiếp ta dùng lệnh: Destination trong bảng chọn Complite. 3.2. Giới thiệu chung về các bước viết một chương của ngôn ngữ lập trình Pascal Phương pháp cơ bản giải các bài toán trong tin học không chỉ dùng để giải một bài toán cụ thể mà còn giải một lớp các bài toán cụ thể thuộc cùng một loại. Bài toán được cấu tạo từ các yếu tố cơ bản: Thông tin vào Xử lý thông tin Thông tin ra. (Output) (Input) (Process) Phương pháp tổng quát để giải một bài toán bằng máy vi tính dựa trên ngôn ngữ Pascal thì cần thực hiện được các bước cụ thể như sau: Bước 1. Xác định các bài toán: Là xác định xem ta phải giải quyết vấn đề gì?, với giả thiết nào đã cho và lời giải cần phải đạt những yêu cầu gì. Khác với bài toán thuần tuý toán học chỉ cần xác định rõ giả thiết và kết luận chứ không cần xác định yêu cầu về lời giải, vì thế 7 từ phát biểu của bài toán, các em phải xác định được đâu là thông tin đã cho (Input) và đâu là thông tin cần tìm (Output). Xác định đúng yêu cầu bài toán là rất quan trọng bởi nó ảnh hưởng tới cách thức giải quyết và chất lượng một lời giải. Một bài toán thực tế thường cho những thông tin khá mơ hồ và hình thức, ta phải phát biểu lại một cách chính xác và chặt chẽ để hiểu đúng bài toán. Bước 2. Mô tả thuật toán: Khi giải một bài toán ta cần phải định nghĩa tập hợp dữ liệu để biểu diễn tình trạng cụ thể. Việc lựa chọn này tuỳ thuộc vào vấn đề cần giải quyết và những thao tác sẽ tiến hành trên dữ liệu vào. Có những thuật toán chỉ thích ứng với một cách tổ chức dữ liệu nhất định, đối với cách tổ chức dữ liệu khác thì kém hiệu quả và không thể thực hiện được. Chính vì thế bước xây dựng cấu trúc dữ liệu không thể tách rời bước tìm kiếm thuật toán giải quyết vấn đề. Bởi thuật toán là một hệ thống chặt chẽ và rõ ràng các quy tắc nhằm xác định một dãy thao tác trên cấu trúc dữ liệu sao cho: Với một bộ dữ liệu vào, sau một số hữu hạn bước thực hiện các thao tác đã chỉ ra, ta đạt được mục tiêu đã định. Từ đó tìm cách giải bài toán và diễn tả bằng các lệnh cần phải thực hiện. Bước 3. Viết chương trình: Dựa vào mô tả thuật toán ở bước 2trên, ta viết chương trình bằng một ngôn ngữ lập trình mà các em đã học (Cụ thể là dùng ngôn ngữ lập trình Turbo Pascal để viết chương trình) 3.3. Phân tích chi tiết nội dung cần viết chương trình: A. XÁC ĐỊNH BÀI TOÁN 1. Khái niệm bài toán Đối với học sinh lớp 8 chương trình học toán của các em đã biết đến các giải phương trình bậc nhất là cao nhất. Nên việc đưa các lớp bài toán vào giải cho các em đang còn một phần nào bị hạn chế. Nhưng bất kỳ một bài toán nào thì chúng ta cũng đọc đề rồi xác địnhđược giả thiết và kết luận: A ® B. Trong đó: A là giải thiết: Điều kiện ban đầu hoặc cái đã cho, đã biết khi bắt đầu giải bài toán. B là kết luận: Mục tiêu cần đạt được hay cái phải tìm, phải làm ra hay là đáp án khi kết thúc bài toán . ®: Suy luận: giải pháp cần xác định hay một chuỗi các thao tác thực hiện từ A đến B. 2. Cách giải bài toán trên máy vi tính Cách giải bài toán trên máy cũng mang đầy đủ các tính chất của bài toán tổng quát trên, nhưng nó lại được diễn đạt theo một ngôn ngữ khác. A: là đưa thông tin vào (Input ) 8 B: là đưa thông tin ra (Output) ®: là chương trình tạo từ các lệnh cơ bản của máy tính cho phép biến đổi từ A đến B. B. TÌM THUẬT TOÁN Thuật toán là một quá trình gồm một dãy hữu hạn các thao tác đơn giản được sắp xếp theo một trình tự xác định sao cho theo đó từ Input của bài toán sẽ tìm ra được Output của bài toán. Một bài toán ta có 3 cách thể hiện thuật toán: Các bước xác định bằng lời, lập sơ đồ khối, dùng một ngôn ngữ lập trình (Pascal) Ví dụ về câu lệnh lặp với số lần biết trước. Thể hiện thuật toán với các cách: Cách 1: Các bước xác định bằng lời: Cho biến đếm gán bởi giá trị đầu thì thực hiện câu lệnh lần 1. Tiếp tục tăng biến đếm lên thì thực hiện câu lệnh lần 2. Tương tự cho đến khi biến đếm bằng giá trị cuối, thực hiện câu lệnh lần cuối và kết thúc thuật toán. Cách 2: Lập sơ đồ khối: Biến đếm:=giá trị đầu Biến đếm>=giá trị cuối Sai Đúng Lệnh cần lặp biến đếm giảm 1 Cách 3: Dùng ngôn ngữ lập trình: For:= to do (câu lệnh); Ví dụ về câu lệnh lặp với số lần chưa biết trước: Thể hiện thuật toán theo các cách sau: 9 Cách1: Các bước xác định bằng lời: Kiểm tra điều kiện của biến, nếu đúng thì thực hiện câu lệnh lần 1. Sau khi thực hiện câu lệnh xong, tiếp tục kiểm tra điều kiện đúng thì thực hiện câu lệnh lần 2. Lặp đi lặp lại câu lệnh đó cho đến khi kiểm tr điều kiện thấy sai kết thúc thuật toán. Cách 2: Lập sơ đồ khối: Sai Điều kiện Đúng Câu lệnh Cách 3 Dùng ngôn ngữ lập trình: While <điều kiện> do C. VIẾT CHƯƠNG TRÌNH Viết chương trình (lập trình) là dùng ngôn ngữ máy vi tính cụ thể là ngôn ngữ lập trình Turbo Pascal để diễn tả thuật toán, cấu trúc dữ liệu thành câu lệnh để máy tính có thể thực hiện được và giải quyết đúng bài toán mà người lập trình mong muốn. 1. Kỹ năng lập trình · Rèn luyện được cho học sinh kỹ năng viết chương trình thành công nhờ thuật toán bằng một ngôn ngữ lập trình. Đã gọi là kỹ năng thì chỉ có thể có được thông qua rèn luyện tích cực. Kinh nghiệm cho thấy một thuật toán do viết chương trình vụng về, lộn xộn thì khi chạy trên máy tính có thể cho kết quả không như mong muốn. 2. Phát triển chương trình bằng cách tinh chế từng bước Một bài toán ta có thể đưa ra nhiều cách giải khác nhau, song là một giáo viên thì chúng ta cần giúp học sinh viết chương trình làm sao người xem nhìn vào có thể dễ hiểu được bài toán đó là gì? Do đó, việc tinh chỉnh các bước cho bài toán trong máy tính là phương pháp khoa học, có hệ thống giúp ta phân tích các thuật toán và cấu trúc dữ liệu từ đó thành một chương trình. Muốn lập trình giỏi không phải chỉ cần nắm vững ngôn ngữ lập trình là đủ. Mà vấn đề cốt yếu là biết phương pháp phát triển dần dần để chuyển các ý tưởng ra thành chương trình hoàn chỉnh. 10 3. Phương pháp tinh chế từng bước Phương pháp tinh chế từng bước là một thể hiện của tư duy giải quyết vấn đề từ trên xuống, giúp cho người lập trình có được một định hướng thể hiện trong phong cách viết chương trình tránh việc mò mẫm, xoá đi viết lại nhiều lần. Vì thế một chương trình bắt đầu được viết bằng lời tự nhiên (tiếng việt) thể hiện sự phân tích tổng thể của người lập trình, được thể hiện ở từng bước sau các câu lệnh được phân tích chi tiết hơn. Bằng những lời khác nhau, tương ứng với sự phân tích công việc thành các việc nhỏ, chi tiết hơn, dễ hiểu và chỉnh xác hơn. Người lập trình có thể đưa ra phương pháp tinh chỉnh từng bước, thể hiện tư duy để giải quyết những vấn đề của bài toán từ trên xuống. Trong đó, các bước hướng về phương pháp lập trình tối ưu, sáng sửa làm cho bài toán được giải một cách gọn gàng nhất, chính xác nhất. D. CÁC VÍ DỤ MINH HOẠ Trước khi để học sinh viết được một chương trình hoàn chỉnh bằng ngôn ngữ lập trình Pascal, giáo viên cần yêu cầu học sinh cần phải nắm vững các kiến thức cơ bản như: việc dùng từ khoá là phải dùng đúng theo qui tắc đề ra như các từ khoá: Begin, End, Program. Nắm vững cấu trúc của một chương trình viết bằng ngôn ngữ lập trình Turbo Pascal gồm có ba phần: - Phần tiêu đề - Phần khai báo - Phần thân chương trình (Gồm các thủ tục và các câu lệnh) Được quy định bằng cú pháp sau: Program.....; (Đặt tên cho chương trình) Uses.....; (khai báo các unit sử dụng trong chương trình) Const...; (Khai báo các hằng trong chương trình) Type...; (Định nghĩa các kiểu biến) Var...;(khai báo các biến sử dụng trong chương trình) Procedure...;(Các chương trình con sử dụng trong chương trình) Function...; (Các hàm sử dụng trong chương trình) Cách sử dụng đúng các câu lệnh trong một chương trình Pascal, sau phần mô tả dữ liệu là phần mô tả các câu lệnh. Các câu lệnh có nhiệm vụ xác định các công việc mà máy tính phải thực hiện để xử lý các dữ liệu đã được mô tả và khai báo. Câu lệnh được chia thành câu lệnh đơn giản và câu lệnh có cấu trúc. - Câu lệnh đơn giản 11 + Vào dữ liệu : Read, Readln + Ra dữ liệu : Write, Writeln + Lệnh gán : ":= " - Câu lệnh có cấu trúc + Lệnh ghép : BEGIN .. END + Lệnh chọn : IF .. THEN .. ELSE + Lệnh lặp : FOR .. TO .. DO WHILE .. DO Các câu lệnh phải được ngăn cách với nhau bởi dấu chấm phẩy ( ; ) và các câu lệnh có thể viết trên một dòng hay nhiều dòng. Hiểu và sử dụng đúng các cách khai báo biến, khai báo hằng như: Khai báo hằng - Hằng là một đại lượng có giá trị không thay đổi trong suốt chương trình. - Cú pháp: CONST = ; Khai báo biến - Biến là một đại lượng mà giá trị của nó có thể thay đổi trong quá trình thực hiện chương trình. - Cú pháp: VAR [,,...] : ; Từ đó mới hình thành cho các em kỹ năng viết chương trình bằng ngôn ngữ lập trình thông qua việc nắm bắt các khái niệm cơ bản, quy trình viết một chương trình hoàn chỉnh. Một số ví dụ minh hoạ từ các bài toán đã được học trong chương trình môn toán ở các lớp 6,7,8. Ví dụ 1: Tính diện tích hình chữ nhật. 1. Ta cần xác định cho bài toán: + Input (Thông tin vào): Chiều dài là cạnh a, chiều rộng là cạnh b + Output (Thông tin ra): Kết quả diện tích khi đưa a, b vào + Các thông tin cần chế biến thông tin như: ( Ví dụ: Lần lượt đưa a, b vào cho a=3, b=4) Áp dụng công thức tính diện tích hình chữ nhật: a*b Kết quả in ra là 12. 12 2. Ta cần viết thuật toán của bài toán: Bước 1: CD a, CR b Bước 2: s a*b và kết thúc Ở đây chương trình bắt đầu bằng lời tiếng việt như: CD a, có nghĩa là gán chiều dài bằng a (hay là nhập chiều dài) CR b có nghĩa là gán chiều rộng bằng a (hay là nhập chiều dài) Giáo viên phân tích chi tiết cụ thể, từ đó mới bắt đầu hướng dẫn các em viết một chương trình cụ thể bằng ngôn ngữ lập trình thông qua phân tích trên 3. Viết chương trình cho bài toán sử dụng ngôn ngữ lập trình Pascal: Sau khi học sinh đã xác định được bài toán, viết được chương trình, giáo viên cho học sinh thực hành trên máy tính, chạy thử để kểm tra kết quả và từ đó khắc sâu kiến thức viết một chương trình đơn giản cho học sinh. Để viết được chương trình cần bám sát vào các bước của thuật toán: ở bước 1 để nhập được chiều dài và chiều rộng của hình chữ nhật, trước hết cần khai báo biến chiều dài, chiều rộng sử dụng lệnh khai bóa biến là var a,b:integer; để nhập chiều dài và chiều rộng sử dụng lệnh readln(a,b); ở bước 2 tính diện tích sử dụng lệnh gán s:=a*b; lệnh in ra màn hình write(s);. Tiếp theo giáo viên bắt đầu đưa ra các bài toán khó hơn. Ví dụ 2: Cho 2 số tự nhiên a, b. Tìm ước số chung lớn nhất của chúng. 1. Xác định bài toán: + Xác định thông tin vào (Input): hai số tự nhiên a, b 13 + Xác định thông tin ra (Output): số tự nhiên d thoả mãn: d là ước của a và d là ước của b d là số lớn nhất trong tập các ước chung của a, b + Xác định các thao tác chế biến thông tin Xây dựng hữu hạn các thao tác cho phép tính được d từ a và b. ( Ví dụ: Nhập a =16; b= 24 và d =8) 2. Viết thuật toán của bài toán Bước 1: Nhập 2 số nguyên dương là a, b Bước 2: So sánh giá trị a và b. Nếu a bằng b thì sang bước 3, ngược lại a khác b thì sang bước 4 Bước 3: Tìm được ước số chung là a và kết thúc chương trình Bước 4: Nếu a lớn hơn b thì ước số chung lớn nhất là a và quay trở lại bước 2. Ngược lại ước số chung là b và quay trở lại bước 2 3. Viết chương trình hoàn chỉnh (dùng ngôn ngữ lập trình Pascal). Giáo viên giải thích việc sử dụng các bước của thuật toán để viết chương trình là rất quan trọng: Sử Sửdụng dụngbước bước1 1của củathuật thuậttoán toán Sử dụng bước 2 của thuật toán Sử dụng bước 4 của thuật toán Sử dụng bước 3 của thuật toán Ở ví dụ 2 giáo viên lại khắc sâu cho các em chú ý về việc sử dụng câu lệnh điều kiện và câu lệnh lặp trong khi viết chương trình, cần đọc kỹ đề bài và từ đó xây dựng thuật toán một cách chính xác trước khi viết chương trình hoàn chỉnh. 14 Lưu ý trong khi viết chương trình thì câu lệnh, hay từ khoá viết bằng chữ thường hay chữ in hoa đều được. Ở ví dụ 1 chương trình cách viết các câu lệnh và từ khoá dùng bằng chữ thường, ở ví dụ 2 các câu lệnh và từ khoá được dùng viết bằng chữ in hoa. Trong quá trình sử dụng thuật toán để viết chương trình đôi khi các em cần phải chú ý từng bước của thuật toán để bài toán khi chạy có kết quả đúng. Ví dụ 3: Viết chương trình giải phương trình bậc nhất ax+b=0 với a, b được nhập vào từ bàn phím. 1. Xác định bài toán: + Input: Cho hai số a, b + Output: Nghiệm của phương trình bậc nhất 2. Viết thuật toán: Bước 1: Nhập hai số a, b Bước 2: Nếu b= 0 chuyển tới bước 4 Bước 3: Tính nghiệm của phương trình x= -b/a và chuyển tới bước 5 Bước 4: Nếu c ≠ 0, thông báo phương trình đã cho vô nghiệm, ngược lại (c =0), thông báo phương trình vô số nghiệm. Bước 5: Kết thúc. 3. Viết chương trình hoàn chỉnh (dùng ngôn ngữ lập trình Pascal) 15 Với chương trình trên hoàn toàn có thể chạy được song kết quả sẽ không đúng khi nhập dữ liệu a, b vào vì các em đã sử dụng sai các bước của thuật toán, sau khi nhập dữ liệu ở bước 1 cần xét điều kiện b=0 ở bước 2 nhưng ở chương trình các em lại sử dụng bước 3 trước bước 2 do đó khi chạy cho kết quả sai. Do vậy khi viết chương trình các em phải tuân thủ theo từng bước mà đã viết từ thuật toán, ở chương trình trên khi nhập a, b vào thì không kiểm tra hết các điều kiện của a, b nên đưa ra kết quả sai, vì vậy ta cần phải sắp xếp lại thuật toán để cho một kết quả đúng như yêu cầu, giáo viên hướng dẫn học sinh cách thực hiện thông qua thuật toán đã xác định được trên. Vậy trong quá viết chương trình, sau khi dịch chương trình mặc dầu máy vẫn báo kết quả dịch đúng, nhưng cần phải chạy thử một vài trường hợp, nếu kết quả sai thì cần phải xem lại cách sắp xếp thứ tự câu lệnh trong chương trình, từ đó giáo viên hướng dẫn cho học sinh viết lại chương trình để cho ra kết quả luôn đúng. Với các nội dung cơ bản về lý thuyết và từng bước hình thành kỹ năng lập trình, giáo viên yêu cầu học sinh phải từng bước nắm chắc kỹ năng lập trình tuần tự theo các bước thông qua sơ đồ sau: 1 2 3 16 Sau khi nhắc lại các bước giải giáo viên lại tiếp tục lấy một số ví dụ mà học sinh đã được học qua môn toán các lớp 6, 7, 8. Ví dụ 4: Viết chương trình nhập b số dương a, b, c từ bàn phím kiểm tra và in ra màn hình kết quả kiểm tra ba số đó có thể là độ dài cạnh của một tam giác hay không? 1. Xác định bài toán: + Input: Cho ba số dương a, b, c + Output: Thông báo “a, b, c có thể là ba cạnh của một tam giác” hoặc thông báo “a, b, c không thể là ba cạnh của một tam giác” 2. Viết thuật toán: Bước 1: Nhập ba số a > 0, b > 0, c > 0; Bước 2: Tính a + b. Nếu a + b ≤ c; chuyển tới bước 6. Bước 3: Tính b + c. Nếu b + c ≤ a; chuyển tới bước 6. Bước 4: Tính a + c. Nếu a + c ≤ b; chuyển tới bước 6. Bước 5: Thông báo “a, b, c có thể là ba cạnh của một tam giác” và kết thúc thuật toán. Bước 6: Thông báo “a, b, c không thể là ba cạnh của một tam giác” và kết thúc thuật toán. 3. Viết chương trình hoàn chỉnh (dùng ngôn ngữ lập trình Pascal) 17 Ví dụ 5: Viết chương trình tính tổng các số tự nhiên từ 1 đến N (với N được nhập từ bàn phím). 1. Xác định bài toán: + Input: Nhập n số tự nhiên + Output: Tính tổng n số tự nhiên đó. 2. Viết thuật toán Bước 1: S 0; i 0; Bước 2: i i + 1; Bước 3: Nếu i ≤ n; thì s s + i và quay lại bước 2, ngược lại kết thúc Giáo viên chú ý cho học sinh i trong thuật toán là một biến đếm vì trong chương trình yêu cầu nhập N số tự nhiên, nên cần một biến đếm đi từ 1 cho đến N để tính tổng (giáo viên giải thích: ban đầu tổng S = 0, biến đếm i =0, sau khi tăng biến đếm lên 1 thì tổng = 0 + 1 = 1; tổng S =1, tăng biến đếm lên 2 thì tổng = 1 + 2 = 3, tổng S = 3; tương tự như thể cho đến n). 3. Viết chương trình hoàn chỉnh (dùng ngôn ngữ lập trìn Pascal) Ví dụ 6: Về hình học: Ba số a, b, c được gọi là bộ ba số Py-ta-go nếu a +b =c2. Số tự nhiên n ≥ 3 là số Py-ta-go nếu n2=(n - 1)2 + (n - 22. 2 2 a, Viết chương trình để nhập một số tự nhiên từ bàn phím và in ra màn hình thông báo số đó có phải là số Py-ta-go hay không. 18 b, Viết chương trình để nhập ba số tự nhiên a, b, c từ bàn phím và in ra màn hình thông báo chúng có là bộ ba số Py-ta-go hay không. Câu a: 1. Xác định bài toán Input: Nhập một sốnguyên Output: Các số k ≤ n thỏa mãn k2 = (k - 2)2 + (k - 1)2 2. Viết thuật toán a, Bước 1: Nhập số n Bước 2: Nếu n ≤ 2, thông báo " n ≤ 2, không hợp lệ" và chuyển tới bước 8. Bước 3: k 3 và i 0 (i đếm các số Py-ta-go tìm được) 2 Bước 4: Nếu k = (k - 2)2 + (k - 1)2, in ra số k và i i+1. Bước 5: Gán k k+1. Bước 6: Nếu k ≤ n quay về bước 4. Bước 7: Thông báo " Có i số Py-ta-go nhỏ hơn hoặc bằng n". Bước 8: Kết thúc thuật toán. c. Viết chương trình bằng ngôn ngữ lập trình Pascal Câu b 1. Xác đinh bài toán 19
- Xem thêm -