Результаты:
Точка пересечения диагоналей O ( 1.5 , 1.5 )
Радиус окружности лежащей в 4-х угольнике ABCD, R= .5
3. Элементы двумерного массива Q(m, n) (m>n) определяются по одной из формул :
- если номер строки i < номера столбца j,то элемент Q(i, j) вычисляется по формуле
- если i < j, тоQ(i, j) = eRnd*Sin(Rnd-0.5),
- еслиi = j, то Q(i, j)=Log(10*Rnd)/Sin(Rnd),
- если i > j, то Q(i, j)=Rnd*Q(j,i).
По полученным таким образом данным найти и выдать на печать :
- строку с наибольшим средним значением элементов,
- строку, в которой разность рядом стоящих элементов - наименьшая,
- Элементы квадратной матрицы (n, n), c максимальной суммой диагональных элементов.
Текст программы:
CLS
2 INPUT "Число строк столбцов"; m, n
IF m >= n THEN 1
PRINT "Число строк должно быть больше числа столбцов": GOTO 2
1 DIM q(m, m)
FOR i = 1 TO m
FOR j = 1 TO m
IF i < j THEN q(i, j) = EXP(RND) * SIN(RND - .5)
IF i = j THEN q(i, j) = LOG(10 * RND) / SIN(RND)
IF i > j THEN q(i, j) = RND * q(j, i)
NEXT j
NEXT i
FOR i = 1 TO m
FOR j = 1 TO n
PRINT USING "##.### "; q(i, j);
NEXT j
NEXT i
DIM s(m)
FOR i = 1 TO m
f = 0
FOR j = 1 TO n
f = f + q(i, j)
NEXT j: s(i) = f / n
NEXT i
PRINT "Строка с наибольшим средним значением"
max = s(1)
FOR j = 1 TO n
FOR i = 1 TO m
IF s(i) >= max THEN max = s(i): ii = i
NEXT i
PRINT USING "##.####"; q(ii, j);
NEXT j
PRINT "Строка в которой разность стоящих рядом эл-тов наименьшая"
min = ABS(q(1, 1) - q(1, 2))
FOR i = 1 TO m
FOR j = 2 TO n
z = ABS(q(i, j - 1) - q(i, j))
NEXT j
IF z >= min THEN 33
min = z: kk = i
33 NEXT i
FOR i = 1 TO n
PRINT USING "##.#### "; q(kk, i);
NEXT i
s = 0
FOR i = 1 TO n
s = s + q(i, i)
NEXT i
k = 0
FOR i = 1 TO n
k = k + q(i + 1, i)
NEXT i
k(i) = k
PRINT "Эл-ты квадратной матрицы (n,n) с макс. суммой диагональных эл-тов"
max = s
FOR i = 1 TO n
FOR j = 1 TO n
IF k(i) >= s THEN PRINT USING " ##.#### "; q(i + 1, j);
IF k(i) < s THEN PRINT USING " ##.#### "; q(i, j);
NEXT j
NEXT i
Данные:
Число строк столбцов? 4,3
Результаты:
Исходная матрица
3.842 -0.373 0.367
-0.304 43.204 0.537
0.353 0.468 -0.708
0.201 -0.015 0.021
Строка с наибольшим средним значением
-0.303743.2038 0.5367
Строка в которой разность стоящих рядом эл-тов наименьшая
0.2005 -0.0149 0.0212
Эл-ты квадратной матрицы (n,n) с макс. суммой диагональных эл-тов
3.8424 -0.3729 0.3669
-0.3037 43.2038 0.5367
0.3530 0.4677 -0.7079
4. Составить таблицу значений определённого интеграла
b
ò(x*tg(x)/(1+x2))*dx при изменении верхнего предела в интервале [t1;t2]
a
c шагом s.
Интегрировать методом трапеций с заданной точностью. На печать выдать переменный предел, результат. Печать организовать оператором PrintUsing.
Текст программы:
CLS
OPEN "a:z4.txt" FOR OUTPUT AS #1
DEF fna (x) = (x * TAN(x)) / (1 + x ^ 2)
INPUT "Нижняя граница интеграла"; a
INPUT "Введите изменение верхнего предела интеграла, b"; t1, t2
INPUT "Введите шаг"; s
INPUT "Точность"; t
FOR b = t1 TO t2 STEP s
PRINT "Верхняя граница"; a; "Точность"; t
PRINT #1, "Верхняя граница"; a; "Точность"; t
GOSUB INT2
PRINT USING " b=####.##### INTEGR=####.#####"; b; IN1
PRINT #1, USING " b=####.##### INTEGR=####.#####"; b; IN1
NEXT b
END
INT1:
dx = (b - a) / (n - 1)
IN1 = (fna(a) + fna(b)) / 2
x = a
5 x = x + dx
IN1 = IN1 + fna(a + dx)
IF x < b THEN 5
IN1 = IN1 * dx
RETURN
INT2:
n = 100
45 GOSUB INT1: R = IN1
n = n + 20: GOSUB INT1
IF ABS(R - IN1) > t THEN 45
RETURN
Данные:
Нижняя граница интеграла? 2
Введите изменение верхнего предела интеграла, b? 3,5
Введите шаг? .9
Точность? .001
Результаты:
Верхняя граница 2 Точность .001
b= 3.00000 INTEGR= -0.86889
Верхняя граница 2 Точность .001
b= 3.90000 INTEGR= -1.64549
Верхняя граница 2 Точность .001
b= 4.80000 INTEGR= -2.32331