type
Pt = record
x, y: real
end;
Res = record
P1, P2: Pt;
L2: real
end;
function L(M1, M2: Pt): Res;
begin
Result.P1 := M1;
Result.P2 := M2;
Result.L2 := Sqr(M2.x - M1.x) + Sqr(M2.y - M1.y)
end;
begin
var M := new Pt[3];
var R := new Res[3];
for var i := 0 to 2 do
Read(M[i].x, M[i].y);
R[0] := L(M[0], M[1]);
R[1] := L(M[0], M[2]);
R[2] := L(M[1], M[2]);
var minr := R.MinBy(t -> t.L2);
var s := $'({minr.P1.x},{minr.P1.y}) и ({minr.P2.x},{minr.P2.y})';
Println('Минимальное расстояние между точками', s)
end.
Пример-2 1.5 0.5 3 3 -2Минимальное расстояние между точками (-2,1.5) и (0.5,3)Программа:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int N; float A, B, d, x, f;
do{
cout << "Введи кол-во шагов="; cin >> N;
} while (N <= 2);
do{
cout << "Введите левую границу отрезка="; cin >> A;
cout << "Введите правую границу отрезка="; cin >> B;
if (A == B)
{
cout << "Вы ввели точку, а не отрезок" << endl;
cout << "Введите ещё раз A и B:" << endl;
cout << "A="; cin >> A;
cout << "B="; cin >> B;
}
} while (A == B);
x = A;
d = (B - A) / (N-1);
while (x<=B+d/10){
if (x-N == 0)
cout << "x=" << x << " " << "f(x) - Нет значения"<< endl;
else
{
f = ((sin(x - N)) / (x - N)) + exp(x - N);
cout << "x=" << x << " " << "f(x)=" << f << endl;
}
x = x+d;
}
return 0;
}
Пример:
Введи кол-во шагов=10
Введите левую границу отрезка=9
Введите правую границу отрезка=11
x=9 f(x)=1.20935
x=9.22222 f(x)=1.36161
x=9.44444 f(x)=1.5231
x=9.66667 f(x)=1.69812
x=9.88889 f(x)=1.89278
x=10.1111 f(x)=2.11546
x=10.3333 f(x)=2.3772
x=10.5556 f(x)=2.69226
x=10.7778 f(x)=3.07881
x=11 f(x)=3.55976
Поделитесь своими знаниями, ответьте на вопрос:
Программа запрашивает 4 числа умножает 1 и 2 3 и 4 и сравнивает полученные числа
var
a,b,c,d, I, f: integer;
begin
writeln('Введите первое число');
readln(a);
writeln('Введите второе число');
readln(b);
writeln('Введите третье число');
readln(c);
writeln('Введите четвёртое число');
readln(d);
I:=a*b;
f:=c*d;
if i>f then
begin
writeln(I, 'больше', f);
end;
if i<f then
begin
writeln(I, 'меньше', f);
end;
end.