Основы работы в Python. Учебно-методическое пособие
.pdf
linalg.tensorsolve(A,b[, |
решает тензорную систему ли- |
axes]) |
нейных уравнений Ax = b. |
linalg.slogdet(A) |
знак и логарифм определителя |
Пример: нахождение обратной матрицы.
A=np.array([[-1,1,0],[0,2,1],[1,0,1]]) print(A)
b = np.linalg.inv(A) # матрица b = A−1 print(b)
|
print(np.dot(A,b)) |
# проверкаA b = I |
|
|
|||||
Результат работы программы соответствует таблице: |
|
|
|||||||
|
|
|
|
|
|
|
|
||
|
|
A |
|
|
b |
|
np.dot(A,b) |
||
|
[[-1 |
1 |
0] |
[[-2. |
1. |
-1.] |
[[ 1. |
0. |
0.] |
|
[ 0 |
2 |
1] |
[-1. |
1. |
-1.] |
[ 0. |
1. |
0.] |
|
[ 1 |
0 |
1]] |
[ 2. |
-1. |
2.]] |
[ 0. |
0. |
1.]] |
Пример: решение линейного алгебраического уравнения.
import numpy as np
A = np.array([[1, 2, 3], [4, 5, 6], [1, 8, 9]])
|
y =np.array([ 1, 1, |
1] , float) |
|
|||||
|
print(y) |
|
|
|
# x = A−1y |
|
||
|
x =np.linalg.solve(A, y) |
|
||||||
|
print(x) |
|
|
|
|
|
|
|
|
print( np.dot(A, x)) # проверка Ax = y |
|||||||
Результат работы программы соответствует таблице: |
|
|||||||
|
|
|
|
|
|
|
|
|
|
A |
|
y |
|
|
x |
|
np.dot(A,x) |
|
[[1 2 |
3] |
[ 1. 1. 1.] |
|
[0. -1. 1.] |
|
[ 1. 1. 1.] |
|
|
[4 5 |
6] |
|
|
||||
|
[1 8 |
9]] |
|
|
|
|
|
|
Обратите внимание, вектора x, y здесь воспринимаются как столбцы, и умножение идет по правилу «строка на столбец».
Методы для работы с полиномами
Функция polyval() подставляет в многочлен заданное значение. Параметрами функции являются: список коэффициентов (в том числе и нулевых) при степенях полинома и само значение переменной. Например, найдем значение многочлена (x3 – 2x2 + 3) при x = 15:
>>>import numpy as np
>>>np.polyval([1, -2, 0, 3], 15)
61
2928
Обратите внимание: коэффициенты идут по убыванию степени.
С помощью функции poly(), передавая список корней, можно получить коэффициенты соответствующего полинома (с точностью до
общего множителя):
>>> np.poly([-1, 1, 2, 3]) array([ 1., -5., 5., 5., -6.])
Функция root() возвращает все корни многочлена. Аргументом
функции является список коэффициентов
>>> np.roots([ 1., -5., 5., 5., -6.]) array([ 3., -1., 2., 1.])
Заданный многочлен можно продифференцировать и проинтегри-
ровать с помощью функций polyder([…]), polyint([…]):
>>>np.polyder([1./3., 1./2., 1., 0.]) array([ 1., 1., 1.])
>>>np.polyint([1, 1, 1])
array([ 0.33333333, 0.5 , 1. , 0. ])
Суммирование, вычитание, умножение и деление многочленов
обеспечивают функции polyadd(), polysub(), polymul()
и polydiv() соответственно. Пример: (x+1)(x+2) = x2+3x+2 .
>>> np.polymul([1,1],[1,2]) array([1, 3, 2])
Для полиномиальной интерполяции дискретной функции y(x), за-
данной набором значений (xi, yi), используется функция polyfit(x,y,N). Аргументами функции являются списки значений
(xi) и (yi), а также порядок (максимальная степень N) интерполирующего полинома. Рассмотрим, для примера, точную зависимость (x2 −1):
>>>x = [1, 2, 3, 4, 5, 6, 7, 8]
>>>y = [0, 3, 8, 15, 24, 35, 48, 63]
>>>np.polyfit(x, y, 2)
array([ 1.0, 0., -1.0])
>>> np.polyfit(x, y, 3) array([ 0., 1.0, 0., -1.0])
Естественно, в общем случае, коэффициенты могут не соответствовать точной зависимости (например, содержать погрешности):
>>>x = [1, 2, 3, 4, 5, 6, 7, 8]
>>>y = [0, 3, 5, 16, 23, 35, 50, 65]
>>>np.polyfit(x, y, 2)
array([ 1.14880952, -0.9702381 , -0.30357143])
62
Пример 1. Нейросеть для трехкомпонентной функции XOR
Пусть функция XOR(x1, x2, x3) возвращает 0, если все три аргумен-
та совпадают, и возвращает 1 в остальных случаях (xi = 0 или 1). Реализуем её с помощью нейросети, представленной на рис. 9.1.
Под нейронной сетью (нейросетью) понимают алгоритмическую
структуру, преобразующую информацию по принципам работы
нейронов головного мозга. Геометрическое представление нейросети
состоит из «нейронов» и связей между ними. На вход сети поступает
набор числовых значений (входных сигналов), которые преобразуются
в выходной сигнал. Нейроны входного слоя просто передают входные
сигналы нейронам внутренних (скрытых) слоев. Эти нейроны сумми-
руют поступающие на них сигналы с учетом их «веса» и «пропуска-
ют» эту сумму через функцию F, называемую функцией активации. Значение этой функции F(w1 x1+w2 x2+…) является выходным сигналом данного нейрона, а числа wi и есть веса входных сигналов.
1, |
x 0.5 |
|
F (x) |
0, |
x 0.5 |
|
||
Рис. 9.1. Нейросеть типа персептрон с пороговой функцией активации F(x). В данном примере веса скрытого слоя w1=w2=w3=1, w4=w5=w6=0.2.
Веса выходного нейрона равны 1 и −1.
Соответствующая программа имеет вид: import numpy as np
W = np.array([[1,1,1], [0.2, 0.2, 0.2]]) #веса w1 - w6 W_out = np.array([1, -1]) #веса выходного нейрона
def F(x): return 0 if x<0.5 else 1 # функция активации def go_forward(in_put): # обработка данных нейросетью
sum1 = np.dot(W, in_put)
y = np.array([F(x) for x in sum1]) sum2 = np.dot(W_out, y)
63
out = F(sum2)
return (in_put, out) #возвращает кортеж (in_put, out)
x1,x2,x3=0,1,0 # вариант начальных значений
X, z = go_forward([x1, x2, x3]) # X, z = in_put, out print("Вход НСети:", X, " Выход НСети:" ,z)
Результат: Вход НС: [0, 1, 0] Выход НС: 1
Проверьте комбинацию: Вход НС: [1, 1, 1] Выход НС: 0
Пример 2. Собственные частоты для линейной упругой цепочки
Уравнения колебаний линейной упругой цепочки имеют вид: mi u″(i,t)= ki (u(i−1,t) − u(i,t)) + ki+1 (u(i+1,t) − u(i,t));
для заданных масс mi и жесткостей ki, где i=1,…,N. Пусть крайние шарики соединены пружинами со стенками, тогда u(0,t) = u(N+1,t) = 0.
Квадраты собственных частот колебаний (ωj)2 являются собствен-
ными значениями характеристической матрицы G с элементами:
Gi,i = (ki + ki+1)/mi ; Gi,i−1 = − ki /mi ; Gi,i+1= − ki+1/mi
остальные элементы G равны нулю. Для частного случая тождествен-
ных масс и жесткостей (общий случай аналогичен) программа имеет
вид:
N=5 # количество шариков
m=1*np.ones(N) # все массы одинаковы и равны 1 кг k=1*np.ones(N+1) # жесткости одинаковы и равны 1 Н/м
G=np.eye(N)
for i in range (N): G[i,i]=(k[i]+k[i+1])/m[i]
if i<N-1: G[i,i+1]=-k[i+1]/m[i] if i>0: G[i,i-1]=-k[i]/m[i]
e_val,e_vect = np.linalg.eig(G) print(e_val)
Результат (ωj)2 (в сек−1):
[ 3.73205081 3. 2. 0.26794919 1.]
Проверьте, что для периодических граничных условий: u(0,t) = u(N,t), u(N+1,t) = u(1,t), одна из частот ωj всегда равно 0 («нулевая мода»).
64
10. Индивидуальные задания
1. Базовые элементы языка
Задание. Создать программу для решения вычислительной задачи
(например, по набору вводимых параметров найти по стандартным
формулам заданную физическую величину). Для получения явного ви-
да формулы и значений параметров использовать Интернет. Для ввода
и вывода данных использовать инструкции print() и input().
Индивидуальные варианты:
1.Создать программу для расчета расстояния до изображения для
тонкой линзы. Выбор типа линзы (собирающая или рассеивающая)
осуществить с экрана. Вводимые параметры – расстояние до предмета
ифокусное расстояние.
2.Создать программу для расчета давления по формуле Ван-дер- Ваальса. Вводимые параметры – объем, температура и постоянные Ван-дер-Ваальса.
3.Создать программу для определения электрического потенциала от двух очечных зарядов в заданной точке. Вводимые параметры – значения зарядов и их координаты, а также координаты самой точки.
4.Создать программу для расчета магнитного поля от двух параллельных проводов с током. Вводимые параметры – значения токов
икоординаты проводов, а также координаты точки наблюдения.
5.Создать программу для определения расстояния от проводника с током до точек, где его магнитное поле равно по модулю магнитному полю Земли. Входные данные – ток и магнитное поле Земли.
6.Вычислить ток и напряжение на нагрузке в цепи, содержащей
источник ЭДС и нагрузку в виде комбинации резисторов R1 и R2, кото-
рые могут быть соединены либо параллельно, либо последовательно.
Параметры цепи, а также выбор типа соединения R1 и R2 задавать через read (readln).
7.По вводимому с экрана номеру серии выводить длины волн первых десяти линий видимого света в спектре излучения атома водорода.
8.Проверить формулу Стирлинга для приближенного вычисления факториала. Оценить относительную погрешность расчетов по этой формуле при произвольном N, сравнивая с точным значением N!
65
9. Создать программу для расчета |
силы электростатического |
и гравитационного взаимодействия двух |
точечных зарядов q1 и q2 |
смассами m1 и m2 , находящихся на расстоянии r друг от друга.
10.Создать программу для вычисления угла преломления в стек-
лянной призме при произвольном преломляющем угле и угле падения.
11.По углу вылета и начальной скорости частицы, брошенной из
начала координат находить: дальность полета, максимальную высоту
и её координаты в любой момент времени (по точным формулам).
12.Создать программу для расчета дальности полета тела, бро-
шенного под произвольным углом с произвольной высоты h.
13.Определить силу тока в цепи, содержащей источник ЭДС, два
параллельно соединенных резистора и третий резистор, соединенный
последовательно с ними. Найти мощность на каждом резисторе. Необ-
ходимые параметры вводить «с экрана».
14.Создать программу для расчета амплитуды тока при заданной
частоте для последовательного колебательного контура. Необходимые
параметры вводить «с экрана».
15.Создать программу для вычисления числа Фибоначчи с номером N по рекурсивной формуле и по формуле Бине. Сравнить результат.
16.Вычислить давление на произвольной высоте h по барометрической формуле. Высоту и температуру воздуха вводить с экрана.
17.Вычислить массу груза, который не утопит айсберг в форме цилиндра. Вводимые параметры: размеры айсберга и плотность морской воды.
18.Вычислить давление на дне водоема на произвольной глубине (с учетом атмосферного давления). Ввести несколько вариантов плотности воды. Выбор номера варианта производить с клавиатуры.
19.Создать программу для перевода температуры по шкале Цельсия в температуру по шкале Фаренгейта или наоборот. Температура и выбор типа перевода (Ц→Ф или Ф→Ц) вводить с клавиатуры.
20. Вычислить сопротивление провода по заданным размерам
и названию металла из списка. Удельные сопротивления этих металлов хранить в коде программы.
2. Суммирование рядов с помощью оператора цикла
Задание. Проверить формулу суммирования ряда. Вычислить набор значений функции и сравнить с суммой ряда при тех же аргументах. При вычислении n-ного члена ряда рекуррентно выражать его через
предыдущий (с номером n–1).
66
Индивидуальные варианты:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
2 |
|
|
|
|
|
|
|
x |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
1. |
exp(x) 1 x |
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2! |
|
|
|
|
|
|
|
|
3! |
|
|
|
|
|
|
n 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
x |
3 |
|
|
|
|
|
|
|
|
x |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( 1) |
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
2. |
sin(x) x |
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
x2n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
(2n 1)! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
3! |
|
|
|
|
|
|
|
|
5! |
|
|
|
|
|
|
|
|
|
|
|
n 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
sh(x) exp(x) exp( x) x |
|
x |
3 |
|
|
|
|
x |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
2n 1 |
1 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3. |
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
(2n 1)! |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3! |
|
|
|
|
|
5! |
|
|
|
|
|
|
|
|
|
|
|
|
n 0 |
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
x |
2 |
|
|
|
|
|
|
|
|
x |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( 1) |
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
4. |
cos(x) 1 |
|
|
|
|
|
|
|
|
|
|
... |
|
|
x2n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
2! |
|
|
|
|
|
|
|
|
4! |
|
|
|
|
|
|
|
|
|
|
|
n 0 |
|
(2n)! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
ch(x) exp(x) exp( x) 1 |
x |
2 |
|
|
|
x |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5. |
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
x2n |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(2n)! |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2! |
|
|
|
|
|
4! |
|
|
|
|
|
|
|
|
|
|
|
|
n 0 |
|
|
|
|
||||||||||||||||||||||||
6. |
arcsin(x) x |
|
x 3 |
|
|
|
3x5 |
... |
1 3...(2n |
1) |
|
|
x 2n 1 |
|
... |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
6 |
|
|
|
|
|
40 |
|
2 |
|
4 ... (2n) |
|
(2n |
1) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(2n 1)!! |
|
|
x |
2n 1 |
|
|
|
|
||||||||||||||||||||||||||
7. |
arccos(x) |
|
arcsin(x) |
x |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 |
|
2 |
|
|
|
|
|
(2n)!! (2n 1) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n 1 |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
x |
3 |
|
|
|
|
|
|
|
3x |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
(2n)! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
8. |
arsh(x) x |
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
( 1) |
|
|
|
|
x2n 1 |
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
2 |
|
(2n |
1) |
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
40 |
|
|
|
|
|
|
|
|
|
n 0 4 |
|
|
(n!) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
3 |
|
|
|
|
|
|
|
x |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( 1) |
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
9. |
arctg(x) x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
|
x2n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(2n 1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
n 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
2 |
|
|
|
|
|
|
|
|
x |
3 |
|
|
|
|
|
|
|
|
|
|
( 1) |
n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
10. |
ln(1 x) x |
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
xn , |
|
|x|<1 |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
x2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( 1)n (2n)! |
|
|
|
|
x |
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
11. |
|
1 x 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
2 |
|
|
|
8 |
|
|
|
|
(1 2n)(n!) |
2 |
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
x |
3 |
|
|
|
|
|
|
|
|
x |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
12. |
arth(x) x |
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x 2n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
n 0(2n 1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
1 |
|
1 |
|
|
x |
2 |
|
|
|
|
|
|
|
(x 2)2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n (x 2)n |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
13. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... ( 1) |
|
|
|
|
|
|
|
|
|
|
|
, |
|
|
|
|
|
(−1<x<5) |
|||||||||||||||||||||||||||||||||||
1 x |
3 |
|
9 |
|
|
|
|
|
|
|
|
|
|
|
27 |
|
|
|
|
|
|
3 |
n 1 |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
67
|
|
sin(x) 1 |
x |
2 |
|
|
|
|
x |
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( 1) |
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
14. |
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
x 2n 1 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
x |
|
|
|
|
|
3! |
|
|
|
|
|
|
5! |
|
|
|
|
|
|
|
|
|
|
|
|
n 0 |
|
(2n 1)! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
1 |
x |
|
|
|
|
|
|
|
|
|
|
|
|
x |
3 |
|
|
|
|
|
|
|
x |
5 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
15. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
2n 1 |
, |
|
|
|
|x|<1 |
||||||||||||||||||
ln |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
2 x |
|
3 |
|
|
|
5 |
|
|
|
2n 1 |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
1 |
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n 1 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
2 |
|
|
1 |
|
|
|
|
2x |
|
|
|
|
|
3x2 |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
n (n 1)x n |
|
|
|||||||||||||||||||||||
16. |
(x |
3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
|
|
( 1) |
|
|
|
|
|
|
|
|
|
, |
|
|x|<3 |
||||||||||||||||||||
|
|
9 |
|
27 |
|
|
81 |
|
9 |
|
|
|
|
|
3 |
n 2 |
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
17. |
(sin( x))2 |
|
|
2x |
2 |
|
|
|
|
|
8x |
4 |
|
|
|
|
|
|
|
|
|
|
|
( 1) |
n 1 |
|
22n |
1 x 2n |
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
2! |
|
|
|
|
|
|
|
|
4! |
|
|
|
|
|
|
|
|
|
|
|
n 1 |
|
(2n)! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
1 cos( |
x) |
1 |
|
|
|
|
x |
2 |
|
|
|
|
|
|
|
x |
4 |
|
|
|
|
|
|
|
|
|
( 1) |
n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
18. |
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
|
x2n 2 |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
2 |
|
|
|
|
|
|
720 |
|
|
|
(2n)! |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
x |
|
|
|
|
2 |
|
|
24 |
|
|
|
|
|
|
|
|
|
|
n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
x |
2 |
|
|
|
|
|
|
x |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( 1) |
|
n 1 |
|
|
|
|
|||||||||
19. |
ln(x 2) ln2 |
|
|
|
|
|
|
... ln2 |
|
|
|
xn |
, |
|x|<2 |
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
n |
n |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
8 |
|
|
|
|
|
|
24 |
|
|
|
|
|
|
|
|
|
|
|
n 1 |
|
2 |
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( 1) x 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
n |
|
|
|
|
|
|
|
|||||||||||||||||
20. |
(1 x) |
1 x |
|
... 1 n |
|
|
, |
|
|
|
|
|x|<1 |
||||||||||||||||||||||||||||||||||||||||||||||||
|
n! |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n 1 |
|
|
|
|
|
|
|
|
|
|
|
|||||
где α1 =β, α2 = β(β−1) и αn = β (β −1)… (β −n+1) , (n «штук»)
3. Решение задач по обработке массивов
Задание 1. Составить программу, для решения задачи по обработке данных одномерного массива. Количество элементов массива задать самостоятельно. Элементы массива задать с помощью генератора случайных чисел.
Индивидуальные варианты:
1.Дан массив натуральных чисел. Найти сумму элементов, кратных заданному числу K.
2.В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов.
3.Дана последовательность из n различных целых чисел. Найти произведение ее членов, расположенных между максимальным и минимальным значениями (в произведение включить и оба этих числа).
4.Дана последовательность целых чисел a1, a2, ..., аn. Выяснить, какие числа встречаются чаще — положительные или отрицательные.
68
5.Дана последовательность действительных чисел a1, a2, ..., аn.
Выяснить, будет ли она возрастающей.
6.Дана последовательность натуральных чисел a1, a2, ..., аn. Со-
здать массив из четных чисел этой последовательности. Если таких
чисел нет, то вывести сообщение об этом факте.
7.Дана последовательность чисел a1, a2, ..., аn. Указать наимень-
шую длину числовой оси, содержащую все эти числа.
8.Дана последовательность действительных чисел a1, a2, ..., аn.
Заменить все ее члены, большие данного числа Z, этим числом. Под-
считать количество замен.
9.Дан массив действительных чисел, размерность которого N.
Подсчитать, сколько в нем отрицательных, положительных и нулевых
элементов.
10.Даны действительные числа a1, a2, ..., аn. Поменять местами
наибольший и наименьший элементы.
11.Даны целые числа a1, a2, ..., аn. Вывести на печать только те
числа, для которых выполняется ai ≤ i.
12.При поступлении в вуз абитуриенты, получившие «двойку» на первом экзамене, ко второму не допускаются. В массиве А[n] записаны оценки экзаменующихся, полученные на первом экзамене. Подсчитать, сколько человек не допущено ко второму экзамену.
13.Дана последовательность из n чисел. Заменить все положительные члены последовательности их корнями, а отрицательные – их квадратами, если положительных членов больше чем отрицательных;
впротивном случае заменить все положительные члены единицами, а отрицательные – нулями.
14.Дана последовательность чисел, среди которых имеется один нуль. Вывести на печать все числа, включительно до нуля.
15.Дан целочисленный массив с количеством элементов n. Напечатать те его элементы, индексы которых являются степенями двойки
(1, 2, 4, 8, 16, ...).
16.Дана последовательность действительных чисел a1, a2, ..., аn.
Указать те ее элементы, которые принадлежат отрезку [с, d].
17.Дана последовательность целых положительных чисел. Найти произведение только тех чисел, которые больше заданного числа М. Если таких нет, то выдать сообщение об этом.
18.Даны действительные числа a1, a2, ..., аn. Среди них есть положительные и отрицательные. Заменить нулями те числа, величина которых по модулю больше максимального числа (|аi|>mах {a1, a2, …,
аn}).
69
19.В последовательности действительных чисел a1, a2, ..., аn есть
только положительные и отрицательные элементы. Вычислить произ-
ведение отрицательных элементов Р1 и произведение положительных
элементов Р2. Сравнить модуль Р2 с модулем Р1, указать, какое из
произведений по модулю больше.
20.Дан массив действительных чисел. Среди них есть равные.
Найти первый максимальный элемент массива и заменить его нулем.
Задание 2. Составить программу для решения задачи по обработке
данных двумерного массива.
Индивидуальные варианты:
1.Дана прямоугольная матрица размером m×n. Для каждой чет-
ной строки подсчитайте сумму ее элементов, а для каждой нечетной
строки – произведение ее элементов. Результаты запишите в одномерный массив. Размер исходной матрицы задайте самостоятельно. Значения элементов матрицы задайте случайным образом. Выведите на экран исходную матрицу и результаты расчета.
2.В прямоугольной матрице размером m×n найдите наименьший элемент и выведите на экран строки, в которых этот элемент находится. Размер исходной матрицы задайте самостоятельно. Значения элементов матрицы задайте случайным образом. Выведите на экран исходную матрицу, значение наименьшего элемента и строки, содержащие этот элемент.
3.Дана квадратная матрица А[n,n].Составьте программу, определяющую сумму элементов над главной диагональю этой матрицы. Размер исходной матрицы задайте самостоятельно. Значения элементов матрицы задайте случайным образом. Выведите на экран исходную матрицу и значение суммы.
4.Дана квадратная матрица размером n×n. Вычислите след мат-
рицы (т.е. сумму диагональных элементов). Найдите наименьший
инаибольший элементы и подсчитайте их полусумму. Размер исходной матрицы задайте самостоятельно. Значения элементов матрицы задайте случайным образом. Выведите на экран исходную матрицу
ирассчитанные значения.
5.В матрице А[n,m] найти максимальный элемент и последовательной перестановкой строк и столбцов переместить его на место элемента А[1,1]. Выведите на экран исходную и преобразованную
70
