Tin học 8 Bài thực hành 6 trang 58

Lời giải bài tập Tin học lớp 8 Bài thực hành 6: Sử dụng lệnh lặp While… do chi tiết được biên soạn bám sát nội dung sgk Tin học 8 giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập Tin học 8 Bài thực hành 6. Mời các bạn đón xem:

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

  • Viết chương trình Pascal sử dụng câu lệnh lặp với số lần chưa biết trước.
  • Rèn luyện kĩ năng đọc chương trình, tìm hiểu tác dụng của các câu lệnh.

1.2. Nội dung

Câu lệnh lặp với số lần chưa biết trước While…Do:

Cú pháp: While Do ;

Trong đó:

  • Điều kiện: thường là phép so sánh.
  • Câu lệnh: có thể là câu lệnh đơn giản hay câu lệnh ghép.

Các bước thực hiện của câu lệnh lặp While…Do:

  • Bước 1: Kiểm tra điều kiện.
  • Bước 2: Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng thực hiện câu lệnh và quay lại bước 1. 

b. Thực hành

Bài 1: Viết chương trình sử dụng lệnh lặp While…Do để tính trung bình N số thực X1, X2, X3,…, Xn. Các số N và X1, X2, X3,…, Xn được nhập từ bàn phím.

Gợi ý làm bài:

Ý tưởng:

Ta sử dụng biến Dem và câu lệnh lặp While…Do để nhập và cộng dần các số vào một biến kiểu số thực Tong cho đến khi nhập đủ n số.

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

  • Input: Dãy số thực x1, x2...xn
  • Output: Giá trị trung bình [x1 + x2+..+xn]/n

Thuật toán:

  • Mô tả thuật toán bằng cách liệt kê:
    • Bước 1. Nhập N là số lượng số thực sẽ được nhập từ bàn phím:
      • Gán biến đếm bằng 0 Dem \[\leftarrow\] 0;
      • Gán tổng Tong \[\leftarrow\] 0.
    • Bước 2. Trong khi Dem < N thì:
      • Nhập giá trị số thực x từ bàn phím;
      • Cộng thêm x vào tổng: Tong\[\leftarrow\]Tong + x;
      • Tăng biến dem thêm 1 đơn vị: Dem\[\leftarrow\]Dem + 1;
    • Bước 3. Tính trung bình dãy số vừa nhập TB \[\leftarrow\] Tong/N.
    • Bước 4. Đưa TB ra màn hình, rồi kết thúc.
  • Mô tả thuật toán bằng sơ đồ khối:

Hình 1. Sơ đồ khối mô tả thuật toán tính trung bình N số thực

Chương trình:

Program tinh_trung_binh;

Var   N, Dem: integer;

         X, TB: real;

Begin

      Clrscr;

      Dem:=0;

      TB:=0;

      Writeln[‘Nhap cac so can tinh N =’];

      Readln[N];

      While Dem < N do

         Begin

            Dem:= Dem + 1;

            Writeln[‘Nhap so thu’, Dem,’=’];

            Readln[x];

            Tb:= TB + x;

         End;

      TB:=TB/n;

      Witeln[‘Trung binh của’,N,’so là =’, TB:10:3];

      Readln;

End.

Bài 2: Tìm hiểu chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số nguyên tố hay không.

Gợi ý làm bài:

Ý tưởng: Kiểm tra lần lượt N có chia hết cho các số tự nhiên \[2 \leq i \leq N-1\] hay không. Kiểm tra tính chia hết bằng phép chia lấy phần dư [mod].

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

  • Input: Số tự nhiên N.
  • Output: Trả lời N là số nguyên tố hoặc N không là số nguyên tố.

Xây dựng thuật toán:

  • Bước 1: Nhập số tự nhiên N từ bàn phím;
  • Bước 2: Nếu N \[\leq\] 0 thông báo N không phải là số tự nhiên, rồi chuyển đến Bước 4;
  • Bước 3: Nếu N > 0:
    • 3.1. i\[\leftarrow\]2;
    • 3.2. Trong khi N mod i 0, i\[\leftarrow\]i+1;
    • 3.3. Nếu i = N thì thông báo N là số nguyên tố, rồi chuyển đến Bước 4, không thì thông báo N không phải là số nguyên tố;
  •    Bước 4: Kết thúc.

Chương trình:

Uses Crt;

Var N, i:integer;

Begin

     clrscr;

     write['Nhap vao mot so nguyen: '];

     readln[N];

     If N

– Rèn luyện khả năng đọc chương trình.

1.2. Nội dung

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

Câu lệnh lặp với số lần chưa biết trước While…Do:

Cú pháp: While Do ;

Trong đó:

– Điều kiện: thường là phép so sánh.

– Câu lệnh: có thể là câu lệnh đơn giản hay câu lệnh ghép.

* Các bước thực hiện của câu lệnh lặp While…Do:

– Bước 1: Kiểm tra điều kiện.

– Bước 2: Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng thực hiện câu lệnh và quay lại bước 1. 

b. Thực hành

Bài 1: Viết chương trình sử dụng lệnh lặp While…Do để tính trung bình N số thực X1, X2, X3,…, Xn. Các số N và X1, X2, X3,…, Xn được nhập từ bàn phím.

Hướng dẫn giải

Các biến sẽ sử dụng: N, Tong, X, Dem kiểu Integer

– số N nhập từ bàn phím là số lượng các chữ số

– Tong là tổng các chữ số

– X là chữ số nhập vào sau mỗi vòng lặp.

Thuật toán:

– Bước 1: Nhập số N, gán biến Dem:=0, Tong:=0

– Bước 2: Lặp Nếu Dem

+ Nhập số thực X từ bàn phím

+ Tong := Tong + x;

+ Dem := Dem + 1;

– Bước 3: tính trung bình dãy số TB:= Tong/N;

– Bước 4: Thông báo kết quả ra màn hình

Chương trình chuẩn

Program tinh_trung_binh;

Var   N, Dem: integer;

         X, TB: real;

Begin

      Clrscr;

      Dem:=0;

      TB:=0;

      Writeln[‘Nhap cac so can tinh N =’];

      Readln[N];

      While Dem

         Begin

            Dem:= Dem + 1;

            Writeln[‘Nhap so thu’, Dem,’=’];

            Readln[x];

            Tb:= TB + x;

         End;

      TB:=TB/n;

      Witeln[‘Trung binh của’,N,’so là =’, TB:10:3];

      Readln;

End.

Bài 2: Tìm hiểu chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số nguyên tố hay không.

Hướng dẫn giải

Thuật toán

– Bước 1: nhập vào số tự nhiên N

– Bước 2: kiểm tra xem số N có phải là số nguyên tố hay không.

Để N là số nguyên tố thì nó phải là số >=1 và chỉ chia hết cho 1 và chính nó, khi đó số N sẽ không chia hết cho bất kì số nào bắt đầu từ số 2 đến N-1.

– Bước 3: nếu N chia hết cho 1 số nào đó từ 2 đến N-1 thì thông báo N không là số nguyên tố. nếu không thông báo N là số nguyên tố.

Chạy chương trình

Uses Crt;

Var N, i:integer;

Begin

     clrscr;

     write[‘Nhap vao mot so nguyen: ‘];

     readln[N];

     If N

        writeln[‘N khong la so nguyen to’]

   else

        begin

             i:=2;

            while [N mod i0] do

                i:=i+1;

            if i=N then

                writeln[N,’ la so nguyen to!’]

            else

                writeln[N,’ khong phai la so nguyen to!’];

        end;

     readln;

end.

2. Luyện tập

Câu 1: Tìm hiểu đoạn lệnh sau và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp?

Var a:integer;

Begin

      a:=5;

      While a

End.

A. 10 lần

B. Vô hạn lần

C. 5 lần

D. 6 lần

Câu 2: Đoạn lệnh sau, mỗi lần lặp giá trị của biến i trong câu lệnh sau thay đổi như thế nào?

While i

A. Tăng 1

B. Tăng 4

C. Tăng 2

D. Tăng 3

Câu 3: Đoạn lệnh sau đúng, sai như thế nào?

While n

                  Write[‘Nhap lai n:’];

                  Readn [n];

A. Sai, sau do không có ;

B. Đúng

C. Sai, thiếu Begin end.

D. Câu A và C đúng

Câu 4: Vòng lặp while ..do là vòng lặp:

A. Biết trước số lần lặp nhưng giới hạn là

B. Chưa biết trước số lần lặp

C. Biết trước số lần lặp

D. Biết trước số lần lặp nhưng giới hạn là >=100

Câu 5: Câu lệnh lặp while…do có dạng đúng là:

A. While do ; ;

B. While do ;

C. While do ;

D. While do;

3. Kết luận

 Sau khi học xong bài này học sinh cần đạt được các mục tiêu sau:

  • Hiểu các câu lệnh lặp với số lần chưa biết trước trong chương trình có sẵn.
  • Biết lựa chọn câu lệnh lặp với số lần chưa biết trước với số lần biết trước phù hợp với tình huống cụ thể.
  • Biết vai trò của việc kết hợp các cấu trúc điều khiển.
  • Hình thành phương pháp làm việc khoa học.

Video liên quan

Chủ Đề