Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.22 MB, 21 trang )
<span class='text_page_counter'>(1)</span>CHÀO MỪNG CÁC THẦY, CÔ GIÁO VỀ DỰ GIỜ THAO GIẢNG LỚP CHÚNG TA.
<span class='text_page_counter'>(2)</span> KIỂM TRA BÀI CŨ Hãy nêu cú pháp vòng lặp xác định. For <biến đếm> := <giá trị đầu> To <giá trị cuối> Do <Câu lệnh >;.
<span class='text_page_counter'>(3)</span> Chúng ta đã tìm hiểu về biến: như khái niệm về biến, cách khai báo biến và cách sử dụng biến trong chương trình. Hôm nay ta tiếp tục tìm hiểu thế nào là biến mảng, sử dụng biến mảng có lợi ích gì?.
<span class='text_page_counter'>(4)</span> Bài 9:. Trong bài này chúng ta cần tìm hiểu những nội dung sau: 1.Dãy số và biến mảng 2. Ví dụ về biến mảng 3. Tìm giá trị lớn nhất và nhỏ nhất..
<span class='text_page_counter'>(5)</span> Bài 9: 1. Dãy số và biến mảng Xét VD 1: Viết chương trình nhập điểm kiểm tra môn Tin của các học sinh Nhập và lưu điểm cho 1 học sinh Nhập và lưu điểm cho 2 học sinh. Var Diem1: real; Readln(Diem1); Var Diem1, Diem2: real; Readln(Diem1); Readln(Diem2);. Vậy nhập và lưu điểm cho 40 học sinh thì sao?.
<span class='text_page_counter'>(6)</span> Bài 9: 1. Dãy số và biến mảng Vậy nhập và lưu điểm cho 40 học sinh thì sao? Khai báo 40 biến: Var Diem1, Diem2, Diem3, …, Diem40: Real; Sử dụng 40 câu lệnh nhập điểm: Readln(Diem1); Readln(Diem2); Readln(Diem3); ….;Readln(Diem40);. Những hạn chế:. Khi viết chương trình với bài toán cần - Phải khai báo quádữ nhiều biếnthì có nhập với lượng liệu lớn những hạn chế gì?. - Chương trình phải viết khá dài. - Dễ nhầm lẫn giữa các biến khi viết chương trình.
<span class='text_page_counter'>(7)</span> Bài 9: 1. Dãy số và biến mảng Khắc phục hạn chế: - Lưu nhiều dữ liệu có liên quan với nhau bằng một biến duy nhất - Đánh số thứ tự (chỉ Vậy phải khắc số) cho các giá trị đó. phục như thế. - Sử dụng câu lệnh lặp để xử lí dữ liệu nào? var Diem1 , Diem 2 , Diem Dữ liệu 3 , ........ , Diem 40 : Real ; Read(Diem1); Read(Diem2); Read(Diem3); ….;Readln(Diem40); kiểu mảng. Die msố Chỉ. 7. 9. 5 ……. - Với i=1 đến 40: hãy nhập Diem_i;. 10.
<span class='text_page_counter'>(8)</span> Bài 9: 1. Dãy số và biến mảng * Dữ liệu kiểu mảng:. Là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có cùng một kiểu liệu,kiểu gọi làmảng kiểu của Dữdữliệu làphần gì? tử. Việc sắp thứ tự được thực hiện bằng cách gán cho mỗi phần tử một chỉ số.. A i. 8 1. 12 2. 5 3. 9 4. 17 5. 3 6. Trong đó: Tên mảng: A Chỉ số: i Số phần tử của mảng: 6 Kiểu dữ liệu của các phần tử: Kiểu số nguyên Khi tham chiếu đến phần tử thứ i, ta viết A[i] Ví dụ: A[5]=17.
<span class='text_page_counter'>(9)</span> Bài 9: 1. Dãy số và biến mảng * Biến mảng: - Là biến có kiểu dữ liệu là kiểu mảng - Giá trị của biến mảng là một mảng, tức là một dãy số (số nguyên hoặc số thực) - Mỗi số là giá trị của biến thành phần tương ứng Giá trị của mảng Biến mảng. A. 17. 13. 20. 10. 9. Chỉ số. 1. 2. 3. 4. 5.
<span class='text_page_counter'>(10)</span> Bài 9:. 2. Ví dụ về biến mảng a) Khai báo biến mảng - Khai báo dữ liệu kiểu mảng ta cần chỉ rõ: tên biến mảng, số lượng phần tử, kiểu dữ liệu chung của các phần tử. Ví dụ: Var chieucao: array [1..50] of real; Khai báo biến mảng có tên chieucao gồm 50 phần tử có kiểu số thực Var Tuoi: array [20..50] of integer; Khai báo biến mảng có tên Tuoi gồm 31 phần tử có kiểu số nguyên.
<span class='text_page_counter'>(11)</span> Bài 9:. 2. Ví dụ về biến mảng a) Khai báo biến mảng Trong Pascal mảng được khai báo như sau: Var Tên mảng:array[<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu>; Trong đó: -Tên mảng: Do người lập trình đặt - Chỉ số đầu và chỉ số cuối là các giá trị nguyên thỏa mãn chỉ số đầu <= chỉ số cuối - Kiểu dữ liệu có thể là integer hoặc real. -Số phần tử (độ lớn của mảng) = chỉ số cuối-chỉ số đầu +1.
<span class='text_page_counter'>(12)</span> Bài 9:. 2. Ví dụ về biến mảng b) Truy cập biến mảng • Ta sử dụng các phần tử của biến mảng như một biến thông thường: gán giá trị, nhập giá trị, tính toán,in giá trị. Cú pháp:. <tên biến mảng>[chỉ số]. Ví dụ: Var diem:array [1..40] of real;; + Gán giá trị: diem[3]:= 10; + Nhập giá trị cho biến mảng: for i:=1 to 40 do readln(diem[i]); + Tính toán: diem[1]:=diem[3]+diem[2]; + In dữ liệu ra màn hình: for i:=1 to 40 do writeln(diem[i]);.
<span class='text_page_counter'>(13)</span> Bài 9:. 2. Ví dụ về biến mảng * Lợi ích của việc sử dụng biến mảng: Vậy, cách khai báo và sử dụng biến mảng như trên có lợi ích gì??.
<span class='text_page_counter'>(14)</span> Bài 9:. 2. Ví dụ về biến mảng Lợi ích của việc sử dụng biến mảng: Có thể thay rất nhiều câu lệnh nhập và in bằng một câu lệnh lặp. Giúp cho việc viết chương trình ngắn gọn và dễ dàng hơn Tiết kiệm được nhiều thời gian Ví dụ: Nhập điểm cho 40 học sinh Write(‘Nhap diem HS thu 1: ‘); Readln(diem1); Write(‘Nhap diem HS thu 2: ‘); Readln(diem2); … Write(‘Nhap diem HS thu 40: ‘); Readln(diem40);. For i:=1 to 40 do begin write(‘Nhap vao diem HS thu ‘,i,’ : ‘); readln( diem[i] ); end;.
<span class='text_page_counter'>(15)</span> Bài 9:. 2. Ví dụ về biến mảng Lợi ích của việc sử dụng biến mảng: Có thể sử dụng biến mảng một cách rất hiệu quả trong xử lí dữ liệu. Ví dụ: in ra những người có điểm >8.0 If diem1>8.0 then Writeln(diem1); If diem2>8.0 then Writeln(diem2); If diem3>8.0 then Writeln(diem3); ….. If diem40>8.0 then Writeln(diem40);. For i:=1 to 40 do begin If diem[i]>8.0 then Writeln(diem[i]); end;.
<span class='text_page_counter'>(16)</span> Bài 9:. b).
<span class='text_page_counter'>(17)</span> Bài 9:. Củng cố Bài 1: Em hãy chọn đáp án đúng: A. Dữ liệu kiểu mảng là tập hợp các phần tử không có thứ tự và mọi phần tử có cùng một kiểu dữ liệu. B. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mỗi một phần tử trong mảng có thể có các kiểu dữ liệu khác nhau . C. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mọi phần tử có cùng một kiểu dữ liệu..
<span class='text_page_counter'>(18)</span> Bài 9:. Củng cố Bài 2: Cách khai báo biến mảng sau đây đúng hay sai? Khoanh tròn vào chỗ sai (nếu có). a) Var X: Array[10 , 13] of Real;. a) Sửa dấu , thành dấu ... b) Var X: Array[3.. 4.8] of Integer;. b) Sửa 4.8 thành số nguyên>=3. c) Var X: Array[10 .. 1] of Integer;. c) Chỉ số cuối phải >= chỉ số đầu. d) Var X: Array[4 .. 10] of Real;. d) Đúng.
<span class='text_page_counter'>(19)</span> 1 2 3 4 5. V A R R M A N G U Y. R E A D E A L X Ê N. Có 44 Có chữ chữ cái: Là từ khóa lệnh trong trong chương trình trình Pascal Pascal 3cái: chữ cái: Là từ đểchương khai biến Có Có 6 chữ cái: ChỉLà sốcâu đầu, chỉkhóa số cuối trongbáo khai báo mảng Có 3đểchữ cái: Là tên của hàm tìm giá trị lớn nhất? dùng dùng dừng để chương thể hiện trình những chờ ta biến nhập kiểu giáthực? trị cho biến? trong trình Pascal? Thường làchương những số…………….?.
<span class='text_page_counter'>(20)</span> Bài 9:. Dữ liệu kiểu mảng là một dãy (tập hợp) hữu hạn các phần tử có thứ tự mọi phần tử đều có cùng một kiểu dữ liệu. Việc gán giá trị, nhập giá trị và tính toán với các giá trị của một phần tử trong biến mảng được thực hiện thông qua chỉ số tương ứng của phần tử đó. (tên mảng[chỉ số]) Sử dụng biến mảng và câu lệnh lặp giúp cho việc viết chương trình dễ dàng và ngắn gọn hơn..
<span class='text_page_counter'>(21)</span> Bài 9:. - Học bài cũ - Tìm hiểu thuật toán tìm giá trị lớn nhất, nhỏ nhất của dãy số (xem lại ví dụ 6 trang 43 SGK) - Về nhà làm các bài tập 2, 4, 5 trang 78 SGK - Làm các bài tập 9.1, 9.2, 9.3, 9.7 ở sách bài tập.
<span class='text_page_counter'>(22)</span>