Bài thực hành 7: Xử lý dãy số trong chương trình

Nội dung của Bài thực hành 7: Xử lý dãy số trong chương trình dưới đây các em sẽ làm bài tập thực hành khai báo và sử dụng các biến mảng; ôn luyện cách sử dụng câu lệnh lặp if...then, for...do; củng cố kĩ năng đọc, hiểu và chỉnh sửa chương trình;... Mời các em cùng theo dõi nội dung chi tiết của bài thực hành.

Tóm tắt lý thuyết

1.1. Mục đích, yêu cầu

  • Làm quen với việc khai báo và sử dụng các biến mảng ;
  • Ôn luyện cách sử dụng câu lệnh lặp for...do;
  • Củng cố kĩ năng đọc, hiểu và chỉnh sửa chương trình.

1.2. Nội dung

a. Ôn tập kiến thức

a. 1. 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
  • arrayof: Là từ khóa của chương trình
  • Chỉ số đầuchỉ 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

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

Tên mảng [ Chỉ số ];

a.3. 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]).

a.4. 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ử.

b. Thực hành

Bài 1: Viết chương trình nhập điểm của các bạn trong lớp. Sau đó in ra màn hình số bạn đạt kết quả học tập loại giỏi, khá, trung bình và kém (theo tiêu chuẩn từ 8.0 trở lên đạt loại giỏi, từ 6.5 đến 7.9 đạt loại khá, từ 5.0 đến 6.4 đạt trung bình và dưới 5.0 xếp loại kém).

Tiêu chuẩn:

  • Loại giỏi: 8.0 trở lên;
  • Loại khá: 6.5 đến 7.9;
  • Loại trung bình: 5.0 đến 6.4;
  • Loại kém: dưới 5.0;

Gợi ý làm bài:

Ý tưởng:

  • Đặt các giá trị ban đầu: Gioi:=0; Kha:=0; Trungbinh:=0; Kem:=0;
  • Lần lượt cho chạy từ 1 đến N và kiểm tra:
    • Nếu A[i]>=8.0 thì đếm số học sinh giỏi là: Gioi:=Gioi+1;
    • Nếu A[i]<8.0 và A[i]>=6.5 thì đếm số học sinh khá là: Kha:=Kha+1;
    • Nếu A[i]<6.5 và A[i]>=5.0 thì đếm số học sinh trung bình là: Trungbinh:=Trungbinh+1;
    • Còn lại là số học sinh yếu: Kem:=Kem+1

Xác định bài toán:

  • Input: Điểm của các bạn trong lớp.
  • Output: Số bạn giỏi, khá, trung bình, yếu, kém.

Các biến sử dụng trong chương trình:

  • i: Biến đếm
  • N: Biến để nhập số các bạn trong lớp sẽ được nhập vào.
  • Gioi, Kha, Trungbinh, Kem: Số các học sinh giỏi, khá, trung bình, yếu.
  • A: Biến mảng, dùng để lưu điểm số của các học sinh trong lớp, có kiểu số thực.

Chương trình:

Program Phan_loai;

uses crt;

Var      i, N, Gioi, Kha, Trungbinh, Kem: integer;

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

Begin

    clrscr;

    write('Nhap so hoc sinh trong lop, N= ');            

    readln(N);

    writeln('Nhap diem :');

       For i:=1 to N do

          Begin

               write(‘Diem cua hoc sinh thu ‘, i,’ =’);

               readln(A[i]);

          End;

Gioi:=0;

Kha:= 0;

Trungbinh:= 0;

Kem:= 0;

          for i:=1 to N do

               Begin

               if A[i] >= 8.0 then

                           Gioi:= Gioi + 1;

               if (A[i] <8.0 ) and (A[i] >=6.5)  then  

                          Kha:= Kha + 1;

               if (A[i] >= 5.0 ) and (A[i] < 6.5)  then

                          Trungbinh:= Trungbinh + 1;

               if a[i]<5.0 then

                           Kem:=Kem+1;

    end;

    writeln(' Ket qua hoc tap: ');

    writeln(Gioi, ' ban hoc gioi ');

    writeln(Kha, ' ban hoc kha ');

    writeln(Trungbinh, ' ban hoc trung binh');

    writeln(Kem, ' ban hoc kem ');

    readln;

End.

Bài 2: Bổ sung và chỉnh sửa chương trình trong Bài 1 để nhập hai loại điểm Toán và Ngữ văn của các bạn, sau đó in ra màn hình điểm trung bình của mỗi bạn trong lớp (theo công thức Điểm trung bình = (điểm Toán + điểm Ngữ văn)/2), điểm trung bình của cả lớp theo từng môn Toán và Ngữ văn.

Gợi ý làm bài:

Xác định bài toán:

Input: Điểm môn Toán và điểm môn Văn của các bạn trong lớp.

Output:

  • Điểm trung bình của mỗi bạn trong lớp;
  • Điểm trung bình môn Toán của cả lớp;
  • Điểm trung bình môn Văn của cả lớp;

Thuật toán:

  • Bước 1: Nhập N là số các bạn học sinh trong lớp;
  • Bước 2: Nhập điểm môn Toán và môn Văn vào từ bàn phím;
  • Bước 3: In điểm trung bình mỗi học sinh: (điểm Toán + điểm Văn)/2
  • Bước 4: Tính điểm trung bình cả lớp theo từng môn:
    • TBToan \(\leftarrow\) TBToan/N;
    • TBVan \(\leftarrow\) TBVan/N.
  • Bước 5: In điểm TBToan, TBVan ra màn hình và kết thúc.

Chương trình:

Program Diem_trung_binh;

Uses crt;

Var    i, N: integer;

       TBToan, TBVan: real;

       DiemToan, DiemVan: array [1..100] of real;

Begin

  clrscr;

  write(‘Nhap so cac ban HS trong lop, N =‘);

  readln(N);

  writeln(‘Nhap diem Toan: ‘);

  For i:=1 to N do begin write(i, ‘ . ‘);

          readln(DiemToan[i]); end;

  Writeln(‘Nhap diem Van: ‘);

  For i:=1 to n do begin write(i, ‘. ‘);

        readln(DiemVan[i]); end;

  writeln(‘Diem trung binh moi HS: ‘);

  For i:=1 to n do

          Writeln(i, ‘ . ’, (DiemToan[i]+DiemVan[i])/2:3:1);

  TBToan:=0;

  TBVan:=0;

  For i:=1 to N do

  Begin

  TBToan:=TBToan+DiemToan[i];

  TBVan:=TBVan+DiemVan[i];

  end;

  TBToan:=TBToan/N;

  TBVan:=TBVan/N;

  Writeln(‘Diem trung binh mon Toan: ‘, TBToan:3:2);

  Writeln(‘Diem trung binh mon Van: ‘,TBVan:3:2);

  readln

End.

Chạy chương trình với các số liệu cụ thể:

N=3 (3 học sinh):

Học sinh Điểm Toán Điểm Văn Điểm trung bình của mỗi học sinh
1 5 7 6.0
2 6 8 7.0
3 7 9 8.0
Điểm trung bình Toán và Văn 6.0 8.0  

2. Luyện tập Bài thực hành 7 Tin học 8

Sau khi học xong Bài thực hành 7: Xử lý dãy số trong chương trình, các em cần ghi nhớ các nội dung:

1. Cú pháp khai báo biến mảng kiểu số nguyên và số thực trong Pascal có dạng:

  • Var < tên biến mảng >: array[ < chỉ số đầu > .. < chỉ số cuối >] of integer;
  • Var < tên biến mảng >: array [< chỉ số đầu >..< chỉ số cuối >] of real;

Trong đó, chỉ số đầu không lớn hơn chỉ số cuối.

2. Tham chiếu tới phần tử của mảng được xác định bằng cách:

< tên biến mảng > [ chỉ số ]

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 thực hành 7 cực hay có đáp án và lời giải chi tiết. 

Câu 3-Câu 5: Xem thêm phần trắc nghiệm để làm thử Online

3. Hỏi đáp Bài thực hành 7 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 Chúng tôi 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!

-- Mod Tin Học 8 Chúng tôi

MGID

Tham khảo thêm

Bình luận

Có Thể Bạn Quan Tâm ?