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

  1. Tác giả: LTTK CTV
    Đánh giá: ✪ ✪ ✪ ✪ ✪

    Tóm tắt lý thuyết
    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.
    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
    • 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
    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).

    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>=8.0 thì đếm số học sinh giỏi là: Gioi:=Gioi+1;
      [*]Nếu A<8.0 và A>=6.5 thì đếm số học sinh khá là: Kha:=Kha+1;
      [*]Nếu A<6.5 và A>=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:

    PHP:
    1. Program Phan_loai;
    2. uses crt;
    3. Var      i, N, Gioi, Kha, Trungbinh, Kem: integer;
    4. A: array[1..100] of real;
    5. Begin
    6.     clrscr;
    7.     write('Nhap so hoc sinh trong lop, N= ');        
    8.     readln(N);
    9.     writeln('Nhap diem :');
    10.        For i:=1 to N do
    11.           Begin
    12.                write(‘Diem cua hoc sinh thu ‘, i,=);
    13.                readln(A[i]);
    14.           End;
    15. Gioi:=0;
    16. Kha:= 0;
    17. Trungbinh:= 0;
    18. Kem:= 0;
    19.           for i:=1 to N do
    20.                Begin
    21.                if A[i] >= 8.0 then
    22.                            Gioi:= Gioi + 1;
    23.                if (A[i] <8.0 ) and (A[i] >=6.5)  then
    24.                           Kha:= Kha + 1;
    25.                if (A[i] >= 5.0 ) and (A[i] < 6.5)  then
    26.                           Trungbinh:= Trungbinh + 1;
    27.                if a[i]<5.0 then
    28.                            Kem:=Kem+1;
    29.     end;
    30.     writeln(' Ket qua hoc tap: ');
    31.     writeln(Gioi, ' ban hoc gioi ');
    32.     writeln(Kha, ' ban hoc kha ');
    33.     writeln(Trungbinh, ' ban hoc trung binh');
    34.     writeln(Kem, ' ban hoc kem ');
    35.     readln;

    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:

    PHP:
    1. Program Diem_trung_binh;
    2. Uses crt;
    3. Var    i, N: integer;
    4.        TBToan, TBVan: real;
    5.        DiemToan, DiemVan: array [1..100] of real;
    6. Begin
    7.   clrscr;
    8.   write(‘Nhap so cac ban HS trong lop, N =);
    9.   readln(N);
    10.   writeln(‘Nhap diem Toan:);
    11.   For i:=1 to N do begin write(i,.);
    12.           readln(DiemToan[i]); end;
    13.   Writeln(‘Nhap diem Van:);
    14.   For i:=1 to n do begin write(i,.);
    15.         readln(DiemVan[i]); end;
    16.   writeln(‘Diem trung binh moi HS:);
    17.   For i:=1 to n do
    18.           Writeln(i,., (DiemToan[i]+DiemVan[i])/2:3:1);
    19.   TBToan:=0;
    20.   TBVan:=0;
    21.   For i:=1 to N do
    22.   Begin
    23.   TBToan:=TBToan+DiemToan[i];
    24.   TBVan:=TBVan+DiemVan[i];
    25.   end;
    26.   TBToan:=TBToan/N;
    27.   TBVan:=TBVan/N;
    28.   Writeln(‘Diem trung binh mon Toan:, TBToan:3:2);
    29.   Writeln(‘Diem trung binh mon Van:,TBVan:3:2);
    30.   readln

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

    N=3 (3 học sinh):

    [IMG]https://farm5.staticflickr.com/4583/37850366664_098a9d9aac_o.png[/IMG]​