.

1 по информатике

Язык: русский
Формат: курсова
Тип документа: Word Doc
65 344
Скачать документ

1. Дана функция f(x) = a+b*x*Sin(c*x+d), в которой коэффициенты a, b,
c, d определяются функцией Rnd с использованием процедуры Randomize.
Постоянная k определяется в интервале [0.1;0.2] c шагом 0.01. Составить
программу определения первой точки пересечения прямой y = k*x с
функцией f для x>0.

Текст программы:

CLS

RANDOMIZE 1000

INPUT “точность”; t

a1 = RND(100)

q1 = RND(90)

q2 = RND(80)

q3 = RND(110)

DEF fnf (x) = a1 + q1 * x * SIN(q2 * x + q3) – k * x

a = 0: b = 110

FOR k = .1 TO .2 STEP .01

GOSUB pod1

GOSUB pod2

PRINT “при k=”; k

cor = (x1 + x2) / 2: y = fnf(cor) + k * x

PRINT “точка пересечения”

PRINT “x=”; cor; “y=”; y;

a = x2

NEXT k

PRINT “Точность”; t

END

a = x2

NEXT k

PRINT “Точность”; t

END

pod1: ‘отделение корней в интервале а,в’

s = 10 * t: x = a

200 : p = fnf(x) * f(x + s)

IF p > 0 THEN 1

x1 = x: x2 = x + s: RETURN

1 x = x + s: IF x 0 THEN x1 = x ELSE x2 = x

IF ABS(x2 – x1) > t THEN 10

RETURN

Данные:

a = 0

b = 110

точность? .001

Результаты:

при k= .1

точка пересечения

x= .0096875 y= .7444314

при k= .11

точка пересечения

x= .0196875 y= .7470496

при k= .12

точка пересечения

x= .0296875 y= .7497169

при k= .13

точка пересечения

x= .0396875 y= .7524328

при k= .14

точка пересечения

x= .0496875 y= .7551972

при k= .15

точка пересечения

x= .0596875 y= .7580096

при k= .16

точка пересечения

x= 6.968751E-02 y= .7608697

при k= .17

точка пересечения

x= 7.968751E-02 y= .7637773

при k= .18

точка пересечения

x= .0896875 y= .7667319

при k= .19

точка пересечения

x= .0996875 y= .7697333

2. Известны координаты вершин четырехугольника A, B, C, D. Найти точку
пересечения его диагоналей и наибольший радиус окружности, которая
имеет центр в этой точке и полностью лежит внутри этого
четырехугольника. Координаты точек расположить на гибком диске.

Текст программы:

REM Программа нахождения точки пересечения диагоналей 4-х угольника

REM и наибольшего радиуса окружности лежащей в нем.

CLS

OPEN “a:zad2.dat” FOR INPUT AS #1

OPEN “a:zad2.txt” FOR OUTPUT AS #2

DIM r(6)

INPUT #1, x1, y1, x2, y2, x3, y3, x4, y4

x = ((x3 * y2 – x2 * y3) * (x4 – x1) – (x4 * y1 – x1 * y4) * (x3 – x2))
/ ((y4

– y1) * (x3 – x2) – (y3 – y2) * (x4 – x1))

y = ((y4 – y1) * (x – x1) / (x4 – x1)) + y1

r(1) = ABS((x2 – x1) * y – (y2 – y1) * x + x1 * y2 – y1 * x2) / SQR((x2
– x1) ^

2 + (y2 – y1) ^ 2)

r(2) = ABS((x3 – x2) * y – (y3 – y2) * x + x2 * y3 – y2 * x3) / SQR((x3
– x2) ^

2 + (y3 – y2) ^ 2)

r(3) = ABS((x4 – x3) * y – (y4 – y3) * x + x3 * y4 – y3 * x4) / SQR((x4
– x3) ^

2 + (y4 – y3) ^ 2)

r(4) = ABS((x1 – x4) * y – (y1 – y4) * x + x4 * y1 – y4 * x1) / SQR((x1
– x4) ^

2 + (y1 – y4) ^ 2)

r(5) = ABS((x3 – x1) * y – (y3 – y1) * x + x1 * y3 – y1 * x3) / SQR((x3
– x1) ^

2 + (y3 – y1) ^ 2)

r(6) = ABS((x4 – x2) * y – (y4 – y2) * x + x2 * y4 – y2 * x4) / SQR((x4
– x2) ^

2 + (y4 – y2) ^ 2)

min = r(1)

FOR i = 2 TO 6

IF r(i) = 0 THEN GOTO 5

IF r(i) n) определяются по одной из
формул :

– если номер строки 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) = 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)

Нашли опечатку? Выделите и нажмите CTRL+Enter

Похожие документы
Обсуждение

Ответить

Курсовые, Дипломы, Рефераты на заказ в кратчайшие сроки
Заказать реферат!
UkrReferat.com. Всі права захищені. 2000-2020