Câu 1: Cho đoạn chương trình sau: S:=0; While S<5 do Write (S); Hãy chỉ ra các lỗi khi thực hiện chương trình trên? Giải thích tại sao? Câu 2: Hãy vi

Câu 1: Cho đoạn chương trình sau:
S:=0;
While S<5 do Write (S); Hãy chỉ ra các lỗi khi thực hiện chương trình trên? Giải thích tại sao? Câu 2: Hãy viết chương trình thế hiển thuật toán sau : Bước 1: nhập vào n Bước 2: A <- 0 ; i<-0 Bước 3: i<- i +1 Bước 4: Nếu i <= n thì A<- A +1/ i*(i+2) và quay lại bước 3 Bước 5: thông báo A và kết thúc Mấy Anh chị giúp em bài này với ạ!

0 bình luận về “Câu 1: Cho đoạn chương trình sau: S:=0; While S<5 do Write (S); Hãy chỉ ra các lỗi khi thực hiện chương trình trên? Giải thích tại sao? Câu 2: Hãy vi”

  1. Câu 1:

    Vòng lặp sẽ lặp vô hạn vì biến S không bị tác động -> S luôn bằng 0, thoả mãn S<5 ==> lặp mãi mãi

    Câu 2:

    var i, n: word;

          A: real;

    Begin

        Write(‘n = ‘); readln(n);

        i:=0; a:=0;

        i:=i+1;

        While i<=n do

           Begin

              A:=a + 1/(i*(i+2));

              i:=i+1;

           End;

        Write(a);

        Readln

    End.

    Bình luận
  2. Câu 1: Lỗi nằm ở chỗ là chương trình sẽ không thể kết thúc được. Vì S = 0 mà 0 < 5 nên S < 5. Vì vậy Nó sẽ luôn in ra màn hình giá trị của S mà không dừng

    Câu 2:

    Var n, i: integer; A: real;

    Begin

    Readln(n);

    A:=0; i:=0;

    while i + 1 < n do begin

    A := A + 1/i*(i+2);

    i := i + 1;

    end;

    writeln(A:0:2);

    End.

    Bình luận

Viết một bình luận