Разработка схем алгоритмов, основной программы и подпрограмм
Описание подпрограмм
2.1.1 Возвращает корень нелинейного уравнения
, решенного методом Ньютона.
рис. 2.1.1Подпрограмма решения нелинейного уравнения
2.1.2Находит наименьший корень квадратного уравнения .
Рис. 2.1.2Подпрограмма решения квадратного уравнения
2.1.3 Вычисляет значение многочлена по схеме Горнера.
Рис. 2.1.3Подпрограмма вычисления значения многочлена
2.1.4Вывод полученных значений на экран.
Рис. 2.1.4Подпрограмма вывода результатов
2.1.5. Обеспечивает временную задержку при построении графика временной функции.
Рис. 2.1.5Подпрограмма временной задержки
Схема алгоритма основной программы
В основной программе не выполняется множество существенных вычислений. Ведь задача основной программы – подготовить данные и запустить нужный модуль для их обработки.
Рис. 2.2Основная программа
Построение графика временной функции с распечаткой результатов
Значения временной функции:
Коэффиенты функции:
T
| Y
|
| 5,067143
| 0,75
| 6,406224
| 1,5
| 11,25098
| 2,25
| 22,13267
|
| 41,58253
| 3,75
| 72,13183
| 4,5
| 116,3118
| 5,25
| 176,6537
|
| 255,6888
| 6,75
| 355,9483
| 7,5
| 479,9635
| 8,25
| 630,2656
|
| 809,3859
| 9,75
| 1019,856
| 10,5
| 1264,206
| 11,25
| 1544,968
|
| 1864,674
| 12,75
| 2225,854
| 13,5
| 2631,039
| 14,25
| 3082,762
|
| 3583,553
|
p=1 g= 0,8661581 c= 0,5733228 k= 0.5671431 m=3
s=0.5
Заключение
Целью данного курсового проекта была разработка программы для построения графика временной функции, в которую также должны были входить подпрограммы для вычисления корней нелинейного уравнения методом Ньютона, нахождения наибольшего по абсолютному значению корня квадратного уравнения. В процессе разработки программы пришлось охватить почти весь курс информатики, который изучался в первом семестре и часть курса по высшей математике. Все задачи, поставленные в данном курсовом проекте, были выполнены.
Примечание: электронный вариант программы находится на приложенной к пояснительной записке дискете под именем kurs.bas, а электронный вариант пояснительной записки – под именем zapiska.doc.
Список использованных источников
1. GW-, Turbo- и QuickBasic для IBM PC. Ю.Л. Кетков. – М.: «Финансы и статистика», 1992.
2.Работа на персональном компьютере Л.Пул “Мир” М., 1986.
Приложение.
Листинг программы
Листинг основной программы
CLS
REM Osnovnaya programma
SCREEN 12
PRINT "imeetsya uravnenie vida:"
PRINT " |y =pt^3+gt^2+tc+k+m| "
PRINT "vvedite t0 :"
INPUT "t0=", t0
PRINT "vvedite Tkon :"
INPUT "Tkon=", tkon
PRINT "vvedite period kvantovaniya Tk :"
INPUT "Tk=", tk
PRINT "vvedite a :"
INPUT "p=", p
GOSUB 1000
GOSUB 2000
GOSUB 4000
GOSUB 6000
END
1000 REM PP resheniya nelin uravneniya.Metod prostoy iteracii.
PRINT "for nahozdeniya kornya nelin ur-ya 'k' vvedite [x1;x2] & eps:"
INPUT "x1=", x1
INPUT "x2=", x2
INPUT "tochnost` eps=", eps
x1 = (x1 + x2) / 2
1010 x2 = 2 - SIN(1 / x1)
IF ABS(x2 - x1) <= eps THEN
k = x2
ELSE x1 = x2
GOTO 1010
END IF
PRINT "koren k="; k
RETURN
2000 REM PP resheniya kvadratnogo ur-niya.
PRINT "for nahozdeniya min 'm' kornya ur-niya a1z^2+b1z+d1= vvedite:"
INPUT " a1=", a1
INPUT " b1=", b1
INPUT " d1=", d1
d = b1 ^ 2 - 4 * a1 * d1
IF d > 0 THEN PRINT "korni :"
IF d < 0 THEN d = -d: PRINT "korni kompleksnie :"
IF d = 0 THEN m = -b1 / (2 * a1): PRINT "z1=z2="; m: GOTO 10
z1 = (-b1 - SQR(d)) / (2 * a1)
z2 = (-b1 + SQR(d)) / (2 * a1)
IF ABS(z1) > ABS(z2) THEN m = z2 ELSE m = z1
PRINT "z1="; z1;
PRINT "z2="; z2
10 PRINT "parametr m="; m
LOCATE 28, 20
PRINT "press any key to continue"
SLEEP
RETURN
5000 REM PP vichisleniya znacheniya funkcii. Metod Gornera
a(1) = p
a(2) = g
a(3) = c
a(4) = k + m
y = a(1)
FOR i = 2 TO 4
y = y * t + a(i)
NEXT i
y = ABS(y)
RETURN
4000 REM PP nahozdeniya koef 'c' & 'g'
g = COS(3.14 / 6)
c = SIN(3.14 / 6)
RETURN
6000 REM vibor varianta postroeniya grafika
CLS
PRINT " kakim metodom narisovat` grafik"
PRINT " 1) real time "
PRINT " 2) machine time "
INPUT "Ukazhite metod: ", v
IF (v <> 1) AND (v <> 2) THEN
CLS : GOTO 6000
IF v = 1 THEN GOTO 6060
IF v = 2 THEN GOTO 6070
END IF
6010 REM Opredelenie otstupov
k0 = 65: x0 = 0 + k0
l0 = 60: y0 = 479 - l0
6020 REM Opr mastaba po osyam
t = tkon: GOSUB 5000
Mx = (640 - 2 * k0) / tkon
My = (480 - 2 * l0) / y
6030 REM Osi koordinat
CLS
LINE (0 + k0, 0 + l0)-(0 + k0, 479 - l0)
LINE (0 + k0, 479 - l0)-(639 - k, 479 - l0)
6040 REM vertik rasmetka
FOR i = x0 TO 641 - k0 STEP Mx
FOR j = l0 TO y0 STEP 7
PSET (i, j)
NEXT j
NEXT i
LOCATE 3, 4
PRINT "Y"
LOCATE 5, 1
PRINT INT(y)
LOCATE 28, 5
PRINT "O"
LOCATE 28, 15
r = (641 - k0 - x0) / Mx
f = (tkon - t0) / r
IF ABS(f - INT(f)) > .5 THEN f = INT(f) + 1
PRINT "Mx="; f
6050 REM goriz rasmetka
FOR j = l0 TO y0 STEP (480 - 2 * l0) / tkon
FOR i = x0 TO 639 - k0 STEP 7
PSET (i, j)
NEXT i
NEXT j
LOCATE 28, 78
PRINT "t,c"
LOCATE 28, 73
PRINT tkon
r = (y0 - l0) / (480 - 2 * l0) * tkon
t = t0
GOSUB 5000
i0 = y
t = tkon
GOSUB 5000
f = (y - i0) / r
IF ABS(f - INT(f)) > .5 THEN f = f + 1
LOCATE 25, 1
PRINT "My="; INT(f)
IF v = 1 THEN
GOTO 6060
ELSE GOTO 6070
END IF
6060 REM real time
FOR t = t0 TO tkon STEP tk
GOSUB 5000
FOR i = 0 TO 3
CIRCLE (x0 + Mx * t, y0 - My * y), i, 4
NEXT i
LOCATE 28, 45
PRINT "x="; t; " "
LOCATE 28, 55
PRINT "y="; INT(y)
GOSUB 7000
NEXT t
6070 REM machine time
FOR t = t0 TO tkon STEP (tkon / 640)
GOSUB 5000
PSET (x0 + Mx * t, y0 - My * y), 4
NEXT t
6080 REM zapolnenie matrici s metkami
e = tkon / tk + 1
DIM s(e)
FOR t = t0 TO tkon STEP tk
GOSUB 5000
s(t) = y
NEXT t
SLEEP
6090 REM "Vivod results"
CLS
PRINT "koef funkcii"
PRINT " p="; p;
PRINT " g="; g;
PRINT " c="; c;
PRINT " k="; k;
PRINT " m="; m
PRINT
PRINT
PRINT "matrica s metkami"
FOR t = t0 TO tkon STEP tk
GOSUB 5000
PRINT "t="; t, "y="; y
NEXT t
LOCATE 28, 17
SLEEP
7000 REM PP realizacii timera
FOR tai1 = 1 TO 140
tai = tai + EXP(1)
NEXT tai1
RETURN
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|