Một bạn học sinh viết chương trình thực hiện việc nhập vào mảng A, in ra mảng
A theo chiều ngược lại và tính tổng các phần tử là số chẵn trong mảng như sau:
Chương trình bạn viết Chương trình em đã sửa lại
Progrem 11Bttin;
Uses Crt;
Var A= array(1…100) of integer;
n: byte; tong: integer
Begin
Clrscr;
Write(‘nhap so phan tu cua mang’)
Readln(n);
For i:=1 to n do
Begin
Write(‘A[‘,i,]=)
Readln(Ai);
End.
Writeln(mang duoc in nguoc lai);
For i:=n to 1 do
Write(A[i]);
tong=0;
For i=1 to n do
If A[i] mod 2 <>0 then
tong=tong+A[i];
Writeln(‘tong cac so chan =’,tong);
Readln
End.
Chương trình trên có thể còn các lỗi cú pháp cũng như các lỗi ngữ nghĩa. Em hãy sửa lại
để được chương trình đúng theo yêu cầu.
Program 11Bttin;
Uses Crt;
Var A: array [1..100] of integer;
n: byte; tong: integer;
Begin
Clrscr;
Write(‘Nhap so phan tu cua mang: ’);Readln(n);
For i:=1 to n do
Begin
Write(‘A[‘,i,’]=’);Readln(A[i]);
End;
Writeln(‘Mang duoc in nguoc lai la:’);
For i:=n downto 1 do
Begin
Write(A[i]);
end;
tong:=0;
For i=1 to n do
Begin
if (A[i] mod 2=0) and (A[i]<>0) then tong:=tong+A[i];
end;
Writeln(‘Tong cac so chan= ’,tong);
Readln
End.
*Chỗ sửa là chỗ in đậm.
Program Bttin;
Uses Crt;
Var A:array[1..100] of integer;
n,i: byte; tong: integer;
Begin
Clrscr;
Write(‘nhap so phan tu cua mang: ‘);
Readln(n);
For i:=1 to n do
Begin
Write(‘A[‘,i,‘]=‘);
Readln(A[i]);
End;
Write(‘mang duoc in nguoc lai: ‘);
For i:=n downto 1 do
Write(A[i]); writeln;
tong:=0;
For i:=1 to n do
If A[i] mod 2=0 then
tong:=tong+A[i];
Writeln(‘tong cac so chan =‘,tong);
Readln
End.