
DELPHI 7
.pdf
Сортировка одномерного массива (по возрастанию
vk.com/club152685050 | vk.com/id446425943
Program Sortirovka_01; uses crt;
Const a: array[1..5] of integer = (5,4,1,3,2); Const n=5;
Var i, j, k, m, buf: integer;
Begin
for i:=1 to 4 do |
{ to n-1 do, можно to n do} |
|
|
for j:=1 to 5-i do |
{ можно |
to n-1 do} |
|
if a[j] >a[j+1] then |
|
|
|
|
begin |
|
|
|
buf:=a[j+1] ; |
|
|
|
a[j+1] :=a[j] ; |
|
|
|
a[j] :=buf; |
|
|
|
end; |
|
end. 45 |
for i:=1 to 5 do write(a[i],' '); |
writeln; |

массив A=(5, 4, 1, 3, 2);
vk.com/club152685050 | vk.com/id446425943
i=1 |
j=1 |
5>4 |
да |
4, 5, 1, 3, 2 |
|
j=2 |
5>1 |
да |
4, 1, 5, 3, 2 |
|
j=3 |
5>3 |
да |
4, 1, 3, 5, 2 |
|
j=4 |
5>2 |
да |
4, 1, 3, 2, 5 |
i=2 |
j=1 |
4>1 |
да |
1, 4, 3, 2, 5 |
|
j=2 |
4>3 |
да |
1, 3, 4, 2, 5 |
|
j=3 |
4>2 |
да |
1, 3, 2, 4, 5 |
|
j=4 |
4>5 |
нет |
1, 3, 2, 4, 5 |
i=3 |
j=1 |
1>3 |
нет |
1, 3, 2, 4, 5 |
|
j=2 |
3>2 |
да |
1, 2, 3, 4, 5 |
|
j=3 |
3>4 |
нет |
1, 2, 3, 4, 5 |
|
j=4 |
4>5 |
нет |
1, 2, 3, 4, 5 |
i=4 |
j=1 |
|
нет |
|
|
j=2 |
|
нет |
|
|
j=3 |
|
нет |
|
|
j=4 |
|
нет |
|
нет перестановки элементов
больше перестановки элементов нет
это лишние прогоны
46

Сортировка одномерного массива (по возрастанию
vk.com/club152685050 | vk.com/id446425943
Program Sortirovka_02; uses crt;
Const a: array[1..5] of integer = (5,4,1,3,2); Const n=5;
Var i, j, k, m, buf: integer;
Procedure Sort (x: array [1..5] of integer);
Begin |
|
for i:=1 to 4 do |
{ to n-1 do, можно to n do} |
for j:=1 to 5-i do |
{ можно to n-1 do} |
if x[j] >x[j+1] then |
begin |
|
buf:=x[j+1] ; |
|
x[j+1] :=x[j] ; |
|
x[j] :=buf; |
end;
for i:=1 to 5 do write(x[i],' '); writeln; end;
Begin
Sort (a);
End. |
47 |

vk.com/club152685050 | vk.com/id446425943 Задача 1.
Четыре точки заданы своими координатами
A={a1, a2, a3, a4}, |
B={b1, b2, b3, b4}, |
C={c1, c2, c3, c4}, |
D={d1, d2, d3, d4}. |
Определить, какие из этих точек находятся на максимальном расстоянии друг от друга.
Расстояние между точками X={x1, x2, x3, …, xn} и Y={y1, y2, y3,
…, yn} вычисляется по формуле
Вычисление расстояния между двумя точками оформить в виде подпрограммы - функции.
Исходные данные:
A={3.5; 4.4; 2.8; 3.1}; B={1.8; 2.1; 2.25; 1.9};
C={1.35; 3.2; 4; 2.1}; D={2.01; 0.35; 3.8; 0.3}. |
60 |
|

program primer4;
vk.com/club152685050 | vk.com/id446425943
uses crt;
Type |
vect = array[1..6] of real; |
|
t =array[1..4] of real; |
Const |
a: t=(3.5, 4.4, 2.8, 3.1); |
|
b: t=(1.8, 2.1, 2.25, 1.9); |
|
c: t=(1.35, 3.2, 4, 2.1); |
|
d: t=(2.01, 0.35, 3.8, 0.3); |
|
var i, j, max: integer; |
|
l: vect; |
function rasst (x, y: t):real;
var |
lr: real; |
|
|
i: integer; |
|
begin |
|
|
|
lr:=0; |
|
|
for i:=1 to 4 do |
|
|
lr:=lr+sqr(x[i]-y[i]); |
|
|
rasst:=sqrt(lr); |
61 |
end; |
|
|

begin |
|
vk.com/club152685050 | vk.com/id446425943 |
|
clrscr; |
|
l[1]:=rasst(a,b); |
Определены расстояния: |
|
|
l[2]:=rasst(a,c); |
l[1]=3.150 l[2]=2.916 l[3]=5.240 l[4]=2.125 l[5]=2.841 l[6]=3.441 |
|
|
l[3]:=rasst(a,d); |
Расстояние максимально между точками АD и равно 5.240 |
|
|
l[4]:=rasst(b,c); |
|
|
|
l[5]:=rasst(b,d); |
|
l[6]:=rasst(c,d); writeln('Определены расстояния:');
for i:=1 to 6 do write('l[',i,']=',l[i]:5:3,' '); writeln;
max:=1;
for i:=2 to 6 do
if l[i]>l[max] then max:=i; case max of
1: writeln(' Расстояние максимально между точками АB и равно ',l[max]:5:3); 2: writeln(' Расстояние максимально между точками АC и равно ',l[max]:5:3); 3: writeln(' Расстояние максимально между точками АD и равно ',l[max]:5:3); 4: writeln(' Расстояние максимально между точками BC и равно ',l[max]:5:3); 5: writeln(' Расстояние максимально между точками BD и равно ',l[max]:5:3);
6: writeln(' Расстояние максимально между точками CD и равно ',l[max]:5:3);
end; end.
62

vk.com/club152685050 | vk.com/id446425943 Задача 2.
Заданы матрицы A, B, C, D, каждая из которых содержит по три строчки и по три столбца. Перемножить матрицы P и Q, полученные в результате сложения матриц: P=A+B; Q=C+D. Сложение матриц оформить в виде подпрограммы. Исходные данные:
|
0.1 |
1 |
0.8 |
|
|
1 |
2.5 |
0.1 |
|
|
|
|
|
|
|
|
|
|
|
A |
2.3 |
4.4 |
0.5 |
; |
B |
3.1 |
2.2 |
- 2 |
; |
|
0.9 |
7.5 |
1.1 |
|
|
- 0.5 |
1 |
1.3 |
|
|
|
|
|
|
0.33 |
- 1 |
0.4 |
|
|
0.1 |
4.5 |
1 |
|
|
|
|
|
|
|
|
|
|
|
C |
2.5 |
3.1 |
0.48 |
; |
D |
0.3 |
- 1 |
2.5 |
|
|
5.5 |
0.3 |
1 |
|
|
1.1 |
2.8 |
3.35 |
|
|
|
|
|
63

programvk.com/club152685050primer5;| vk.com/id446425943
uses crt;
Type matr = array[1..3,1..3] of real;
const a: matr=((0.1,1,0.8),(2.3,4.4,-0.5),(0.9,7.5,1.1));
|
b: matr=((1,2.5,0.1),(3.1,2.2,-2),(-0.5,1,1.3)); |
|
c: matr=((0.33,-1,0.4),(2.5,3.1,0.48),(5.5,0.3,1)); |
|
d: matr=((0.1,4.5,1),(0.3,-1,2.5),(1.1,2.8,3.35)); |
var |
k, i, j: integer; |
|
p, q, pq: matr; s:real; |
procedure summa(var x, y, z: matr); var i, j: integer;
begin
for i:=1 to 3 do for j:=1 to 3 do
z[i, j]:=x[i, j]+y[i, j];
end;
64

procedurevk.com/club152685050pr(var|x,vk.com/id446425943y: matr);
var i, j: integer;
begin
for i:=1 to 3 do |
begin |
|
for j:=1 to 3 do |
|
|
|
write(x[i, j]:8:3); |
|
|
write(' |
'); |
for j:=1 to 3 do |
|
|
write(y[i, j]:8:3); |
|
|
writeln; |
|
|
end; |
end; |
|
begin clrscr;
writeln(' матрица A матрица B'); pr(a, b);
writeln(' |
матрица C |
матрица D'); |
65 |
|
|
|
pr(c, d); end.

procedurevk.com/club152685050pr(var|x,vk.com/id446425943y: matr);
var i, j: integer;
begin
for i:=1 to 3 do |
begin |
|
for j:=1 to 3 do |
|
|
|
write(x[i, j]:8:3); |
|
|
write(' |
'); |
for j:=1 to 3 do |
Закончить программу!! |
|
write(y[i, j]:8:3); |
|
|
writeln; |
|
|
end; |
end; |
|
begin clrscr;
writeln(' матрица A матрица B'); pr(a, b);
writeln(' |
матрица C |
матрица D'); |
66 |
|
|
|
pr(c, d); end.