Sử dụng lệnh’For…do’ và ‘While…do’ viết chương trình tính tổng. Nêu nhận xét S=1+1/2+1/3+…+1/n Hộ mk vs mk cần luôn

Sử dụng lệnh’For…do’ và ‘While…do’ viết chương trình tính tổng. Nêu nhận xét
S=1+1/2+1/3+…+1/n
Hộ mk vs mk cần luôn

0 bình luận về “Sử dụng lệnh’For…do’ và ‘While…do’ viết chương trình tính tổng. Nêu nhận xét S=1+1/2+1/3+…+1/n Hộ mk vs mk cần luôn”

  1. For…to…do

    var s: real;

          i, n: byte;

    Begin

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

        S:=0;

        For i:=1 to n do s:=s+1/i;

        Write(s);

        Readln

    End.

    While….do

    var s: real;

          i, n: byte;

    Begin

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

        S:=0;

        While i<=n do

            Begin

                s:=s+1/i; inc(i);

            end;

        Write(s);

        Readln

    End.

    N. Xét: cấu trúc for..to..do có nhiều ưu thế hơn vì giá trị đầu và giá trị cuối đã xác định, cấu trúc while..do chậm hơn vì phải kiểm tra điều kiện nhiều lần

     

    Bình luận
  2. for…do

    program tong;

    uses crt;

    var n,i:integer;

         S:real;

    begin

           clrscr;

           write(‘Nhap n: ‘);   readln(n);

           s:=0;

           for i:=1 to n do

                  S:=S+1/i;

           write(‘S= ‘,s:0:3);

           readln;

    end.

    while…do

    program tong;

    uses crt;

    var n,i:integer;

         S:real;

    begin

           clrscr;

           write(‘Nhap n: ‘);   readln(n);

           s:=0;  i:=1;

           while i<=n do

                  begin

                         S:=S+1/i;

                         i:=i+1;

                  end;

           write(‘S= ‘,s:0:3);

           readln;

    end.

    Nhận xét: mọi chương trình từ for…do luôn có thể chuyển sang while…do, nhưng ngược lại thì có một số trường hợp không thực hiện được vì chưa có vòng lặp xác định

    Bình luận

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