giải thích cho em sự khác nhau giữa for i:=1 to n-1 do và for i:=1 to n do. (Mới học nên ko rõ, các bác đừng gạch đá j nha!)
Câu 1: Viết cú pháp câu lệnh lặp đã học và giải thích các đại lượng có trong cú pháp đó. So sánh được sự giống và khác nhau giữa 2 dạng câu lệnh.
Câu 2: Giải thích được các đoạn chương trình có sử dụng cấu trúc lặp For .. to ..do và While .. do để suy ra được kết quả các đại lượng khi vòng lặp kết thúc.
Câu 3: Giải thích được một thuật toán cụ thể. Từ đó viết đoạn chương trình bằng ngôn ngữ lập trình để mô tả các bước của thuật toán.
Câu 4: Biết cú pháp khai báo biến mảng trong chương trình và giải thích được các đại lượng có trong cú pháp đó.
Câu 5: Viết được một chương trình bằng ngôn ngữ lập trình có sử dụng biến mảng để nhập giá trị cho một mảng. Xác định được giá trị trung bình, giá trị lớn nhất, giá trị nhỏ nhất của dãy số.
Mọi người ơi, giải giúp mình bài này với ạ
for i:=1 to 50 do write('*');
Em hãy xác định các câu lệnh sau đây đúng hay sai? Nếu sai hãy giải thích tại sao?
a) For i:=150 to 1 do writeln(‘A’);
b) For i:=1.5 to 30.5 do writeln(‘B’);
c) S:=0;n:=0; While S<=20 do begin n:=n+1;S:=S+n; end
d) Var X: array[10..1] of integer;
e) Var X: array[1,5...20,5] of integer;
f) Var X: array[1..30] of integer;
a: Sai bởi chỉ số đầu lớn hơn chỉ số cuối
b: Sai vì chỉ số đầu, chỉ số cuối là số thực
c: Sai vì chỗ end thiếu chấm phẩy
d: Sai vì chỉ số đầu lớn hơn chỉ số cuối
e: Sai vì chỉ số đầu và chỉ số cuối là số thực
d: Đúng
để tính tổng s=2+4+6 ... +n;
em chọn lệnh:
a) for i:=1 to n do if (i mod 2)=0 then s:=s+1;
b) for i:=1 to n do if (i mod 2) <> 2 then s:=s+1;
c) for i:=1 to n do s:=s+1;
d) for i:=1 to n do if (i mod 2) = 1 then s:=s+1;
mn giúp em với ạ, cảm ơn mn nhiều
Program sdfsadfd;
uses crt;
Var n,i,D,C,k,j,m:longint;
a,b:array[0..10005]of longint;
BEGIN
Read(n);
For i:=1 to n do begin
Read(a[i]);
a[i]:=a[j-1]+a[i];
end;
Read(m);
For i:=1 to m do begin
Read(b[i]);
D:=1; C:=n;
WHile D<C do begin
k:=(D+C) div 2;
If a[k]<b[i] then D:=K+1
else C:=K;
end;
WRite(D,' ');
end;
END.
Viết xong code, chương trình chạy bình thường! nhưng nhập được 1/2 thì exit code 201! Vậy cần sửa chổ nào ạ?
Bạn sửa chỗ integer thành real nhé
Program sdfsadfd;
uses crt;
Var n,i,D,C,k,j,m:longint;
a,b:array[0..10005]of longint;
BEGIN
Read(n);
For i:=1 to n do begin
Read(a[i]);
a[i]:=a[j-1]+a[i];
end;
Read(m);
For i:=1 to m do begin
Read(b[i]);
D:=1; C:=n;
WHile D<C do begin
k:=(D+C) div 2;
If a[k]<b[i] then D:=K+1
else C:=K;
end;
WRite(D,' ');
end;
END.
Viết xong code, chương trình chạy bình thường! nhưng nhập được 1/2 thì exit code 201! Vậy cần sửa chổ nào ạ?
cái chố a,b là real nhé bạn
Program fashkfs;
uses crt;
Var n,i,j,m:longint;
a,b:array[1..1000] of integer;
BEGIN
clrscr;
Read(n,m);
For i:=1 to m do Begin Read(a[i]); end;
b[0]:=1;
For i:=1 to m do
For j:=1 to n do
If (a[i]<=j) and (b[j-a[i]]<>0) then
b[j]:=b[j]+b[j-a[i]];
Write(b[n]);
Redaln;
Readln;
END.
Xem giúp mình đoạn này sai chổ nào nha mn<3
Có lẽ là bạn hơi thừa cái readln
Sửa lại:
program fashkfs;
uses crt;
var n, i,j,m: longint;
a, b: array[1..1000] of integer;
begin
clrscr;
readln(n, m);
for i := 1 to m do
begin
read(a[i]);
end;
b[0] := 1;
for i := 1 to m do
begin
for j := 1 to n do
begin
if (b[j - a[i]] <> 0) and (a[i] <= j) then
begin
b[j] := b[j] + b[j - a[i]];
end;
end;
end;
writeln(b[n]);
readln;
end.
cái readln đoạn cuối bạn ghi sai ạ với bạn có thiếu begin
đây đúng hay sai? Nếu sai hãy giải thích tại sao? a) For i:=150 to 1 do writeln(‘A’); b) For i:=1.5 to 30.5 do writeln(‘B’); c) S:=0;n:=0; While S
a) Đúng. Vòng lặp for được sử dụng để lặp lại việc xuất chuỗi 'A' từ i=150 đến i=1.
b) Sai. Vòng lặp for yêu cầu chỉ sử dụng các giá trị nguyên, không phải là các giá trị số thực => không thể sử dụng i làm biến đếm trong vòng lặp này. (bạn có thể sử dụng một biến số nguyên khác để đếm số lần lặp lại, hoặc sử dụng vòng lặp while)
c) Sai. Câu lệnh While cần có một điều kiện để kiểm tra, trong khi trong câu lệnh này không có điều kiện nào để kiểm tra. Nếu không có điều kiện để kiểm tra, vòng lặp sẽ lặp vô hạn và không bao giờ dừng lại.
cho biết số vòng lặp và giá trị của biến s sau khi thực hiện đoạn chương trình: a) S:=0;
For i:=2 to 8 do S :=S+i
b) S:=0; n:=1;
For i:=1 to 6 do
Begin
S:=S+n;
n:=n+i;
end;
c) S:=2;
For i:=1 to 10 do
If(i mod 2)=0 then S:=S+i;
d) S:=0; i:= 1,5;
While S<7 do S:=S+i;
e) S:=0; i:=1;
While i<9 do
Begin
S:=S+i;
i:=i+2;
End;
f) S:=2; i:=1;
While i<= 10 do
Begin
If (i mod 2) then S:=S+i;
i:=i+1;
End;