Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Головной модуль на языке QBasic




ВИД ПРОГРАММЫ НА ЯЗЫКЕ QBASIC

END FUNCTION

FUNCTION f (x, y0)

Пример решения поставленной задачи

Функцию варианта задания оформляем как процедуру - функции, используя в меню оболочки QBasic.

· дифференциальное уравнение (Y¢(x))

f = < функция соответствующего варианта >

интервал (а, b), шаг (h), краевое значение функции (у0)
Блок-схема для задачи решения дифференциального уравнения имеет вид.


БЛОК-СХЕМА АЛГОРИТМА РЕШЕНИЯ

 

 

 

 

Запись всех подпрограмм можно осуществить через меню оболочки QBasic:

1. Alt - вход в меню

2. Edit®New SUB … - создание новой подпрограммы

3. Edit®New FUNCTION… - создание новой подпрограммы функции

4. Набираем в диалоговом окне новое имя подпрограммы (например: eiler)

На экране появляется заготовка для создания подпрограммы:

SUB <имя подпрограммы, параметры>

<текст подпрограммы>

END SUB

1. Приступаем к написанию подпрограммы между ключевыми словами SUB и END SUB

2. Все вспомогательные подпрограммы объединяются управляющей программой или головным модулем.

3. Переход от текста управляющей программы к текстам подпрограммам происходит при нажатии клавиш F2.

DECLARE SUB eiler (a!, b!, h!, y0!)

DECLARE SUB koshi (a!, b!, h!, y0!)

DECLARE SUB runge (a!, b!, h!, y0!)

DECLARE FUNCTION f! (x!, y0!)

CLS

DIM SHARED eilerM(1000), koshiM(1000), rungeM(1000)

INPUT "левый конец интервала a= "; a

INPUT "правый конец интервала b= "; b

INPUT "шаг "; h

INPUT "краевое значение функции Y0= "; y0

yy = y0 'сохранение краевого значения функции

REM Вызов Метода Эйлера

CALL eiler(a, b, h, yy)

yy = y0

 

REM Вызов Метода Эйлера-Коши

CALL koshi(a, b, h, yy)

yy = y0

REM Вызов Метода Рунге-Кутта

CALL runge(a, b, h, yy)

PRINT "--------------------------------------------------------------"

PRINT "│ x │ elier │ koshi │ runge │"

PRINT "--------------------------------------------------------------"

L$ = "│ #.# │ ##.##### │ ##.##### │ ##.##### │"

i = 1

FOR x = a TO b + h / 2 STEP h

PRINT USING L$; x; eilerM(i); koshiM(i); rungeM(i)

i = i + 1

NEXT x

PRINT "--------------------------------------------------------------"

END

Первые четыре строчки пишутся автоматически при присоединении подпрограмм к головному модулю в результате выполнения команды Save All.

Подпрограмма для решения дифференциального уравнения
методом Эйлера:




Поделиться с друзьями:


Дата добавления: 2017-02-01; Просмотров: 56; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.