- •Оглавление
- •Введение
- •1. Программирование задач на языке basic
- •Программирование линейных вычислительных процессов
- •1.1.2. Справочный материал.
- •1.1.5. Вопросы для самопроверки
- •1.2.3. Пример:
- •20 Input “a b “ ; a , b input “a b “ ; a , b
- •1.2.4. Задание к лабораторной работе.
- •Определённые циклы
- •1.3.4. Задания к лабораторной работе.
- •Определённые циклы. Суммирование членов функционального ряда
- •Input “X, m%, h% “ ; X , m% , h%
- •1.4.4. Задания к лабораторной работе.
- •Файлы прямого и последовательного доступа
- •Input “X m h “ ; X , m% , h
- •Программирование итерационных вычислительных процессов
- •10 Input "Введите значения X,r,k,e" ; X,r,k,e
- •1.6.5. Вопросы для самопроверки
- •1.7.5. Вопросы для самопроверки
- •Формирование и обработка одномерных массивов
- •1.8.5. Вопросы для самопроверки
- •Формирование двумерных массивов и выполнение операций с матричными элементами
- •160 Next I
- •160 Next j
- •150 Next j
- •1.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
- •1.10.5. Вопросы для самопроверки
- •Программирование цепочек текстовых переменных
- •1.11.5. Вопросы для самопроверки
- •Литература к главе 1
- •2.1.5. Вопросы для самопроверки
- •Решение нелинейного уравнения графическим методом
- •2.2.5. Вопросы для самопроверки
- •Решение НелинейноГо уравнениЯ МетодОм простых итераций
- •2.3.5. Вопросы для самопроверки
- •Решение нелинейного уравнения методом касательных
- •2.4.3. Пример.
- •2.4.5. Вопросы для самопроверки
- •Решение систем Нелинейных уравнений графическим методом
- •2.5.5. Вопросы для самопроверки
- •Решение систем Нелинейных уравнений методом пРостых итераЦиЙ
- •2.6.3. Пример.
- •2.6.5. Вопросы для самопроверки
- •Численное интегрирование:метод прямоугольников и трапеций, формула симпсона
- •2.7.5. Вопросы для самопроверки
- •Численное решение обыкновеНноГо дифференциального уравнениЯ МетодОм эЙлера и рунге-кутта
- •2.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.2.45) дополнялась начальными и граничными условиями (3.2.40 – 3.2.44) и решалась методом обыкновенной прогонки попеременно в двух направлениях.
- •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 конец программы
1.5.4. В качестве задания составьте программу “Записная книжка” в файле прямого доступа с тремя полями: имя, адрес, телефон.
Лабораторная работа № 1.6 (C:\USER\GROUP\NOF\lab6.bas)
Программирование итерационных вычислительных процессов
1.6.1. Цель работы. Получение практических навыков алгоритмизации и программирования простых циклических процессов , число повторений которых не задано.
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].
1.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)
тогда для случая (1.6.4а) значения множителя R и степени k соответственно равны
R = 0.9 ; k = 1 , а для случая ( 6.4б ) R = 1 ; k = 0 .
Алгоритм решения задачи основывается на циклических вычислениях по рекуррентной формуле (1.6.3) и проверки выполнения условия (1.6.2). При этом алгоритм решения задачи должен предусматривать запоминание значений Y на i+1 и i итерациях (Y и Z).Текст БЭЙСИК - программы алгоритма решения задачи для примера (1.6.3) приведен ниже