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.

Lời giải:
program hotrotinhoc;
const fi='integer.inp';
fo='integer.out';
var a,b,n: integer;
f: text;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,n);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
writeln(f,trunc(n));
write(f,trunc(n)+1);
close(f);
BEGIN
ip;
out;
END.

VD chính xác :
m1.inp | m1.out |
5 -2 3 5 4 -7 |
-2 3 5 4 -7 -7 -2 3 4 5 |
Lời giải :
program hotrotinhoc;
const fi='m1.inp';
fo='m1.out';
var f: text;
i,n,tg : integer;
a: array[1..32000] of integer;
procedure ip;
begin
assign(f,fi);
reset(f);
readln(f,n);
for i:=1 to n do
read(f,a[i]);
close(f);
end;
procedure out;
begin
for i:=1 to n do
write(f,a[i],' ');
writeln(f);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
for i:=1 to n do write(f,a[i],' ');
close(f);
end;
begin
ip;
out;
end.

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.

Câu 15
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 0 0 0 0 0 0 0 0 0 0 0
Câu 24
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’ |
Câu 31
Vòng lặp nào có biến đếm tự động tăng lên một đơn vị sau một lần thực hiện câu lệnh?
A. For …to…do… |
B. For …downto…do… |
C. While…do… |
D. Repeat…Until… |
Câu 32
xâu kí tự không chứa kí tự nào gọi là:
A. Xâu không; |
B. Xâu trắng; |
C. Không phải là xâu kí tự |
D. Xâu rỗng; |
Câu 33
Cho str là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì ?
for i := length(str) downto 1 do write(str[i]) ;
A. In từng kí tự ra màn hình theo thứ tự ngược |
B. In từng kí tự ra màn hình theo thứ tự ngược, trừ kí tự đầu tiên. |
C. In từng kí tự xâu ra màn hình |
D. In xâu ra màn hình |
Câu 34
hàm Upcase(ch); cho kết quả là:
A. Xâu ch toàn chữ thương; |
B. Biến ch thành chữ thường; |
C. Chữ cái in hoa tương ứng với ch; |
D. Xâu ch toàn chữ hoa; |
Câu 35
Với khai báo như sau:
Type mang=array[1..100] of integer;
Var a,b:mang;
c:array[1..50] of integer;
Câu lệnh nào dưới đây đúng nhất?
A. b:=c; |
B. a:=c; |
C. a:=b; |
D. c:=b; |
Câu 36
Cho đoạn chương trình sau
If(a< >0) then x:=9 div a
Else x:=-1;
Write(‘ x= ‘, x + 1);
Khi cho a=0 thị đoạn chương trình trên sẽ in ra màn hình giá trị x=?
A. x=0; |
B. x là không xác định |
C. x=1 |
D. x= -1 |
Câu 37
Cho St là biến chuỗi, sau khi thực hiện hai lệnh :
St:= Copy( 'PASCAL VERSION 5.5' , 8, 7) ;
Write(St);
- Kết qủa in lên màn hình là:
A. VERSION |
B. PASCAL |
C. 5.5 |
D. VERSION 5.5 |
Câu 38
với xâu kí tự ta có thể:
A. So sánh hai xâu kí tự, gán biến xâu cho biến xâu và gán một kí tự cho biến xâu; |
B. Gán biến xâu cho biến xâu và gán một kí tự cho biến xâu; |
C. So sánh và gán một biến xâu cho biến xâu. |
D. So sánh hai xâu kí tự; |
Câu 39
Var A; string[20]; Xâu A có thể chứa?
A. 256 kí tự |
B. 20 kí tự |
C. Báo lỗi |
D. 255 kí tự |
Câu 40
Đoạn chương trình sau đưa ra màn hình kết quả gì?
For i:=1 to 10 do write(I,’’);
A. Đưa ra 10 dấu cách |
B. 12345678910 |
C. 10 9 8 7 6 5 4 3 2 1 |
D. Không đưa ra kết quả gì |
Câu 41
Đoạn chương trình sau đây dùng để thực hiện công việc gì?
For i:=1 to n do
If i mod 2 = 0 then Writeln(A[i],’ ‘);
A. In ra màn hình giá trị của các phần tử có chỉ số chẵn trong mảng |
B. In ra màn hình giá trị của các phần tử có giá trị chẵn trong mảng |
C. In ra màn hình tất cả các phần tử trong mảng |
D. Tất cả đều đúng |
Câu 42
Cho đoạn chương trình sau
If (a<>0) then x:=9 div a Else x:=-1;
Write(‘ x= ‘, x + 1);
Khi cho a=0 thị đoạn chương trình trên sẽ in ra màn hình giá trị x=?
A. x=0; |
B. x= -1 |
C. x là không xác định |
D. x=1 |
Câu 43
thủ tục Insert(S1,S2,n) thực hiện công việc gì?
A. Chèn thêm xâu S1 vào xâu S2 bắt đầu từ vị trí n của S1; |
B. Chèn thêm xâu S1 vào xâu S2 bắt đầu từ vị trí n của S2; |
C. Chèn thêm xâu S2 vào xâu S1 bắt đầu từ vị trí n của S1; |
D. Chèn thêm xâu S2 vào xâu S2 bắt đầu từ vị trí n của S1; |
Câu 44
Cho khai báo biến:
Var A : array[1..5] of Integer;
Chọn lệnh đúng :
A. A := 10 ; |
B. A[2] := -6 ; |
C. A(3) := 6 ; |
D. A[1] := 4/3 ; |
Câu 45
Hai xâu kí tự được so sánh dựa trên:
A. Mã của từng kí tự trong các xâu lần lượt từ trái sang phải; |
B. Độ dài tối đa của hai xâu; |
C. Số lượng các kí tự khác nhau trong 2 xâu; |
D. Độ dài thực sự của hai xâu; |
Câu 46
Để tìm vị trí xuất hiện đầu tiên của xâu ‘hoa’ trong xâu s ta có thể viết?
A. S1:=’hoa’; I:=pos(s1,’hoa’); |
B. I:=pos(s,’hoa’); |
C. I:=pos(‘hoa’,’hoa’); |
D. I:=pos(’hoa’,s); |
Câu 47
phần tử đầu tiên của xâu kí tự mang chỉ số là:
A. Không có chỉ số |
B. 0 |
C. Do người lập trình khai báo |
D. 1 |
Câu 48
Var A: array[1..10] of integer;
Chọn câu lệnh sai trong các câu lệnh sau:
A. A[1]:= 2.5; |
B. A[4]:=0; |
C. A[2]:= 30; |
D. A[3]:=-5; |
Câu 49
Sau khi thực hiện đoạn chương trình sau, thì biến X có giá trị là bao nhiêu?
A:= 4 ; B: = 1; X:= 2 ;
IF A + B > 5 THEN X := X + A + B; WRITE (X);
A. 7 |
Lời giải:
Nhập mảng phải có nhập số lượng phần tử nữa bạn nhé.
program hotrotinhoc;
const fi='bai5.inp';
fo='bai5.out';
var f: text;
i,j,n,max,max1,max2,max3,max4: longint;
a: array[1..32000] of integer;
function dn(x: integer): integer;
var s: integer;
begin
s:=0; dn:=0;
while x<>0 do
begin
s:=s*10+(x mod 10);
x:=x div 10;
end;
dn:=s;
end;
function nt(x1: integer): boolean;
var j: integer;
begin
nt:=false;
if x1<2 then exit;
for j:=2 to trunc(sqrt(x1)) do
if x1 mod j=0 then exit;
nt:=true;
end;
function tongcs(x2: integer): integer;
var s1: integer;
begin
s1:=0;
while x2<>0 do
begin
s1:=s1+(x2 mod 10);
x2:=x2 div 10;
end;
tongcs:=s1;
end;
function ucln(x3,y: integer) : integer;
var z: integer;
begin
while y<>0 do
begin
z:=x3 mod y;
x3:=y;
y:=z;
end;
ucln:=x3;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
readln(f,n);
for i:=1 to n do
read(f,a[i]);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
max:=0; max2:=0; max3:=0;
for i:=1 to n do
begin
if (dn(a[i])=a[i]) and (a[i]>max) then max:=a[i];
if dn(a[i])>max2 then max2:=dn(a[i]);
if (nt(a[i])) and (tongcs(a[i])>max3) then max3:=a[i];
end;
writeln(f,max);
for i:=1 to n do if dn(a[i])=max2 then
writeln(f,a[i]);
max4:=0;
for i:=1 to n do
for j:=i to n do
if (a[i]<>a[j]) and (ucln(a[i],a[j])>max4) then max4:=ucln(a[i],a[j]);
for i:=1 to n do
for j:=i to n do
if ucln(a[i],a[j])=max4 then writeln(f,a[i],' ',a[j]);
write(f,max3);
close(f);
end;
begin
ip;
out;
end.
camr ơn