- •1. Линейные вычисления в мс. Вычисление значения переменной.
- •2. . Команда ввода исходных данных input.Формат команды. Линейные вычисления в qbasic.Вычислить значение переменной.
- •3. Команда ввода исходных данных data-read.Формат команды.
- •4. Команда вывода результатов вычислений на печать print.
- •5.Функция условных выражений if в mathcad. Вычислить значение разветляющейся переменной.Вычислить значение разветляющейся переменной.
- •7.Функция пользователя и команда цикла в mathcad.Табулирование функции и построение его графика.
- •9. Команда арифметического цикла в qbasic.Формат команды.Програм-
- •10. Команда арифметического цикла в qbasic.Формат команды.
- •12. Команда арифметического цикла в qbasic.Формат команды.
- •13. Функции,зависящие от двух переменных.Построение графиков поверхностей в mathcad.
- •14. Табулирование функций, зависящих от двух переменных,в qbasic.
- •15. Команда цикла с условием.Формат команды.Программирование рекуррентных формул в qbasic.
- •16. Команда цикла с условием.Формат команды.Программирование
- •18. Одномерный массив в qbasic.Команда описания массивов.
- •19. Одномерный массив в qbasic.Команда описания массивов.Ввод
- •20. Двумерный массив в mathcad. Создать двумерный массив и показать основные виды матричныхных операций.Вычисления с использованием двумерных массивов.
- •21. Двумерные массивы в qbasic.Команда описания массивов. Ввод элементов двумерного массива в память эвм.Определение нормы матрицы по 1-му способу.
- •22. Двумерные массивы в qbasic.Команда описания массивов. Ввод элементов двумерного массива в память эвм.Определение нормы матрицы по 2-му способу
- •23. Двумерные массивы в qbasic.Команда описания массивов.Ввод элементов двумерного массива в память эвм.Определение нормы матрицы по 3-му способу.
- •24. Двумерные массивы в qbasic.Команда описания массивов.Ввод элементов двумерного массива в память эвм.Определение Евклидовой нормы матрицы.
- •28. Решение уравнения с одной неизвестной
- •32. Решение систем линейных алгебраических уравнений в mathcad методом обратной матрицы и с использованием специальной функции.
- •34. Решение систем линейных алгебраических уравнений.Алгоритм и программа метода итераций в qbasic
- •35. Решение систем линейных алгебраических уравнений.Алгоритм и программа метода Гаусса-Зайделя в qbasic.
- •37. Решение систем нелинейных уравнений.Алгоритм и программа метода итераций в qbasic.
- •39. Интерполяция функции,заданной таблично.Реализация сплайн-кубической интерполяции в mathcad
- •40. Интерполяция функции,заданной таблично.Реализация интерполяции
- •41. Интерполяция функции,заданной таблично.Алгоритм и программа линейной интерполяции в qbasic
- •42. Интерполяция функции,заданной таблично.Алгоритм и программа с
- •43. Аппроксимация функции,заданной таблично.Метод наименьших квадратов.Аппроксимировать экспериментальные данные степенной
- •45. Аппроксимация функции,заданной таблично.Метод наименьших квадратов.Аппроксимировать экспериментальные данные логарифмической функцией в mathcad.
- •46. Аппроксимация функции,заданной таблично.Метод наименьших квадратов.Аппроксимировать экспериментальные данные гиперболической функцией в mathcad.
15. Команда цикла с условием.Формат команды.Программирование рекуррентных формул в qbasic.
Операторы условного цикла:
1) Оператор WHILE/WEND
Формат команды:
WHILE логическое выражение
Тело цикла
WEND
Управляющий оператор это есть, выполнение блока операторов до тех пор, пока логическое выражение истинно
REM табулирование функции
DECLARE FUNCTION Y(x)
CLS
Const PI=3.14
DEFSNG A-Z
X=-PI
While x <pi
Print “x=” x ,“y=” y
X=x+pi/36
Wend
End
Rem подпрограмма
Function (x)
Y=sin(x)
End Function
2) Команда цикла Do Loop
a) Формат команды Do Loop:
Do [while/until логическое выражение]
тело цикла
[Exit Do]
Loop
Логическое выражение начинается со слов While/ Until
б)если в команде используется слово while, цикл выполняется до тех пор, пока условие «истинно». При записи слова «until» цикл крутится до тех пор, пока условие ложно
CLS
DIM n, k AS INTEGER
CONST pi = 3.14159
DEFSNG A
k = 3: n = 1
DO
a = SIN(pi * SQR(n ^ 2 + k ^ 2))
PRINT "a"; n; "="; USING "##.#####"; a
n = n + 1
LOOP WHILE ABS(a) > .001
PRINT "n="; n; "a="; USING "##.#####"; a
END
Программирование рекурентных формул в QB:
Пример (Элементы последовательности Фиббаначи):
Fn+1=Fn+Fn-1
В данном случае Fn+1- очередной член ряда, относительно него: Fn- предыдущий член ряда, а Fn-1- предпредыдущий член ряда. Формулы, в которых очередной член ряда выражается на основании его предыдущих элементов. Алгоритм:
-Перед входом в цикл задают номер предыдущего элемента последовательности.
-В цикле записываем рекуррентную формулу и делаем переприсвоение: предыдущему члену ряда присваивается значение очередного члена ряда, а предпредыдущему – предыдущего.
-Закрытие цикла.
REM ‚вычиление числа Фиббаначи
' УСЛОВИЕ
'напечатать номер числа Фиббаначи, меньшего 700
CLS
DIM n AS INTEGER
DEFSNG F
n = 1: fp = 1: fpp = 1
DO
f = fp + fpp
PRINT "f"; n; "="; f
n = n + 1'замена
fpp = fp ' старых
fp = f 'значений
LOOP WHILE f <= 700
PRINT "n="; n; "f="; f
16. Команда цикла с условием.Формат команды.Программирование
конечных сумм трех типов в QBASIC.
Операторы условного цикла:
1) Оператор WHILE/WEND
Формат команды:
WHILE логическое выражение
Тело цикла
WEND
Управляющий оператор это есть, выполнение блока операторов до тех пор, пока логическое выражение истинно
REM табулирование функции
DECLARE FUNCTION Y(x)
CLS
Const PI=3.14
DEFSNG A-Z
X=-PI
While x <pi
Print “x=” x ,“y=” y
X=x+pi/36
Wend
End
Rem подпрограмма
Function (x)
Y=sin(x)
End Function
2) Команда цикла Do Loop
a) Формат команды Do Loop:
Do [while/until логическое выражение]
тело цикла
[Exit Do]
Loop
Логическое выражение начинается со слов While/ Until
б)если в команде используется слово while, цикл выполняется до тех пор, пока условие «истинно». При записи слова «until» цикл крутится до тех пор, пока условие ложно
CLS
DIM n, k AS INTEGER
CONST pi = 3.14159
DEFSNG A
k = 3: n = 1
DO
a = SIN(pi * SQR(n ^ 2 + k ^ 2))
PRINT "a"; n; "="; USING "##.#####"; a
n = n + 1
LOOP WHILE ABS(a) > .001
PRINT "n="; n; "a="; USING "##.#####"; a
END
Программирование конечных сумм трех типов в QB.
Вычисление конечных сумм:
Часто для вычисления значения некоторой функции используется разложение этой функции в бесконечный ряд.
Например
функцию ех
можно разложит в бесконечный ряд
- общий член ряда, так как из него можно получить все члены ряда, кроме первого
Rn(x) – остаточный член ряда
Ряды бывают сходящимися и расходящимися. Условие сходимости ряда:
,
т.е. каждый член ряда меньше предыдущего.
Эта задача аналогична вычислению частичной суммы от 1 до n
S=1+2+3…+n
Вычисление конечной суммы зависит от вида общего члена ряда. Этот вид бывает трех типов.
Ряд первого типа.
Особенностью этого ряда является то, что для каждого члена ряда требуется вычисление факториала и возведение аргумента в степень.
Пример ряда первого типа:
Знакопостоянный ряд
Знакопеременный ряд
При программировании рядов такого типа прямое использование формулы общего члена ряда невозможно. Для таких рядов выводится рекуррентные формулы.
Вывод рекуррентной формулы
Выписываем общий член ряда без знака:
Записываем формулу для (an+1), для чего вместо n подставляем (n+1).
Выражаем an+1 через an
Вычисление суммы будет осуществляться путем накопления. Перед входом в цикл накопителю присвоим значение, равное a0 (так как по рекурренной формуле можно получить все члены ряда, кроме первого). После вычисления по рекуррентной формуле прибавим это значение к накопителю. Вычисление конечных сумм для различных значений аргумента и количества членов ряда n представляет из себя задачу с двумя вложенными циклами. Внутренний цикл – это цикл с условием для вычисления суммы n членов ряда для фиксированного значения x, а внешний цикл – изменене аргумента х в заданном интервале с шагом.
Окончание вычисления очередного члена ряда:
1. Вычисление производить до тех пор, пока очередной член ряда по абсолютной величине не станет меньшим заранее заданной точности E (an<E).
2. Вычисление производить до тех пор, пока разность между двумя членами ряда по абсолютной величине не станет меньше заранее заданной точности.
Алгоритм программирования конечной суммы 1го типа:
1)Задать точность вычисления E (E=10-4)
2) Задать значение аргумента (если это значение изменяется в определенном интервале, то необходимо использовать команду цикла FOR)
3) Задать первоначальное значение накопителя S (S=a0)
4) Задать предыдущий член ряда (ap)
5) Если ряд знакопеременный, то задать знак первого члена ряда, получаемого по рекуррентной формуле (с=-1)
6) Открытие цикла (DO)
7) Вычисление очередного члена ряда по рекуррентной формуле
8) складывание очередного члена ряда в накопитель (S=S+с*AT)
9) вычислить разность по абсолютной величин между предыдущим и очередным членами последовательности R=ABS(ap-at)
10) наращивание номера элемента последовательности
11)переприсвоение (ар=ат)
12) закрытии =е внутреннего цикла с проверкой условия (R>E)
13) печать значения частичной суммы S и точного значения функции, число накопленных членов ряда
14) смена знака c=-c
14) закрытие арифметического цикла:
Анализ результата: Значение S должно совпадать с точным значением функции.
REM программирование конечной суммы первого типа
CLS
INPUT "введите начальное и конечное значения x"; xnach, xkon
e = .0001'задание точности
FOR x = xnach TO xkon
PRINT "при x="; x
s = 1
ap = 1
c = -1
n = 1
DO
PRINT "a"; n; "="; ap
at = ap * x ^ 2 / (2 * n + 1) / (2 * n + 2) * c
s = s + at
r = ABS(ap - at)
n = n + 1
ap = at
LOOP WHILE r > e
c = -c
PRINT "a"; n; "="; ap
PRINT "сумма данного ряда равна"; s
PRINT "количество элемнтов, составляющих данную сумму равно"; n
PRINT "для продолжения работы нвжмите любую клавишу"
DO
LOOP WHILE INKEY$ = ""
NEXT x
Алгоритм вычисления конечных сумм 2го типа:
Ряды такого типа не содержат факториалов и степеней высших порядков при аргументах:
Ряды такого типа вычисляются без применения рекуррентных формул, а путем прямой подстановки номера n в формулу общего члена ряда.
Алгоритм:
1)Задать точность вычисления
2) Задать диапазон изменения аргумента с шагом
3) Напечатать значение аргумента
4) Задать значение накопителя S
5) Задать номер n
6)Задать ap=0
7) задать знак c=+-1
8) открыть цикл do
9) запрограммировать общий член ряда (запрограммировать его значение через aT)
10) R=ABS(AT-AP)
11) складывание в накопитель S=S+c*at
12) наращивание n=n+1
13) замена ap=at
14) смена знака c=-c
15) закрытие цикла (loop while R>E)
16) печать n,S,точного значения функции y
17) закрытие арифметического цикла
REM Вычиление конечной суммы второго типа
CLS
INPUT "введите началтное и конечное значения х"; xnach, xkon
e = .0001'задание точности
FOR x = xnach TO xkon
PRINT "при x="; x
s = 0
ap = 0
n = 1
DO
at = (COS((2 * n - 1) * x)) / ((2 * n - 1) ^ 2)
PRINT "a"; n; "="; ap
s = s + at
r = ABS(ap - at)
n = n + 1
ap = at
LOOP WHILE r > e
PRINT "a"; n; "="; ap
PRINT "сумма данного ряда равна"; s
PRINT "количество элементов, составляющих сумму данного ряда равно"; n
PRINT "для продолжения работы нажмите любую клавишу"
DO
LOOP WHILE INKEY$ = ""
NEXT x
17. Одномерный массив в MATHCAD.Создать одномерный массив и
показать основные виды векторных операций.Вычисления с использованием одномерных массивов.
Опр.: Массив – имеющая уникальное имя совокупность конечного числа числовых или символьных элементов, упорядоченных заданным образом и имеющие определенные адреса (номера).
В MC существует два типа массивов – одномерные и двумерные. Массив помимо имени и адреса имеет характеристики:
-размерность (ориентированность в пространстве)
-размер (максимальное количество его элементов)
Одномерный массив в МС идентифицируется вектором – столбцом ( вектор-столбец характеризуется только числом строк). Двумерный массив (матрица, двумерный вектор) характеризуется как числом строк, так и числом столбцов
Векторы:
Вектор в математике задается следующим образом:
V=(v0,v1,v2……vn) или сокращенно v=(vi)
i=o,n
одномерный массив снабжен одним индексом. В МС нижняя граница индексации по умолчанию равна 0, а вообще она задается системной переменной ORIGIN.
Ввод элементов вектора в память:
Если нам задан конкретный вектор с конкретными элементами, например:
V=(0,1;0,2;-10)
В МС набирается имя вектора (в данном случае v) и ставится знак присвоения. После этого необходимо вызвать из наборной панели пиктограмму с изображением матрицы)
-ввести число строк
-ввести число столбцов, равное 1
-подтвердить ввод этой матрицы
-заполнение полученного массива, активизируя каждую позицию левой кнопкой мыши.
Основные виды векторных операций:
1) сложение векторов (необходимое условие: равенство количества строк в обоих массивах)
2)вычитание векторов
3) смена знака у вектора
4) умножение векторов:
(а)-скалярное умножение
или V=V1*V2
(результатом скалярного умножения является число)
(б) векторное умножение (данная операция может производиться для векторов с числом строк не более 3):
V:=V1хV2
(в) векторизация. Векторизацией называется одновременное проведение математических операций в их скалярном значении над всеми элементами вектора или матрицы, помеченное знаком векторизации.
В результате каждый элемент вектора V1 умножается на соответствующий элемент вектора V2. Результатом данной операции также является вектор.
(г) умножение вектора на скаляр
V=V1*k
5)вычисление нормы вектора
|V|-норма вектора
||M||- норма матрицы
|V|- абсолютная длина (евклидова норма вектора)
6) транспонирование вектора (замена строк на столбцы)
