Lý thuyết Tin học 8 Bài 9: Làm việc với dãy số

Lý thuyết Tin học 8 Bài 9: Làm việc với dãy số

A. Lý thuyết

• 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.

Lý thuyết Tin học 8 Bài 9: Làm việc với dãy số - Lý thuyết Tin học 8 đầy đủ nhất

   - 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

Lý thuyết Tin học 8 Bài 9: Làm việc với dãy số - Lý thuyết Tin học 8 đầy đủ nhất

Lý thuyết Tin học 8 Bài 9: Làm việc với dãy số - Lý thuyết Tin học 8 đầy đủ nhất

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.

Lý thuyết Tin học 8 Bài 9: Làm việc với dãy số - Lý thuyết Tin học 8 đầy đủ nhất

Lý thuyết Tin học 8 Bài 9: Làm việc với dãy số - Lý thuyết Tin học 8 đầy đủ nhất

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:

Lý thuyết Tin học 8 Bài 9: Làm việc với dãy số - Lý thuyết Tin học 8 đầy đủ nhất

Kết quả:

Lý thuyết Tin học 8 Bài 9: Làm việc với dãy số - Lý thuyết Tin học 8 đầy đủ nhất

B. Trắc nghiệm

Câu 1: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 2: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 3: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 4:Để 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 5: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

Câu 6: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 7: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 8: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 9: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 10: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

Xem thêm các loạt bài Để học tốt Tin học 8 hay khác:

300 BÀI GIẢNG GIÚP CON HỌC TỐT LỚP 8 CHỈ 399K

Phụ huynh đăng ký mua khóa học lớp 9 cho con, được tặng miễn phí khóa lớp 8 ôn hè. Đăng ký ngay!

Học tốt toán 8 - Thầy Phan Toàn

4.5 (243)

799,000đs

399,000 VNĐ

Tiếng Anh lớp 8 - Cô Hoài Thu

4.5 (243)

799,000đ

399,000 VNĐ

Học tốt Văn 8 - Cô Mỹ Linh

4.5 (243)

799,000đ

399,000 VNĐ

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Loạt bài Giải bài tập Tin học 8 | Soạn Tin học lớp 8 | Trả lời câu hỏi Tin học 8 của chúng tôi được biên soạn bám sát nội dung sgk Tin học lớp 8.

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.

bai-9-lam-viec-voi-day-so.jsp