Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
var n,m,i,j,p,q,k,tam:byte;
a:array[1..100,1..100] of integer;
b:array[1..10000] of integer;
f:text;
function tong(x,y:integer):integer;
var i,j:integer;
begin
tong:=0;
for i:=x to x+p-1 do
for j:=y to y+q-1 do
tong:=tong+a[i,j];
exit(tong);
end;
begin
assign(f,'HCN.inp');reset(f);
readln(f,n,m,p,q);
for i:=1 to n do
begin
for j:=1 to m do read(f,a[i,j]);
readln(f);
end;
close(f);
assign(f,'HCN.out');rewrite(f);
k:=0;
for i:=1 to n-q+1 do
begin
for j:=1 to m-p+1 do
begin
inc(k);
b[k]:=tong(i,j);
end;
end;
for i:=1 to k-1 do
for j:=k downto i+1 do
if b[j]>b[j-1] then
begin
tam:=b[j];
b[j]:=b[j-1];
b[j-1]:=tam;
end;
writeln(f,b[1]+b[2]);
close(f);
readln;
end.
Cho câu lệnh For i:= 5 to 10 do write(‘Chao ban’); Câu ‘Chao ban’ xuất ra mấy lần:
A. 5 |
B. 9 |
C. 6 |
D. 10 |
Hãy cho biết giá trị của M sau khi thực hiện đoạn chương trình sau với a=19 và b=12 ?
M := a ;
If a<b then M := b ;
A. M không nhận giá trị nào |
B. M = 19 |
C. M nhận cả hai giá trị trên |
D. M = 12 |
Số câu lệnh trong câu lệnh ghép là bao nhiêu?
A. 1 |
B. 2 |
C. >=1 |
D. >=2 |
Câu 11
Cho biết câu lệnh sau sai ở đâu? IF DTB>5 then Write(‘Do’); Else Write(‘Truot’);
A. Đồng thời viết cả giá trị Đỗ, trượt |
B. Chưa biết giá trị của ĐTB |
C. Thừa dấu chấm phẩy (;) trước từ khóa Else |
D. Tất cả đều sai |
phần mở rộng của tập tin Pascal chứa tối đa bao nhiêu kí tự?
A. 8 |
B. 16 |
C. 32 |
D. 64 |
Cho biết kết quả khi thực hiện đoạn chương trình sau:
d:=0;
For i:=1 to 10 do d:= d+1;
Write(d);
A. 11 |
B. 0 |
C. 10 |
D. 1 |
Cho khai báo sau :
Var Xau: string;
Phát biểu nào dưới đây là đúng ?
A. Xâu có độ dài lớn nhất là 255; |
B. Câu lệnh sai vì thiếu độ dài tối đa của xâu; |
C. Xâu có độ dài lớn nhất là 0; |
D. Cần phải khai báo kích thước của xâu sau đó; |
Cho biết màn hình xuất hiện như thế nào với đoạn chương trình sau:
d:=0;
For i:=1 to 10 do
Begin
i:= i+1;
Write(d,' ');
End;
A. 10 |
B. 11 |
C. 1 2 3 4 5 6 7 8 9 10 |
D. 0 0 0 0 0 |
----> Không có đáp án đúng , đáp án đúng là: 0 0 0 0 0 0 0 0 0 0
Hãy điền vào chỗ (…).
S:= 'Le Loi Dong Ha' ; Delete ( S ,…, ...); để thu được kết quả S= 'Dong Ha'
A. 1,8 |
B. 7,7 |
C. 1,9 |
D. 1,7 |
Khi chạy chương trình:
Var S, i, j : Integer;
Begin
S := 0;
for i:= 1 to 3 do
for j:= 1 to 4 do S := S + 1 ;
End.
Giá trị sau cùng của S là :
A. 12 |
B. 3 |
C. 0 |
D. 4 |
Khi điều kiện đúng, câu lệnh IF <điều kiện> Then <câu lệnh1> Else <Câu lệnh2>; sẽ thực hiện
A. Câu lệnh 2 |
B. Thực hiện câu lệnh 1 trước rồi đến câu lệnh 2 |
C. Câu lệnh 1 |
D. Thực hiện câu lệnh 2 trước rồi đến câu lệnh 1 |
Cho ST:= 'Ngay 1 thang 11‘;
C:=Pos('1',ST) -> C=…
A. C=14 và 15 |
B. C=5 |
C. C=6 và 14 |
D. C=6 |
Cho các biến St chuỗi và k nguyên. Sau khi gán:
St:='Sinh vien Tin hoc hoc Tin hoc';
k := Pos('Tin', ST) ;
- Giá trị của k là :
A. k=26 |
B. k=11 |
C. k=23 |
D. k=13 |
Cho khai báo mảng sau:
Var P: array [1..50] of word;
Tham chiếu đến một phần tử của mảng P nào sau đây là SAI?
A. P[30] |
B. P[15] |
C. P[0] |
D. P[50] |
Đoạn chương trình sau thực hiện việc nào trong các việc sau:
S:=0;
For i:= 1 to n do S:=S+ A[i];
A. In ra màn hình mảng A; |
B. Đếm số phần tử của mảng A; |
C. Tính tổng các phần tử của mảng một chiều A; |
D. Không thực hiện việc nào trong 3 việc trên; |
Lệnh Write trong đoạn chương trình sau thực hiện bao nhiêu lần ?
FOR i:=1 TO 3 DO
FOR j:=2 TO 5 DO Write (i,' ',j);
A. 5 lần |
B. 3 lần |
C. 9 lần |
D. 12 lần |
Cho sâu s1 = ‘123’; s2 = ‘abc’ sau khi thực hiện thủ tục Insert(s1, s2, 2) thì:
A. s1 = ‘123’; s2 = ‘12abc’ |
B. s1 = ‘ab123; s2 = ‘abc’ |
C. s1 = ‘1abc23’; s2 = ‘abc’ |
D. s1 = ‘123’; s2 = ‘a123bc’ |
---> Không có đáp án đúng, đáp án đúng là: s1='123'; s2='ab123c'
Khi chạy chương trình :
Var St : String;
i,L : integer;
Begin
St:='ABCD'; L := Length(St);
For i:= L Downto 1 do write (St[i]);
End.
Chương trình in ra :
A. 4321 |
B. DCBA |
C. ABCD |
D. DCAB |
thủ tục chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt được viết:
A. Insert(S1,S2,vt); |
B. Insert(vt,S1,S2); |
C. Insert(S1,vt,S2); |
D. Insert(S2,S1,vt); |
sau khi thực hiện đoạn chương trình sau, giá trị của biến S là:
S:=’Ha Noi mua thu’;
Delete(S,7,8);
Insert(‘Mua thu ‘,S,1);
A. ‘Mua thu Ha Noi mua thu’; |
B. ‘Ha Noi Mua thu’; |
C. ‘Mua thu Ha Noi’; |
D. ‘Ha Noi’; |
Đoạn chương trình sau thực hiện việc nào trong các việc sau:
S:=0;
For i:= 1 to n do S:=S+ i;
A. Đếm các giá trị từ 1 đến n; |
B. In ra màn hình các giá trị từ 1 đến n; |
C. Không thực hiện việc nào trong 3 việc trên; |
D. Tính tổng các giá trị từ 1 đến n; |
Cho s = ‘500 ki tu’, hàm Length(s) cho giá trị bằng:
A. 500 |
B. 9 |
C. ‘500’ |
D. ‘5’ |
đoạn chương trình sau thực hiện công việc nào trong các công việc sau:
i:=pos(‘ ‘,S); {‘ ’ là 2 dấu cách}
While i<>0 do
Begin
Delete(s, i, 1);
i:=pos(‘ ‘, s);
End;
A. Xóa đi 1 trong 2 dấu cách đầu tiên trong xâu; |
B. Xóa đi 1 dấu cách trong 2 dấu cách liên tiếp trong xâu s để s không còn 2 dấu cách liền nhau; |
C. Xóa hai dấu cách liên tiếp nhau đầu tiên trong xâu; |
D. Xóa các dấu cách liền nhau cuối cùng trong xâu; |
#include <iostream>
#include <fstream>
int main()
{
std::ifstream f("daycon.inp");
int n,s,a[1001],d[100][1001];
f>>n>>s;
for(int i=1;i<=n;i++)
{
f>>a[i];
}
d[0][0]=0;
a[0]=0;
d[1][a[1]]=1;
for(int i=2;i<=n;i++)
{
for(int j=0;j<=s;j++)
{
d[i][j]=d[i-1][j];
if(j==a[i]&&d[i-1][j]<1)
d[i][j]=1;
else
if(a[i]<j&&d[i-1][j-a[i]]>0&&d[i-1][j-a[i]]+1>d[i][j])
d[i][j]=d[i-1][j-a[i]]+1;
}
}
for(int i=n;i>=1;i--)
{
if(d[i][s]!=d[i-1][s])
{
std::cout<<a[i]<<" ";
s-=a[i];
}
}
return 0;
}