Giáo DụcLớp 8

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

Bạn đang xem: Tin học 8 Bài 9: Làm việc với dãy số

Nội dung của Bài 9: Làm việc với dãy số dưới đây chúng ta sẽ cùng tìm hiểu về khái niệm mảng một chiều; cách khai báo mảng, nhập, in, truy cập các phần tử của mảng; thuật toán tìm số lớn nhất, số nhỏ nhất của một dãy số;… Mời các em cùng theo dõi bài học để tìm hiểu nội dung chi tiết.

1.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ố.

Hình 1. Minh họa dữ liệu kiểu mảng

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

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 các phần tử tương ứng

Hình 2. Minh họa biến mảng và giá trị của biến mảng

 

1.2. Ví dụ về biến mảng

a. Cách khai báo mảng trong Pascal

Cách khai báo mảng trong Pascal như sau:

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
  • array, of: Là từ khóa của chương trình
  • Chỉ số đầu, chỉ số cuối: Là 2 số nguyên, thỏa mãn: chỉ số đầu ≤ chỉ số cuối giữa hai chỉ số là dấu ..
  • Kiểu dữ liệu: Là kiểu của các phần tử, là Integer hoặc Real
  • Số phần tử = chỉ số cuối – chỉ số đầu + 1

Ví dụ 1: Khai báo mảng sau:

Hình 3. Mảng Tuoi

var Tuoi: array[1..40] of integer;

Trong đó:

  • Tên mảng: Tuoi
  • Chỉ số đầu: 1
  • chỉ số cuối: 40
  • Kiểu dữ liệu: Integer
  • Số phần tử: 40

Lưu ý:

Kích thước của mảng phải được khai báo bằng một con số cụ thể.

b. Truy cập đến giá trị phần tử trong mảng

Cú pháp: Tên mảng [ Chỉ số ]

Ví dụ 2: Tuoi[4]=9

Tham chiếu tới phần tử thứ tư của mảng Tuoi

c. Nhập giá trị cho mảng

Sử dụng lệnh Read (hoặc Readln) kết hợp với For … do để nhập giá trị cho mảng.

Các bước nhập giá trị cho mảng:

  • Bước 1. Nhập số phần tử của mảng;
  • Bước 2. Nhập vào giá trị từng phần tử của mảng (A[i]).

Ví dụ 3: Thể hiện bằng pascal

Write(‘Nhap vao so HS: ‘);

Readln(n);

For i:=1 to n do

  Begin

     write(‘Diem cho HS thu ‘,i, ‘ :  ‘);

      readln(A[i]);

  end;     

d. In giá trị các phần tử của mảng

Sử dụng lệnh Write (hoặc Writeln) kết hợp với For … do để in giá trị các phần tử của mảng.

Các bước in giá trị của mảng:

  • Bước 1. Thông báo;
  • Bước 2.  In giá trị của từng phần tử.

Ví dụ 4: Thể hiện bằng pascal

Writeln(‘Điểm của lớp: ‘);

For i:=1 to n do

   Write(A[i]:5);

e. Xử lí dữ liệu (tính toán, so sánh, tìm giá trị lớn nhất, nhỏ nhất …)

Ví dụ 5: Tìm những học sinh có điểm Tin đạt loại giỏi

For t := 1 to 40 do if DiemTin[t] > 8.0 then writeln(‘Loai Gioi’);

Sử dụng biến mảngcâu lệnh lặp (thường là For…do) giúp cho việc viết chương trình được ngắn ngọn và dễ dàng hơn.

1.3. Tìm giá trị lớn nhất và giá trị nhỏ nhất của dãy số

Ví dụ 6: 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. N cũng được nhập từ bàn phím.

Ý tưởng: Trước hết ta khai báo biến N để nhập số các số nguyên sẽ được nhập vào. Sau đó khai báo N biến lưu các số được nhập vào như là các phần tử của một biến mảng A. Ngoài ra, cần khai báo một biến i làm biến đếm cho các lệnh lặp và biến Max để lưu số lớn nhất, Min để lưu số nhỏ nhất.

Chương trình mẫu:

program MaxMin;

uses crt;

Var

  i, n, Max, Min: integer;

  A: array[1..100] of integer;

{Phần thân chương trình sẽ tương tự dưới đây}

Begin

  clrscr;

   write(‘Hay nhap do dai cua day so,  = ‘);

   readln(n);

  writeln(‘Nhap cac phan tu cua day so: ‘);

   For i:=1 to n do

      Begin

        write(‘a[‘,i,’]=’); readln(a[i]);

      End;

   Max:=a[1];

   Min:=a[1];

   For i:=2 to n do

       Begin

         if Max

            Max:=a[i];

         if Min>a[i] then

         Min:=a[i]

      End;

  write(‘So lon nhat la Max = ‘,Max);

  write(‘;    So nho nhat la Min = ‘,Min);

  readln;

End.

Trong chương trình này, chúng ta hãy lưu ý một số điểm sau: Số tối đa các phần tử của mảng  phải được khai báo bằng một số cụ thể (Ở đây là 100).

2. Luyện tập Bài 9 Tin học 8

Sau khi học xong Bài 9: Làm việc với dãy số – Tin học 8, các em cần ghi nhớ:

  • 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ự và 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ử đó
  • Sử dụng các biến mảng và câu lệnh lặp giúp cho việc viết chương trình được ngắn gọn và dễ dàng hơn

2.1. Trắc nghiệm

Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 8 Bài 9 cực hay có đáp án và lời giải chi tiết. 

  • Câu 1:

    Số phần tử trong khai báo dưới đây là bao nhiêu?

              Var tuoi : array[12..80] of integer;

    • A.
      80
    • B.
      70
    • C.
      69
    • D.
      68
  • 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 : array[1..15] of real;
    • D.
      var tuoi : array[1 … 15 ] of integer; 
  • 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âu 4- 10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!

2.2. Bài tập SGK

Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 8 Bài 9 để giúp các em nắm vững bài học và các phương pháp giải bài tập.

Bài tập 1 trang 79 SGK Tin học 8

Bài tập 2 trang 79 SGK Tin học 8

Bài tập 3 trang 79 SGK Tin học 8

Bài tập 4 trang 79 SGK Tin học 8

Bài tập 5 trang 79 SGK Tin học 8

3. Hỏi đáp Bài 9 Tin học 8

Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học Trường Tiểu học Thủ Lệ sẽ hỗ trợ cho các em một cách nhanh chóng!

Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!

Đăng bởi: Trường Tiểu học Thủ Lệ

Chuyên mục: Giáo dục, Lớp 8

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button