Đề tài skkn một số phương pháp giúp học sinh tìm hiểu về chương trình con

27 1 0
Đề tài skkn một số phương pháp giúp học sinh tìm hiểu về chương trình con

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

PHỤ LỤC I NỘI DUNG GIẢI PHÁP Trang 2 A Mục đích và sự cần thiết Trang 2 B Phạm vi triển khai thực hiện Trang 4 C Nội dung Trang 4 DPHỤ LỤC I. NỘI DUNG GIẢI PHÁP Trang 2 A. Mục đích và sự cần thiết Trang 2 B. Phạm vi triển khai thực hiện Trang 4 C. Nội dung Trang 4 D. Danh sách đồng tác giả Trang 27 C. Nội dung Trang 4 1. Tình trạng giải pháp đã biết Trang 3 2. Nội dung giải pháp Trang 4 2.1. Mục đích cụ thể chi tiết giải pháp Trang 4 2.2. Mô tả chi tiết nội dung và giải pháp thực hiện Trang 4 2.3. Lí thuyết Trang 4 2.4. Bài tập Trang 8 3. Khả năng áp dụng của giải pháp Trang 26 4. Kết quả thu được Trang 26 5. Phạm vi ảnh hưởng của giải pháp Trang 27 6. Kiến nghị, đề xuất Trang 27 SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐIỆN BIÊN TRƯỜNG THPT MÙN CHUNG TUẦN GIÁO GIÁO VIÊN: HOÀNG THỊ NGUYỆT TIN HỌC PHỤ LỤC I. NỘI DUNG GIẢI PHÁP Trang 2 A. Mục đích và sự cần thiết Trang 2 B. Phạm vi triển khai thực hiện Trang 4 C. Nội dung Trang 4 D. Danh sách đồng tác giả Trang 27 C. Nội dung Trang 4 1. Tình trạng giải pháp đã biết Trang 3 2. Nội dung giải pháp Trang 4 2.1. Mục đích cụ thể chi tiết giải pháp Trang 4 2.2. Mô tả chi tiết nội dung và giải pháp thực hiện Trang 4 2.3. Lí thuyết Trang 4 2.4. Bài tập Trang 8 3. Khả năng áp dụng của giải pháp Trang 26 4. Kết quả thu được Trang 26 5. Phạm vi ảnh hưởng của giải pháp Trang 27 6. Kiến nghị, đề xuất Trang 27 PHỤ LỤC I. NỘI DUNG GIẢI PHÁP Trang 2 A. Mục đích và sự cần thiết Trang 2 B. Phạm vi triển khai thực hiện Trang 4 C. Nội dung Trang 4 D. Danh sách đồng tác giả Trang 27 C. Nội dung Trang 4 1. Tình trạng giải pháp đã biết Trang 3 2. Nội dung giải pháp Trang 4 2.1. Mục đích cụ thể chi tiết giải pháp Trang 4 2.2. Mô tả chi tiết nội dung và giải pháp thực hiện Trang 4 2.3. Lí thuyết Trang 4 2.4. Bài tập Trang 8 3. Khả năng áp dụng của giải pháp Trang 26 4. Kết quả thu được Trang 26 5. Phạm vi ảnh hưởng của giải pháp Trang 27 6. Kiến nghị, đề xuất Trang 27

PHỤ LỤC I NỘI DUNG GIẢI PHÁP Trang A Mục đích cần thiết Trang B Phạm vi triển khai thực .Trang C Nội dung Trang D Danh sách đồng tác giả .Trang 27 C Nội dung Trang Tình trạng giải pháp biết .Trang Nội dung- giải pháp Trang 2.1 Mục đích cụ thể chi tiết giải pháp Trang 2.2 Mô tả chi tiết nội dung giải pháp thực .Trang 2.3 Lí thuyết Trang 2.4 Bài tập .Trang Khả áp dụng giải pháp .Trang 26 Kết thu .Trang 26 Phạm vi ảnh hưởng giải pháp Trang 27 Kiến nghị, đề xuất .Trang 27 I NỘI DUNG GIẢI PHÁP A Mục đích, cần thiết Ngày nay, giới diễn q trình tin học hố nhiều lĩnh vực hoạt động xã hội loài người đem lại nhiều hiệu to lớn Việc sử dụng máy tính khơng cịn bó hẹp viện nghiên cứu, trường đại học, trung tâm máy tính mà cịn mở rộng quan, tổ chức kinh tế, gia đình Song song với trình trên, việc giảng dạy Tin học trường đại học, THPT đẩy mạnh đôi với việc tăng cường trang bị máy vi tính Đảng Nhà nước ta nhận thấy tầm quan trọng ngành Tin học đưa môn học vào trường phổ thông môn học khác năm học 2006-2007.Chính vậy, giáo viên giảng dạy môn Tin học trường phổ thông, việc tìm hiểu, nghiên cứu vấn đề Tin học, với việc tìm biện pháp giảng dạy Tin học nhà trường phổ thông công việc cần phải làm thường xuyên Đổi phương pháp dạy học vấn đề quan trọng, với môn Tin học đưa vào giảng dạy trường phổ thông Là giáo viên giảng dạy môn này, theo khơng phải tìm nhiều tốn khó, toán hay để giảng dạy cho học sinh Mà vấn đề đặt cần phải tích cực tìm tịi, sáng tạo việc đưa tốn để giúp cho học sinh có hứng thú, tìm tịi sáng tạo q trình giài học tập, từ biết vận dụng linh hoạt tình cụ thể ngồi thực tế Các cách thiết kế giảng nhằm mục đích áp dụng phương pháp bồi dưỡng cho học sinh lực ham muốn học hỏi, tư sáng tạo, lực tự giải vấn đề, rèn luyện phát triển lực tự học sáng tạo, nghiên cứu, nghĩ làm việc cách tự chủ… Đồng thời để thích ứng với phát triển tư học sinh xã hội tiếp cận với công nghệ tiên tiến xã hội, giới Bên cạnh đó, kỹ thuật dạy học mới, vai trị người thầy có thay đổi là: “hướng dẫn học sinh biết tự tìm hướng giải vấn đề nảy sinh trình học tập, biết cách làm việc độc lập, làm việc tập thể Thầy người định hướng, người cố vấn giúp học sinh tự đánh giá, giúp học sinh ln đường tìm hiểu, lĩnh hội kiến thức…” Xuất phát từ thực tiễn giảng dạy trường THPT MÙN CHUNG thấy rằng, để đạt hiệu cao phần học, tiết học cần có cách thiết kế giảng cho phù hợp với nội dung kiến thức; phương pháp, phương tiện dạy học phải phù hợp với đối tượng học sinh Để qua phần học, tiết học học sinh thích thú với kiến thức mới, qua hiểu kiến thức học lớp, đồng thời học sinh thấy tầm quan trọng vấn đề việc ứng dụng kiến thức trước hết để đáp ứng u cầu mơn học, sau việc ứng dụng vào cơng việc thực tiển đời sống xã hội (nếu có) Trong thời đại thông tin bùng nổ ngày nay, việc lập chương trình tự hoạt động cho máy tính, máy gia dụng cần thiết Và để làm việc cần có q trình nghiên cứu, học tập ngơn ngữ lập trình lâu dài, qua người lập trình chọn ngơn ngữ lập trình thích hợp Tuy nhiên thứ có điểm khởi đầu nó, với học sinh việc học Pascal khởi đầu cho việc tiếp cận ngơn ngữ lập trình bậc cao, qua giúp em hình dung đời, cấu tạo, hoạt động ích lợi chương trình hoạt động máy tính, máy tự động…Quá giúp em có thêm định hướng, niềm đam mê tin học, nghề nghiệp mà em chọn sau Đồng thời Pascal ngơn ngữ có cấu trúc thể yếu tố: Cấu trúc mặt liệu, cấu trúc mặt lệnh, cấu trúc mặt chương trình Tuy nhiên, mơn học bậc học THPT mơn Tin học lớp 11 em học sinh cho mơn học “khó nhất” môn học Từ việc em người sử dụng phần mềm sẵn có như: hệ điều hành, sọan thảo văn Word, bảng tính Excel, phần mềm học tập, nghe nhạc hay chơi game… em lại người phải tìm lời giải cho toán, bước cho máy tính thực viết chương trình để tạo sản phẩm phần mềm cho người khác sử dụng bước khởi đầu, Turbo Pascal ngơn ngữ lập trình có cấu trúc, dùng phổ biến nước ta cơng tác giảng dạy, lập trình tính tốn, đồ họa Turbo Pascal dùng chương trình giảng dạy Tin học hầu hết trường đại học, cao đẳng, trung học phổ thơng mệnh danh “ngôn ngữ học đường” Các em học sinh phải làm quen với nhiều kiểu liệu mà mơn học khác khơng có, nhiều học sinh cịn bỡ ngỡ khơng hiểu kiểu số nguyên mà lại chia làm nhiều kiểu byte, integer, word, … mà toán học gồm số nguyên âm nguyên dương Hoặc loại thông tin hình ảnh, âm thanh… xử lý Kiến thức khó, học sinh sợ học mơn Tin học 11, kết giảng dạy thấp, lớp học sinh yếu môn tự nhiên, có điều kiện sử dụng máy tính Người thầy, phải làm để khắc phục điều này? Để khắc phục điều đó, theo tơi cần phải tìm tịi, nghiên cứu tìm tốn phù hợp, kích thích độc lập, tích cực học sinh học tập Học sinh tự tìm ý tưởng sáng tạo vận dụng thiết thực vào sống thực tế nhu cầu nảy sinh, em tự hồn thành ý tưởng Trên sở mà học sinh học tập mơn lập trình Pascal, để giúp cho học sinh nhìn nhận vấn đề cách tích cực hơn, sáng tạo giúp cho em u thích nhiều ngơn ngữ lập trình Pascal Để thực phần mục đích mơn học, mục đích việc thực giải pháp trên, chọn đề tài “Một số phương pháp giúp học sinh tìm hiểu chương trình con”, giúp em nắm kiểu liệu có cấu trúc – phân loại – cách viết chương trình (Chương VI, 17, 18, tin học 11) B Phạm vi triển khai thực hiện: Giáo viên tin học học sinh lớp 11 trường THPT Mùn Chung C Nội dung Tình trạng giải pháp biết - Giải pháp thực đơn vị: + Ưu điểm: học sinh nắm kiến thức bản: cấu trúc, lợi ích cách viết chương trình con, vận dụng chương trình vào tập, tốn tính tốn mức độ đơn giản + Khuyết điểm: học sinh chưa phát huy hết khả phân tích, khả tư lập trình, khả ứng dụng tốn có sử dụng chương trình con, chưa giải toán nâng cao - Giải pháp thực đơn vị: + Đưa vấn đề Bài 17- 18, tin học 11, đưa số ví dụ minh họa cụ thể để chứng minh lợi ích chương trình con, ví dụ vận dụng cụ thể vào viết chương trình : hàm thủ tục Và hình thành học sinh kỹ phân tích, xử lý, vận dụng vấn đề liên quan đến tốn có sử dụng chương trình con, ứng dụng chương trình trình lập trình chương trình đơn giản, nâng cao sau Nội dung giải pháp 2.1 Mục đích cụ thể chi tiết giải pháp - Khi học sinh học 17 " Phân loại cấu trúc chương trình con" 18 '' Một số ví dụ cách viết chương trình con", học sinh có nhiều khó khăn, chưa xác định chương trình con, chương trình dùng để làm gì? trước học viết chương trình Mà tốn khơng cần sử dụng chương trình viết chương trình giải bình thường => mà lại phải viết chương trình con? - Ở Bài 17 18 giáo viên minh chứng điều thắc mắc mơ hồ, minh chứng lợi ích, cách viết sử dụng chương trình qua ví dụ tốn cụ thể 2.2 Mô tả chi tiết nội dung giải pháp thực - Nêu cách lập trình giải số tốn viết chương trình (khơng sử dụng chương trình con) so sánh với chương trình (viết dạng chương trình con) => để học sinh hiểu rõ lợi ích, cấu trúc, sử dụng chương trình Pascal => từ tự giải số tốn tương tự 2.3 LÍ THUYẾT (Tóm tắt lí thuyết) - Kiến thức: giúp học sinh tìm hiểu "Chương trình con" ví dụ cụ thể => học sinh làm quen " khái niệm cấu trúc khai báo chương trình con" Từ ví dụ => cáclợi ích chương trình con=> từ giúp học sinh làm quen phần kiến thức => "Cách viết sử dụng chương trình " 2.3.1 Khái niệm cấu trúc khai báo chương trình Khái niệm chương trình con: - Ý tưởng: từ toán ban đầu (bài toán lớn) ta chia toán ban đầu thành toán nhỏ, tốn nhỏ chia tiếp thành toán nhỏ hơn, chia đến toán đơn giản ta dừng Vậy tốn nhỏ ta viết dạng chương trình - Mơ tả ý tưởng sơ đồ: Bài toán ban đầu Bài toán Bài toán BT1.1 BT1.2 BT1.n BT2.1 BT2.2 Bài toán n BT2.n BTn.1 BTn.2 BTn.n - Mỗi tốn xây dựng dạng chương trình Ví dụ: Bài tốn QUẢN LÍ HỌC SINH (bài toán ban đầu) - Chia toán thành toán nhỏ - Mỗi toán nhỏ xây dựng chương trình BT: QUẢN LÍ HỌC SINH Nhập TTHS CTC Sửa TTHS CTC Xóa TTHS CTC Tìm kiếm TTHS CTC Bổ Sung TTHS CTC - Từ đó: => khái niệm: Chương trình dãy lệnh mơ tả số thao tác định thực (được gọi) từ nhiều vị trí chương trình Phân loại cấu trúc chương trình 2.1 Phân loại - Hàm (function): chương trình thực số thao tác trả giá trị qua tên VD: length(s), SQR(x)… -Thủ tục (procedure): chương trình thực tháo tác định không trả giá trị qua tên VD: Write , readln 2.2 Cấu trúc chương trình a Cấu trúc thủ tục: Procedure [(danh sách tham số)]; [] Begin []; End; PROGRAM  Tên_chương_trình; USES CRT; CONST  ; VAR       ;  PROCEDURE  THUTUC[(Các tham số)]; [Khai báo Const, Var] BEGIN             END; BEGIN {Chương trình chính}                         THUTUC[( )]; END b Cấu trúc hàm: - Hàm có cấu trúc tương tự thủ tục, nhiên có khác phần đầu - Khai báo phần đầu hàm sau: Function [(danh sách tham số)]:; - Kiểu liệu kiểu liệu giá trị mà hàm trả vể kiểu: integer, real, char, boolean, string - Khác với thủ tục, thân hàm cần có lệnh gán giá trị cho tên hàm: := ;  Function  [(Các tham số)]:; [Khai báo Const, Var] BEGIN                         :=; END; PROGRAM  Tên_chương_trình; USES CRT; CONST  ; VAR       ;   FUNCTION  HAM[(Các tham số)]:; [Khai báo Const, Var] BEGIN                         HAM:=; END;  BEGIN {Chương trình chính}            A:= HAM[( )];             END => Chính xác hóa khái niệm thủ tục hàm Thủ tục Khơng có tham chiếu Chương trình Tham trị Hàm Có tham chiếu Tham biến - Bảng so sánh hàm thủ tục Hàm - Kết toán trả về 1 giá trị Thủ tục - Kết tốn khơng trả giá trị (kiểu vô hướng, kiểu string) - Lời gọi CTC cần nằm biểu thức tính tốn trả về nhiều giá trị hoặc trả về  kiểu liệu có cấu trúc (Array, File) VD: hàm học - Lời gọi CTC không nằm biểu thức tính tốn - SQRT(25)=5 VD thủ tục học - SQR (3) = - Readln(a,b,c): nhập ba số a,b,c từ bàn phím - Length('chao ban') =7 … - Write(' hello! ban'): in dòng chữ: 'hello! ban' hình - Delete ('chao',1,2) = 'ao' … c Một số khái niệm tham số hình thức, tham biến, tham trị: - Ví dụ: Var b: Integer ; h Char; Procedure inso(a:integer; ch:char); Begin     {các lệnh CTC} End; {gọi} BEGIN inso(20,'h'); {lời gọi } b:= 13; ch:='a'; inso(b,h); {lời gọi } END Từ ví dụ đưa khái niệm: tham số hình thức, tham biến, tham trị – Tham số hình thức (đối) tham số sau tên hàm thủ tục khai báo VD: Procedure inso(a:integer; ch:char); {a,ch tham số hình thức} – Tham biến: tham số khai báo sau từ khóa var Các tham số thực phải biến không giá trị Tham biến thay đổi CTC sau khỏi CTC giữ giá trị thay đổi VD: inso(b,h); {b,h tham số biến } – Tham trị: tham số khai báo mà khơng đứng sau từ khóa var Các tham số thực giá trị, hằng, biến Tham trị thay đổi ctc sau kết thúc ctc giá trị trở ban đầu VD: Inso(20,'h') 2.4 BÀI TẬP 2.4.1 Cách viết sử dụng thủ tục a Minh chứng xóa bỏ hạn chế câu lệnh lặp lặp lại Bài tập 1: Viết chương trình in hình hình chữ nhật sau: ' +++++++++++++++' '+ +' ' +++++++++++++++' GV gọi HS lên bảng viết chương trình => từ GV u cầu HS nhận xét : + Chương trình dài + Câu lệnh giống lặp lặp lại nhiều lần GV khắc phục hạn chế chương trình ta sử dụng chương trình con; GV hỏi sử dụng chương trình thủ tục hay hàm? sao? + HS => Sử dụng thủ tục Vì đầu hình chữ nhật giá trị nên sử dụng thủ tục => Viết chương trình(sử dụng thủ tục) Khơng sử dụng chương trình Sử dụng chương trình (thủ tục) program bai1_a; program bai1_b; uses crt; uses crt; begin Procedure VEHCN; clrscr; begin writeln('++++++++++++++'); writeln('++++++++++++++'); writeln('+ writeln('+ +'); +'); Writeln('++++++++++++++'); Writeln('++++++++++++++'); Writeln; end; writeln('++++++++++++++'); BEGIN writeln('+ clrscr; +'); Writeln('++++++++++++++'); VEHCN; Writeln; writeln; writeln('++++++++++++++'); VEHCN; writeln('+ writeln; +'); Writeln('++++++++++++++'); VEHCN; Writeln; writeln; writeln('++++++++++++++'); VEHCN; writeln('+ readln; +'); Writeln('++++++++++++++'); END readln; End => Hạn chế: Bài 1_a: Chương trình (khơng sử dụng chương trình con) câu lệnh lặp lặp lại nhiều lần => Khắc phục: Bài 1_b: sử dụng chương trình (dạng thủ tục) việc lặp lại lặp lại câu lệnh tương tự không xảy Bài tập 2: Viết chương trình in hình chữ nhật theo kích thước bất kì: - GV hướng dẫn tương tự yêu cầu nhập kích thước bất kì: VD: Hình thứ có kích thước là: chiều dài = 5, chiều rộng =10 Hình thứ hai có kích thước là: chiều dài = 20, chiều rộng =10 - GV yêu cầu HS: Viết hai đoạn chương trình để vẽ hai hình chữ nhật có kích thước khác - GV có cách mà viết hai đoạn lệnh tương tự khơng? - HS: Sử dụng chương trình cần viết đoạn lệnh vẽ hình chữ nhật thứ nhất, cịn hình thứ hai cách gọi tên CTC truyền tham số vào - Minh chứng qua chương trình đây: Khơng sử dụng chương trình Sử dụng chương trình (thủ tục) PROGRAM bai2_a; PROGRAM bai2_b; USES CRT; USES CRT; VAR chdai, chrong: BYTE; VAR A,B: BYTE; i,j:integer; BEGIN PROCEDURE VEHCN(Chdai, chrong:integer); chdai:=5; chrong:=10; var i,j:integer; writeln; begin for i:= to chdai Write('*') ; {ve canh tren} writeln; writeln; for j:=1 to chrong-2 ben} {ve canh for i:= to chdai Write('*') ; {ve canh tren} writeln; for j:=1 to chrong-2 {ve canh 10 ',m2:0:2); Writeln('Hinh chu nhat thu ba:'); Writeln('Chu vi bang : ',c3:0:2); Writeln('Dien tich bang : ',d3:0:2); Writeln('Duong cheo bang: ',m3:0:2); Readln End => Hạn chế: Chương trình để thực yêu cầu đề bài, ta phải viết viết lại ba dịng liên tiếp tính chu vi, diện tích đường chéo hình chữ nhật Giả sử phải tính đến n hình chữ nhật vấn đề thực phức tạp Trong toán ta cịn chưa có phần kiểm tra điều kiện nhập vào hình Nếu có thêm điều kiện này, chắn chương trình cịn dài Vấn đề đặt là: làm xóa bỏ hạn chế này? => Khắc phục: Ở đây, ta hướng dẫn cho học sinh sử dụng chương trình để khắc phục hạn chế Thay phải viết nhiều lần lệnh nhập, tính tính lại cho hình ta viết thủ tục: Thủ tục nhập hai cạnh hình chữ nhật Thủ tục Tính ba giá trị cho hình b Một số ví dụ củng cố cách viết gọi thủ tục Bài tập Xuất phát, ta cho học sinh thực toán sau: “Viết chương trình đổi xâu ký tự thành chữ HOA” Var x:String; Procedure Doi(x: String); Var d, i:Integer; Begin d := 0; Write('Doi sang chu hoa: '); For I := to Length(x) Do Write(Upcase(x[i])); End; 13 Begin Write('Nhap xau: '); Readln(x); Doi(x); Readln End - Ngược lại, ta đặt câu hỏi: Nếu ta cần đổi xâu ký tự thành xâu chữ thường làm nào? -Học sinh biết bảng mã ASCII ký tự viết hoa A, B, C, , Z mã hóa số từ 65 đến 90 Còn ký tự thường a, b, c, z mã hóa số từ 97 đến 122 Ta thấy rõ ký tự viết hoa viết thường chữ cách 32 đơn vị Chính vậy, ta sử dụng quy luật để đổi xâu ký tự viết HOA thành xâu ký tự viết thường cách dùng vòng For chạy từ đầu xâu đến cuối xâu đổi ký tự thành mã ASCII, gặp ký tự viết hoa, ta cộng mã ASCII thêm 32 đơn vị Chương trình sau: Var x: String; Procedure Doi(x: String); Var d, i:Integer; Begin d := 0; Write('Doi sang chu thuong: '); For i := to Length(x) Do Begin d := ord(x[i]); If (d >= 65) And (d Nhận xét: - Nếu bỏ từ var khai báo var x,y:real thì chương trình khơng báo lỗi chức đổi giá trị hai biến không thực c Đơn giản hóa tốn Bài tập 7: Viết chương trình nhập vào số nguyên dương N (N≤ 300) dãy A gồm N số nguyên Sắp xếp dãy số vừa nhập thành dãy không giảm xuất dãy xếp ngồi hình Bài tốn xử lí mảng Nhập mảng Sắp xếp Xuất mảng Hốn đổi Viết dạng CTC Phân tích: - Thiết kế chương trình phục vụ việc nhập dãy số - Thiết kế chương trình phục vụ việc xuất dãy số hình - Thiết kế chương trình dùng để thực công việc xếp - Các chương trình khơng cần trả giá trị cụ thể nên dùng thủ tục - Đối với thủ tục nhập mảng cần phải lại thay đổi bên nên sử dụng tham số biến - Đối với thủ tục xếp cần giữ lại giá trị sau xếp nên khai báo mảng tham số biến, số lượng phần tử khơng thay đổi nên dùng tham trị Chương trình: Program sapxepdayso; Uses CRT; Const Nmax = 300; Type ArrInt = Array[1 300] of integer; Var 16 A: ArrInt; N: integer; Procedure Nhap_Mang(var A: ArrInt; var M: integer); Var i: integer; Begin Write(‘Nhap so phan tu cua day so:’); Readln(M); For i:=1 to M Begin Write(‘A[‘,i,’]=’); Readln(A[i]); End; End; Procedure Hoan_doi(var a,b:integer); Var tam: integer; Begin tam:= a; a := b; b:= tam; End; Procedure Sap_xep(var A: ArrInt; M: integer); Var i, j: integer; Begin For j:=M downto For i:=1 to j-1 If A[i] > A[i+1] then Hoan_doi(A[i],A[i+1]); End; Procedure Xuat_mang(A: ArrInt; M: integer); Var i: integer; Begin For i:=1 to M Write(A[i]: 5); End; 17 BEGIN Clrscr; Nhap_mang(A,n); Sap_xep(A,n); Xuat_mang(A,n) Readln END Bài tập tương tự: Viết chương trình nhập vào dãy số nguyên dương B gồm M phần tử (M≤300) Tìm giá trị nhỏ dãy Viết chương trình nhập vào số nguyên dương N (N≤ 300) dãy A gồm N số nguyên Sắp xếp dãy số vừa nhập thành tăng xuất dãy xếp hình Bài tập 8: Viết chương trình đọc liệu từ tệp A.IN đưa vào mảng A: dòng tệp A.IN chứa số phần tử mảng A, dòng thứ chứa số nguyên giá trị phần tử mảng số cách dấu cách, sau tạo mảng B B[i] tổng i phần tử mảng A Ghi giá trị mảng B tệp B.OUT Phân tích: - Thiết kế thủ tục phục vụ đọc liệu từ tệp - Thiết kế thủ tính giá trị dãy B - Thiết kế thủ tục ghi giá trị dãy B tệp Chương trình: Program TEP_DL; const input='A.IN'; output='B.OUT'; max=300; var A, B:array[1 max] of integer; i, n: integer; procedure Doc_DL; var f:text; i: integer; Begin 18 assign(f,input); reset(f); readln(f,n); for i:=1 to n read(f,A[i]); close(f); End; Procedure XuLi_DL; var i:integer; Begin B[1]:=A[1]; for i:=2 to n B[i]:=B[i-1]+A[i]; End; Procedure Ghi_DL; var i: integer; f:text; Begin assign(f,output); rewrite(f); for i:=1 to n write(f,B[i]:3); close(f); End; Begin Doc_DL; XuLi_DL; Ghi_DL; End Bài tập tương tự: 19 Viết chương trình xếp dãy số chứa tệp INPUT.IN (dòng 1: Chứa số n, dòng 2:chứa n số nguyên cách dấu cách) Ghi dãy số tăng dần tệp OUTPUT.OUT Viết chương trình đọc dãy số chứa tệp INPUT.IN (dòng 1: Chứa số n, dòng 2:chứa n số nguyên cách dấu cách) Cho biết dãy số có số chẵn, số lẻ tính tổng số chẵn, tổng số lẻ tệp OUTPUT.OUT( dòng ghi số: số số lượng số chẵn dãy, số tổng số chẵn; dòng thứ ghi số: số số lượng số lẻ dãy, số tổng số lẻ) 2.4.2 Cách viết sử dụng hàm: Bài toán 1: Viết chương trình tính n giai thừa Trong n số nguyên dương nhập vào từ bàn phím chạy chương trình Phân tích: Cần thiết kế chương trình con(hàm) để tính giai thừa VD: 5! =5*4*3*2*1=1*2*3*4*5 => Cơng thức tính giai thừa: n! =n*(n-1)*(n-2)*….*1 Chương trình: Program Giai_thua; Uses CRT; Var n: word Fucntion GT(k: word): longint; Var T, i: word; Begin T:= 1; For i:=1 to k T:= T* i; GT:=T; End; BEGIN Clrscr; Write(‘nhap n:’); readln(n); Write(n,’!=’, GT(n)); Readln END 20

Ngày đăng: 16/04/2023, 22:28

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan