Программирование вычислительных процессов на языке BASIC - Курсовая работа

бесплатно 0
4.5 102
Составление схемы алгоритма и программы для построения графика временной функции, работающей как в машинном, так и в реальном времени. Пример вычисления степенного ряда с помощью схемы Горнера. Описание переменных программы, листинг, процедуры и функции.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
LOCATE 2, 6: PRINT "Тнач.": LOCATE 2, 16: PRINT TBEG LOCATE 6, 6: PRINT "Тквант.": LOCATE 6, 16: PRINT Tkv LOCATE 8, 6: PRINT "Хнач.": LOCATE 8, 16: PRINT XBEG LOCATE 10, 6: PRINT "Хкон.": LOCATE 10, 16: PRINT XEND LOCATE 12, 6: PRINT "Точность": LOCATE 12, 16: PRINT EpsМировой и отечественный опыт подготовки специалистов в области компьютерной науки и компьютерной инженерии подтверждает целесообразность и эффективность понимания основ программирования на более простых и базирующих языках программирования, одним из которых является Basic.

План
Содержание

Введение

Задание

Выбор и обоснование методов решения

Переменные программы

Листинг программы

Пояснения

График временной функции

Заключение

Список использованной литературы

Введение
С развитием промышленности возникает необходимость в автоматизации технологических процессов и производств. На данном этапе развития техники широкое применение находят роботы и робототехнические системы. Для управления производственными процессами в 70-е, 80-е годы стало возможным применение микропроцессорной техники. Развитие различных языков программирования (Fortran, Basic, Assembler, Pascal, C и т.д.) дает возможность разработки и внедрения объемных пакетов прикладных программ для управления сложными технологическими процессами и производствами. Пакеты прикладных программ дают возможность дистанционного управления и контроля сложных процессов с невозможным прямым вмешательством человека. Управляющая система намного быстрее и точнее выполняет поставленные задачи, не требуя при этом времени на отдых. Применение программного управления значительно увеличивает производительность труда. Первоначальные затраты материальных средств на установку и наладку микропроцессорного оборудования в процессе работы быстро окупаются. Это делает выгодным применение систем такого рода в производстве.

Для написания программного обеспечения к микропроцессорному оборудованию подходит язык программирования Basic. Программы, написанные на нем, обладают высокой работоспособностью и не требуют от управляющей машины высоких аппаратных качеств. Они позволяют провести расчет параметров системы, как в машинном, так и в реальном времени.

Задание

Составить схему алгоритма и программу для построения графика временной функции, работающую как в машинном, так и в реальном времени. Реальное время в диапазоне ( ) формируется таймером в виде программного модуля с метками , называемыми временем квантования.

При вычислении функции использовать алгоритм Горнера.

Функция: , где время изменяется от до .

.

- корень нелинейного уравнения , которое надо решить методом простых итераций с точностью , при начальном значении корня лежащем в диапазоне .

- сумма корней квадратного уравнения , при .

Коэффициенты: Выбор и обоснование методов решения

В соответствии с заданием выбираем методы решения задач.

Для нахождения корня нелинейного уравнения используем метод простых итераций.

Этот метод основан на основе попадания в -окрестность модуля разности двух последовательно приближенно вычисленных корней и . Подробнее см. листинг программы. В этом случае нелинейное уравнение считают решенным с заданной степенью точности.

Для вычисления функции используем алгоритм Горнера (схему Горнера).

Схема Горнера применяется для вычисления степенных рядов. Схема Горнера представляет собой рекуррентную формулу, по которой вычисляется значение функции в каждый момент времени.

Пример вычисления степенного ряда с помощью схемы Горнера.

Вычислим функцию в точке при помощи схемы Горнера.

Для этого составим следующую программу на языке Basic: T=2

Y=1

FOR I=1 TO 4

Y=Y*T a(I)

NEXT I

PRINT Y

В результате работы данной программы будет вычислена функция в точке , а результат будет выведен на экран.

Переменные программы

Имя переменной Коэффициент Пояснения

A a Коэффициент функции

B b Коэффициент функции

C c Коэффициент функции

A1 a1 Коэффициент квадратного уравнения

B1 b1 Коэффициент квадратного уравнения

C1 c1 Коэффициент квадратного уравнения g g Корень нелинейного уравнения d d Сумма корней квадратного уравнения

Листинг программы

DECLARE SUB Delay (Time!)

DECLARE FUNCTION BASEF! (K!)

DECLARE FUNCTION Range! (K!, Range!)

DECLARE SUB Scale (A!, B!, C!, MAXT!, Tkv!)

DECLARE SUB Grid ()

DECLARE SUB MESSAGEBOX (Message$)

DECLARE SUB MAINREF (MENUITEM!)

DECLARE SUB Text ()

DECLARE SUB STDATA ()

DECLARE SUB Main ()

DECLARE SUB DATAOUT ()

DECLARE SUB DATAIN ()

DECLARE SUB Outro ()

DECLARE SUB Work (Time!)

DECLARE FUNCTION ROOTSUM! (A!, B!, C!)

DECLARE FUNCTION Iteration! (XBEG!, XEND!, Eps!)

DECLARE SUB INTRO ()

" =======================================

" Curs_Task;

" N23

" =======================================

" ==============Constants================

CONST TCONST = 2500: "Depends from the machine

" ==============Shared Vars==============

COMMON SHARED DATAFLAG

DATAFLAG = 0

" ===============Intro===================

CALL INTRO

" =============Main Screen===============

CALL Main

" ==================END==================

FUNCTION BASEF (K)

"Base function

SHARED A, B, C, d, g

BASEF = ABS(A * K ^ 3 B * K ^ 2 C * K d g)

END FUNCTION

SUB DATAIN

"Task conditions inputing

SHARED TBEG, TEND, Tkv, XBEG, XEND, Eps, A, B, C, A1, B1, C1, d, g, DATAFLAG

SHARED ROOTSFLAG

ROOTSFLAG = 1

SCREEN 12

CLS

PRINT "Введение начальных значений:"

INPUT "тнач. "; TBEG

INPUT "ткон. "; TEND

INPUT "тквант. "; Tkv

INPUT "Хнач. "; XBEG

INPUT "Хкон. "; XEND

INPUT "Точность "; Eps

INPUT "A "; A INPUT "B "; B

INPUT "C "; C

DO

INPUT "A1 "; A1

INPUT "B1 "; B1

INPUT "C1 "; C1 d = ROOTSUM(A1, B1, C1)

LOOP WHILE ROOTSFLAG = 0 g = Iteration(XBEG, XEND, Eps)

PRINT "Нажмите любую клавишу."

WHILE INKEY$ = ""

WEND

DATAFLAG = 1

CALL MAINREF(1)

END SUB

SUB DATAOUT

"Table & Task conditions

SHARED TBEG, TEND, Tkv, XBEG, XEND, Eps, A, B, C, A1, B1, C1, d, g, DATAFLAG

SCREEN 12

CLS

LINE (0, 0)-(240, 464), 7, B

FOR I = 0 TO 13

LINE (32, I * 32 8)-(232, (I 1) * 32 8), 7, B

NEXT

LINE (112, 8)-(112, 14 * 32 8), 7

LOCATE 7, 2: PRINT "П"

LOCATE 8, 2: PRINT "А"

LOCATE 9, 2: PRINT "Р"

LOCATE 10, 2: PRINT "А"

LOCATE 11, 2: PRINT "М"

LOCATE 12, 2: PRINT "Е"

LOCATE 13, 2: PRINT "Т"

LOCATE 14, 2: PRINT "Р"

LOCATE 15, 2: PRINT "Ы"

LOCATE 16, 2: PRINT " "

LOCATE 17, 2: PRINT "З"

LOCATE 18, 2: PRINT "А"

LOCATE 19, 2: PRINT "Д"

LOCATE 20, 2: PRINT "А"

LOCATE 21, 2: PRINT "Ч"

LOCATE 22, 2: PRINT "И"

LOCATE 2, 6: PRINT "Тнач.": LOCATE 2, 16: PRINT TBEG

LOCATE 4, 6: PRINT "Ткон.": LOCATE 4, 16: PRINT TEND

LOCATE 6, 6: PRINT "Тквант.": LOCATE 6, 16: PRINT Tkv

LOCATE 8, 6: PRINT "Хнач.": LOCATE 8, 16: PRINT XBEG

LOCATE 10, 6: PRINT "Хкон.": LOCATE 10, 16: PRINT XEND

LOCATE 12, 6: PRINT "Точность": LOCATE 12, 16: PRINT Eps

LOCATE 14, 6: PRINT "A": LOCATE 14, 16: PRINT A LOCATE 16, 6: PRINT "B": LOCATE 16, 16: PRINT B

LOCATE 18, 6: PRINT "C": LOCATE 18, 16: PRINT C

LOCATE 20, 6: PRINT "A1": LOCATE 20, 16: PRINT A1

LOCATE 22, 6: PRINT "B1": LOCATE 22, 16: PRINT B1

LOCATE 24, 6: PRINT "C1": LOCATE 24, 16: PRINT C1

LOCATE 26, 6: PRINT "d": LOCATE 26, 16: PRINT d

LOCATE 28, 6: PRINT "g": LOCATE 28, 16: PRINT g

END SUB

SUB Delay (Time)

"Timer Block

FOR I = 1 TO TCONST * Time

A = A EXP(1)

NEXT

END SUB

SUB Grid

SHARED SCX, SCY

"Draws scaled coordinate grid

CLS

FOR I = 0 TO 640 STEP 10

LINE (I, 0)-(I, 480), 8

NEXT

FOR I = 0 TO 480 STEP 10

LINE (0, I)-(640, I), 8

NEXT

LINE (100, 0)-(100, 480), 9

LINE (0, 400)-(640, 400), 9

LINE (100, 0)-(103, 3), 9

LINE (100, 0)-(97, 3), 9

LINE (640, 400)-(637, 403), 9

LINE (640, 400)-(637, 397), 9

LOCATE 1, 11: PRINT "Y"

LOCATE 27, 80: PRINT "t"

LOCATE 27, 11: PRINT "0"

LINE (97, 300)-(106, 300), 9

LOCATE 19, 3: PRINT Range(100 * SCY, 2)

LINE (97, 200)-(106, 200), 9

LOCATE 13, 3: PRINT Range(200 * SCY, 2)

LINE (97, 100)-(106, 100), 9

LOCATE 7, 3: PRINT Range(300 * SCY, 2)

LINE (200, 397)-(200, 403), 9

LOCATE 27, 25: PRINT Range(100 * SCX, 2)

LINE (300, 397)-(300, 403), 9

LOCATE 27, 37: PRINT Range(200 * SCX, 2)

LINE (400, 397)-(400, 403), 9

LOCATE 27, 50: PRINT Range(300 * SCX, 2)

LINE (500, 397)-(500, 403), 9

LOCATE 27, 62: PRINT Range(400 * SCX, 2)

END SUB

SUB INTRO

"Intro screen

SCREEN 12

CLS

LINE (0, 0)-(639, 479), 7, B

LINE (3, 3)-(636, 476), 7, B

LINE (80, 128)-(566, 206), 7, B

LINE (84, 132)-(562, 202), 7, B

LINE (84, 132)-(80, 128)

LINE (566, 206)-(562, 202)

LINE (566, 128)-(562, 132)

LINE (84, 202)-(80, 206)

LOCATE 2, 38

PRINT "БГПА"

LOCATE 4, 38

PRINT "ФИТР"

LOCATE 10, 32

PRINT "Курсовой проект."

LOCATE 12, 13

PRINT "Программирование вычислительных процессов на языке BASIC."

LOCATE 18, 40

PRINT "Выполнил студент гр.107110 Орел О.О."

LOCATE 20, 40

PRINT "Проверил Москаленко А.А."

LOCATE 22, 40

PRINT "Дата 21.12.2001 г."

LOCATE 28, 30

PRINT "Нажмите любую клавишу."

WHILE INKEY$ = ""

WEND

END SUB

FUNCTION Iteration (XBEG, XEND, Eps)

"Simple iteration method

X0 = (XBEG XEND) / 2

X1 = X0

X2 = -COS(EXP(.52 * LOG(X1)) 2)

WHILE ABS(X2 - X1) > Eps

X1 = X2

X2 = -COS(EXP(.52 * LOG(X1)) 2)

WEND

Iteration = X2

END FUNCTION

SUB Main

"Main Menu

SHARED Tkv

CALL DATAOUT

LINE (248, 0)-(630, 464), 7, B

LOCATE 2, 37: PRINT "------------ОСНОВНОЕ МЕНЮ------------"

LOCATE 6, 52: PRINT "УСЛОВИЕ"

LOCATE 10, 48: PRINT "ЗАДАТЬ ПАРАМЕТРЫ"

LOCATE 14, 46: PRINT "ПАРАМЕТРЫ ПО УСЛОВИЮ"

LOCATE 18, 44: PRINT "ГРАФИК В РЕАЛЬНОМ ВРЕМЕНИ"

LOCATE 22, 44: PRINT "ГРАФИК В МАШИННОМ ВРЕМЕНИ"

LOCATE 26, 53: PRINT "ВЫХОД"

LINE (304, 72)-(576, 104), 3, B

SHARED MI: MI = 1: "First menu item

WHILE 1

Key$ = INKEY$

IF (Key$ = CHR$(0) "P") AND (MI < 6) THEN

LINE (304, 72 (MI - 1) * 64)-(576, 104 (MI - 1) * 64), 0, B

MI = MI 1

SOUND 2000, 2

LINE (304, 72 (MI - 1) * 64)-(576, 104 (MI - 1) * 64), 3, B

END IF

IF (Key$ = CHR$(0) "H") AND (MI > 1) THEN

LINE (304, 424 - (6 - MI) * 64)-(576, 392 - (6 - MI) * 64), 0, B

MI = MI - 1

SOUND 2000, 2

LINE (304, 424 - (6 - MI) * 64)-(576, 392 - (6 - MI) * 64), 3, B

END IF

IF Key$ = CHR$(13) THEN

SOUND 1000, 2

SELECT CASE MI

CASE 1

CALL Text

CASE 2

CALL DATAIN

CASE 3

CALL STDATA

CASE 4

CALL Work(Tkv)

CASE 5

CALL Work(0)

CASE 6

CALL Outro

END SELECT

END IF

WEND

END SUB

SUB MAINREF (MENUITEM)

"Refreshing of Main Menu

CALL DATAOUT

LINE (248, 0)-(630, 464), 7, B

LOCATE 2, 37: PRINT "------------ОСНОВНОЕ МЕНЮ------------"

LOCATE 6, 52: PRINT "УСЛОВИЕ"

LOCATE 10, 48: PRINT "ЗАДАТЬ ПАРАМЕТРЫ"

LOCATE 14, 46: PRINT "ПАРАМЕТРЫ ПО УСЛОВИЮ"

LOCATE 18, 44: PRINT "ГРАФИК В РЕАЛЬНОМ ВРЕМЕНИ"

LOCATE 22, 44: PRINT "ГРАФИК В МАШИННОМ ВРЕМЕНИ"

LOCATE 26, 53: PRINT "ВЫХОД"

LINE (304, 72 (MENUITEM - 1) * 64)-(576, 104 (MENUITEM - 1) * 64), 0, B

MENUITEM = MENUITEM 1

SOUND 2000, 2

LINE (304, 72 (MENUITEM - 1) * 64)-(576, 104 (MENUITEM - 1) * 64), 3, B

END SUB

SUB MESSAGEBOX (Message$)

"Drops message box

Length = LEN(Message$)

LINE (300 - Length * 8, 190)-(340 Length * 8, 290), 0, BF

LINE (300 - Length * 8, 190)-(340 Length * 8, 290), 7, B

LOCATE 15, 41 - Length / 2: PRINT Message$

WHILE INKEY$ CHR$(13)

WEND

END SUB

SUB Outro

"Outro Message

SCREEN 12

CLS

LINE (0, 0)-(639, 479), 7, B

LINE (3, 3)-(636, 476), 7, B

CALL MESSAGEBOX("Программа завершила свою работу.")

STOP

END SUB

FUNCTION Range (N, Range)

"Value Precision

INTN = INT(N)

REALN = INT((N - INTN) * 10 ^ Range)

Range = INTN REALN / 10 ^ Range

END FUNCTION

FUNCTION ROOTSUM (A, B, C)

"Equation Roots Sum

SHARED ROOTSFLAG

IF (B * B - 4 * A * C) >= 0 THEN

ROOTSUM = ((SQR(B * B - 4 * A * C) - B) / 2 * A) ((-SQR(B * B - 4 * A * C) - B) / 2 * A): ROOTSFLAG = 1

ELSE CALL MESSAGEBOX("Ошибка в вычислении корней."): CLS : ROOTSFLAG = 0

END IF

END FUNCTION

SUB Scale (A, B, C, MAXT, Tkv)

"Axes Scaling

SHARED d, g, SCX, SCY

MAXY = INT(A * MAXT ^ 3 B * MAXT ^ 2 C * MAXT d g)

MAXX = MAXT

SCX = MAXX / 530: "X-Resolution

SCY = MAXY / 390: "Y-Resolution

END SUB

SUB STDATA

"Standart task conditions

SHARED TBEG, TEND, Tkv, XBEG, XEND, Eps, A, B, C, A1, B1, C1, d, g, DATAFLAG

TBEG = 0

TEND = 7

Tkv = .25

XBEG = .5

XEND = 1

Eps = .001

A = 2.7

B = 1.5

C = 4.2

A1 = 2

B1 = 5

C1 = -2

DATAFLAG = 1 d = ROOTSUM(A1, B1, C1) g = Iteration(XBEG, XEND, Eps)

CALL MAINREF(2)

END SUB

SUB Text

"Task conditions

SCREEN 12

CLS

CALL DATAOUT

LINE (248, 0)-(630, 464), 7, B

LOCATE 2, 38: PRINT "--------------УСЛОВИЕ--------------"

LOCATE 4, 51: PRINT "ВАРИАНТ 23."

LOCATE 6, 34: PRINT "Составить схему алгоритма и программу для "

LOCATE 7, 35: PRINT "построения графика временной функции, ра-"

LOCATE 8, 35: PRINT "ботающую как в машинном, так и в реальном"

LOCATE 9, 35: PRINT "ботающую как в машинном, так и в реальном"

LOCATE 10, 35: PRINT "времени. Реальное время в диапазоне "

LOCATE 11, 35: PRINT "(t0-ткон.) формируется таймером в виде про-"

LOCATE 12, 35: PRINT "граммного модуля с метками Тквант., называ-"

LOCATE 13, 35: PRINT "емыми временем квантования. При вычислении"

LOCATE 14, 35: PRINT "функции использовать алгоритм Горнера."

LOCATE 16, 38: PRINT "-------------ПАРАМЕТРЫ-------------"

COLOR 4

LOCATE 18, 38: PRINT "F(t) = |At^3 Bt^2 Ct d g|"

COLOR 2

LOCATE 19, 35: PRINT "тквант.=0.25 с; t0=0 с; ткон.=7 с."

LOCATE 21, 34: PRINT "g-корень нелинейного ур-я: x cos(x^0.52 2)=0,"

LOCATE 22, 34: PRINT "которое надо решить методом простых итераций."

LOCATE 24, 36: PRINT "Точность-0.001; Хнач.=0.5; Хкон.=1."

LOCATE 26, 34: PRINT "d-сумма корней квадр-го ур-я: A1z^2 B1z C1=0"

LOCATE 27, 45: PRINT "При A1=2; B1=5; C1=-2."

LOCATE 28, 40: PRINT "Коэффициенты: A=2.7; B=1.5; C=A B."

COLOR 15

WHILE INKEY$ CHR$(13)

WEND

CALL MAINREF(0)

END SUB

SUB Work (Time)

"Working module

SHARED TBEG, TEND, Tkv, XBEG, XEND, Eps, A, B, C, A1, B1, C1, d, g, SCX, SCY

SHARED MI

"Data checking

IF DATAFLAG = 0 THEN

CALL MESSAGEBOX("Не заданы параметры задачи!")

MAINREF (MI - 1)

EXIT SUB

END IF

IF (TBEG >= TEND) OR (TBEG < 0) OR (Tkv <= 0) THEN

CALL MESSAGEBOX("Временные коэффициенты заданы неверно.")

MAINREF (MI - 1)

EXIT SUB

END IF

IF (A > 5) OR (B > 10) OR (C > 10) THEN

CALL MESSAGEBOX("Один из коэффициентов A,B,C слишком велик.")

MAINREF (MI - 1)

EXIT SUB

END IF

IF d > 50 THEN

CALL MESSAGEBOX("Коэффициенты A1,B1,C1 превышают допустимые значения.")

MAINREF (MI - 1)

EXIT SUB

END IF

Points = (TEND - TBEG) / Tkv

IF (Points > 30) THEN

CALL MESSAGEBOX("Слишком много точек.Уменьшите время квантования.")

MAINREF (MI - 1)

EXIT SUB

END IF

IF g > 20 THEN

CALL MESSAGEBOX("g превышает допустимое значение.")

MAINREF (MI - 1)

EXIT SUB

END IF

"Draw scaled grid

CALL Scale(A, B, C, TEND, Tkv)

CALL Grid

"Gorner scheme

DIM Array(3)

DIM YBLOCK(Points 1)

Array(3) = A Array(2) = B

Array(1) = C

Array(0) = d g

FOR X = 0 TO Points

P = Array(3)

FOR I = 3 TO 1 STEP -1

YBLOCK(X) = Array(I - 1) P * (X TBEG / Tkv) * Tkv

P = YBLOCK(X)

NEXT

YBLOCK(X) = ABS(YBLOCK(X))

NEXT

"Points contro

YBLOCK(Points 1) = 0

IF Points CINT(Points) THEN YBLOCK(Points 1) = -BASEF(TEND)

"Graphics

FOR K = TBEG / SCX TO TEND / SCX - 2

CIRCLE (100 K, 400 - BASEF(K * SCX) / SCY), 1, 14

PAINT (100 K, 400 - BASEF(K * SCX) / SCY), 14

NEXT

FOR K = TBEG / Tkv TO TEND / Tkv

CIRCLE (100 K * Tkv / SCX, 400 - YBLOCK(K - TBEG / Tkv) / SCY), 2, 4

PAINT (100 K * Tkv / SCX, 400 - YBLOCK(K - TBEG / Tkv) / SCY), 4

IF Time 0 THEN CALL Delay(Time * 100)

NEXT

IF YBLOCK(Points 1) < 0 THEN

CIRCLE (100 TEND / SCX, 400 YBLOCK(Points 1) / SCY), 2, 3

PAINT (100 TEND / SCX, 400 YBLOCK(Points 1) / SCY), 3

END IF

WHILE INKEY$ CHR$(13)

WEND

"Table

CLS

FOR I = 0 TO 13

LINE (32, I * 32 8)-(232, (I 1) * 32 8), 7, B

NEXT

LINE (0, 0)-(240, 464), 7, B

LOCATE 7, 2: PRINT "Р"

LOCATE 8, 2: PRINT "А"

LOCATE 9, 2: PRINT "С"

LOCATE 10, 2: PRINT "Ч"

LOCATE 11, 2: PRINT "Е"

LOCATE 12, 2: PRINT "Т"

LOCATE 13, 2: PRINT "Н"

LOCATE 14, 2: PRINT "А"

LOCATE 15, 2: PRINT "Я"

LOCATE 16, 2: PRINT " "

LOCATE 17, 2: PRINT "Т"

LOCATE 18, 2: PRINT "А"

LOCATE 19, 2: PRINT "Б"

LOCATE 20, 2: PRINT "Л"

LOCATE 21, 2: PRINT "И"

LOCATE 22, 2: PRINT "Ц"

LOCATE 23, 2: PRINT "А"

LINE (248, 0)-(630, 464), 7, B

LOCATE 2, 38: PRINT "-----ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ-----"

LOCATE 7, 50: PRINT "Коэффициенты:"

COLOR 9

LOCATE 10, 53: PRINT "A ="; A LOCATE 12, 53: PRINT "B ="; B

LOCATE 14, 53: PRINT "C ="; C

COLOR 15

LINE (112, 8)-(112, 14 * 32 8), 7

LOCATE 2, 9: PRINT "t"

LOCATE 2, 20: PRINT "Y(t)"

I = 4

K = 0

WHILE K <= Points

IF I > 28 THEN

WHILE INKEY$ CHR$(13)

WEND

CLS

FOR I = 0 TO 13

LINE (32, I * 32 8)-(232, (I 1) * 32 8), 7, B

NEXT

LINE (112, 8)-(112, 14 * 32 8), 7

LINE (0, 0)-(240, 464), 7, B

LOCATE 7, 2: PRINT "Р"

LOCATE 8, 2: PRINT "А"

LOCATE 9, 2: PRINT "С"

LOCATE 10, 2: PRINT "Ч"

LOCATE 11, 2: PRINT "Е"

LOCATE 12, 2: PRINT "Т"

LOCATE 13, 2: PRINT "Н"

LOCATE 14, 2: PRINT "А"

LOCATE 15, 2: PRINT "Я"

LOCATE 16, 2: PRINT " "

LOCATE 17, 2: PRINT "Т"

LOCATE 18, 2: PRINT "А"

LOCATE 19, 2: PRINT "Б"

LOCATE 20, 2: PRINT "Л"

LOCATE 21, 2: PRINT "И"

LOCATE 22, 2: PRINT "Ц"

LOCATE 23, 2: PRINT "А"

LINE (248, 0)-(630, 464), 7, B

LOCATE 2, 38: PRINT "-----ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ-----"

LOCATE 7, 50: PRINT "Коэффициенты:"

COLOR 9

LOCATE 10, 53: PRINT "A ="; A LOCATE 12, 53: PRINT "B ="; B

LOCATE 14, 53: PRINT "C ="; C

COLOR 15

LOCATE 2, 9: PRINT "t"

LOCATE 2, 20: PRINT "Y(t)"

I = 4

END IF

LOCATE I, 6: PRINT Range(K * Tkv, 3)

LOCATE I, 16: PRINT Range(YBLOCK(K), 3)

I = I 2

K = K 1

WEND

WHILE INKEY$ CHR$(13)

WEND

MAINREF (MI-1)

END SUB

Пояснения

При задании параметров задачи нужно учитывать что во избежание некорректной работы программы переменные программы могут принимать следующие значения:

Параметры , и должны быть выбраны таким образом, что .

Процедуры и функции: SUB Delay (Time!) - временная задержка. В процедуре используется временная константа TCONST, объявленная в основной программе. Параметр Time - время в секундах.

FUNCTION BASEF! (K!) - временная функция. Используется для построения линии графика. Параметр K - значение аргумента. Возвращает значение функции для аргумента K.

FUNCTION Range! (K!, Range!) - возвращает K, отбрасывая все знаки после запятой, начиная с Range.

SUB Scale (A!, B!, C!, MAXT!, Tkv!) - масштабирование графика. Параметры: A, B, C - коэффициенты функции, MAXT - наибольшее возможное значение времени, Tkv - время квантования. Вычисляет коэффициенты масштабирования SCX, SCY.

SUB Grid () - рисование координатной сетки с нанесенными значениями.

SUB MESSAGEBOX (Message$) - вывод сообщения. Параметр - текстовая переменная, содержащая сообщение.

SUB MAINREF (MENUITEM!) - обновление основного меню. Параметр - номер элемента меню.

SUB Text () - вывод текстового сообщения, содержащего условие задачи.

SUB STDATA () - задание параметров задачи по условию.

SUB Main () - основная процедура, содержащая механизм меню.

SUB DATAOUT () - вывод окна с таблицей параметров задачи.

SUB DATAIN () - задание параметров задачи.

SUB Outro () - вывод сообщения о завершении программы.

SUB Work (Time!) - процедура вычисления значений функции в основных точках и рисования графика в машинном или реальном времени. Параметр - время в секундах.

FUNCTION ROOTSUM! (A!, B!, C!) - возвращает сумму корней квадратного уравнения. Параметры - коэффициенты квадратного уравнения.

FUNCTION Iteration! (XBEG!, XEND!, Eps!) - возвращает корень нелинейного уравнения, лежащий в диапазоне [XBEG;XEND], вычисленный методом простых итераций с точностью Eps.

SUB Intro () - вывод титульного листа.

График временной функции программа вычислительный функция

Вывод
Мировой и отечественный опыт подготовки специалистов в области компьютерной науки и компьютерной инженерии подтверждает целесообразность и эффективность понимания основ программирования на более простых и базирующих языках программирования, одним из которых является Basic. На примере данной программы, написанной на языке Basic, показан несложный вычислительный процесс, позволяющий обеспечить построение графика временной функции, работающий как в машинном, так и в реальном времени.

Примечание: электронный вариант программы находится на приложенной к пояснительной записке дискете под именем KURS.bas, а электронный вариант пояснительной записки - под именем Zap.doc.

Список литературы
1. Дьяконов В. П. “Компьютер в быту”. - С.:Русич, 2006 г.

1. Размещено на

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?