- •Информатика и математическое моделирование функциональных систем
- •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. Задание к лабораторной работе.
- •Определённые циклы
- •20 Print “!---------------------!-------------------------!---------------------------!»
- •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. Вопросы для самопроверки
- •20 Rem Ввод элементов исходного массива q
- •30 Read X( I ) : next I
- •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. Вопросы для самопроверки
- •40 Data ------------
- •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. Вопросы для самопроверки
- •Численное решение систем обыкновеНнЫх дифференциальных уравнениЙ МетодОм эЙлера
- •9.4. Задание. Самостоятельно задать матрицу с и вектор правых частей r и численно решить полученную приведенную систему обыкновенных дифференциальных уравнений методом Эйлера.
- •9.5. Вопросы для самопроверки
- •9.5.3. Какие явные или неявные разностные схемы используются при численном решении приведенных систем обыкновенных дифференциальных уравнений методом Эйлера? Литература к главе 2
- •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
- •Информатика и математическое моделирование функциональных систем
Программирование разветвляющихся алгоритмов
2.1. Цель работы. Освоить програмирование разветвляющихся конструкций.
2.2. Справочный материал. Ветвление программы осуществляется условными операторами
IF . . . THEN . . . ELSE если . . . то . . . иначе
SELECT CASE . . . END SELECT выбор ветви по значению параметра
2.2.1. Оператор IF . . . THEN можно записать в блочной или линейной форме. Линейная форма используется, если проверяется одно или два условия:
IF c$ = “ y “ THEN PRINT h ELSE INPUT d$ если c$ = “y”, то печать h, иначе ввод d$.
IF x < 10 THEN y = 1 ELSE IF x < 100 THEN y = 2 ELSE y = 3
Если предполагается проверять больше, чем два условия, то желательно применять блочную форму, используя метки (номер строки или букву с двумя точками, например - а:):
10 IF x < 10 THEN 40 если x < 10, то идем в 40 строку
20 IF x < 100 THEN 50 если x < 100, то идем в 50 строку
30 y = 2: GOTO 60 если не выполнены условия 10 и 20, то y = 2
40 y=1: GOTO 60 если выполнено условие 10, то y = 1
50 y = 3 если выполнено условие 10, то y = 3
60 PRINT “y=”; y печать результата «у= …»
70 END
Структура считается линейной, если после первого THEN в строке есть метка ли арифметический оператор.
2.2.2. При проверке сложных условий можно использовать более современную конструкцию SELECT . . . END SELECT :
SELECT CASE a выбор по значению параметра “a”
CASE IS = 1 для случая a = 1
x = y * z x = y * z
CASE IS > 10 для случая a > 10
x = a * z x = a * z
CASE 30 TO 50 для случая 30 a 50
x = a + z * y x = a + z * y
CASE 50 TO 70 , 150 TO 200 для случая 50 a 70 и 150 a 200
x = y / a x = y / a
CASE 70 TO 90 , IS > 200 для случая 70 a 90 и a > 200
x = a + y x = a + y
CASE ELSE для всех остальных значений a
x = a x = a
END SELECT конец выбора по параметру
2.3. Пример:
;
Программа:
2.3.1 2.3.2
10 x = 3 x = 3
20 Input “a b “ ; a , b input “a b “ ; a , b
30 c = a - b c = a - b
40 IF c > 0 THEN 70 SELECT CASE a
50 IF c < 0 THEN 80 CASE IS > b
60 z = 0 : GOTO 90 z = LOG(c) / LOG(10) *x
70 z = LOG(c) / LOG(10) *x: GOTO 90 CASE IS < b
80 z = c ^ x z = c ^ x
90 PRINT «z=”;z CASE ELSE
100 END z = 0
END SELECT
PRINT “z=”;z
END
Результаты: