Svinkovod.ru

Бытовая техника
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Метод простой итерации

Метод простой итерации

Для использования этого метода исходное нелинейное уравнение необходимо привести к виду .

В качестве можно принять функцию ,где M ‑ неизвестная постоянная величина, которая определяется из условия сходимости метода простой итерации . При этом для определения M условие сходимости записывается в следующем виде:

Если известно начальное приближение корня , подставляя это значение в правую часть уравнения , получаем новое приближение .

Далее подставляя каждый раз новое значение корня в уравнение , получаем последовательность значений:

, ,. , k = 1,2. n.

Итерационный процесс прекращается, если результаты двух последовательных итераций близки, т.е. .

Геометрическая интерпретация метода простой итерации.Построим графики функций и . Корнем уравнения является абсцисса пересечения кривой с прямой (рис. 1.9). Взяв в качестве начальной точки , строим ломаную линию. Абсциссы вершин этой ломаной представляют собой последовательные приближения корня . Из рисунка видно, что если на отрезке (рис. 1.9а), то последовательные приближения колеблются около корня. Если же производная (рис. 1.9б), то последовательные приближения сходятся монотонно.

а)б)
Рис. 1.9. Геометрическая интерпретация метода простой итерации.

Пример 1.4. Решить уравнение на отрезке методом простой итерации c точностью .

Решение. Из условия сходимости (1.5) , при определяем .Пусть .

Подставляя каждый раз новое значение корня в уравнение

получаем последовательность значений:

, но , поэтому продолжаем вычисления.

Теперь и приближенным решением данного уравнения c точностью является .

На рис.1.10 приведена программа решения данного уравнения методом простой итерации. В качестве исходных данных вводятся начальное приближение, точность вычисления и значение постоянной М.

Исходные данныеРезультаты
ABCDE
x0eMxF(x)
0,0010,6833350,002416
Function F(x) F = x ^ 3 + x — 1 End Function Sub program3() x = Cells(2, 1) e = Cells(2, 2) M = Cells(2, 3) 1 xk = x — F(x) / M If Abs(xk — x) >= e Then x = xk: GoTo 1 Cells(2, 4) = xk Cells(2, 5) = F(xk) End Sub
Рис. 1.10. Программа решения уравнения методом простой итерации на языке VBA.

Пример 1.4. Решить уравнение на отрезке методом простой итерации c точностью с помощью программы Excel.

Порядок решения(рис. 1.11).

1) Ввести в ячейки A1:D1 заголовки столбцов.

2) В ячейку A2 – значение начального приближения

3) В ячейку B3 – формулу функции =A2^3+A2-1

4) В ячейку C2 – значение M 5

5) В ячейку A3 – формулу первого приближения =A2-B3/$C$2

6) В ячейку D3 – погрешность =ABS(A3-A2)

7) Выделить ячейки A3:D3 и скопировать формулы в соседние ячейки расположенных ниже строк A4:D4, A5:D5, и т.д. при помощи маркера заполнения. Каждая новая строка содержит результаты очередного приближения.

8) В столбце A найти значение корня, соответствующее заданной точности.

Приближенное решение данного уравнения содержится в ячейке A9 (погрешность в ячейке D9).

studopedia.org — Студопедия.Орг — 2014-2021 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с) .

Решение уравнений в Microsoft Excel
презентация к уроку

Соколова Марина Анатольевна

Решение уравнения в Microsoft Excel x^3-8x-3=0 разными методами: графическим методом, методом половинного деления , хорд, касательных, простой итерации.

Скачать:

ВложениеРазмер
Решение уравнений в Microsoft Excel1.01 МБ
Предварительный просмотр:

Подписи к слайдам:

Решение уравнений в Microsoft Excel Выполнила Соколова М.А.

Вариант № 13 индивидуального расчетного задания Найдите приближенное значение уравнения с точностью 0,001 Представьте графически поставленную задачу;

Состав задания: Ознакомиться с теоретической частью задания; Провести расчет для своего варианта индивидуального задания в Microsoft Excel Оформить презентацию в Ms Power Point , включающую: § постановку задачи; § алгоритм расчета; § таблицу с расчетом из Ms Excel , график исходной функции; результат расчета и его анализ.

Постановка задачи: Пусть дано уравнение f(x) = 0, (a, b) — интервал, на котором f(x) имеет единственный корень. Нужно приближенно вычислить этот корень с заданной точностью. Примечание: Заметим, что если f(x) имеет k корней, то нужно выделить соответственно k интервалов.

Общая постановка задачи. Найти действительные корни уравнения f ( x ) =0 , где f ( x ) –алгебраическая или трансцендентная функция. Точные методы решения уравнений подходят только к узкому классу уравнений ( квадратные, биквадратные, некоторые тригонометрические, показательные, логарифмические) Задача численного нахождения корней уравнения состоит из двух этапов: 1.Отделение(локализация) корня; 2.Приближенное вычисление корня до заданной точности (уточнение корней)

6 Уточнение корня . Если искомый корень уравнения f(x)=0 , отделен, т.е. определен отрезок [ a , b ], на котором существует только один действительный корень уравнения, то далее необходимо найти приближенное значение коня с заданной точностью. Такая задача называется уточнения корня. Уточнения корня можно производить различными методами: 1)Метод половинного деления(бисекции); 2)Метод итераций; 3)Метод хорд(секущих); 4)Метод касательных(Ньютона); 5)Комбинированные методы.

индивидуальное расчетное задание Дано: Найти: Отделить корень заданного уравнения, пользуясь графическим методом, и вычислите один корень с точностью 0,001 при помощи программы Microsoft Excel

Графический метод: Для отделения корней уравнения естественно приме­нять графический метод. График функции у = f ( х ) с уче­том свойств функции дает много информации для опре­деления числа корней уравнения f ( х ) = 0. До настоящего времени графический метод предлага­лось применять для нахождения грубого значения корня или интервала, содержащего корень, затем применять итерационные методы, т. е. методы последовательных приближений для уточнения значения корня. С появле­нием математических пакетов и электронных таблиц ста­ло возможным вычислять таблицы значений функции с любым шагом и строить графики с высокой точностью. Это позволяет уточнять очередной знак в приближенном значении корня при помощи следующего алгоритма: 1) если функция f ( x ) на концах отрезка [ а , b ] значения разных принимает значения разных знаков то делим отрезок на 10 равных частей и находим ту часть, которая содержит корень (таким способом мы можем уменьшить длину отрезка, содержащего корень, в 10 раз); 2) повторим действия предыдущего пункта для полу­ченного отрезка. Этот процесс можно продолжать до тех пор, пока длина отрезка не станет меньше заданной погрешности.

Метод половинного деления: Постановка задачи: Пусть дано уравнение f(x) = 0, (a, b) — интервал, на котором f(x) имеет единственный корень. Нужно приближенно вычислить этот корень с заданной точностью. Примечание: Заметим, что если f(x) имеет k корней, то нужно выделить соответственно k интервалов. Метод половинного деления или дихотомии ): Метод основан на той идее, что корень лежит либо на середине интервала (a, b) , либо справа от середины, либо — слева, что следует из существования единственного корня на интервале (a, b) . Алгоритм для программной реализации: а:=левая граница b:= правая граница m:= ( a+b )/2 середина определяем f(a) и f(m) если f(a)*f(m) e повторяем , начиная с пункта2 m- искомый корень.

Расчет уравнения по методу половинного деления:

Метод простой итерации: Смысл метода простой итерации состоит в том, что мы представляем уравнение f(x) в виде и по формуле будем строить итерации, которые сходятся к искомому корню с интересующей степенью точности, но тут есть проблемы: возможно f(x) очень сложно представить в таком виде, да и не факт, что любая будет строить сходящиеся итерации, поэтому алгорим сводится к тому, чтобы оптимально найт и . Подготовка: Ищем числа m и M такие, что на (a, b) ; Представляем , где ; Алгоритм: 1. Выбираем х 0 из (a, b) ; 2.Вычисляем ; 3.Проверяем условие , где q=(M-m)/( M+m ) ; 4.Если оно ложно, то переходим к пункту 7; 5. х 0 =х 1 ; 6.Переходим к пункту 2 ; 7. х 1 –искомый корень.

Расчет уравнения по методу простой итерации:

Метод хорд Метод хорд заключается в замене кривой у = f ( x ) отрезком прямой, проходящей через точки ( а , f ( a )) и ( b , f ( b )) . Абсцисса точки пересечения прямой с осью ОХ принимается за очередное приближение. Чтобы получить расчетную формулу метода хорд, за­пишем уравнение прямой, проходящей через точки ( a , f ( a )) и ( b , f ( b )) и, приравнивая у к нулю, найдем х : Алгоритм метода хорд : 1) П усть k = 0; 2) В ычислим следующий номер итерации: k = k + 1. Найдем очередное k -e приближение по формуле: x k = a — f ( a )( b — a )/( f ( b ) — f ( a )). Вычислим f ( x k ); 3) Е сли f ( x k )= 0 (корень найден), то переходим к п. 5. Если f ( x k ) × f ( b )>0, то b = x k , иначе a = x k ; 4) Е сли |x k – x k -1 | > ε , то переходим к п. 2; 5) В ыводим значение корня x k ; 6) К онец.

Расчет уравнения по методу хорд:

Метод касательных В точке пересечения касательной с осью Оx переменная у = 0. Приравнивая у к нулю, выразим х и получим формулу метода касательных: Теорема. Пусть на отрезке [а, b]выполняются условия: 1) функция f(x)и ее производные f ‘(х)и f »(x)непрерывны; 2) производные f ‘(x)и f »(x)отличны от нуля и сохраняют определенные постоянные знаки; 3) f(a)× f(b) 0, то итерационная последовательность сходится монотонно

Расчет уравнения по методу касательных:

Вывод о проделанной работе: Вывод: Решение уравнения в Microsoft Excel Было выполнено: графическим методом, методом половинного деления , хорд, касательных, простой итерации. Графический метод самый неточный, чем остальные методы. метод половинного деления быстрее графического метода, а метод простой итерации намного точнее предыдущих. Метод хорд более точный, чем все остальных методы. Метод касательный относительно быстрее и точнее всех методов.

Список использованной литературы и интернет-источников Зенков , А.В. ЧИСЛЕННЫЕ МЕТОДЫ /А.В. Зенков . — Екатеринбург: Издательство Уральского университета, 2016. — 127с. Вычислительные методы // Википедия. [2010—2019]. Дата обновления: 31.01.2019. URL: https://ru.wikipedia.org/?oldid=97827303 (дата обращения: 20.05.2019); Численное решение уравнений // Википедия. [2010—2018]. Дата обновления: 01.01.2018. URL: https://ru.wikipedia.org/?oldid=89982922 (дата обращения: 20.05.2019);

По теме: методические разработки, презентации и конспекты

УЧЕБНОЕ ПОСОБИЕ по разделу «Электронные таблицы» Microsoft Excel

Учебное пособие является практическим руководством по электронным таблицам для студентов колледжа, в котором описаны основные приёмы и правила работы в Excel.Оно содержит систематизированную информаци.

Самостоятельная работа по Microsoft Excel (5 вариантов)

В каждом варианте пять заданий.Задание 1. Оформить рабочий лист по образцу и вычислить значение выражения в соответствующей ячейке. Проверяется умение набора формул в строку.Задание 2. Определить каки.

Методический материал для внеаудиторной работы студентов:»Интерфейс и объекты электронных таблиц Microsoft Excel».

Методический материал содержит теоретический материал, необходимый для выполнения практических работ: основные понятия и термины электронных таблиц, способы автоматизации ввода данных, ввода и копиров.

Курс занятий «Электронные таблицы Microsoft Excel. Теория и практика».

Цикл занятий для повышения компьютерной грамотности педагогов школы.

Методическая разработка занятия по предмету Элементы высшей математики по теме: «Определение обыкновенных дифференциальных уравнений. Общее и частное решение. Уравнения с разделенными переменными».

Определение обыкновенных дифференциальных уравнений. Общее и частное решение. Уравнения с разделенными переменными.Тип занятия: комбинированный, с элементами игры.Формы занятия: индивидуальная, группо.

Microsoft Excel — основы работы в программе

В презентации описаны основы работы в программе MS Excel 2007-2010:правила работы с ячейками и текстом, элементы их форматирования,работа с числами, создание простых формул,применение функций,сортиров.

Использование надстроек в Excel. Решение уравнений. 11 класс

В файле «Решение_урав.xls» (в книге Excel) находятся различные задание по работе с надстройкой Поиск решения и небольшой теоретический материал.

Решение уравнений средствами Excel

Вычисления по формулам с циклическими ссылками (на примере нахождения корня уравнения методом Ньютона). Использование команды «Подбор параметра». Задачи, которые можно решать с помощью сервиса «Поиск решения» и способы сохранения параметров поиска.

Подобные документы

Особенности точных и итерационных методов решения нелинейных уравнений. Последовательность процесса нахождения корня уравнения. Разработка программы для проверки решения нелинейных функций с помощью метода дихотомии (половинного деления) и метода хорд.

курсовая работа, добавлен 15.06.2013

Модифицированный метод Ньютона при заданных начальных условиях, где задаётся погрешность вычисления. Вычисления корня уравнения при помощи программы. Построения графика зависимости приближений двух координат, при котором задаются промежутки и константы.

реферат, добавлен 29.01.2009

Решение нелинейного уравнения шаговым методом, методом половинного деления, методом Ньютона и простой итерации с помощью программы Mathcad. Разбиение промежутка на число n интервалов. Условия сходимости корня. Составление программы для решения на С++.

лабораторная работа, добавлен 10.05.2012

Методы решения нелинейных уравнений: прямые и итерационные. Методы решения трансцендентных, алгебраических уравнений. Метод деления отрезка пополам, Ньютона, простой итерации. Поиск корня уравнения методом простой итерации с помощью электронных таблиц.

контрольная работа, добавлен 16.12.2011

Этапы численного решения нелинейных уравнений заданного вида: отделение (изоляция, локализация) корней уравнения аналитическим или графическим способами, уточнение конкретного выделенного корня методом касательных (Ньютона). Решение в системе MathCad.

курсовая работа, добавлен 22.08.2012

Проверить условие сходимости и записать расчетные формулы для нахождения корня уравнения. Составить блок-схему алгоритма, программу решения задачи. Вычисления определенного интеграла методом Симпсона. Построить график функции Y=1/sqr(3sin(x)+2cos(x)).

курсовая работа, добавлен 02.10.2008

Способы отделения корней. Решение задачи методами Ньютона уточнения корней и простых итераций. Формула нахождения погрешностей. Геометрическая интерпретация методов. Составление блок-схем и текстов программ. Результаты их работы на тестовом примере.

курсовая работа, добавлен 15.06.2013

Математический алгоритм вычисления корней нелинейного уравнения и его решение методом касательных. Особенности программной реализации решения таких уравнений. Процедура подготовки и решения задачи на ЭВМ, характеристика алгоритма и структуры программы.

курсовая работа, добавлен 02.06.2012

Рассмотрение процесса разработки системы нахождения нулей функции. Изучение вычисления корня уравнения методом Ньютона или касательных. Основы проектирования графического интерфейса пользователя и описание алгоритма, тестирование готовой программы.

курсовая работа, добавлен 23.02.2014

Использование повторяющегося процесса. Нахождение решения за определенное количество шагов. Применение метода хорд и метода простой итерации. Методы нахождения приближенного корня уравнения и их применение. Построение последовательного приближения.

ФГБОУ ВПО «Великолукская ГСХА» КУРСОВАЯ РАБОТАпо дисциплине «Информатика»« Автоматизация инженерных

Вычисляющие начальные приближения к точному значению х1,х2,х3, итерационные формулы вычисление последовательные приближения к точному значению х1,х2,х3.

Введем условие окончания интеграционного процесса с помощью функции Если

Копируем формулы интеграционного процесса критериев и условием окончание интеграционного процесса до тех пор пока е1,е2,е3 не достигнет значение меньше заданного е=0,01

3.2.3 Решение СЛАУ с помощью VBA методом простой интеграции

Данный метод относится к итерационным методам решения СЛАУ, основанном на многократном уточнении приближенного решения системы.

Реализация метода простых итераций заключается в следующем:

Имеется исходная система

Проверяем условие сходимости системы. Система сходится к точному решению, если диагональные коэффициенты при неизвестных больше и равны по модулю суммы модулей остальных коэффициентов.

Если условие выполняется, то преобразуем исходную систему к равносильному виду:, т.е. выражаем первое уравнение относительно x 1 , второе уравнение – относительно x 2 и т.д.

За начальное приближение примем .

Выполняем вычисления по формулам:

где k – номер итерации

Таким образом, формула вычисления x i следующей итерации примет вид:

Критерием окончания итерационного процесса служит следующее условие:

где eps – заданная точность вычислений.

На рисунке 1 представлен алгоритм решения СЛАУ методом простой итерации.

Рисунок 1 — Алгоритм решения СЛАУ методом простой итерации

По представленному алгоритму была составлена программа

Dim i, j, k As Byte

Dim a(), b(), C(), x(), bt(), at(), xn() As Single

Private Sub CommandButton1_Click()

ReDim a(n, n), C(n, n), x(n), b(n), bt(n), at(n, n), xn(n)

a(i, j) = InputBox(«A(» + Str(i) + «,» + Str(j) + «=)», «Вводэлементовмассива»)

Cells(i + 1, j) = a(i, j)

b(i) = InputBox(«B(» + Str(i) + «=)», «Вводэлементовмассива»)

Cells(i + 1, 1 + n) = b(i)

If s > Abs(a(i, i)) Then

g = MsgBox(«система не сходится», vbCritical, «ошибка ввода»)

at(i, j) = -a(i, j) / a(i, i)

s = s + at(i, j) * x(j)

Loop While Max >eps

Cells(i + k + 3, j) = x(i)

Cells(i + k + 4, 1) = k

3.3 Вычисление СЛАУ матричным методом

Запишем исходную матрицу системы

Найдём определитель основной матрицы. Надо убедиться, что определитель матрицы не равен 0.

= 7(11-13) – 8(41-15) +1(43-15)

=7(-2) – 8(-1) +17 = -14 + 8 + 7 = 1

Вычислим обратную матрицу

Находится обратная матрица по следующей формуле:

∆ — определитель матрицы A,

— транспонированная матрица алгебраических дополнений соответствующих элементов матрицы A.

Понятие обратной матрицы существует только для квадратных матриц, матриц «два на два», «три на три» и т.д.

Порядок определения обратной матрицы:

Найдите определитель матрицы

Вычислим 9 миноров элементов матрицы и запишем их в матрицу миноров.

Минором элемента матрицы n-го порядка называется определитель матрицы (n-1)-го порядка, полученный из матрицы А вычеркиванием i-й строки и j-го столбца.

Таким образом, матрица миноров

Найдём матрицу алгебраических дополнений А

Алгебраическим дополнением элемента матрицыn-го порядка называется его минор, взятый со знаком,зависящий от номера строки и номера столбца:

т.е. алгебраическое дополнение совпадает с минором, когда сумма номеров строки и столбца – чётное число, и отличается от минора знаком, когда сумма номеров строки и столбца – нечетное число.

Таким образом, в матрице миноров необходимо сменить знаки строго у следующих элементов

В результате смены знака заданных элементов матрица алгебраических дополнений:

Найдём транспонированную матрицу алгебраических дополнений

Транспонированные матрицы – это переход от матрицы к матрице, в которой строки и столбцы поменялись местами с сохранением порядка.

Таким образом, транспонированная матрица алгебраических дополнений:

5. Найдём обратную матрицу по формуле:

6. Найдём решение системы по формуле:

Подставим в систему уравнений полученные результаты:

3.3.1 Традиционный способ решения СЛАУ

3.3.2 Решение СЛАУ с помощью MSExcel

1.Запишем коэффициенты при неизвестных (а1, а2, а3) и свободные члены bi , т.е. сформулируем матрицу системы.

Найдём матрицу с помощью функции МОБР().

а) Поместим курсор в ячейку С12:E14.

б) Перейдём на вкладку Формулы. В группе Библиотека функций из списка Математические выберем функцию МОБР().

в) В окне Аргументы функции в поле Массив введём диапазон ячеек, содержащий коэффициенты – С7:Е9.

г) Нажмём комбинацию Ctrl+Shift+Enter.

д) Получим результат выполненных операций

Для нахождения неизвестных необходимо умножить обратную матрицу на вектор свободных членов bi. Умножение матриц можно выполнить с помощью функции МУМНОЖ().

а) Выделим диапазон ячеек С17:Е19.

б) Перейдём на вкладку Формулы. В группе Библиотека функций из списка Математические выберем функцию МУМНОЖ().

в) В окне Аргументы функции в поле Массив 1 введём диапазон ячеек, содержащий коэффициенты – С12:Е14, в поле Массив 2 – вектор свободных членов bi – F7:F9.

г) Нажмём комбинацию клавиш Ctrl+Shift+Enter.

д) Получим результат выполненных операций.

3.3.3 Решение СЛАУ с помощью VBA матричным методом

Решение системы линейных алгебраических уравнений методом обратной матрицы (матричный методом) сводится к умножению матрицы, обратной к матрице коэффициентов при неизвестных на вектор свободных членов.

Для нахождения неизвестных используем пользовательскую функцию, в которой вектор решений системы находится с помощью функций рабочего листа Excel: .MMult(), .MInverse() и .Transpose().

Функция MMult() возвращает обычное произведение двух матриц а и в . функция перемножает матрицы и возвращает в, результате, матрицу. Количество столбцов в матрице а должно быть таким же, как количество строк в матрицы в . Возвращает массив с тем же количеством строк, как у матрицы а и количеством столбцов, как у матрицы в .

Функция MInverse() возвращает обратную матрицу для квадратной матрицы. Обратная матрица – такая матрица при умножении на которую исходная матрица дает в результате единичную матрицу. Матрица имеет обратную матрицу, тогда и только тогда, когда она невырожденная, т. е. её детерминанта не равен нулю.

Функция Transpose() выполняет транспонирование матрицы, заданной встроенным массивом или диапазоном.

Dim a() As Double

Dim b() As Double

Dim i, j As Integer

Function f(a() As Double, b() As Double) As Variant

f = .MMult(.MInverse(a()), .Transpose(b()))

Кнопка Матричный Метод

n = InputBox(«ввести размер квадратной матрицы»)

b(i) = InputBox(«ввести вектор свободнеых членов»)

a(i, j) = InputBox(«ввестиматрицу»)

Range(«A5»).Resize(n, 1) = f(a(), b())

а. Запустим программу на выполнение, в форме нажмём на кнопку «Матричный метод»

б. Введём размер квадратной матрицы 3-го порядка

в. Введём 3 вектора свободных членов

г. Построчно введём все члены матрицы

д. Получим ответ

Заключение

Выполняя данную работу, мною были изучены два метода решения матриц, а именно: метод простой интеграции и матричный метод. При этом были приобретены навыки самостоятельного решения инженерных задач с использованием современных информационных технологий. А также закреплены и углублены теоретические и практические знания, полученные при изучении курса «Информатика».

Поставленные задачи были реализованы. Выполнена реализация поставленной задачи в двух интегрированных средах:

в табличном процессоре MSExcel;

в среде программирования VBA.

Экономическая информатика: учебник/под ред. В.П. Косарева – 3-е изд., перераб. И доп. – М.: Финансы и статистика, 2006. – 656с.: ил.

Свободная интернет-энциклопедия [Электронный ресурс]. – 2001 — Режим доступа: , свободный. – Википедия. – Яз. рус. англ. и др.(всего 285)

Информационный сайт о высоких технологиях [Электронный ресурс]. – 2009 – Режим доступа: , свободный. – Все о Hi-Tech. – Яз.рус.

Дидактические материалы по информатике и математике [Электронный ресурс]. – 2000 – Режим доступа: , свободный. — Учителям информатики и математики и их любознательным ученикам. – Яз.рус.

Левин В.И. Информационные технологии в машиностроении: учебник для студ. сред. проф. образования/ В.И. Левин.- М.: Издательский центр «Академия», 2006. – 240 с.

Веденеева Е.А Функции и формулы Excel 2007. Библиотека пользователя. – СПБ.: Питер, 2008.- 384 с.

Киреев В.И. Численные методы в приемах задачах: Учеб. пособие/В.И. Киреев, А.В. Пантелеев.- 3-е изд. стер. – М.: Высш. шк., 2008.- 480 с.

Боглаев Ю.П. Вычислительная математика и программирование. – М.: Высшая школа, 1990.

Дьяконов В.П. Справочник по алгоритмам и программам на языке Бейсик для персональных ЭВМ. –М.: Наука, 1987.

голоса
Рейтинг статьи
Читайте так же:
Макрос цифры прописью в excel
Ссылка на основную публикацию
Adblock
detector