K
Khách

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.

22 tháng 8 2019

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.

22 tháng 8 2019

camr ơn

21 tháng 8 2019

Đợi chút mình đang giải.

21 tháng 8 2019

Đúng rồi , bạn thêm:

const fi='bai3.inp';

fo='bai3.out';

22 tháng 6 2019

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.

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương. Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn...
Đọc tiếp

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương.

Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn nhất.

Dữ liệu vào: File tên HCN.OUT

- Dòng 1 ghi bốn số n, m, p, q được ghi cách nhau bởi dấu cách.

- n dòng tiếp theo, mỗi dòng ghi m số nguyên dương và cách nhau bởi dấu cách.

Dữ liệu ra: File HCN.OUT, chứa 1 dòng ghi một số nguyên duy nhất S là diện tích lớn nhất cần tìm.

HCN.INP

HCN.OUT

4 7 3 3

1 2 3 1 1 3 4

5 3 1 4 0 1 2

4 6 3 4 7 1 1

9 3 8 10 0 1 0

84

Ví dụ:

1

2

3

1

1

3

4

5

3

1

4

0

1

2

4

6

3

4

7

1

1

9

3

8

10

0

1

0

0
Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương. Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn...
Đọc tiếp

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương.

Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn nhất.

Dữ liệu vào: File tên HCN.OUT

- Dòng 1 ghi bốn số n, m, p, q được ghi cách nhau bởi dấu cách.

- n dòng tiếp theo, mỗi dòng ghi m số nguyên dương và cách nhau bởi dấu cách.

Dữ liệu ra: File HCN.OUT, chứa 1 dòng ghi một số nguyên duy nhất S là diện tích lớn nhất cần tìm.

HCN.INP

HCN.OUT

4 7 3 3

1 2 3 1 1 3 4

5 3 1 4 0 1 2

4 6 3 4 7 1 1

9 3 8 10 0 1 0

84

Ví dụ:

1

2

3

1

1

3

4

5

3

1

4

0

1

2

4

6

3

4

7

1

1

9

3

8

10

0

1

0

1
1 tháng 5 2020

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.

vui

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương. Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn...
Đọc tiếp

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương.

Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn nhất.

Dữ liệu vào: File tên HCN.OUT

- Dòng 1 ghi bốn số n, m, p, q được ghi cách nhau bởi dấu cách.

- n dòng tiếp theo, mỗi dòng ghi m số nguyên dương và cách nhau bởi dấu cách.

Dữ liệu ra: File HCN.OUT, chứa 1 dòng ghi một số nguyên duy nhất S là diện tích lớn nhất cần tìm.

HCN.INP

HCN.OUT

4 7 3 3

1 2 3 1 1 3 4

5 3 1 4 0 1 2

4 6 3 4 7 1 1

9 3 8 10 0 1 0

84

Ví dụ:

1

2

3

1

1

3

4

5

3

1

4

0

1

2

4

6

3

4

7

1

1

9

3

8

10

0

1

0

1
12 tháng 2 2020

bài này làm bằng Pascal hả anh?

13 tháng 2 2020

uk

uses crt;

var a:array[1..100]of byte;

i,n,t:byte;

begin

clrscr;

write('n='); readln(n);

for i:=1 to n do

begin

write('a[',i,']='); readln(a[i]);

end;

{----------------------------cau-a----------------------------}

t:=0;

for i:=1 to n do

t:=t+a[i];

writeln(t);

{---------------------------------cau-b--------------------------------}

for i:=1 to n do write(a[i]:4);

readln;

end.

6 tháng 4 2020

Cảm ơn ad

23 tháng 8 2019

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.

24 tháng 8 2019

ok

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 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 =...
Đọc tiếp

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

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

B. 0

C. 2

D. 5

Câu 50

để đếm số kí tự là kí tự chữ số trong xâu s, đoạn chương trình nào trong các đoạn chương trình sau thực hiện công việc này (biến d dùng để đếm)

A. d:=0; for i:=1 to length(s) do if (s[i] =’0’) and(s[i]=’9’) then d:=d+1;

B. d:=0; for i:=1 to length(s) do if (s[i] >=0) and(s[i]<=9) then d:=d+1;

C. d:=0; for i:=1 to length(s) do if (s[i] =0) and (s[i]=9) then d:=d+1;

D. d:=0; for i:=1 to length(s) do if (s[i] >=’0’) and(s[i]<=’9’) then d:=d+1;

em xin cảm ơn .

1
30 tháng 4 2020

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

B. 0

C. 2

D. 5

Câu 50

để đếm số kí tự là kí tự chữ số trong xâu s, đoạn chương trình nào trong các đoạn chương trình sau thực hiện công việc này (biến d dùng để đếm)

A. d:=0; for i:=1 to length(s) do if (s[i] =’0’) and(s[i]=’9’) then d:=d+1;

B. d:=0; for i:=1 to length(s) do if (s[i] >=0) and(s[i]<=9) then d:=d+1;

C. d:=0; for i:=1 to length(s) do if (s[i] =0) and (s[i]=9) then d:=d+1;

D. d:=0; for i:=1 to length(s) do if (s[i] >=’0’) and(s[i]<=’9’) then d:=d+1;

Câu 1 (6,0 điểm): Tính giá trị Nhập vào 2 số nguyên dương N và M. Yêu cầu: Tính tổng M các số tận cùng của N. Dữ liệu vào: Cho trong file văn bản CAU1.INP, có cấu trúc như sau: - Dòng 1: Ghi số nguyên dương N. - Dòng 2: Ghi số nguyên dương M (M≤ N) . Dữ liệu ra: Ghi ra file văn bản CAU1.OUT, theo cấu trúc như sau: - Ghi kết quả tổng của M số tận cùng của N. Ví...
Đọc tiếp

Câu 1 (6,0 điểm): Tính giá trị

Nhập vào 2 số nguyên dương N và M.

Yêu cầu: Tính tổng M các số tận cùng của N.

Dữ liệu vào: Cho trong file văn bản CAU1.INP, có cấu trúc như sau:

- Dòng 1: Ghi số nguyên dương N.

- Dòng 2: Ghi số nguyên dương M (M≤ N) .

Dữ liệu ra: Ghi ra file văn bản CAU1.OUT, theo cấu trúc như sau:

- Ghi kết quả tổng của M số tận cùng của N.

Ví dụ:

CAU1.INP

CAU1.OUT

34562

2

8

Câu 2 (7,0 điểm): Tìm số

Dãy các số tự nhiên được viết ra thành một dãy vô hạn trên đường thẳng:

1234567891011121314..... (1)

Yêu cầu: Viết chương trình yêu cầu nhập số K và in lên tệp CAU2.OUT kết quả là số nằm ở vị trí thứ K trong dãy (1) ở trên và số đó thuộc vào số nào?

Dữ liệu vào: Cho trong file văn bản CAU2.INP, có cấu trúc như sau:

- Ghi số nguyên dương K

Dữ liệu ra: Ghi ra file văn bản CAU2.OUT, theo cấu trúc như sau:

- Trên 1 dòng in kết quả số ở vị trí K và số chứa số đó cách nhau ít nhất một dấu cách.

Ví dụ:

CAU2.INP

CAU2.OUT

15

2 12

Câu 3 (7,0 điểm): Đếm ký tự

Cho một văn bản gồm N dòng. Các ký tự được lấy từ tập các chữ cái và chữ số.

Yêu cầu: Tìm số lượng ký tự của dòng ngắn nhất, số lượng ký tự của dòng dài nhất và số lượng ký tự của văn bản.

Dữ liệu vào: Cho trong file văn bản CAU3.INP, có cấu trúc như sau:

- Dòng 1: Ghi số nguyên dương N là số dòng của văn bản (1 ≤ N ≤ 100).

- N dòng tiếp theo: Mỗi dòng ghi một xâu gồm L ký tự (0 < L < 255).

Dữ liệu ra: Ghi ra file văn bản CAU3.OUT, theo cấu trúc như sau:

- Dòng 1: Ghi 3 số nguyên dương x y z. Trong đó: x là số lượng ký tự của dòng ngắn nhất; y là số lượng ký tự của dòng dài nhất, z là số lượng ký tự của văn bản. Các số được ghi cách nhau ít nhất một dấu cách.

Ví dụ:

CAU3.INP

CAU3.OUT

3

ThiHSG09

Nam2015

Vong1

5 8 20

4
5 tháng 9 2019

cau1

uses crt;
const
fi='CAU1.inp';
fn='CAU1.out';
var n: string;
f:text;
m,i,a,tong: integer;
BEGIN
clrscr;
assign(f,fi);reset(f);
read(f,n);
read(f,m);
close(f);
assign(f,fn);rewrite(f);
for i:= length(n) downto length(n)-m+1 do
begin
val(n[i],a);
tong:=tong+a;
end;
write(f,tong);
close(f);
readln;
END.

cau3

uses crt;
const
fi='CAU1.inp';
fn='CAU1.out';
var n: string;
f:text;
m,i,a,tong: integer;
BEGIN
clrscr;
assign(f,fi);reset(f);
read(f,n);
read(f,m);
close(f);
assign(f,fn);rewrite(f);
for i:= length(n) downto length(n)-m+1 do
begin
val(n[i],a);
tong:=tong+a;
end;
write(f,tong);
close(f);
readln;
END.

6 tháng 9 2019

Câu 2:

*Ý tưởng :

+ Ý 1:

- Bạn không cần chạy đến vô hạn như đề cho đầu , bạn chỉ cần 1 vòng for chạy đến k là được bởi vì nó lấy kí tự thứ k.

- Bạn cho 1 vòng for chạy đến k và chuyển dãy số đó sang xâu và cho 1 biến đếm vào

- Nếu biến đếm bằng với k thì write(s[d]);

+ Ý 2:

- Các số có 1 chữ số chỉ có từ 1 đến 9. Nên nếu d<9 thì write(s[d]);

- Nếu mà d>9 và d là số lẻ thì write(s[d-1],s[d]) ngược là nếu d là số chẵn thì write(s[d],s[d+1]);

Đây là ý tưởng , nếu bạn không hiểu chỗ nào cứ hỏi mình , bạn làm theo ý tưởng mình xem nhé. Nếu không được mình sẽ gửi bài làm của mình cho bạn xem.