Смекни!
smekni.com

Курсовая по информатике (стр. 2 из 2)

Результаты:

Точка пересечения диагоналей 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

PRINT

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

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

PRINT

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

PRINT

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

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

PRINT

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