Bài giảng Tin học Lớp 8 - Bài 9: Làm việc với dãy số
Sắp xếp công việc làm cho mọi hoạt động diễn ra một cách trật tự và nhanh chóng
Trong lập trình cũng vậy nếu biết bố trí dữ liệu theo dãy, việc khai báo và xử lý dữ liệu trở nên đơn giản rất nhiều.
MÔN TIN HỌC LỚP 8 Bài 9 : LÀM VIỆC VỚI DÃY SỐ Em thường nhìn thấy việc xếp hàng tập thể dục, xếp hàng để mua vé, xếp hàng vào lớp Tập thể dục Qua những quan sát xếp hàng như trên em thấy sắp xếp công việc có lợi ích gì? -Sắp xếp công việc làm cho mọi hoạt động diễn ra một cách trật tự và nhanh chóng - Trong lập trình cũng vậy nếu biết bố trí dữ liệu theo dãy, việc khai báo và xử lý dữ liệu trở nên đơn giản rất nhiều. - Thay vì phải viết nhiều câu lệnh giống nhau, ta có thể dùng câu lệnh lặp cho máy tính thực hiện. LÀM VIỆC VỚI DÃY SỐ (Tiết 1) BÀI 9 1. Dãy số và biến mảng Xét VD: Viết chương trình nhập điểm kiểm tra môn Tin của các học sinh trong một lớp Nhập và lưu điểm cho 1 học sinh Var Diem1: real; Readln(Diem1); Nhập và lưu điểm cho 2 học sinh Var Diem1, Diem2: real; Readln(Diem1); Readln(Diem2); Vậy nhập và lưu điểm cho 23 học sinh lớp 8B thì sao? Bài 9: LÀM VIỆC VỚI DÃY SỐ 1. Dãy số và biến mảng Khai báo 23 biến: Var Diem1, Diem2, Diem3, , Diem23: Real; Sử dụng 23 câu lệnh nhập điểm: Readln(Diem1); Readln(Diem2); Readln(Diem3); .;Readln(Diem23); Những hạn chế : - Phải khai báo quá nhiều biến 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 Khi viết chương trình với bài toán cần nhập với lượng dữ liệu lớn thì có những hạn chế gì? Bài 9: LÀM VIỆC VỚI DÃY SỐ 1. Dãy số và biến mảng , var Diem 1 Diem 2 Diem , , 3 , Diem 23 : Real ; ........ Diem Chỉ số - Với i=1 đến 23: hãy nhập Diem_i; Khắc phục hạn chế : - Lưu các biến có liên quan thành một dãy và đặt một tên chung - Đánh số thứ tự (chỉ số) cho các biến đó - Sử dụng câu lệnh lặp để xử lí dữ liệu 7 9 5 10 Dữ liệu kiểu mảng Readln(Diem1); Readln(Diem2); Read(Diem3); .;Readln(Diem23); Vậy phải khắc phục như thế nào? Bài 9: LÀM VIỆC VỚI DÃY SỐ 1. Dãy số và biến mảng * Dữ liệu kiểu mảng: - Là dãy hữu hạn các phần tử có cùng kiểu dữ liệu, được sắp xếp thứ tự bằng cách gán cho mỗi phần tử một chỉ số. Dữ liệu kiểu mảng là gì? A i 1 2 3 4 5 6 8 12 5 9 3 17 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 17 Bài 9: LÀM VIỆC VỚI DÃY SỐ 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,các biến có cùng kiểu và 1 tên duy nhất - 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 các phần tử tương ứng A 17 13 20 10 9 Chỉ số 1 2 3 4 5 Giá trị của mảng Biến mảng Bài 9: LÀM VIỆC VỚI DÃY SỐ THẢO LUẬN NHÓM Câu hỏi 1: Tương tự như khai báo biến đơn, câu lệnh khai báo mảng phải được thực hiện ở đâu? Câu hỏi 2: Khi khai báo biến mảng trong mọi ngôn ngữ lập trình cần chỉ rõ ít nhất yếu tố nào? THẢO LUẬN NHÓM Câu hỏi 1: Tương tự như khai báo biến đơn, câu lệnh khai báo mảng phải được thực hiện ở đâu? - Khai báo biến mảng trong phần khai báo của chương trình Câu hỏi 2: Khi khai báo biến mảng trong mọi ngôn ngữ lập trình cần chỉ rõ ít nhất yếu tố nào? Khi khai báo biến mảng trong mọi ngôn ngữ lập trình 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ụ: 23 A A[1] | | 19 A[2] | | 57 A[3] | | 49 A[4] | | 85 A[5] | | 22 A[6] | | 99 A[7] | | Trong đó: Khi tham chiếu đến phần tử thứ i - ta viết A[i]. Ví dụ: A[6] = 22. Tên mảng : A Số phần tử của mảng: 7 Kiểu dữ liệu của các phần tử: Kiểu nguyên 1 2 3 4 5 6 7 chỉ số(i) 6,5 9,3 7,5 7,1 8,5 9,6 5,2 diem 1 2 3 4 5 6 7 Các thành phần: Khi tham chiếu đến phần tử thứ i - ta viết : Tên mảng : Số lượng phần tử của mảng: Kiểu dữ liệu chung của các phần tử: 9,6 7 phần tử Kiểu số thực diem[ ] diem[6] = 9,6 i i diem Củng cố Câu 1 : Chọn khai báo hợp lệ: a. Var a,b: array[1 .. n] of real; b . Var a,b: array[1 : n] of Integer; c. Var a,b: array[1 .. 100] of real; d . Var a,b: array[1 100] of real ; Câu 2 : Pascal sử dụng câu lệnh lặp nào sau đây để lặp với số lần chưa biết trước? a/ Fordo; b/Whiledo; c/ If..then; d/ Ifthenelse ; Câu 3 : Khai báo biến kiểu mảng nào sau đây là hợp lệ: a . Var A, B: array[1..50] of integer; b . Var A, B: array[1..N] of real; c . Var A: array[100..1] of integer; d . Var B: array[1.5 . ..10.5] of real ; Câu 4 : Chọn phát biểu sai: a. Biến mảng chứa một chuỗi giá trị b. Biến thường chứa một giá trị c. Biến mảng có nhiều ô nhớ d . Biến thường chứa một dãy giá trị CÂU HỎI ÔN TẬP Câu 5: Để gán giá trị của phần tử thứ i của mảng A cho biến b, ta thực hiện: a. B=a(i); b. B:=a(i); c. B:=a[i]; d. B:= a{i }; Câu 6: Câu lệnh nào là đúng nếu gán giá trị cho phần tử thứ 2 của biến mảng A có kiểu là byte. a. A(2)=5; b. A(2):=10; c. A[2]:=-10; d. A[2]:=200; Câu 7: Hãy chọn đáp án sai a. Để gán hoặc nhập giá trị cho phần tử của mảng, ta phải dựa vào chỉ số của mảng. b. Dữ liệu kiểu mảng có thể là kiểu số nguyên, số thực, kiểu ký tự, kiểu chuỗi. c . Để nhập giá trị cho 1 phần tử của mảng ta thường dùng lệnh Writeln. d. Để gán giá trị cho 1 mảng, ta thường kết hợp với các câu lệnh lặp (như lệnh For, While..do).
File đính kèm:
- bai_giang_tin_hoc_lop_8_bai_9_lam_viec_voi_day_so.pptx