
- •Информатика и математическое моделирование функциональных систем
- •Isbn 5-94826-033-X
- •Введение
- •Програмирование задач на языке basic
- •Программирование линейных вычислительных процессов
- •1.2. Справочный материал.
- •1.5. Вопросы для самопроверки
- •Программирование разветвляющихся алгоритмов
- •2.3. Пример:
- •20 Input “a b “ ; a , b input “a b “ ; a , b
- •2.4. Задание к лабораторной работе.
- •Определённые циклы
- •3.4 Задания к лабораторной работе.
- •Input “X, m%, h% “ ; X , m% , h%
- •4.4. Задания к лабораторной работе.
- •Input “X m h “ ; X , m% , h
- •Программирование итерационных вычислительных процессов
- •10 Input "Введите значения X,r,k,e" ; X,r,k,e
- •6.5. Вопросы для самопроверки
- •7.5. Вопросы для самопроверки
- •160 Next I
- •160 Next j
- •150 Next j
- •9.5. Вопросы для самопроверки
- •40 Read X( I ) : next I
- •45 Data 1, 2.1, -3, -4.1, 1.7, 1.8, 1.9, 14.2, -5, -4.3, 11.2, 10.8
- •140 Return
- •90 Read X( I ) : next I
- •100 Data 1, 2.1, -3, -4.1, 1.7, 1.8, 1.9, 14.2, -5, -4.3, 11.2, 10.8
- •10.5. Вопросы для самопроверки
- •11.5. Вопросы для самопроверки
- •Литература к главе 1
- •2. Программирование задач в системе math cad
- •РешЕние систем линейных алгебраических уравнений методом обратной матрицы
- •2.5. Вопросы для самопроверки.
- •Решение нелинейного уравнения графическим методом
- •3.5. Вопросы для самопроверки.
- •Решение НелинейноГо уравнениЯ МетодОм простых итераций
- •3.5. Вопросы для самопроверки.
- •Решение нелинейного уравнения методом касательных
- •4.3. Пример.
- •4.5. Вопросы для самопроверки.
- •Решение систем Нелинейных уравнений графическим методом
- •6.5. Вопросы для самопроверки.
- •Решение систем Нелинейных уравнений методом пРостых итерацй
- •6.3. Пример.
- •6.5. Вопросы для самопроверки
- •Численное интегрирование: метод прямоугольников и трапеций, формула симсона
- •7.5. Вопросы для самопроверки.
- •Численное решение обыкновеНноГо дифференциального уравнениЯ МетодОм эЙлера и рунге-кутта
- •8.5. Вопросы для самопроверки
- •Численное решение систем обыкновеНнЫх дифференциальных уравнениЙ МетодОм эЙлера
- •3. Математическое моделирование на пэвм
- •3.1. Системы сосредоточенными массами
- •3.1.1. Математическое моделирование теплообмена для тел сосредоточенных масс с окружающей средой
- •3.1.2. Собственные колебания
- •Лабораторная работа № 3.1 исследование автономной линейной системы уравнений
- •Лабораторная работа №3.2. Исследование автономной нелинейной системы уравнений
- •Лабораторная работа №3.3. Решение жестких систем обыкновенных дифференциальных уравнений (оду)
- •3.1.3. Математическая модель стабильности позвоночника
- •Результаты численных расчетов
- •3.2. Системы с распределенными параметрами
- •3.2.1. Математическое моделирование процесса переноса частиц
- •3.2.2. Математическое моделирование процесса прерванного посола рыбы
- •Отметим, что критерий устойчивости счета методом прогонки к ошибкам округления выполнен так как
- •Как следует из рекуррентных соотношений (3.2.32), для начала расчета необходимо иметь значения e1 и w1, которые определяются с помощью левого граничного условия (3.2.23)
- •3.2.3. Моделирование процесса переноса частиц на основе гиперболической системы уравнений
- •3.2.4. Математическое моделирование нестационарного двумерного процесса переноса частиц (теплопереноса)
- •Система разностных уравнений (3.96) дополнялась начальными и граничными условиями (3.91 и 3.92 – 3.95) и решалась методом обыкновенной прогонки попеременно в двух направлениях.
- •3.3. Повышение порядка точности аппроксимации дифференциальных уравнений
- •3.3.1. Повышение порядка точности аппроксимации обыкновенных дифференциальных уравнений
- •3.3.2. Повышение порядка точности аппроксимации дифференциальных уравнений гиперболического типа
- •3.4. Интерполяция функций
- •3.4.1. Линейная интерполяция
- •3.4.2 Квадратичная интерполяция
- •3.4.3. Интерполяционная формула Лагранжа
- •3.4.4. Сплайны
- •3.4.5.Алгоритм решения обратных задач по заданным показателям качества
- •Литература к главе 3
- •Информатика и математическое моделирование функциональных систем
Input “X m h “ ; X , m% , h
OPEN “result” FOR OUTPUT AS #1
s = 0
FOR n% = 1 TO m% STEP h
t = x + n%
y = ( x + t) / ( t* SQR( n%+1))
s = s + y
NEXT n%
PRINT s
WRITE #1, “s = “, s
CLOSE #1
END
На файле с последовательным доступом можно организовать простую базу данных:
OPEN “товар” FOR OUTPUT AS #3
INPUT “ имя товара :”,it$
WHILE it$ <> “zzz”
INPUT “код и цена”, cod$, price$
WRITE #3, it$, cod$, price$
INPUT “имя товара :“, it$
WEND
CLOSE #3
END
Здесь использован неопределённый цикл WHILE . . . WEND, цикл по условию, который повторяет выполнение операторов тела цикла пока имя товара “it$” не равно “zzz”.
Эту же задачу можно реализовать с файлом прямого доступа:
TYPE
buf
описание
пользовательского типа данных,
goods AS STRING *25 имеющего смысл записи в файл. Этому типу
code AS STRING *10 присвоено имя buf и в нём определены поля
price AS SINGLE записи
END TYPE
CLS очистка экрана
DIM recb AS buf описаниие переменной recb как записи buf
OPEN “goods.db” FOR RANDOM AS #1 открытие файла прямого доступ
INPUT “goods :”,goods$ ввод наименования товара
WHILE goods$ <> “zzz” пока goods$ “zzz”
INPUT “code , price”, code$,price$ ввод кода товара и цены
I = I + 1 увеличение номера записи
recb.goods
= goods$
присвоение
полям записи
recb.code = code$ соответствующих значений
recb.price = price переменных
PUT #1 , I , recb передача записи в файл
INPUT “goods :”,goods$ ввод след. наимен. товара
WEND конец цикла
CLOSE #1 закрытие файла
END конец программы
5.4. В качестве задания составьте программу “Записная книжка” в файле прямого доступа с тремя полями: имя, адрес, телефон.
Лабораторная работа № 6 (C:\USER\GROUP\NOF\lab6.bas)
Программирование итерационных вычислительных процессов
6.1. Цель работы. Получение практических навыков алгоритмизации и програ-ммирования простых циклических процессов , число повторений которых не задано.
6.2. Справочный материал. В основе простых итерационных вычислений некоторой величины Y лежит рекуррентная формула для которой каждое последующее приближение определяется через предыдущее, а начальное - задается
Yi+1 = f( Yi ) , i=0,1,...,N-1, (1.6.1)
где i-номер итерации; N - номер итерации, на которой обрывается процесс вычислений.
При этом начальное приближение Y0 ( нулевая итерация ) выбирается по
определенным правилам или задается заранее.
Численное значение N определяется из выполнения условия cходимости итераций
| Yi+1 - Yi | ≤Е , (1.6.2)
и считается, что величина Y = YN вычислена с заданной точностью Е [I, 1-2].
6.3. Пример. Подготовить и организовать на ПЭВМ итерационные вычисления по рекуррентной формуле
Yi+1 = 1 / 2 * (Xi / Yi + Yi ) , i=0,1,...,N-1 (1.6.3)
с заданной точностью E. Значение аргумента X, начальное приближение Y0 и точность вычислений Е, задается следующим образом:
X = 4.5 ; Y = 0.9 * X ; E = 10-3; ( 1.6.4a )
X = 2 ; Y = 1 ; E = 10-2 . ( 1.6.4б )
Для удобства программирования запишем Y в виде
Y0 = R * Xk, (1.6.5 )
тогда для случая (6.4а) значения множителя R и степени k соответственно равны
R = 0.9 ; k = 1 , а для случая ( 6.4б ) R = 1 ; k = 0 .
Алгоритм решения задачи основывается на циклических вычислениях по рекуррентной формуле (6.3) и проверки выполнения условия (6.2).При этом алгоритм решения задачи должен предусматривать запоминание значений Y на i+1 и i итерациях (Y и Z).Текст БЭЙСИК - программы алгоритма решения задачи для примера 6.3 приведен ниже