Program bai; Var n,i: integer; A: Array[1..50]of integer; Begin Writa('nhap n='); Readln(n); For i:=1 to n do begin wrote ('A[' ,i, ']='); readln(A[i]); end; For i:=1 to n do if A[i]>0 then write(a[i], ' '); Readln; End. Biến n,i trong chương trình trên dùng dể làm gì?
BÀI THỰC HÀNH
Tuần 25 (Tiết 1)
Bài 1: Cho mãng gồm n phần tử là số thực.
a.Tìm hai phần tử liên tiếp nhau có tổng bằng n.
b. Tính khoảng cáhc giữa hai vị trí của phần tửlớn nhất và bé nhất đầu tiên trên A.
{Chương trình}
Program Tuan25_Bai1;
Uses crt;
Var
A: array[1…..100] of real;
Max, min : real
I, n, Vtmax, Vtmin = integer;
Begin
Writeln(‘nhap n:’); readln(n);
For i: 1 to n do;
Begin
Write(‘[‘,I,’]=’); readln(A[i]);
End.
i:=1;
{Tìm hai phần tử liên tiếp nhau có tổng bằng n}
While (A[i] + A[i+1]) <> n) and (i<= n-1) do i:=i+1
If i>=n then write (‘hai phan tu co chi so la:’,i,’ va’,i+1);
{Tính khoảng cáhc giữa hai vị trí của phần tử lớn nhất và bé nhất đầu tiên trên A}
Max=A[1];
Min:A[1];
For i:1 to n do
If max < A[i] then
Begin
Vtmax:= i; Max:=A[i];
End
If min > A[i] then
Begin
Vtmin: i; Min=A[i];
End
Writeln (‘khoangr cach giua 2 phan tu max vaf min la:’,abs(Vtmax – Vtmin));
Readln;
End
Tìm và sửa lỗi trong chương trình pascal sau:
Uses crt;
Var i, n, t : integer;
Begin
clrscr;
write('Nhap so n = '); readln(n);
i := l; t := 0;
while i <= n do
begin
t := t + i;
i := i + l;
write('Tong = ', t);
Readln;
end.
Uses crt; Var i,t: integer; Begin Clrscr; t:=0; i:=0; t:=t+i; i:=i+1; Begin Readln; Write('tong các so chan nho hon 50 la',t); End; End. A)if mod 2=0 then B)while i
Em hãy sắp xếp chương trình tính tổng N số tự nhiên sau cho phù hợp?
Var N, i: integer;
Write(‘Nhap so N=’); s:=0;
S: Longint; readln(n);
For i:=1 to n do
Begin
Program tinh_tong;
S:=s+i;
Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s);
End.
Cho biết chức năng của lệnh for i:=1 to n do begin write('A[',i,']=') readln(A[i]); end;
Tìm và sửa lỗi cho chương trình sau:
Bài 1:
Program bai 1;
Var x; n: integer;
Begin
X=12
Write(n:4,x:4);
ReadIn
End.
Bài 2:
Program 2bai;
Var i, n, s:real;
Begin
S:=0
For i:=0.5 to n do
S=S+i;
Write(s);
ReadIn
End.
Một số câu lệnh trong chương trình sau viết không đúng, em hãy sửa lại cho đúng:
program So_Sanh;
usescrt;
var A, B= integer;
Begin
clrscr;
writeln(‘Nhap so A: ’); readln(A);
writeln(‘Nhap so B: ‘); readln(A);
if A <> B then writeln(A,’ khac ‘,B) else writeln(B,’ = ‘,A)
readln;
End.
uses crt; var i,S:Integer; begin clrscr; (1) for i:=1 to 50 do (2) if (i mod 2=0) then S:=S+i; (3) writeln('S=',S); (4) readln; (5) end. CÂU HỎI: a) Chương trình trên đang thực hiện công việc gì ? b) Cho biết ý nghĩa của câu lệnh (3),(4),(5).