viết chương trình sử dụng lệnh lặp while...do để tính trung bình của n số thực x1, x2 ,x3, ...,xn. các số n và x1, x2 ,x3, ... được nhập từ bàn phím a) viết thuật toán và dự đoán kiểu dữ liệu, biến cần dùng b) viết chương trình (bằng câu lệnh for do và câu lệnh while do

2 câu trả lời

a) Thuật toán:

Bước 1: Nhập n

Bước 2: Nhập x[1..n]

Bước 3: s<-0;

Bước 4: i<-1 to n

s<-s+xi;

Bước 5: tbc<-s/n

Bước 6: Xuất tbc

---

Dự đoán kiểu dữ liệu và biến cần dùng:

X: array[1..1000] of extended;

n,i: longint;

s,tbc: extended;

b) Chương trình:

For ... do ...

Program FNG;
Uses crt;
Var X: array[1..1000] of longint;
    n,i: longint;
    s: extended;
Begin
        Clrscr;
        Write('Nhap n: '); Readln(n);
        s:=0;
        For i:=1 to n do
        Begin
                Write('X[',i,'] = ');
                Readln(X[i]);
                s:=s+X[i];
        End;
        tbc:=s/n;
        Write('TBC = ',tbc:0:2);
        Readln
End.

While ... do ...

Program FNG;
Uses crt;
Var X: array[1..1000] of longint;
    n,i: longint;
    s: extended;
Begin
        Clrscr;
        Write('Nhap n: '); Readln(n);
        s:=0; i:=1;
        While i<=n do
        Begin
                Write('X[',i,'] = ');
                Readln(X[i]);
                s:=s+X[i];
                inc(i);
        End;
        tbc:=s/n;
        Write('TBC = ',tbc:0:2);
        Readln
End.

b)

uses crt;
var n,i:integer;
kq,x: real;
begin
clrscr;
write('Nhap N: ');readln(n);
i:= 0; kq:= 0;
while i < n do
begin
i:= i + 1;
write('Nhap X ',i,': ');
readln(x);
kq:= kq + x;
end;
write('Trung binh ',n,' so thuc la: ',kq / n:0:2);
readln
end.

khà điểm ít quá