KIỂU MẢNG(Tiết 01)TrƣờngHọtêngiáoviên    Trần Ngọc Mai Chi_K33103334Khốilớp          11Nhóm             05NgàydạyMôn      ...
Khái niệm:                   Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu. Mảng được                    đặt tên và...
 Xuất các phần tử của mảng                    For i:=1 to n do{n là số phần tử của mảng}                       Write (‘Ph...
Cáchduyệt qua tấtcảcácphầntửcủamảngvàtruycậptừngphầntửcủamảng.                     Vậndụng:                       Viếtkha...
What                                            CấpđộChương    Ý tƣởng, mục tiêu chính của chƣơng?       Học xong chương ...
     Kiểu chỉ số: đoạn số nguyên liên tục (thường là [1..100])                     Cách nhập, xuất dữ liệu mảng, thao tác...
Write (‘Nhap so phan tu cua mang: ’);                           Readln(n);                                   {Nhập giá trị...
Upcoming SlideShare
Loading in...5
×

K33103334_TranNgocMaiChi_Bai11 Kieu Mang

1,410

Published on

K33103351 - Trần Ngọc Mai Chi - Bài 11: Kiểu Mảng

Published in: Education
1 Comment
3 Likes
Statistics
Notes
  • Cho minh xin link nha Chi.
    thanks
    minh thấy Chi soạn hay quá.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
1,410
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

K33103334_TranNgocMaiChi_Bai11 Kieu Mang

  1. 1. KIỂU MẢNG(Tiết 01)TrƣờngHọtêngiáoviên Trần Ngọc Mai Chi_K33103334Khốilớp 11Nhóm 05NgàydạyMôn Tin HọcNămxuấtbảnsách 2006Chƣơngsố CHƢƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC Didactic ModelWho  Đối tƣợng: HS lớp 11 đã có kiến thức cơ bản về ngôn ngữ lập trình Pascal.  Kiếnthứcđãbiết: Biết các kiến thức cơ bản về ngôn ngữ lập trình Pascal.  Cấutrúccủamộtchươngtrình Pascal:cấutrúcchungvàcácthànhphần.  Mộtsốkiểudữliệuchuẩn:kiểunguyên,kiểuthực,kiểukítự,kiểulogic vàmiền con.  Cáchkhaibáobiến.  Cáchxácđịnh Input, Output của 1 bàitoán. Những thuật toán sắp xếp,tìm kiếm cơ bản.  Khảnăngbiết: Khái niệm về mảng, là một dãy hữu hạn các phần tử cùng kiểu. Nhu cầu sử dụng mảng. Cách khai báo mảng một chiều (có 2 cách)  Cách 1: Khai báo trực tiếp mảng 1 chiều. var<tênkiểumảng>:array[kiểuchỉsố] of<kiểuphầntử>;  Cách 2: Khai báo gián tiếp biến mảng qua kiểu mảng 1 chiều. type <tênkiểumảng> = array[kiểuchỉsố] of <kiểuphầntử>; var<tênbiếnmảng>: <tênkiểumảng>; Tham chiếu đến các phần tử bên trong mảng, thông qua chỉ số.What 1. Ý nghĩa của mảng 1 chiều Ý nghĩa:  Kiểu mảng là 1 KDL cócấutrúc, cầnthiếtvàtiệndụng.  Dễdàngthaythế giá trị của một phần tử trong mảng.Hỗtrợbàidạy Trang 1
  2. 2. Khái niệm:  Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu. Mảng được đặt tên vàmỗiphầntửcủanócómộtchỉsố.  Biểudiễnmộtdãycácbiếncócùngkiểu. Vídụ: dãycácsốnguyên, dãycáckýtự…  Kíchthướcđượcxácđịnhngaykhikhaibáovàkhôngbaogiờthayđổi. Với mảng một chiều ta cần quan tâm:  Tênmảngmộtchiều.  Sốlượngphầntử trong mảng.  Kiểudữliệucủa các phần tử.  Cáchkhaibáobiến mảng một chiều.  Cáchtruycậpvàocácphầntửtrongmảng. 2. Cách khai báo mảng 1 chiều Cách 1: Khai báo trực tiếp mảng 1 chiều. var<tên kiểu mảng>:array[kiểu chỉ 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 1 chiều. type<tên kiểu mảng>= array[kiểu chỉ số] of<kiểu phần tử>; var<tên biến mảng>:<tên kiểu mảng>;  Kiểu chỉ số: một đoạn số nguyên liên tục có dạng n1..n2 với n1, n2 là hằng, hoặc biểu thức nguyên xác định chỉ số đầu và chỉ số cuối (n1 ≤ n2)  Kiểu phần tử: KDL chuẩn 3. Các thao tác với mảng 1 chiều: tham chiếu, nhập, xuất Tham chiếu đến 1 phần tử của mảng Tên biến mảng [ chỉ số ] ; Duyệt tất cả các phần tử của mảng For i:= 1 to n do {n là số phần tử của mảng} Câu lệnh; Nhập mảng: gồm 2 bước { Nhập số phần tử của mảng} Write (‘Nhap so phan tu cua mang: ’); Readln(n); {Nhập giá trị từng phần tử của mảng} For i:=1 to n do Writeln (‘Phan tu thu ’, i, ‘cua mang A la: ’); Readln (A[i]); Xuất mảng  Xuất 1 phần tử của mảng Write (A[5]); {Xuất phần tử thứ 5 của mảng A}Hỗtrợbàidạy Trang 2
  3. 3.  Xuất các phần tử của mảng For i:=1 to n do{n là số phần tử của mảng} Write (‘Phan tu thu ’, i , ‘cua mang la: ’, A[i]); 4. Củng cốWhy KIẾN THỨC  Hiểu: Kiểumảnglàkiểudữliệucócấutrúc,rấtcầnthiếtvàhữuíchchonhiềuchươngtrì nh. Mảngmộtchiềulàmộtdãyhữuhạncácphầntửcùngkiểu. Cácngônngữlậptrìnhthôngdụngchophépngườilậptrìnhxâydựngkiểudữliệu mảngmộtchiều. Môtảmảngmộtchiềucầnkhaibáokiểucủacácphầntửvàđánhsốcácphầntửcủa nó. Cóthểthamchiếuđếncácphầntửcủamảngvàchỉsốtươngứngcủaphầntửnày.  Nắm: Haicáchkhaibáokiểudữliệumảngmộtchiều.Khikhaibáokiểumảngcầnxácđị nhkíchthướccủamảng. Tuynhiêntrênthựctếcónhiềutrườnghợpsốphầntửchứadữliệuthựcsựcó ý nghĩađốivớibàitoánđanggiảiquyếtnhỏhơnsốlượngphầntửcủamảng. Nhữngyếutốquantrọngkhikhaibáomảngmộtchiều(kiểuphầntử, kiểuchỉsố) Khôngthểnhập hay xuấtgiátrịcủamộtbiếnmảng 1 chiềunhưnhập hay xuất 1 giátrịcủabiếncó KDL chuẩnmàphảinhập hay xuấtchotừngphầntửcủamảng. Cáchnhậpxuấtgiátrị 1 phầntửcủamảng, vaitròcủalệnh for –do trongnhậpxuất. KĨ NĂNG  Nhậnbiết: Cácthànhphầntrongkhaibáokiểumảng1chiều, 2chiều. Kíchthướccủamảngkhikhaibáo. Địnhdanhcủamộtphầntửkiểumảngmộtchiềuxuấthiệntrongmộtchươngtrìn h. Cáchthamchiếuđếnmộtphầntửcủamảng, cáchthamchiếuđếntấtcảcácphầntửcủamảng. Phân biệt kiểu dữ liệu mảng và kiểu dữ liệu các phần tử của mảng.  Biết: Cáchkhaibáomảngđơngiảnvớichỉsốkiểumiền con củakiểunguyên. Cáchsửdụngcâulệnh for-do kếthợpvớicâulệnh write,readlnđểnhập, xuấtdữliệumảng.Hỗtrợbàidạy Trang 3
  4. 4. Cáchduyệt qua tấtcảcácphầntửcủamảngvàtruycậptừngphầntửcủamảng.  Vậndụng: Viếtkhaibáomảngmộtchiềuđơngiản. Nhậpxuấtgiátrịcủamộtbiếnmảng. Cácthaotácnhậpxuất,xửlímỗiphầntửcủamảng. THÁI ĐỘ Tiếptụcxâydựng lòng ham thích lập trình, nhằm giải quyết các bài toán bằng máy tính. Tiếp tục hình thành và xây dựng phẩm chất cần thiết của người lập trình như: ý thức chọn và xây dựng KDL khi thể hiện những đối tượng trong thực tế, ý thức rèn luyện kỹ năng sử dụng các thao tác trên KDL mảng một/ hai chiều ...How Thực hiện PP dạy học tích cực, cho các em chia nhóm thảo luận, điền vào phiếu học tập, thi đua cộng điểm. Chia HĐ:  Hoạt động 1:Tìm hiểu ý nghĩa của mảng 1 chiều (12p)  Hoạt động 2:Tìm hiểu cách khai báo mảng 1 chiều (15p)  Hoạt động 3: Tìm hiểu các thao tác với mảng 1 chiều: tham chiếu, nhập, xuất (12p)  Hoạt động 4: Củng cố - Dặn dò(6p)Extenal Factors GIÁO VIÊN: Máy vi tính. Máy chiếu. Phiếu HT. Phần mềm PPT, Violet. HỌC SINH: SGK, SBTAssesment/ Trắc nghiệm, phiếu HT đính kèmEvaluation 1. Cho một số ví dụ về khai báo mảng 1 chiều hợp lệ, yêu cầu HS trả lời những câu hỏi như sau: Cho biết tên của KDL mới? Kiểu mảng đó có bao nhiêu phần tử? Mỗi phần tử của mảng thuộc kiểu gì? Qua phần khai báo biến, cho biết tên của các mảng sẽ dùng trong chương trình? ... 2. Chuyển cách khai báo trực tiếp của mảng thành cách khai báo gián tiếp và ngược lại. 3. Nêu yêu cầu sử dụng mảng của một chương trình, HS viết khai báo cho KDL mảng đáp ứng được yêu cầu đó.Hỗtrợbàidạy Trang 4
  5. 5. What CấpđộChương  Ý tƣởng, mục tiêu chính của chƣơng? Học xong chương này, HS cần hiểu được khái niệm KDL có cấu trúc và có một số kỹ năng ban đầu về sử dụng KDL có cấu trúc trong lập trình bằng ngôn ngữ Pascal, ngoài ra HS được củng cố lại một vài thuật toán cơ bản thường gặp với mỗi KDL có cấu trúc. Về kiến thức:  Các ngôn ngữ lập trình có quy tắc cho phép tạp ra các KDL có cấu trúc để người lập trình thể hiện (mô phỏng) được DL thực tế. Từ đó, có khả năng giải quyết được những bài toán đặt ra trên thực tế.  Một KDL có cấu trúc được xây dựng từ những KDL cơ sở theo một cách thức tạo kiểu do ngông ngữ lập trình quy định.  KDL xác định vởi 2 yếu tố: Phạm vi đối tượng và các thao tác trên những đối tượng này.  Một KDL có cấu trúc thường hữu ích trog việc giải quyết một số bài toán thường gặp.  Trong ngôn ngữ Pascal, dùng mô tả KDL mới với từ khóa type có thể tránh được sự lặp lại khi mô tả trực tiếp KDL mới với từ khóa Var (cho nhiều biến cùng kiểu mới này) Về kỹ năng: Đối với mỗi KDL có cấu trúc, HS biết:  Cách khai báo (với Pascal có 2 cách: mô tả trực tiếp KDL trong khai báo biến với từ khóa Var và khai báo biến thuộc KDL đã được mô tả với từ khóa type)  Sử dụng các thao tác vào/ra (nói chung phải biết thao tác trên từng thành phần cơ sở, điều này khác biệt với các KDL đơn giản)  Sử dụng các thao tác (các phép toán) trên các thành phần cơ sở tùy theo kiểu của thành phần cơ sở. Về thái độ:  Tiếp tục xây dựng lòng ham thích lập trình, nhằm giải quyết các bài toán bằng máy tính.  Tiếp tục hình thành và xây dựng phẩm chất cần thiết của người lập trình như: Ý thức chọn và xây dựng KDL khi thể hiện những đối tượng trong thực tế, ý thức rèn luyện kỹ năng sử dụng các thao tác trên mỗi KDL có cấu trúc, hứng thú tìm hiểu các thuật toán thường gặp trên các mô hình dữ liệu; luôn muốn cải tiến chương trình nhằm mục đích nâng cao hiệu quả của chương trình và mong muốn chương trình là một sản phẩm thuận lợi cho người dùng.  Nội dung trọng tâm? Kiểumảngmộtchiều, mảng hai chiều Kiểu xâu Kiểu bản ghi CấpđộBàihọcNội dung Khái niệm mảng 1 chiều.trọngtâm Cấu trúc khai báo mảng 1 chiều theo 2 cách. Những yếu tố người lập trình cần xác định để khai báo 1 kiểu dữ liệu mảng 1 chiều:  Kiểu phần tử: kiểu dữ liệu chuẩn (integer, real, char, boolean ... )Hỗtrợbàidạy Trang 5
  6. 6.  Kiểu chỉ số: đoạn số nguyên liên tục (thường là [1..100]) Cách nhập, xuất dữ liệu mảng, thao tác với mảng. Phân biệt kiểu dữ liệu mảng và kiểu dữ liệu các phần tử của mảng.Nội dung khó Cách đánh số các phần tử của mảng 1 chiều (chỉ số của các phần tử). Phân biệt kiểu dữ liệu mảng và kiểu dữ liệu các phần tử của mảng. Tham chiếu tới phần tử của mảng 1 chiều và ý nghĩa ứng dụng của nó. Cách xác định để khai báo biến mảng trong bài toán thực tế. Khi khai báo cần chú ý đến kích thước mảng. Nội dung chi tiết cho bài học 1. Khái niệm mảng 1 chiều Làm rõ các vấn đề sau: Là dãy hữu hạn các phần tử  Sốlượngphầntửcủamảng ≤ kíchthướcmảng  Kích thước mảng = n2 – n1 + 1 với n1, n2 làchỉsốđầu, chỉsốcuốicủamảng  Sốlượngphầntửcủamảnglàgiátrịchotrướchoặcgiátrịđượcngườidùngnh ậpvàotừbànphím. Các phần tử của mảng có cùng 1 KDL gọi là kiểu phần tử. Kiểu phần tử là KDL chuẩn. Kiểu chỉ số thường là 1 đoạn số nguyên liên tục. 2. Sự khác nhau giữa KDL mảng và KDL phần tử của mảng? Var A: array [1..100] of real; KDL mảng KDL phần tử Khi đó, A có KDL là kiểu mảng, A[i] có KDL là kiểu real. 3. Các thao tác với mảng Tham chiếu đến 1 phần tử của mảng Tên biến mảng [ chỉ số ] ; Ví dụ: Tham chiếu đến phần tử thứ 3 của mảng A là A[3]; Duyệt tất cả các phần tử của mảng For i:= 1 to n do {n là số phần tử của mảng} Câu lệnh; Nhập mảng:  Gồm 2 bước { Nhập số phần tử của mảng}Hỗtrợbàidạy Trang 6
  7. 7. Write (‘Nhap so phan tu cua mang: ’); Readln(n); {Nhập giá trị từng phần tử của mảng} For i:=1 to n do Writeln (‘Phan tu thu ’, i, ‘cua mang A la: ’); Readln (A[i]); Xuất mảng  Xuất 1 phần tử của mảng Write (A[5]); {Xuất phần tử thứ 5 của mảng A}  Xuất các phần tử của mảng For i:=1 to n do {n là số phần tử của mảng} Write (‘Phan tu thu ’, i , ‘cua mang la: ’, A[i]); Who Biết các kiến thức cơ bản về ngôn ngữ lập trình Pascal.  Cấu trúc của một chương trình Pascal: cấu trúc chung và các thành phần. Hệ thống hóa kiến  Một số kiểu dữ liệu chuẩn: kiểu nguyên, kiểu thực, kiểu kí tự, kiểuthức và kỹ năng cơ logic và miền con.bản đã biết (đã học) Cách khai báo biến. Những thuật toán sắp xếp, tìm kiếm cơ bản. Khái niệm về mảng, là một dãy hữu hạn các phần tử cùng kiểu. Nhu cầu sử dụng mảng. Cách khai báo mảng một chiều (có 2 cách) Khả năng biết về chủ đề sắp học  var<tênkiểumảng>:array[kiểuchỉsố] of <kiểuphầntử>  type <tênkiểumảng> = array[kiểuchỉsố] of <kiểuphầntử>; var<tênbiếnmảng>: <tênkiểumảng>; Tham chiếu đến các phần tử bên trong mảng, thông qua chỉ số. Cách sử dụng câu lệnh for-do kết hợp với câu lệnh write, readln để Các kiến thức có nhập, xuất dữ liệu mảng.liên quan ở bài dạy Cú pháp khai báo mảng, tham chiếu đến các phần tử của mảng, thao tác sau với KDL mảng 1 chiều. (KIỂU MẢNG – TIẾT 2) Lựa chọn khai báo kiểu dữ liệu mảng thích hợp với những bài toán cụ thể.Hỗtrợbàidạy Trang 7

×