Даны вершины треугольника А(x1,x2,...,xn), B(y1,y2,...,yn) и C(z1,z2,...,zn). Найти координаты точки D(d1,d2,...,dn)пересечения биссектрисы угла А со стороной ВС. zi=(( xi+H*yi)/(1+H)), где H= ((|AC|)/(|AB|)) и длину биссектрисы АД.
2) Матрица
В матрице 6х6 указать индексы всех элементов с наибольшим значением.
'Задача 1
REM Задан треугольник A(a1,a2,...,an),B(b1,b2,...,bn),C(c1,c2,...,cn)
REM Найти точку D(d1,d2,...,dn) пересечения биссектрисы угла A и стороны BC
REM Проверка на существование треугольника с данными координатами не производится
INPUT "Введите n: ", n
IF n < 2 THEN
PRINT "n должно быть не меньше 2"
END
END IF
REM Координаты точек
DIM A(1 TO n)
DIM B(1 TO n)
DIM C(1 TO n)
DIM D(1 TO n)
REM Вектора
DIM VBA(1 TO n)
DIM VCA(1 TO n)
DIM VDB(1 TO n)
DIM VDA(1 TO n)
REM Длины векторов
MODVBA = 0
MODVCA = 0
MODVDA = 0
FOR I = 1 TO n
PRINT "Введите координату"; I; "точки A:";
INPUT " ", A(I)
NEXT
FOR I = 1 TO n
PRINT "Введите координату"; I; "точки B:";
INPUT " ", B(I)
VBA(I) = B(I) — A(I)
MODVBA = MODVBA + VBA(I) ^ 2
NEXT
MODVBA = SQR(MODVBA)
FOR I = 1 TO n
PRINT "Введите координату"; I; "точки C:";
INPUT " ", C(I)
VCB(I) = C(I) — B(I)
VCA(I) = C(I) — A(I)
MODVCA = MODVCA + VCA(I) ^ 2
NEXT
MODVCA = SQR(MODVCA)
FOR I = 1 TO n
VDB(I) = VCB(I) * DIVBCBD
D(I) = VDB(I) + B(I)
PRINT D(I);
VDA(I) = D(I) — A(I)
MODVDA = MODVDA + VDA(I) ^ 2
NEXT
MODVDA = SQR(MODVDA)
PRINT "), длина биссектрисы"; MODVDA
'Задача 2
REM В матрице 6x6 указать индексы всех элементов с наибольшими значениями
n = 6
m = 6
DIM A(1 TO n, 1 TO m)
DIM AI(1 TO n * m)
DIM AJ(1 TO n * m)
FOR I = 1 TO n
FOR J = 1 TO m
PRINT "Элемент в строке"; I;
PRINT "и в столбце"; J; "-";
INPUT " ", A(I, J)
NEXT
NEXT
PRINT "Исходная матрица:"
MAX = A(1, 1)
ij = 1
FOR I = 1 TO n
FOR J = 1 TO m
PRINT A(I, J);
IF MAX < A(I, J) OR (I = 1 AND J = 1) THEN
MAX = A(I, J)
ij = 1
AI(ij) = I
AJ(ij) = J
ELSE
IF MAX = A(I, J) THEN
ij = ij + 1
AI(ij) = I
AJ(ij) = J
END IF
END IF
NEXT
PRINT
NEXT
PRINT "Наибольший элемент"; MAX;
PRINT "расположен в индексах:"
FOR I = 1 TO ij
PRINT "Строка:"; AI(I); "столбец:"; AJ(I)
NEXT