tinh tong cac phan tu tren duong cheo chinh va duong cheo phu mang hai chieu

9 1K 0
tinh tong cac phan tu tren duong cheo chinh va duong cheo phu mang hai chieu

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

Thông tin tài liệu

Sở GD&ĐT Bắc giang Trờng thpt yên dũng số Tổ: toán Sáng kiến kinh nghiệm : tính tổng phần tử đờng chéo đờng chéo phụ mảng hai chiều Giáo viên: Hà Ngọc Thơng A Đặt vấn đề Lý chọn sáng kiến kinh nghiệm: Công nghệ thông tin ngành khoa học phát triển mạnh mẽ Sự bùng nổ thông tin thời đại ngày nay, tốc độ phát triển công nghệ thông tin khiến cho ngời thầy chuyền đạt hết điều cho học trò, mà dù có kéo dài thời gian để dạy hết điều kiến thức nhanh chóng trở nên lạc hậu Do ngời thầy cần phải tìm phơng pháp dạy học tích cực để tăng hiệu dạy học Dạy học sinh cách chủ động, phơng pháp học, cách học điều mà thực tế đòi hỏi thay chuyển tải lợng kiến thức nhiều đến mức chúng nhớ có nhớ lúc học, lúc cần vận dụng quên Môn Tin học môn học mẻ học sinh THPT, học sinh cha có khái niệm công nghệ thông tin, khái niệm thuật toán ngôn ngữ lập trình, khó cho việc dạy học Vậy cần phải có phơng pháp dạy học cho môn học hoàn toàn Mục đích yêu cầu: Việc làm tập mảng hai chiều việc khó Vậy trớc hết học sinh phải hình dung đợc mảng hai chiều nh bảng có dòng cột Các dòng cột đợc đánh số liên tục số nguyên liên tiếp Hai đoạn số nguyên dùng để đánh số cho dòng cột khác Mỗi phần tử mảng hai chiều đợc hình dung nh giá trị ô bảng, ô có số dòng số cột Giống nh mảng chiều, tham chiếu phần tử mảng hai chiều, nhng khác chỗ phần tử mảng hai chiều có hai số ( có số nh mảng chiều) đợc xác định tên mảng hai số Mảng hai chiều mảng chiều mà phần tử lại mảng chiều Phạm vi nghiên cứu, phơng pháp nghiên cứu Nội dung tập mảng hai chiều có nhiều phần, phạm vi nghiên cứu đề cập đến phần nhỏ tập mảng hai chiều, nhng lại phần quan trọng, : tính tổng phần tử nằm đờng chéo chính, tính tổng phần tử nằm đờng chéo phụ mảng hai chiều có N cột N hàng Để thực đợc mục tiêu trên, yêu cầu học sinh cần nắm vững đợc kiến thức sau: - Cách khai báo kiểu liệu mảng hai chiều + Khai báo gián tiếp + Khai báo trực tiếp * Tên kiểu mảng hai chiều * Số lợng phần tử chiều * Kiểu liệu phần tử * Cách khai báo biến * Cách tham chiếu đến phần tử - Các kỹ * Nhận biết đợc thành phần khai báo kiểu mảng hai chiều * Nhận biết đợc định danh phần tử mảng hai chiều xuất chơng trình Cách tham chiếu đến phần tử mảng hai chiều * Viết đợc khai báo mảng hai chiều với số thuộc kiểu nguyên Đối tợng, phạm vi kế hoạch nghiên cứu: Đối tợng học sinh lớp 11A1 trờng THPT Yên Dũng số2, thực kế hoạch nghiên cứu phạm vi chơng - Kiểu liệu có cấu trúc b nội dung Khi thực tính tổng phần tử đờng chéo đờng chéo phụ mảng hai chiều mảng hai chiều phải có số cột số hàng (mảng hai chiều cấp n x n) {phần khai báo mảng hai chiều } Program mang_2_chieu; type mang=array[1 100,1 100] of integer; var i,j,n:integer; a:mang; Begin { Mảng hai chiều với số hàng số cột N } write(' nhap so hang va so cot n='); readln(n); {Nhập phần tử mảng hai chiều với số hàng số cột N} for i:=1 to n for j:=1 to n Begin write(' nhap phan tu thu a[ ',i,' , ',j,']:='); readln(a[i,j]); end; { Đa hình phần tử nhập mảng hình} for i:=1 to n begin for j:=1 to n write(a[i,j]:4); writeln; writeln; end; Readln; End Trên thủ tục nhập phần tử cho mảng hai chiều đa phần tử nhập mảng theo N hàng N cột Sau toán tính tổng phần tử mảng nằm đờng chéo đờng chéo phụ: Trớc hết ta phải xác định xem phần tử nằm đờng chéo hàng cột có quy luật không: Ví dụ mảng sau: Các phần tử nằm đờng chéo nằm ô có mầu sẫm Hàng = cột = Hay I = J = A[Hàng, Cột] I=1 I=2 I=3 I=4 J=1 -21 -89 J=2 68 23 21 J=3 13 34 56 J=4 I số hàng mảng, J số cột mảng, ta thấy mảng gồm I hàng J cột I = J = Ta xét phần tử (từ trái sang phải) đờng chéo chính: I:=1 ; J:=1; Hàng cột Phần tử thứ hai đờng chéo chính: I:=2 ; J:=2; Hàng cột Phần tử thứ ba đờng chéo chính: I:=3 ; J:=3 Hàng cột Phần tử thứ t đờng chéo chính: I:=4 ; J:=4; Hàng cột ( Nếu mảng gồm N hàng N cột theo cách tính nh trên, phần tử cuối đờng chéo hàng N cột N Từ suy phần tử nằm đờng chéo phần tử có hàng cột ( nghĩa I = J ) Vậy chơng trình tính tổng phần tử nằm đờng chéo ta làm nh sau: {phần khai báo mảng hai chiều } Program Tong_duong_cheo_chinh_mang_2_chieu; type mang=array[1 100,1 100] of integer; var Tong_duong_CC,i,j,n:integer; a:mang; Begin { Mảng hai chiều với số hàng số cột N } write(' nhap so hang va so cot n:='); readln(n); {Nhập phần tử mảng hai chiều với số hàng số cột N} for i:=1 to n for j:=1 to n Begin write(' nhap phan tu thu a[ ',i,' , ',j,']:='); readln(a[i,j]); end; { Đa hình phần tử nhập mảng hình} for i:=1 to n begin for j:=1 to n write(a[i,j]:4); writeln; end; Tong_duong_CC:=0; Begin for i:=1 to n for j:=1 to n if i=j then {phần tử có hàng cột } Tong_duong_CC:=Tong_duong_CC+A[i,j]; Writeln(' tong cac phan tu nam tren duong cheo chinh la',Tong_duong_CC); end; Readln; End Theo cách ta tìm thuật giải toán tính tổng phần tử nằm đờng chéo phụ: Với ví dụ sau ta thấy phần tử nằm ô sẫm mầu: Hàng = cột = Hay I = J = ( N=4) A[Hàng, Cột] I=1 I=2 I=3 I=4 J=1 -21 -89 J=2 68 23 21 J=3 13 34 56 J=4 Ta xét phần tử (từ trái sang phải )của đờng chéo phụ: Hàng cột I:=4 ; J:=1; Phần tử thứ hai đờng chéo chính: I:=3 ; J:=2; Hàng cột Phần tử thứ ba đờng chéo chính: I:=2 ; J:=3 Hàng cột Phần tử thứ t đờng chéo chính: I:=1 ; J:=4; Hàng cột ( Nếu mảng gồm N hàng N cột theo cách tính nh trên, phần tử cuối đờng chéo phụ hàng cột N, phần tử hàng N cột Từ suy phần tử nằm đờng chéo phụ phần tử tổng hàng cột ( I + J = N+1 ) suy J=N+1-I Ta thấy I=4 (J = 4+1 - 4) => J=1, I=3 J = 2, Vậy chơng trình tính tổng phần tử nằm đờng chéo phụ ta làm nh sau: {phần khai báo mảng hai chiều } Program Tong_duong_cheo_phu_mang_2_chieu; type mang=array[1 100,1 100] of integer; var Tong_duong_CP,i,j,n:integer; a:mang; Begin { Mảng hai chiều với số hàng số cột N } write(' nhap so hang va so cot n:='); readln(n); {Nhập phần tử mảng hai chiều với số hàng số cột N} for i:=1 to n for j:=1 to n Begin write(' nhap phan tu thu a[ ',i,' , ',j,']:='); readln(a[i,j]); end; { Đa hình phần tử nhập mảng hình} for i:=1 to n begin for j:=1 to n write(a[i,j]:4); writeln; writeln; end; Tong_duong_CP:=0; Begin for i:=1 to n for j:=1 to n if j=n+1-i then {phần tử có cshàng+cscột = n+1} Tong_duong_CP:=Tong_duong_CP+A[i,j]; Writeln(' tong cac phan tu nam tren duong cheo phu la', Tong_duong_CP); end; Readln; End Qua cách tính nh ta tính toán đợc tất đờng chéo mảng hai chiều, tham chiếu đến hàng, cột mảng hai chiều Vì thực tính riêng hàng cột mảng hai chiều mảng chiều C Kết luận khiến nghị Sau nghiên cứu thử nghiệm thấy cần có thời gian nhiều để thử nghiệm, dù đối tợng học sinh lớp chọn nhng 1/4 học sinh cha đạt yêu cầu Môn Tin học môn học mẻ học sinh THPT, học sinh cha có khái niệm công nghệ thông tin, khái niệm thuật toán ngôn ngữ lập trình, khó cho việc dạy học Cần phải có thời gian nhiều cho lý thuyết thực hành, theo phân phối chơng trình nh thời gian giảng dạy ít, học sinh cha nắm bắt đợc lý thuyết nh thực hành Đội ngũ giáo viên Tin học kinh nghiệm giảng dạy, tập thực hành ít, hầu nh bó gọn sách giáo khoa, cha có đợc th viện tập d Tài liệu tham khảo: - Cấu trúc liệu giải thuật Đỗ Xuân Lôi - Tin học ứng dụng tập II Nguyễn Bá Kim Lê Khắc Thành ... end; Tong_ duong_ CC:=0; Begin for i:=1 to n for j:=1 to n if i=j then {phần tử có hàng cột } Tong_ duong_ CC: =Tong_ duong_ CC+A[i,j]; Writeln(' tong cac phan tu nam tren duong cheo chinh la' ,Tong_ duong_ CC);... nh sau: {phần khai báo mảng hai chiều } Program Tong_ duong_ cheo_ chinh_ mang_ 2 _chieu; type mang= array[1 100,1 100] of integer; var Tong_ duong_ CC,i,j,n:integer; a :mang; Begin { Mảng hai chiều với... nh sau: {phần khai báo mảng hai chiều } Program Tong_ duong_ cheo_ phu_ mang_ 2 _chieu; type mang= array[1 100,1 100] of integer; var Tong_ duong_ CP,i,j,n:integer; a :mang; Begin { Mảng hai chiều với số

Ngày đăng: 21/12/2015, 18:03

Từ khóa liên quan

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

Tài liệu liên quan