.


:




:

































 

 

 

 


.




( ) .

, , , . . , . () .

1. SORT 10. int_ar_10, :

type int_ar_10 = array [1..10] of integer;

...

procedure SORT(ent_mas:int_ar_10; var exit_mas:int_ar_10);

, SORT 10.

, , 1 100 , int_ar_100 (100) , . , ( 101 ). - , int_ar_100 .

type , .

, , , .

. , , , . - var - .

- ( ). - Low High. , Low , High -- . 0, Low.

2. SORT , . : 1) ent_mas exit_mas SORT , , 2) ent_mas exit_mas SORT i_first, i_fin (ent_mas) j_first, j_fin (exit _mas), Low High, 3) , (i_fin - i_first) <> (j_fin - j_first). :

var a,b:array [1..8] of integer; { a,b }

procedure SORT(ent_mas: array of integer; var exit_mas: array of integer);

var i_first,i_fin,j_first,j_fin:integer; { SORT }

begin { SORT }

i_first:=Low(ent_mas);i_fin:=High(ent_mas); { ent_mas }

j_first:=Low(exit_mas);j_fin:=High(exit_mas); { exit_mas }

if (i_fin-i_first)<>(j_fin-j_first) then begin

wirteln ( Different lengths of arrays in proc. SORT, EXIT!); exit end;

...

end; { SORT }

begin { }

...

SORT(a,b); { SORT a,b }

...

end. { }

SORT , . . .

3. 2 , . , . SORT , :

var a,b:array of integer; { a,b }

N:integer;

Procedure SORT...

begin { }

writeln ('Vvedite razmernost massiva:');read(n); { n }

SetLength (a,n); SetLength (b,n); { n a b }

for i:=1 to n do begin { a }

writeln('vvedite element a[',i,']='); { a [i] }

read(a[i]) { a[i] a }

End;...

SORT(a,b); { SORT a,b }

...

SetLength(a,0); SetLength(b,0); { a b }

end. { }

. , , . . .

4. , :

) n m M[1..n,1..m],

) M[1..n,1..m],

) SUM_STR S[1..n], ,

) S[1..n] ,

) .

. i j, , , LM. k = k (i, j, m) LM 5 .8.5. m SUM_STR : k (i, j, m) n ( ). , 1, 0.

var LM: array of integer; { . LM }

S: array of integer; { . S }

n,m,i,j,el: integer;

function k(i,j,m:integer):integer; { k = k (i, j, m) = (i-1)m +(j-1) }

begin k:= (i-1)*m + j -1; end;

procedure SUM_STR(L:array of integer; m:integer; var STR_S:array of integer);

{ }

var k,n,i_first,i_fin,i,j:integer;

begin { SUM_STR }

i_first:=Low(L);i_fin:=High(L); { L }

n:=(i_fin-i_first+1) div m; { n , L }

for i:=1 to n do STR_S[i-1]:=0; { STR_S }

for i:=1 to n do { STR_S }

for j:=1 to m do

begin k:=(i-1)*m+j-1; STR_S[i-1]:=STR_S[i-1]+L[k] end;

end; { SUM_STR }

begin { }

writeln (' Vvedite hislo strok:');read(n); { n }

writeln (' Vvedite hislo stolbtsov:');read(m); { m}

SetLength (LM,n*m); { LM M[1..n,1..m] }

SetLength (S,n); { S }

for i:=1 to n do { }

for j:=1 to m do begin

writeln('vvedite element M[',i,',',j,']='); { M [i,j] }

read(el); LM[k(i,j,m)]:=el; { M [i,j] LM }

End;

for i:=1 to n do begin { M[1..n,1..n] }

for j:=1 to m do write(' M[',i,',',j,']=',LM[k(i,j,m)]:6); { }

writeln; { }

End;

SUM_STR(LM, m, S); { SUM_STR }

for i:=0 to n-1 do { S }

writeln(' Sum of elements in stroke ',i+1,'=',S[i]:6);

SetLength(LM,0); SetLength(S,0); // LM S

end. { }

, : 1) () 2) . , . , , , . , .

.

1. ?

2. ?

3. ?

4. ?

5. ?

6. ?

.

1. ) - ) , `a = (a 1,..., an) `b = (b 1,..., bn) (`a, `b) = (a 1 b 1 +...+ anbn) Sc (`a, `b):

) `a `b n =3 c ;

) `a `b 1 ≤ n ≤ 100 c ;

) `a `b 1 ≤ n ≤ 100 Sc (`a, `b);

) `a `b n, Sc (`a, `b).


 

.

1. A B, 5 . ,

- scal.

type vector=array [1..5] of real;

 

function scal (n:integer;

var a,b:vector):real;

var i:integer;

s:real;

begin

s:=0;

for i:=1 to n do s:=s+a[i]*b[i];

scal:=s;

end;

 

var i:integer;

a,b:vector;

s:real;

begin

writeln (' 1 5 :');

for i:=1 to 5 do read (a[i]);

writeln (' 2 5 :');

for i:=1 to 5 do read (b[i]);

s:=scal(5,a,b);

writeln ('s=',s:10:3);

end.

2. A n res, A ( , ).

, , : Middle , Otkl - A mid b. b . , type , 100 .

type vector= array [1..100] of real;

 

function Middle (n:integer;

var a:vector):real;

var j:integer;

res:real;

begin

res:=0.0;

for j:=1 to n do res:=res+a[j];

Middle:=res/n;

end;

 

procedure Otkl (n:integer; mid:real;

var a,b:vector);

var j:integer;

begin

for j:=1 to n do b[j]:=abs(a[j]-mid);

end;

 

var a,res: vector;

i,n:integer;

s:real;

begin

write ('? ');

readln (n);

for i:=1 to n do begin

write ('A[',i,']=');

readln (a[i]);

end;

s:=Middle (n,a);

Otkl (n,s,a,res);

for i:=1 to n do

writeln ('res[',i,']=',res[i]:8:2);

end.

3. , .

, A n3m B m3p : ci,j -- n3m. , : i A, j B , l A B, ci,j. mmul :

type matrix=array[1..10,1..10] of real;

 

var a,b,c: matrix;

i,j,n,m,p: integer;

 

procedure mmul (n,m,k:integer;

var a,b,c:matrix);

var i,j,l:integer; s:real;

begin

for i:=1 to n do

for j:=1 to k do begin

s:=0;

for l:=1 to m do s:=s+a[i,l]*b[l,j];

c[i,j]:=s;

end;

end;

 

begin

repeat

writeln;

write (' ',

'1 : ');

readln (n);

write (' ',

'1 : ');

readln (m);

write (' ',

'2 : ');

readln (p);

until (n>1) and (n<11) and (m>1)

and (m<11) and (p>1) and (p<11);

for i:=1 to n do begin

writeln (' ',i,

' A ',m,':');

for j:=1 to m do read (a[i,j]);

end;

for i:=1 to m do begin

writeln (' ',i,

' B ',p,':');

for j:=1 to p do read (b[i,j]);

end;

 

mmul (n,m,p,a,b,c);

for i:=1 to n do begin

writeln;

for j:=1 to p do write (c[i,j]:10:3);

end;

end.

4. , , 4.

5. , .

N , . ?

cities. , , i j ai,j, , max(ai,j+aj,i), "" "". . , , .

const cities=10;

type matrix=array [1..cities,1..cities]

of integer;

 

function max1 (n:integer; var a:matrix;

var imax,jmax:integer):integer;

var i,j,m,p:integer;

begin

m:=a[1,2]; imax:=1; jmax:=2;

for i:=1 to n do

for j:=1 to n do

if (i<>j) then begin

p:=a[i,j]+a[j,i];

if p>m then begin

m:=p; imax:=i; jmax:=j;

end;

end;

max1:=p;

end;

 

function readNumber (s:string;

min,max:integer):integer;

var a:integer;

begin

repeat

write (s);

{$I-}readln(a);{$I+}

if IoResult<>0 then

writeln (', !')

else if (a<min) or (a>max) then

writeln (', ',

' [',min, ',',

max, ']')

else break;

until false;

readNumber:=a;

end;

 

procedure readMatrix1 (var n:integer;

var a:matrix);

var i,j:integer; s,s1:string;

begin

n:=readNumber (' ',

' : ',2,cities);

for i:=1 to n do

for j:=i+1 to n do begin

s:='A['; str(i,s1); s:=s+s1+',';

str(j,s1); s:=s+s1+']=';

a[i,j]:=readNumber (s,0,maxInt);

end;

end;

 

procedure writeMatrix1 (s:string;

n:integer; var a:matrix);

var i,j:integer;

begin

writeln (s);

for i:=1 to n do begin

for j:=1 to n do write (a[i,j]:7);

writeln;

end;

end;

 

var a:matrix;

n,gorod1,gorod2:integer;

 

begin

readMatrix1 (n,a);

max1 (n,a,gorod1,gorod2);

writeMatrix1 ('A=',n,a);

writeln (' ',

' ',gorod1,' ',gorod2);

readln;

end.

 





:


: 2016-11-12; !; : 1211 |


:

:

, .
==> ...

1537 - | 1331 -


© 2015-2024 lektsii.org - -

: 0.142 .