Написать на sql триггер на проверку числа. нельзя вводить в таблицу отрицательные значения (xyz) и больше 20. есть таблица create table xyz( id int unsigned not null auto_increment, x int, y int, z int primary key (id) )
Program MinDist; {$APPTYPE CONSOLE} uses sysutils;
const k = 100; ax = 10; ay = -2;
var T: array[1..k, 1..2] of integer; r, rmin, i, n: integer;
begin write('Введите число точек на плоскости: '); readln(n); rmin := 32767; Randomize; writeln('Исходные данные:'); for i := 1 to n do begin T[i, 1] := Random(51) - 25; T[i, 2] := Random(51) - 25; r := sqr(T[i, 1] - ax) + sqr(T[i, 2] - ay); if rmin > r then rmin := r; writeln('(', T[i, 1], ',', T[i, 2], ')') end; writeln(#13#10, 'Минимальное расстояние от А(', ax, ',', ay, ') равно: ', sqrt(rmin)) end.
Function f(x: real): real; begin f := 3 * sin(sqrt(x)) + 0.35 * x - 3.8 end;
var n: integer; a, b, c, fc, eps: real;
begin writeln('Введите границы интервала (a,b) и точность решения: '); readln(a, b, eps); n := 0; repeat c := (a + b) / 2; fc := f(c); if sign(fc) = sign(f(b)) then b := c else a := c; n := n + 1; until abs(a - b) <= eps; writeln('Найден корень уравнения х=', c, ' за ', n, ' итераций') end.
Тестовое решение:
Введите границы интервала (a,b) и точность решения: 2 3 0.001 Найден корень уравнения х=2.2978515625 за 10 итераций
{$APPTYPE CONSOLE}
uses sysutils;
const
k = 100;
ax = 10;
ay = -2;
var
T: array[1..k, 1..2] of integer;
r, rmin, i, n: integer;
begin
write('Введите число точек на плоскости: ');
readln(n);
rmin := 32767;
Randomize;
writeln('Исходные данные:');
for i := 1 to n do
begin
T[i, 1] := Random(51) - 25;
T[i, 2] := Random(51) - 25;
r := sqr(T[i, 1] - ax) + sqr(T[i, 2] - ay);
if rmin > r then rmin := r;
writeln('(', T[i, 1], ',', T[i, 2], ')')
end;
writeln(#13#10, 'Минимальное расстояние от А(', ax, ',', ay, ') равно: ', sqrt(rmin))
end.
begin
f := 3 * sin(sqrt(x)) + 0.35 * x - 3.8
end;
var
n: integer;
a, b, c, fc, eps: real;
begin
writeln('Введите границы интервала (a,b) и точность решения: ');
readln(a, b, eps);
n := 0;
repeat
c := (a + b) / 2;
fc := f(c);
if sign(fc) = sign(f(b)) then b := c
else a := c;
n := n + 1;
until abs(a - b) <= eps;
writeln('Найден корень уравнения х=', c, ' за ', n, ' итераций')
end.
Тестовое решение:
Введите границы интервала (a,b) и точность решения:
2 3 0.001
Найден корень уравнения х=2.2978515625 за 10 итераций