Mời quí bạn đọc tải xuống để xem đầy đủ tài liệu lý thuyết, trắc nghiệm Tin học 8 Bài 9: Làm việc với dãy số:
Tin học 8 Bài 9: Làm việc với dãy số
Phần 1: Lý thuyết Tin học 8 Bài 9: Làm việc với dãy số
Nội dung chính
– Dữ liệu kiểu mảng
– Làm việc với biến mảng
– Sử dụng các biến mảng và câu lệnh lặp
1. Dãy số và biến mảng
– Dữ liệu kiểu mảng là 1 tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có chung 1 kiểu dữ liệu, gọi là kiểu của phần tử. việc sắp xếp thứ tự được thực hiện bằng cách gán cho mỗi phần tử 1 chỉ số.
– Khi khai báo 1 biến có kiểu dữ liệu là kiểu mảng, biến đó được gọi là biến mảng.
– Ưu điểm sử dụng biến mảng: kiểu mảng để lưu nhiều dữ liệu liên quan đến nhau bằng 1 biến duy nhất và đánh số thứ tự cho các dữ liệu đó giúp cho việc xử lí các dữ liệu ấy đơn giản hơn.
– Trong ví dụ trên, ta có:
+ Tên mảng: A
+ Chỉ số: i
+ Số phần tử 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[2]=12
2. Ví dụ về biến mảng
– Biến mảng chỉ làm việc với kiểu số nguyên hoặc số thực.
– Cú pháp khai báo:
Var <tên biến mảng> : array[<chỉ số đầu>..<chỉ số cuối>] of<kiểu dữ liệu>;
Lưu ý: chỉ số đầu <= chỉ số cuối và kiểu dữ liệu chỉ có thể là integer hoặc real
– ví dụ: var Chieucao: array[1..20] of real;
+ Tên mảng: Chieucao
+ Kiểu dữ liệu: real
+ Số phần tử: 20
+ Chỉ số đầu: 1
+ Chỉ số cuối: 20
3. Truy cập tới các phần tử trong mạng
– Việc truy cập tới phần tử bất kì của mảng được thực hiện thông qua chỉ số tương ứng của phần tử đó trong mảng.
– Việc truy cập ở đây bao gồm các hành động: gán giá trị, đọc giá trị và thực hiện tính toán với giá trị đó
– Ví dụ: khi khai báo biến mảng như sau
var Chieucao: array[1..20] of real;
+Chieucao[2] := 5, gán giá trị cho phần tử thứ 2 trong mảng Chieucao bằng 5. Ta cũng có thể nhập giá trị này từ bàn phím.
+ Writeln(‘Chieu cao cua ban thu 1 la: ’,Chieucao[1]); lấy giá trị của phần tử thứ 1 trong mảng Chieucao và in ra màn hình.
+ TB:= (Chieucao[1] + Chieucao[2])/2, sử dụng giá trị phần tử thứ 1 và thứ 2 trong mảng Chieucao để tính chiều cao trung bình.
Ví dụ 1: chương trình nhập mức thu nhập của 5 hộ gia đình sử dụng biến mảng
Ví dụ 2: chương trình nhập mức thu nhập của 5 hộ gia đình sử dụng biến mảng sau đó in ra các hộ có mức thu nhập trên trung bình.
4. Tìm giá trị lớn nhất và nhỏ nhất của dãy số
Ví dụ 3: viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và số lơn nhất cùng độ lệch của giá trị đó so với giá trung bình của N số đã nhập. N cũng được nhập từ bàn phím.
Gợi ý:
– Khai báo biến n để nhập các số nguyên sẽ được nhập vào.
– Nhập vào 1 biến mảng A
– Khai báo 1 biến I là biến đếm, và biến MAX, MIN là số lớn nhất và nhỏ nhất của mảng.
– Kích thước của mảng hay chỉ số cuối phải được khai báo rõ ràng và phải là 1 số cụ thể.
Chương trình:
Kết quả:
Phần 2: 10 câu hỏi trắc nghiệm Tin học 8 Bài 9: Làm việc với dãy số
Câu 1:Em hãy chọn phát biểu đúng khi nói về dữ liệu kiểu mả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
D. Tất cả ý trên đều sai
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.
Đáp án: C
Câu 2:Cách khai báo biến mảng sau đây là đúng?
A. Var X: Array[3.. 4.8] of Integer;
B. Var X: Array[10 .. 1] of Integer;
C. Var X: Array[4 .. 10] of Real;
D. Var X: Array[10 , 13] of Real;
Cú pháp khai báo mảng:
Var <tên biến mảng> : array[<chỉ số đầu>..<chỉ số cuối>] of<kiểu dữ liệu>;
Trong đó: chỉ số đầu <= chỉ số cuối và kiểu dữ liệu chỉ có thểlà integer hoặc real.
Đáp án: C
Câu 3:Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?
A. Dùng để truy cập đến một phần tử bất kì trong mảng
B. Dùng để quản lí kích thước của mảng
C. Dùng trong vòng lặp với mảng
D. Dùng trong vòng lặp với mảng để quản lí kích thước của mảng
Chỉ số của mảng dùng để tham chiếu (truy cập) đến một phần tử bất kì trong mảng. Cú pháp: <Tên mảng>[chỉ số];
Đáp án: A
Câu 4:Chọn câu phát biểu đúng về kiểu dữ liệu của mảng?
A. Có thể dùng tất cả các kiểu dữ liệu để làm kiểu dữ liệu của mảng
B. Kiểu dữ liệu của mảng chỉ có thể là kiểu số nguyên, số thực, kiểu logic, kiểu ký tự
C. Kiểu dữ liệu của mảng là kiểu của các phần tử của mảng, là Integer hoặc Real
D. Kiểu dữ liệu của mảng phải được định nghĩa trước thông qua từ khóa VAR
Trong đó khai báo mảng: chỉ số đầu <= chỉ số cuối và kiểu dữ liệu chỉ có thể là integer hoặc real
Đáp án: C
Câu 5:Cho khai báo mảng như sau: Var a : array[0..30] of integer ;
Để in giá trị phần tử thứ 20 của mảng một chiều A ra màn hình ta viết:
A. Write(A[20]);
B. Write(A(20));
C. Readln(A[20]);
D. Write([20]);
Để in giá trị phần tử của mảng một chiều A ra màn hình ta sử dụng lệnh Write/ writeln. Để tham chiếu đến phần tử trong mảng sử dụng cú pháp <Tên mảng>[chỉ số];
Đáp án: A
Câu 6:Số phần tử trong khai báo dưới đây là bao nhiêu?
Var hocsinh : array[12..80] of integer;
A. 80
B. 70
C. 69
D. 68
Số phần tử trong mảng là: 80 -12 +1 =69
Đáp án: C
Câu 7:Khai báo mảng nào là đúng trong các khai báo sau đây:
A. var tuoi : array[1..15] of integer;
B. var tuoi : array[1.5..10.5] of integer;
C. var tuoi : aray[1..15] of real;
D. var tuoi : array[1 … 15 ] of integer;
Cú pháp khai báo mảng:
Var <tên biến mảng> : array[<chỉ số đầu>..<chỉ số cuối>] of<kiểu dữ liệu>;
Trong đó: chỉ số đầu <= chỉ số cuối và kiểu dữ liệu chỉ có thể là integer hoặc real
Đáp án: A
Câu 8:Cú pháp khai báo dãy số nào sau đây đúng nhất?
A. Var < tên dãy số > : array [ < chỉ số cuối > .. < chỉ số đầu >] of < kiểu dữ liệu >;
B. Var < tên dãy số > : array [ < chỉ số đầu > .. < chỉ số cuối > ] of < kiểu dữ liệu >;
C. Var < tên dãy số > : array [ < chỉ số cuối > : < chỉ số đầu > ] of < kiểu dữ liệu >;
D. Var < tên dãy số > : array [ < chỉ số đầu > .. < chỉ số cuối >] for < kiểu dữ liệu >;
Cú pháp khai báo mảng:
Var <tên biến mảng> : array[<chỉ số đầu>..<chỉ số cuối>] of<kiểu dữ liệu>;
Đáp án: B
Câu 9:Để nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số nguyên ta dùng lệnh nào sau đây?
A. For i:=1 to 10 do Readln(A[i]);
B. For i:= 1 to 10 do Writeln(A[i]);
C. Dùng 10 lệnh Readln(A);
D. Cả (A), (B), (C) đều sai.
Để nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số nguyên ta dùng lệnh lặp với số lần biết trước là For..do, câu Readln (A[i]) là nhập dữ liệu từ bàn phím cho từng phần tử.
Đáp án: A
Câu 10:Các cách nhập dữ liệu cho biến mảng sau, cách nhập nào không hợp lệ?
A. readln(B[1]);
B. readln(dientich[i]);
C. readln(B5);
D. read(dayso[9]);
Cú pháp nhập dữ liệu cho biến mảng là: Read (<Tên mảng>[chỉ số]);
Hoặc Readln(<Tên mảng>[chỉ số]);
Đáp án: C