Расчет составной конструкции системы двух тел

16516
знаков
2
таблицы
1
изображение

КУРСОВАЯ РАБОТА

по информатике

на тему: Расчет составной конструкции системы двух тел

 


СОДЕРЖАНИЕ

 

Введение

1.    Постановка задачи

2.    Исходные данные

3.    Математическая модель (Расчётная формула)

4.    Краткие теоретические сведенья об используемых методах решения задачи

5.    Описание форм, переменных свойств объектов

Заключение

Список используемой литературы

Приложение 1. Текст программы

 


Введение

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

Изменение технических возможностей вычислительной техники способствовало разработке и новых систем программирования, позволяющих инженеру - не программисту самостоятельно разрабатывать пользовательские программы достаточно высокого качества для решение текущих задач. Одним из таких языков программирования высокого уровня является Visual Basic.

Visual Basic предъявляет достаточно высокие требования к техническим характеристикам персонального компьютера. Visual Basic в среде Windows позволяет создавать приложения – программы для работы в этой среде. При этом программы имеют похожий интерфейс и способы управления. В частности, Visual Basic позволяет добавлять к окнам полям ввода, меню, командные кнопочки, переключатели, флажки, списки, линейки прокрутки, а так же диалоговые окна для выбора файла или каталога. Программист может использовать сетку для обработки табличных данных, организовывать взаимодействие с другими приложениями Windows и доступ к базам данных.

 


1. Постановка задачи

Разработка программы для расчёта составной конструкции системы двух тел.

Исходные данные к проекту согласно методическим материалам. Вариант N20. Разработать программу для расчёта реакций составной конструкции при шарнирной и скользящей заделке. Оценить варианты построения системы по минималу реакций опор А. Исследовать зависимость реакции опоры А от направления силы Р1. Построить графики зависимости реакций опоры в зависимости от направления действия силы Р1 в электронной таблице.

2. Исходные данные

Исходные данные к проекту согласно методическим материалам. Вариант N16. Разработать программу для расчёта реакций составной конструкции при шарнирной и скользящей заделке.

Схема (Рис.2.1)

Рис.2.1 Схема


3. Краткие теоретические сведения об используемых методах решения задачи

 

Создаём программу в среде VISUAL BASIC 6.0.

Конструируем форму mdiform. На форме размещаем меню для выбора режимов работы: Ввод данных, Расчет, Паспорт, Выход.

Блок 1 предназначен для реализации отображения исходных данных.

Для реализации данного блока конструируем форму Form2.На форме размещаем кнопку для выхода (Command1), TextBox для ввода заданных значений, кнопку Command2 для просмотра схемы.

Блок 2 предназначен для расчета реакций опор и сил в стержнях.

Для реализации данного блока конструируем форму Form3.

На форме размещаем 2 сетки, с помощью которых происходит отображение рассчитанных величин. Также на данной форме размещены кнопки, которые позволяют нам связать VB с Excel.

Блок 3 предназначен для реализации просмотра паспорта программы.

Для реализации данного блока конструируем форму Form1.

Блок 4 предназначен для выхода из программы.

Размещаем в проекте модуль (modulе1) для объявления глобальных переменных и расчёта математической модели.

4. Описание форм, переменных свойств объектов

ОПЕРАТОР – это указания для выполнения некоторого действия.

Различают:

Ø   операторы присваивания (организующие вычисления);

Ø   операторы перехода (безусловного перехода);

Ø   условные операторы (условного перехода);

Ø   операторы цикла (повторение);

Ø   операторы процедур (подпрограмм);

Ø   операторы ввода – вывода.

В курсовой работе содержатся следующие операторы:

Оператор CLS – очистка экрана.

Оператор QBCOLOR – устанавливает цвет экрана.

Оператор DIM –Объявление переменных .

Оператор END – заканчивает программу, процедуру, блок или тип

данных, определенный пользователем.

Операторы FOR и NEXT установки параметров. Все операторы, охваченные этой парой операторов, повторяют свою работу в условиях определяемых аргументами оператора FOR.

Оператор SUB – определяет процедуру SUB

Оператор IF – организация условного перехода или выполнение указанного действия в зависимости от результата проверки логического условия. Формы и конструкции:

Оператор CURENT (X,Y) – перемещает курсор на экране в указанную позицию.

Оператор PRINT – для вывода данных на экран и в файлы данных последующего доступа.

Оператор WHILE – выполняет серию операторов, пока указанное условие верно.

Таблица описания типов переменных

Таблица 5,1

Имя переменной Тип переменной Комментарий
F1,F2,M Single Переменные, хранящие значения сил F1,F2,M. соответственно
Ya,Xa,Ma,Rb,Xc,Yc Single Переменные, в которые записываются значения реакций опор Yb,Xb,Ra
alfa1,alfa2,betta Single Переменные, хранящие значение угла наклона линии действия силы F1,F2,Rb к горизонтали
pi Const Константа, хранящая значение числа π.
i Integer Вспомогательные переменные - счетчик.
NameFile String Переменная, используемая для обозначения имени создаваемого текстового файла.
ObjXLApp Application Переменная для работы с приложением Ехсеl
c,d Single Вспомогательные переменные, используемые для построения рисунка.
a Single Переменные хранящие зачения ширины .

Таблица описания элементов управления

Таблица 5,2

Элемент управления

Свойства

Значение

Form

Name

Border Style

Caption

MDIChild

WindowState

Form3

1 - Fixed Single

Расчет

True

0 - Normal

CommandButton

Name

Caption

Cancle

Style

Visible

cmdClose

Закрыть

False

1 - Graphical

True

MSFlexGrid

Name

BorderStyle

Cols

Rows

FixedCols

FixedRows

ScrollBars

MSFlexGrid

1 - flexBorderSingle

5

2

1

1

0 - flexScrollBarVertical

PictureBox

Name

BorderStyle

Enabled

Visible

Picture1

1 - Fixed Single

True

True

 


Заключение

 

Для запуска программы в редакторе VISUAL BASIC 6.0 следует нажать клавишу f5 или выбрать в меню пункт RUN.

Для просмотра исходных данных выбираем в меню пункт “Исходные данные”, для просмотра рисунка фермы выбираем “Схема задания”, для отображения расчета реакций опор и сил в стержнях плоской фермы выбираем “Расчет”, график зависимости реакции опоры A от направления приложения силы F1 отбражается при нажатии кнопки Excel в меню Расчет. Чтобы узнать кто является автором данного курсового выбираем “Паспорт”, для выхода --- “Выход”.


Список использованной литературы

 

1.   Катков В.Л., Любимский Э.З. “Программирование”. – Минск “Вышэйшая школа”, 1992г.

2.   Кетков Ю.Л. “Диалог на языке БЭЙСИК для мини – и микро – ЭВМ”. – Москва “Наука”, 1992г.

3.   Трояновский В.М., Шаньгин В.Ф. “БЭЙСИК для начинающих и будущих профессионалов”. – Москва “Высшая школа”, 1992г.

4.   Турчак Л.И. “Основы численных методов” – М.: Наука, 1987.

5.   Уолш Б. “Программирование на VISUAL BASIC”. – Москва “Радио и связь”, 1998г.

 


Приложение 1.

  ТЕКСТ ПРОГРАММЫ

Option Explicit

Global P1 As Single, P2 As Single, M As Single, Qr As Single, Q As Single, alf1 As Single, alfa1 As Single

Global Xa As Single, Rb As Single, Rd As Single, Ya As Single, Yd As Single

Global Xc As Single, Yc As Single, Mc As Single

Global beta As Single, ugol As Single

Global i As Integer, j As Integer

Global Const pi = 3.14159265358979

Public Sub RaschetSharnir()

P1 = Val(frmDannye.tbP1.Text)

P2 = Val(frmDannye.tbP2.Text)

M = Val(frmDannye.tbM.Text)

alf1 = Val(frmDannye.tbA1.Text)

alfa1 = pi * alf1 / 180

Rd = (-4 * P1 * Cos(alfa1) + 0.25 * P2 - 0.104 - 0.928 * P1 * Sin(alfa1)) / 3.464

Rb = 28.135 + 0.103 * P2 - Rd - 0.268 * P1 * Sin(alfa1)

Xa = P1 * Sin(alfa1) + 0.866 * P2 + 0.866 * Rd - 0.866 * Rb + 52.5

Ya = -P1 * Cos(alfa1) + 0.5 * P2 - 0.5 * Rd - 0.5 * Rb + 60

End Sub

Public Sub RaschetZadelka()

P1 = Val(frmDannye.tbP1.Text)

P2 = Val(frmDannye.tbP2.Text)

M = Val(frmDannye.tbM.Text)

alf1 = Val(frmDannye.tbA1.Text)

alfa1 = pi * alf1 / 180

Rd = (-P1 * (Sin(alfa1) - 7.464 * Cos(alfa1)) - 3.348 * P2 - 342.81) / 7.464

Rb = -2 * P1 * Cos(alfa1) + 120 + P2 + Rd

Xa = P1 * Sin(alfa1) + P2 * 0.866 + 0.866 * Rd - 0.866 * Rb + 52.5

End Sub

Private Sub ex_Click()

otvet = MsgBox("Завершить программу?", vbYesNo + vbQuestion, "Курсовая работа по информатике")

If otvet = vbYes Then End

End Sub

Private Sub MDIForm_Load()

End Sub

Private Sub mnuDannye_Click()

frmDannye.Show

End Sub

Private Sub mnuExit_Click()

otvet = MsgBox("Завершить программу?", vbYesNo + vbQuestion, "Курсовая работа по информатике")

If otvet = vbYes Then End

End Sub


Private Sub mnuPassport_Click()

frmPasport.Show

End Sub

Private Sub mnuRaschet_Click()

frmRaschet.Show

End Sub

Private Sub cmdShow_Click()

Set Pic1 = Picture1

Picture1.Picture = LoadPicture()

a = 10

alfa = 4 * Atn(1) / 3

Picture1.ScaleMode = 6

Picture1.DrawWidth = 3.5

' Рисуем исходный рисунок

xo = 10: yo = 40 'начальная точка

Picture1.Line (xo, yo + 2 * a)-(xo + 3 * a, yo)

Picture1.Line (xo + 3 * a, yo)-(xo + 3 * a, yo - 1 * a)

Picture1.Line (xo + 3 * a, yo - 1 * a)-(xo + 8 * a, yo - 1 * a)

Picture1.Line (xo + 8 * a, yo - 3 * a)-(xo + 8 * a, yo + 2 * a)

Picture1.Circle (xo + 3 * a, yo), 1, vbBlue

Picture1.DrawWidth = 1.5

'Заделки нижние:

'A

Picture1.Circle (xo, yo + 2 * a + 0.5), 1

Picture1.Line (xo, yo + 2 * a + 0.5)-(xo - 2, yo + 2 * a + 7)

Picture1.Line (xo, yo + 2 * a + 0.5)-(xo + 2, yo + 2 * a + 7)

Picture1.Line (xo - 4, yo + 2 * a + 7)-(xo + 4, yo + 2 * a + 7)

For s = xo - 5 To xo + 3 Step 1

 Picture1.Line (s + 1.5, yo + 2 * a + 7)-(s, yo + 2 * a + 7 + 2)

Next s

'B

Picture1.Line (xo + 8 * a - a / 3 - 2, yo + 2 * a + 5)-(xo + 8 * a + a / 3 - 3, yo + 2 * a + 7)

Picture1.Circle (xo + 8 * a, yo + 2 * a), 1

Picture1.Line (xo + 8 * a - a / 3 - 2, yo + 2 * a + 5)-(xo + 8 * a - 1, yo + 2 * a + 1)

Picture1.Line (xo + 8 * a + a / 3 - 3, yo + 2 * a + 7)-(xo + 8 * a, yo + 2 * a + 1)

Picture1.Circle (xo + 8 * a - a / 3 - 2, yo + 2 * a + 6), 1

Picture1.Circle (xo + 8 * a + a / 3 - 3, yo + 2 * a + 8), 1

Picture1.Line (xo + 8 * a - a / 3 - 4, yo + 2 * a + 7)-(xo + 8 * a + a / 3 - 2, yo + 2 * a + 10)

'D

Picture1.Circle (xo + 8 * a, yo - 3 * a), 1

Picture1.Line (xo + 8 * a, yo - 3 * a)-(xo + 8 * a + 2, yo - 3 * a + 5)

Picture1.Circle (xo + 8 * a + 2, yo - 3 * a + 5), 1

'Сила P1

Picture1.Line (xo + 5 * a, yo - 1 * a)-(xo + 4.5 * a - 1.5 * a * Sin(alfa - 0.7 * Atn(1)), yo - 0.4 * a * Cos(alfa)), &HC0&

Picture1.Line (xo + 4.5 * a - 1.5 * a * Sin(alfa - 0.7 * Atn(1)), yo - 0.4 * a * Cos(alfa))-(xo + 4.5 * a, yo - 0.4 * a), &HC0&

Picture1.Line (xo + 4.5 * a - 1.5 * a * Sin(alfa - 0.7 * Atn(1)), yo - 0.4 * a * Cos(alfa))-(xo + 4.3 * a, yo - 0.8 * a), &HC0&

'Сила P2

Picture1.Line (xo + 3 * a, yo - 1 * a)-(xo + 1 * a + 2 * a * Cos(alfa), yo - 2.5 * a - Sin(alfa)), &HC0&

Picture1.Line (xo + 1 * a + 2 * a * Cos(alfa), yo - 2.5 * a - Sin(alfa))-(xo + 2.16 * a, yo - 1 * a - 10), &HC0&

Picture1.Line (xo + 1 * a + 2 * a * Cos(alfa), yo - 2.5 * a - Sin(alfa))-(xo + 2.5 * a, yo - 1 * a - 12), &HC0&

'Рисуем нагрузку q

Picture1.DrawWidth = 1.2

For s = xo + 3 * a To xo + 5 * a Step 5

Picture1.Line (s, yo - 2 * a)-(s, yo - 1 * a)

Picture1.Line (s, yo - 10)-(s - 0.8, yo - a * 1.5)

Picture1.Line (s, yo - 10)-(s + 0.8, yo - a * 1.5)

Next s

Picture1.Line (xo + 3 * a, yo - 2 * a)-(xo + 5 * a, yo - 2 * a)

'q2-q1

Picture1.Line (xo + 8 * a, yo - 1 * a)-(xo + 8 * a + 5, yo - 1 * a)

Picture1.Line (xo + 8 * a + 5, yo - 1 * a)-(xo + 8 * a + 10, yo + 2 * a)

Picture1.Line (xo + 8 * a + 10, yo + 2 * a)-(xo + 8 * a, yo + 2 * a)

Picture1.Line (xo + 8 * a, yo + 2 * a)-(xo + 8 * a + 10, yo + 2 * a)

Picture1.Line (xo + 8 * a, yo + 2 * a)-(xo + 8 * a + 3, yo + 2 * a - 1)

Picture1.Line (xo + 8 * a, yo + 2 * a)-(xo + 8 * a + 3, yo + 2 * a + 1)

Picture1.Line (xo + 8 * a, yo - 1 * a)-(xo + 8 * a + 3, yo - 1 * a - 1)

Picture1.Line (xo + 8 * a, yo - 1 * a)-(xo + 8 * a + 3, yo - 1 * a + 1)

Picture1.Line (xo + 8 * a, yo - 1 * a)-(xo + 8 * a + 3, yo - 1 * a - 1)

Picture1.Line (xo + 8 * a, yo - 1 * a + 5)-(xo + 8 * a + 6, yo - 1 * a + 5)

Picture1.Line (xo + 8 * a, yo - 1 * a + 5)-(xo + 8 * a + 3, yo - 1 * a + 4)

Picture1.Line (xo + 8 * a, yo - 1 * a + 5)-(xo + 8 * a + 3, yo - 1 * a + 6)

Picture1.Line (xo + 8 * a, yo - 1 * a + 10)-(xo + 8 * a + 7, yo - 1 * a + 10)

Picture1.Line (xo + 8 * a, yo - 1 * a + 10)-(xo + 8 * a + 3, yo - 1 * a + 9)

Picture1.Line (xo + 8 * a, yo - 1 * a + 10)-(xo + 8 * a + 3, yo - 1 * a + 11)

Picture1.Line (xo + 8 * a, yo - 1 * a + 15)-(xo + 8 * a + 8, yo - 1 * a + 15)

Picture1.Line (xo + 8 * a, yo - 1 * a + 15)-(xo + 8 * a + 3, yo - 1 * a + 14)

Picture1.Line (xo + 8 * a, yo - 1 * a + 15)-(xo + 8 * a + 3, yo - 1 * a + 16)

Picture1.Line (xo + 8 * a, yo - 1 * a + 20)-(xo + 8 * a + 9, yo - 1 * a + 20)

Picture1.Line (xo + 8 * a, yo - 1 * a + 20)-(xo + 8 * a + 3, yo - 1 * a + 19)

Picture1.Line (xo + 8 * a, yo - 1 * a + 20)-(xo + 8 * a + 3, yo - 1 * a + 21)

Picture1.Line (xo + 8 * a, yo - 1 * a + 25)-(xo + 8 * a + 10, yo - 1 * a + 25)

Picture1.Line (xo + 8 * a, yo - 1 * a + 25)-(xo + 8 * a + 3, yo - 1 * a + 24)

Picture1.Line (xo + 8 * a, yo - 1 * a + 25)-(xo + 8 * a + 3, yo - 1 * a + 26)

'Подпись точек заделки

Picture1.DrawWidth = 1.1

Picture1.FontSize = 12

Picture1.CurrentX = xo - 6

Picture1.CurrentY = yo + 12

Picture1.Print "A"

Picture1.CurrentX = xo + 8 * a - 10

Picture1.CurrentY = yo - 1 * a + 25

Picture1.Print "B"

Picture1.CurrentX = xo + 25

Picture1.CurrentY = yo - 5

Picture1.Print "C"

Picture1.CurrentX = xo + 7 * a + 15

Picture1.CurrentY = yo - 2 * a - 15

Picture1.Print "D"

Picture1.CurrentX = xo + 3 * a + 10

Picture1.CurrentY = yo - 0.3 * a

Picture1.Print "P1"

Picture1.CurrentX = xo + 1.5 * a

Picture1.CurrentY = yo - 2 * a

Picture1.Print "P2"

Picture1.CurrentY = yo + 1 * a

Picture1.Print "M"

Picture1.CurrentX = xo + 5 * a

Picture1.CurrentY = yo - 2.5 * a

Picture1.Print "q"

Picture1.CurrentX = xo + 8 * a + 8

Picture1.CurrentY = yo - 1 * a

Picture1.Print "q1"

Picture1.CurrentX = xo + 8 * a + 10

Picture1.CurrentY = yo - 1 * a + 25

Picture1.Print "q2"

'Сектор под момент

'Picture1.ForeColor = 0

Picture1.Circle (xo + 1.9 * a, yo + 1 * a), 6, 0, 7 * Atn(1), 3.5 * Atn(1)

Picture1.Line (xo + 2.31 * a, yo + 1.5 * a)-(xo + 1.9 * a + 4.7, yo + 1 * a)

Picture1.Line (xo + 2.31 * a, yo + 1.5 * a)-(xo + 2 * a + 7, yo + 1 * a)

Picture1.DrawWidth = 1

Picture1.DrawStyle = 2

End Sub

Private Sub Command1_Click()

Unload Me

End Sub

Private Sub Form_load()

frmDannye.Height = 6195

frmDannye.Width = 9195

End Sub


Option Explicit

Private Sub cmdClose_Click()

Unload Me

End Sub

Private Sub cmdExcel_Click()

Dim XL As New Excel.Application

XL.Workbooks.Open App.Path & "\MyBook.xls"

XL.Visible = True

Set XL = XL.ActiveWorkbook.Sheets.Application

With XL.ActiveSheet

 .Cells(1, 2) = "Исходные данные"

 .Cells(2, 1) = "F1="

 .Cells(3, 1) = "F2="

 .Cells(4, 1) = "M="

 .Cells(5, 1) = "alfa1="

 

 .Cells(2, 2) = Val(frmDannye.tbP1.Text)

 .Cells(3, 2) = Val(frmDannye.tbP2.Text)

 .Cells(4, 2) = Val(frmDannye.tbM.Text)

 .Cells(5, 2) = pi * alf1 / 180

 

 .Cells(2, 3) = "kH"

 .Cells(3, 3) = "kH"

 .Cells(4, 3) = "kH*m"

 .Cells(5, 3) = "рад"

 

 .Cells(1, 6) = "Расчет реакций"

 .Cells(2, 6) = "Шарнирное закрепление:"

 .Cells(3, 6) = "Rd="

 .Cells(4, 6) = "Rb="

 .Cells(5, 6) = "Xa="

 .Cells(6, 6) = "Ya="

 

 .Cells(10, 6) = "Скользящая заделка:"

 .Cells(11, 6) = "Rd="

 .Cells(12, 6) = "Rb="

 .Cells(13, 6) = "Xa="

 End With

End Sub

Private Sub Command1_Click()

Unload Me

frmRaschet.Show

End Sub

Private Sub Form_load()

frmRaschet.Height = 5325

frmRaschet.Width = 8340

For i = 0 To 1

 msfgSharnir.ColAlignment(i) = 4

 msfgZadelka.ColAlignment(i) = 4

 Next i

msfgSharnir.TextMatrix(0, 0) = "Сила"

msfgSharnir.TextMatrix(0, 1) = "Значение"

msfgSharnir.TextMatrix(1, 0) = "Rd"

msfgSharnir.TextMatrix(2, 0) = "Rb"

msfgSharnir.TextMatrix(3, 0) = "Xa"

msfgSharnir.TextMatrix(4, 0) = "Ya"


msfgZadelka.TextMatrix(0, 0) = "Сила"

msfgZadelka.TextMatrix(0, 1) = "Значение"

msfgZadelka.TextMatrix(1, 0) = "Rd"

msfgZadelka.TextMatrix(2, 0) = "Rb"

msfgZadelka.TextMatrix(3, 0) = "Xa"

Vyvod

End Sub

Private Sub vscrlUgol_Change()

txtUgol.Text = vscrlUgol.Value

Vyvod

End Sub

Public Sub Vyvod()

'beta = Val(txtUgol.Text)

RaschetSharnir

msfgSharnir.TextMatrix(1, 1) = Str(Round(Rd, 2))

msfgSharnir.TextMatrix(2, 1) = Str(Round(Rb, 2))

msfgSharnir.TextMatrix(3, 1) = Str(Round(Xa, 2))

msfgSharnir.TextMatrix(4, 1) = Str(Round(Ya, 2))

RaschetZadelka

msfgZadelka.TextMatrix(1, 1) = Str(Round(Rd, 2))

msfgZadelka.TextMatrix(2, 1) = Str(Round(Rb, 2))

msfgZadelka.TextMatrix(3, 1) = Str(Round(Xa, 2))

End Sub


Private Sub Form_Load()

End Sub

Private Sub vixod_Click()

Unload Me

End Sub


Информация о работе «Расчет составной конструкции системы двух тел»
Раздел: Информатика, программирование
Количество знаков с пробелами: 16516
Количество таблиц: 2
Количество изображений: 1

Похожие работы

Скачать
10301
7
15

... (1) где кН. После подстановки данных и вычислений уравнение (1) получает вид: кН (1’) Второе уравнение с неизвестными  и  получим, рассмотрев систему уравновешивающихся сил, приложенных к части конструкции, расположенной левее шарнира С (рис. 3): Рис. 3. . Отсюда находим, что  кН. Подставив найденное значение  в уравнение (1’) найдем значение ...

Скачать
332503
41
0

... по соответствующему полю). В окне Конструктора таблиц созданные связи отображаются визуально, их легко изменить, установить новые, удалить (клавиша Del). 1 Многозвенные информационные системы. Модель распределённого приложения БД называется многозвенной и её наиболее простой вариант – трёхзвенное распределённое приложение. Тремя частями такого приложения являются: ...

Скачать
156154
27
11

... датчика, наличием нерассматриваемых источников тепла, особенностями конфигурации компонентов относительно потока воздуха от вентиляторов и др.). Это еще раз доказывает актуальность проведения экспериментальных исследований в изучении тепловых режимов устройств ЭВМ и, следовательно, создание для этих целей специализированного устройства (модуля). 7 РАЗРАБОТКА ТЕХНОЛОГИИ СБОРКИ МОДУЛЯ АЦП 7.1 ...

Скачать
157854
4
9

... ). Подпрограмма завершена, управление передается назад вызывавшему модулю.   6. Технико-экономическое обоснование   6.1 Пути снижения затрат за счет внедрения системы Внедрение автоматической системы управления маслонапорной установкой гидроэлектростанции решает следующие задачи -           Полностью автоматическая система управления маслонапорной установкой не требует участия человека ...

0 комментариев


Наверх