Новости Словари Конкурсы Бесплатные SMS Знакомства Подари звезду
В нашей
базе уже
59876
рефератов!
Логин

Пароль

Задачи по информатике

Задачи по информатике.
Задачи по информатике
Задачи по информатике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. Текст программы:CLSRANDOMIZE 1000INPUT "точность"; ta1 = RND(100)q1 = RND(90)q2 = RND(80)q3 = RND(110)DEF fnf (x) = a1 + q1 * x * SIN(q2 * x + q3) - k * xa = 0: b = 110FOR k = .1 TO .2 STEP .01GOSUB pod1GOSUB pod2PRINT "при k="; kcor = (x1 + x2) / 2: y = fnf(cor) + k * xPRINT "точка пересечения"PRINT "x="; cor; "y="; y;a = x2NEXT kPRINT "Точность"; tENDa = x2NEXT kPRINT "Точность"; tENDpod1: 'отделение корней в интервале а,в's = 10 * t: x = a200 : p = fnf(x) * f(x + s)IF p > 0 THEN 1x1 = x: x2 = x + s: RETURN1 x = x + s: IF x <= b - s THEN 200RETURNpod2: 'уточнение корня'10 x = (x1 + x2) / 2: y = fnf(x)IF fnf(x1) * y > 0 THEN x1 = x ELSE x2 = xIF ABS(x2 - x1) > t THEN 10RETURNДанные:a = 0b = 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 и наибольшего радиуса окружности лежащей в нем.CLSOPEN "a:zad2.dat" FOR INPUT AS #1OPEN "a:zad2.txt" FOR OUTPUT AS #2DIM r(6)INPUT #1, x1, y1, x2, y2, x3, y3, x4, y4x = ((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)) + y1r(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 6IF r(i) = 0 THEN GOTO 5IF r(i) < min THEN min = r(i)5 NEXT iPRINT "Точка пересечения диагоналей O ("; x; ","; y; ")"PRINT "Радиус окружности лежащей в 4-х угольнике ABCD, R=", minPRINT #2, "Точка пересечения диагоналей O ("; x; ","; y; ")"PRINT #2, "Радиус окружности лежащей в 4-х угольнике ABCD, R=", minДанные с диска а:1,1 2,1 1,2 2,2Результаты:Точка пересечения диагоналей O ( 1.5 , 1.5 )Радиус окружности лежащей в 4-х угольнике ABCD, R= .53. Элементы двумерного массива 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 максимальной суммой диагональных элементов.Текст программы:CLS2 INPUT "Число строк столбцов"; m, nIF m >= n THEN 1PRINT "Число строк должно быть больше числа столбцов": GOTO 21 DIM q(m, m)FOR i = 1 TO mFOR j = 1 TO mIF 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 jNEXT iFOR i = 1 TO mFOR j = 1 TO nPRINT USING "##.### "; q(i, j);NEXT jPRINTNEXT iDIM s(m)FOR i = 1 TO mf = 0FOR j = 1 TO nf = f + q(i, j)NEXT j: s(i) = f / nNEXT iPRINTPRINT "Строка с наибольшим средним значением"max = s(1)FOR j = 1 TO nFOR i = 1 TO mIF s(i) >= max THEN max = s(i): ii = iNEXT iPRINT USING "##.####"; q(ii, j);NEXT jPRINTPRINTPRINT "Строка в которой разность стоящих рядом эл-тов наименьшая"min = ABS(q(1, 1) - q(1, 2))FOR i = 1 TO mFOR j = 2 TO nz = ABS(q(i, j - 1) - q(i, j))NEXT jIF z >= min THEN 33min = z: kk = i33 NEXT iFOR i = 1 TO nPRINT USING "##.#### "; q(kk, i);NEXT iPRINTs = 0FOR i = 1 TO ns = s + q(i, i)NEXT ik = 0FOR i = 1 TO nk = k + q(i + 1, i)NEXT ik(i) = kPRINTPRINT "Эл-ты квадратной матрицы (n,n) с макс. суммой диагональных эл-тов"max = sFOR i = 1 TO nFOR j = 1 TO nIF k(i) >= s THEN PRINT USING " ##.#### "; q(i + 1, j);IF k(i) < s THEN PRINT USING " ##.#### "; q(i, j);NEXT jPRINTNEXT iДанные:Число строк столбцов? 4,3Результаты:Исходная матрица3.842 -0.373 0.367-0.304 43.204 0.5370.353 0.468 -0.7080.201 -0.015 0.021Строка с наибольшим средBR>PRINT #1, USING " b=####.##### INTEGR=####.#####"; b; IN1NEXT bENDINT1:dx =(b - a) / (n - 1)IN1 = (fna(a) + fna(b)) / 2x = a5 x = x + dxIN1 = IN1 + fna(a + dx)IF x < b THEN 5IN1 = IN1 * dxRETURNINT2:n = 10045 GOSUB INT1: R = IN1n = n + 20: GOSUB INT1IF ABS(R - IN1) > t THEN 45RETURNДанные:Нижняя граница интеграла? 2Введите изменение верхнего предела интеграла, b? 3,5Введите шаг? .9Точность? .001Результаты:Верхняя граница 2 Точность .001b= 3.00000 INTEGR= -0.86889Верхняя граница 2 Точность .001b= 3.90000 INTEGR= -1.64549Верхняя граница 2 Точность .001b= 4.80000 INTEGR= -2.32331
Умар.Ш. был тут !!!!!
 
давайте изгоним мат !!!
 
ДОБРОЙ НОЧИ ОТ Ъ
ЛОКИ ИНО
 
ДМК МЭ
 
где инфааа?