Полезные программы Python-3. Книга третья

Сергей Фёдорович Гаврилов, 2020

Эта книга для начинающих программистов, желающих начать программировать на языке Python 3. Книга будет полезна для студентов механиков. Набор программ создан для цеховых конструкторов механиков. Предлагаемые в книге расчеты экономят рабочее время и уменьшает ошибки.. Данная книга – сборник листингов рабочих программ. Все программы, в разное время, разработаны самим автором, при возникновении необходимости данных расчетов. Все программы проверены и постоянно используются в работе конструктора – механика . Листинги программ снабжены пояснениями.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Полезные программы Python-3. Книга третья предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Листинги программ

:

Линейная интерполяция

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

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математич модуль

# Эти первые две строки листинга определяют таблицу кодировки символов

# и подключают библиотеку для математических расчетов.

# Эти две строки, точно без изменения, применяют во всех листингах программ.

uu=” “ # Далее идет вывод на экран заголовка программы.

print (uu)

print (uu)

u="Расчет линейной интерполяции"

print (u)

print (uu)

# Далее вводим в программу исходные данные для расчета.

print (uu)

u="Введите X1"

print (u)

print (uu)

x1=0.00000000

x1=input( ) # Вводим число

x1=float(x1) # Принудительно в вещественное число

print (uu)

u="Введите X2"

print (u)

print (uu)

x2=0.00000000

x2=input( ) # Вводим число

x2=float(x2) # Принудительно в вещественное число

print (uu)

u="Введите Xx"

print (u)

print (uu)

xx=0.00000000

xx=input( ) # Вводим число

xx=float(xx) # Принудительно в вещественное число

print (uu)

u="………………………………………………………………"

print (u)

print (uu)

u="Введите Y1"

print (u)

print (uu)

y1=0.00000000

y1=input( ) # Вводим число

y1=float(y1) # Принудительно в вещественное число

print (uu)

u="Введите Y2"

print (u)

print (uu)

y2=0.00000000

y2=input( ) # Вводим число

y2=float(y2) # Принудительно в вещественное число

# Далее идет расчет по формуле..

yx=(((y2-y1)*(xx-x1))/(x2-x1))+y1

# Далее выводится на экран результат расчета

u="………………………………………………………………"

print (u)

print (u)

print (uu)

print (uu)

u="X1 =", x1,"Y1 =",y1,""

print (u)

print (uu)

u="X2 =", x2,"Y2 =",y2,""

print (u)

print (uu)

u="Xx =", xx,"Yx =",yx,""

print (u)

print (uu)

u="…..…..…..…..…..…………"

print (u)

print (u)

print (uu)

print (uu)

input( ) # Ожидание нажима Ентер

# Далее делаем еще один расчет на тех же исходных данных и выводим результаты.

Pii=math.pi # Вытащили число"Пи"и поместили в переменную Pii…

cc=((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1))

c=math.sqrt(cc) # Квадратный корень из"cc"

cs=str(c) # Преобразуем число в строку

u="Длина линии x1;y1 — x2;y2 ="+cs

print (uu)

print (u)

a=(y2-y1)/(x2-x1)

aur=math.atan(a) # Угол aur в радианах через арс тангенс

au=aur*180/Pii # Угол au в градусах ( переводим ).

aus=str(au) # Преобразуем число в строку

u="Угол линии x1;y1 — x2;y2 с осью Х ="+aus+"градус"

print (uu) # Выводим пустую строку

print (u) # Выводим результат — угол в градусах

print (uu)

print (uu)

input( ) # Ожидание нажима Ентер что бы можно было прочитать результаты.

#…..…..….. Конец листинга программы…..….

Координаты точек на радиусной кривой

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

большой величины — который построить непосредственной разметкой

сложно или невозможно из за мешающих препятствий.

Результаты расчета записываются в файл 'Rezult.txt'.

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математический модуль

import sys # Подключили основные библиотеки

#…….…….…….……………….…….……

Pii=math.pi # Вытащили число"Пи"

f = open('Rezult.txt', 'w') # Открыли файл для записи результатов

# Записываем числа в текстовом виде

uu=""

u=uu+"\n"# Добавим код перевода строки

f.write(u)

u1="Расчет координат точек на радиусной кривой"

u=u1+"\n"

f.write(u)

uu=""+"\n"

f.write(uu)

uuu=",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"+"\n"

f.write(uuu)

f.write(uu)

print (uu)

u="Построение большого радиуса методом подьема"

print (u)

print (uu)

u="Размер по горизонтали отсчитывается от центра хорды"

print (u)

u="от точки Х2 на хорде проводим перпендикуляр Нм расчитанной величины."

print (u)

u="При вводе размера по горизонту = нулю — выход из программы"

print (u)

print (uu)

input( ) # Ожидание нажима Ентер

print (uu)

a=0.00000000

y=0.00000000

ug=0.00000000

ugg=0.00000000

R=0.00000000

hm=0.00000000

ht= 0.0000000

u="Введите радиус"

print (u)

print (uu)

R=input( ) # Вводим число

R=float(R) # Принудительно в вещественное число

u="Радиус заданной кривой ="

ss=str(R) # Преобразуем число в строку

Rad=u+ss

u=Rad+"\n"

f.write(u)

u="Введите Хорду L"

print (u)

print (uu)

a=input( ) # Вводим число

a=float(a) # Принудительно в вещественное число

u="Хорда максимальная заданная L ="

ss=str(a) # Преобразуем число в строку

Xord=u+ss

u=Xord+"\n"

f.write(u)

# Находим значения максимального прогиба при X2 = 0….

x=((R*R)-(a*a/4))

b=R-(math.sqrt(x)) # Квадратный корень из"x"

# b — максимальный прогиб…

u="Подъем максимальный в центре хорды ="

ss=str(b) # Преобразуем число в строку

Progi=u+ss

u=Progi+"\n"

f.write(u)

x=(a/2)/R

y=math.asin(x)

v=math.cos(y)

aur=2*y

au=aur*180/Pii # Угол А в градусах

Lx= 0.0000001 # <Начальное значение>

while Lx>0: # Далее идет циклический расчет

# Далее Cдвиг — четыре пробела в начале каждой строки

print (uu)

u="Введите растояние от центра хорды до перпендикуляра X2"

print (u)

print (uu)

Lx=input( ) # Вводим число

Lx=float(Lx)

u="От центра хорды до точки X2 по оси Х-Х ="

ss=str(Lx) # Преобразуем число в строку

Xord=u+ss

u=Xord+"\n"

f.write(uu)

f.write(u)

x=(R*R)-(Lx*Lx)

z=math.sqrt(x)

y=R-z # Прогиб при хорде = Lx*2

ht=b-y # Расчитали величину подьема

Gsf = 461030/2725231222..

u="На растоянии от центра ="

ss=str(Lx) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Величина подьема ( перпендикуляра ) Hm ="

ss=str(ht) # Преобразуем число в строку

u=u+ss

print (u)

f.write(u)

f.write(uu)

print (uu)

u="==================================="

print (u)

f.write(u)

print (uu)

input( ) # Ожидание нажима Ентер

# Далее Конец Cдвига — четыре пробела в начале каждой строки

print (uu)

input( ) # Ожидание нажима Ентер

print (uu)

#…….…….…….……………….…….……

f.write(uu)

f.write(uuu)

f.close() # закрыли файл

#…….…….…….……………….…….…….……..……..……..

u="……………… Конец программы………………"

print (u)

print (uu)

input( ) # Ожидание нажима Ентер —

# Позволяет рассмотреть результаты расчета

#….. Конец листинга программы…....

Хорда — Прогиб — Радиус

В этом разделе объединены двенадцать небольших программ. Производится расчет при разном наборе исходных данных.

Расчет по Хорде — Радиусу

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математический модуль

Pii=math.pi # Вытащили число"Пи"

uu=” ”

print (uu)

print (uu)

u="Расчет по Хорде — Радиусу"

print (u)

print (uu)

u="Введите Хорду"

print (u)

print (uu)

a=0.00000000

a=input( ) # Вводим число

a=float(a) # Принудительно в вещественное число

u="Введите Радиус"

print (u)

print (uu)

R=0.00000000

R=input( ) # Вводим число

R=float(R) # Принудительно в вещественное число

x=0.00000000

y=0.00000000

v=0.00000000

Sk=0.0000000

St=0.00000000

S=0.000000000

x=((R*R)-(a*a/4))

b=R-(math.sqrt(x)) # Квадратный корень из"x"

x=(a/2)/R

y=math.asin(x)

v=math.cos(y)

aur=2*y

au=aur*180/Pii # Угол А в градусах

#

Вывод по Хорде Прогиб Радиус

# Этот вывод без изменений будет во всех программах

# « Хорда прогиб радиус » — поэтому в дальнейшем мы повторяться

# не будем — ограничимся только заголовком.

D=R+R

Sk=Pii*D*D*au/(4*360) # Площадь сектора круга с углом aur

St=(a/2)*(R-b) # Площадь треугольника в секторе

S = Sk-St # Площадь горбушки

L=Pii*D*au/360 # Длина дуги

print (uu)

u=",,,,,,,,,,,,,,,,,,,,,,,,,,"

print (u)

print (uu)

print (uu)

u="Хорда ="

ss=str(a) # Преобразуем число в строку

u=u+ss

print (u)

Xord=u

print (uu)

u="Стрела прогиба ="

ss=str(b) # Преобразуем число в строку

u=u+ss

print (u)

Progi=u

print (uu)

u="Радиус ="

ss=str(R) # Преобразуем число в строку

u=u+ss

print (u)

Rad=u

print (uu)

u="Диаметр ="

ss=str(D) # Преобразуем число в строку

u=u+ss

print (u)

Diam=u

print (uu)

u="Угол раствора хорды ="

ss=str(au) # Преобразуем число в строку

u=u+ss

print (u)

UgSe=u

print (uu)

u="Длина дуги над хордой ="

ss=str(L) # Преобразуем число в строку

u=u+ss

print (u)

Dug=u

print (uu)

u="Площадь сектора ="

ss=str(Sk) # Преобразуем число в строку

u=u+ss

print (u)

PlSe=u

print (uu)

u="Площадь треугольника под горбушкой ="

ss=str(St) # Преобразуем число в строку

u=u+ss

print (u)

PlTr=u

print (uu)

u="Площадь горбушки ="

ss=str(S) # Преобразуем число в строку

u=u+ss

print (u)

PlGo=u

print (uu)

input( ) # Ожидание нажима Ентер

# Позволяет рассмотреть результаты расчета

#….. Конец листинга программы…....

Расчет по Хорде и углу раствора

Угол раствора это угол между двумя радиусами идущими к концам хорды.

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математический модуль

Pii=math.pi # Вытащили число"Пи"

uu=""

print (uu)

print (uu)

u="Расчет по Хорде и углу раствора"

print (u)

print (uu)

u="Введите Хорду"

print (u)

print (uu)

a=0.00000000

a=input( ) # Вводим число

a=float(a) # Принудительно в вещественное число

u="Введите Угол раствора в градусах"

print (u)

print (uu)

au=0.00000000

au=input( ) # Вводим число

au=float(au) # Принудительно в вещественное число

x=0.00000000

aur=0.00000000

v=0.00000000

y=0.00000000

Sk=0.0000000

St=0.00000000

S=0.000000000

aur=au*Pii/180

x=math.sin(aur/2)

R=(a/2)/x # Нашли радиус

y=(R*R)-(a*a/4)

v=math.sqrt(y) # Квадратный корень из"y"

b=R-v # Нашли прогиб

#………….…….…….…….……..…….

# Вывод по Хорде Прогиб Радиус

# Далее следует блок вывода результата ( смотри выше ).

input( ) # Ожидание нажима Ентер

# Позволяет рассмотреть результаты расчета

#….. Конец листинга программы…....

Расчет по Хорде и длине Дуги

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математический модуль

Pii=math.pi # Вытащили число"Пи"

uu=""

print (uu)

print (uu)

u="Расчет по Хорде и длине Дуги"

print (u)

print (uu)

u="Введите Хорду"

print (u)

print (uu)

a=0.00000000

a=input( ) # Вводим число

a=float(a) # Принудительно в вещественное число

u="Введите длину Дуги"

print (u)

print (uu)

L=0.00000000

L=input( ) # Вводим число

L=float(L) # Принудительно в вещественное число

R=0.00000000

dx=a/200000

rt=(a/2)+dx # Начальный радиус расчета

aa=a/2 # Половина хорды

dl=Pii*rt

while dl>L: # Расчет по Хорде и длине Дуги

# Далее Cдвиг — четыре пробела в начале каждой строки

rt=rt+dx # Текущий радиус

x=aa/rt

y=2*(math.asin(x)) # Угол А в радианах через арс синус

dl=rt*y # Текущая длина дуги

# Далее Cдвига нет

yg=y*180/Pii # Угол"y"в градусах

au=yg

R=rt # Нашли радиус

y=(R*R)-(aa*aa)

v=math.sqrt(y) # Квадратный корень из"y"

b=R-v # Нашли прогиб

D=R+R

Sk=Pii*D*D*yg/(4*360) # Площадь сектора круга с углом aur

St=aa*v # Площадь треугольника в секторе

S = Sk-St # Площадь горбушки

# Вывод по Хорде Прогиб Радиус

# Далее следует блок вывода результата ( смотри выше ).

input( ) # Ожидание нажима Ентер

# Позволяет рассмотреть результаты расчета

#….. Конец листинга программы…....

#……………….…………

Расчет по Хорде — Прогибу

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математический модуль

Pii=math.pi # Вытащили число"Пи"

uu=""

print (uu)

u="Расчет по Хорде — Прогибу"

print (u)

print (uu)

u="…………………………"

print (u)

print (uu)

u="Введите Хорду"

print (u)

print (uu)

a=0.00000000

a=input( ) # Вводим число

a=float(a) # Принудительно в вещественное число

u="Введите Стрелу Прогиба"

print (uu)

print (u)

print (uu)

b=0.00000000

b=input( ) # Вводим число

b=float(b) # Принудительно в вещественное число

x=0.00000000

y=0.00000000

v=0.00000000

R=0.00000000

Sk=0.0000000

St=0.00000000

S=0.000000000

Ex=1.000000

k=a/2

Rt=k+(k/100000)

Rd= k/100000

t=k/100000000

# Уточнение шаговым подбором

while Ex >t:

# Далее Cдвиг — четыре пробела в начале каждой строки

Rt=Rt+Rd

x=((Rt*Rt)-(k*k))

c=math.sqrt(x) # Квадратный корень из"x"

Ex=(Rt-c)-b

# E=math.abs(x)

# Конец подбора…….

# Далее Cдвига нет…

R=Rt

D=R+R

x=k/Rt

sur=math.asin(x) # Угол А в радианах

su=sur*180/Pii # Угол А в градусах

au=2*su

yg=au

L=(R+R)*Pii*au/360

#…….…….…….

# Вывод по Хорде Прогиб Радиус

# Далее следует блок вывода результата ( смотри выше ).

input( ) # Ожидание нажима Ентер

# Позволяет рассмотреть результаты расчета

#….. Конец листинга программы…....

#……………….…………

Расчет по Радиусу и Прогибу

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математический модуль

Pii=math.pi # Вытащили число"Пи"

uu=""

print (uu)

u="Расчет по Радиусу и Прогибу"

print (u)

print (uu)

u="………………….."

print (u)

print (uu)

u="Введите Радиус"

print (u)

print (uu)

R=0.00000000

R=input( ) # Вводим число

R=float(R) # Принудительно в вещественное число

u="Введите Прогиб"

print (uu)

print (u)

print (uu)

b=0.00000000

b=input( ) # Вводим число

b=float(b) # Принудительно в вещественное число

k=R-b

x=(R*R)-(k*k)

a=(math.sqrt(x))*2

x=(a/2)/k

aur = (math.atan(x))*2

au=aur*180/Pii

yg = au

# Вывод по Хорде Прогиб Радиус

# Далее следует блок вывода результата ( смотри выше ).

input( ) # Ожидание нажима Ентер

# Позволяет рассмотреть результаты расчета

#….. Конец листинга программы…....

#……………….…………

Расчет по Прогибу и длине Дуги

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математический модуль

Pii=math.pi # Вытащили число"Пи"

uu=""

print (uu)

u="Расчет по Прогибу и длине Дуги"

print (u)

print (uu)

u="……………………"

print (u)

print (uu)

u="Введите стрелу Прогиба"

print (u)

print (uu)

b=0.00000000

b=input( ) # Вводим число

b=float(b) # Принудительно в вещественное число

print (uu)

u="Введите длину Дуги"

print (u)

print (uu)

L=0.00000000

L=input( ) # Вводим число

L=float(L) # Принудительно в вещественное число

print (uu)

u="Подождите — идет расчет"

print (u)

print (uu)

bb=0.000000 # Текущий прогиб

Rt=L/Pii # Начальный Текущий радиус

xx=b/100000 # Приращение радиуса

xb=b/1000 # Допустимая ошибка..

db=10000000*b # Начальное значение ошибки

ugr=0.0000000

# Уточнение подбором

while db >xb:

# Далее Cдвиг — четыре пробела в начале каждой строки

Rt=Rt+xx

ygr=(2*Pii)* (L/((Rt+Rt)*Pii)) # Угол раствора хорды радиан

x=math.sin(ygr/2)

y=Rt*x

a=y+y # Хорда

t=((Rt*Rt)-(y*y))

z=math.sqrt(t) # Квадратный корень из"y"

bb=Rt-z # Прогиб

x=(b-bb)*(b-bb)

db=math.sqrt(x) # Квадратный корень из"x"

# Далее Cдвига нет..

db=db+xb

xx=b/100000000 # Приращение радиуса

xb=b/1000000

# Уточнение подбором ( вторая ступень )

while db >xb:

# Далее Cдвиг — четыре пробела в начале каждой строки

Rt=Rt+xx

ygr=(2*Pii)* (L/((Rt+Rt)*Pii)) # Угол раствора хорды радиан

x=math.sin(ygr/2)

y=Rt*x

a=y+y # Хорда

t=((Rt*Rt)-(y*y))

z=math.sqrt(t) # Квадратный корень из"y"

bb=Rt-z # Прогиб

x=(b-bb)*(b-bb)

db=math.sqrt(x) # Квадратный корень из"x"

# Далее Cдвига — нет…

# Конец подбора……..

# Gsf = 461030/2725231222…

R=Rt

yg=ygr*180/Pii # Угол раствора хорды град.

# Далее Cдвига — нет….

x=a/(R+R)

k=math.asin(x)

au=(k+k)*180/Pii # Угол на хорду в градусах

# Вывод по Хорде Прогиб Радиус

# Далее следует блок вывода результата ( смотри выше ).

input( ) # Ожидание нажима Ентер

# Позволяет рассмотреть результаты расчета

#….. Конец листинга программы…..

#……………….…………

Расчет по Прогибу и Углу раствора

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математический модуль

Pii=math.pi # Вытащили число"Пи"

uu=""

print (uu)

print (uu)

u="Расчет по Прогибу и Углу раствора"

print (u)

print (uu)

u="……………………"

print (u)

print (uu)

u="Введите Угол раствора в градусах"

print (u)

print (uu)

au=0.00000000

au=input( ) # Вводим число

au=float(au) # Принудительно в вещественное число

aur=au*Pii/180

u="Введите стрелу Прогиба"

print (u)

print (uu)

b=0.00000000

b=input( ) # Вводим число

b=float(b) # Принудительно в вещественное число

z=math.cos(aur/2)

R=b/(1-z)

x=0.00000000

y=0.00000000

v=0.00000000

Sk=0.0000000

St=0.00000000

S=0.000000000

Ex=1.000000

x= math.cos(aur/2)

y=R*x

x=(R*R)-(y*y)

c=math.sqrt(x) # Квадратный корень из"x"

a=c+c

D=R+R

# Вывод по Хорде Прогиб Радиус

# Далее следует блок вывода результата ( смотри выше ).

input( ) # Ожидание нажима Ентер

# Позволяет рассмотреть результаты расчета

#….. Конец листинга программы…..

#……………….…………

Расчет по Углу раствора и длине Дуги

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математический модуль

Pii=math.pi # Вытащили число"Пи"

uu=""

print (uu)

u="Расчет по Углу раствора и длине Дуги"

print (u)

print (uu)

u="……………………"

print (u)

print (uu)

u="Введите Угол раствора в градусах"

print (u)

print (uu)

yg=0.00000000

yg=input( ) # Вводим число

yg=float(yg) # Принудительно в вещественное число

print (uu)

u="Введите длину Дуги"

print (u)

print (uu)

L=0.00000000

L=input( ) # Вводим число

L=float(L) # Принудительно в вещественное число

C=L*360/yg

D=C/Pii

R=D/2

x=0.00000000

y=0.00000000

v=0.00000000

Sk=0.0000000

St=0.00000000

S=0.000000000

Ex=1.000000

yr=yg*Pii/180

x= math.cos(yr/2)

y=R*x

b=R-y

z=(R*R)-(y*y)

c=math.sqrt(z) # Квадратный корень из"x"

a=c+c

au=yg

# Вывод по Хорде Прогиб Радиус

# Далее следует блок вывода результата ( смотри выше ).

input( ) # Ожидание нажима Ентер

# Позволяет рассмотреть результаты расчета

#….. Конец листинга программы…..

#……………….…………

Расчет Правильного многогранника

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математический модуль

Pii=math.pi # Вытащили число"Пи"

uu=""

print (uu)

print (uu)

u="Расчет Правильного многогранника"

print (u)

print (uu)

u="……………………"

print (u)

print (uu)

u="Введите Описанный диаметр"

print (u)

u="при вводе нуля — переход на вписанный диаметр"

print (u)

print (uu)

D=0.00000000

D=input( ) # Вводим число

D=float(D) # — Принудительно в вещественное число

x=0.00000000

y=0.00000000

v=0.00000000

Sk=0.0000000

St=0.00000000

S=0.000000000

Ex=10000000

vv=0 # Флаг расчета при заданном Описанном диаметре

vv=float(vv)

if D==0:

# Далее Cдвиг — четыре пробела в начале каждой строки

u="……………………"

print (u)

print (uu)

u="Введите Вписанный диаметр"

# Вписанный диаметр, при четном числе граней,

# является размером под ключ.

print (u)

print (uu)

Sv=0.00000000

Sv=input( ) # Вводим число

Sv=float(Sv) # — Принудительно в вещественное число

u="Введите число Граней"

print (uu)

print (u)

print (uu)

n=0.00000000

n=input( ) # Вводим число

n=float(n) # Принудительно в вещественное число

sur=2*Pii/n # Угол А в радианах

su=360/n # Угол А в градусах

au=su

yg=au

yr=sur

x=math.cos(sur/2) # Cos Угла А

y=Sv/2

R=y/x

D=R+R

vv=1 # Флаг расчета при заданном Вписанном диаметре

# Далее Cдвига нет…

if vv==0:

# Далее Cдвиг — четыре пробела в начале каждой строки

u="Введите число Граней"

print (uu)

print (u)

print (uu)

n=0.00000000

n=input( ) # Вводим число

n=float(n) # Принудительно в вещественное число

R=D/2

sur=2*Pii/n # Угол А в радианах

su=360/n # Угол А в градусах

au=su

yg=au

yr=sur

x=math.cos(sur/2) # Cos Угла А

y=R*x

# Далее Cдвига нет….

Sh=y

Sv=y+y

b=R-y

x=(R*R)-(y*y)

c=math.sqrt(x) # Квадратный корень из"x"

a=c+c

Sm=(a*(R-b)/2)*n # Площадь многогранника

nn=0

# Вывод по Многограннику

u="Описанный диаметр ="

ss=str(D) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Число граней ="

ss=str(n) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Высота: Грань — Центр ="

ss=str(Sh) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Вписанный диаметр ="

ss=str(Sv) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Ширина грани ="

ss=str(a) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Площадь Многогранника ="

ss=str(Sm) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

input( ) # Ожидание нажима Ентер

# Позволяет рассмотреть результаты расчета

#….. Конец листинга программы…..

#……………….…………

Овал ( коробовая кривая )

На схеме показано построение коробовой кривой ( овала ).

Отрезок АО — половина большей оси овала. Отрезок ВО — половина меньшей оси овала.

Rb — Большой радиус овала. Rм — Малый радиус овала. Остальное понятно из чертежа.

Построенная коробовая кривая отличается от овала — но для большенства расчетов различие

является несущественным. Данный расчет применяется к определению формы резинового кольца при сжатии в осевом направлении.

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математич модуль

# Проверено и геометрически тоже 15-12-2015 г..

ug=0.000000

uu=""

Uu=""

u="Расчет параметров овала ( коробовой кривой )"

print (uu)

print (uu)

print (u)

u1=u

print (uu)

u=",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"

print (uu)

print (u)

print (uu)

u="Вводим больший габаритный размер овала"

print (u)

print (uu)

x1=0.00000000

x1=input( ) # Вводим число

x1=float(x1) # Принудительно в вещественное число

u="Вводим меньший габаритный размер овала"

print (u)

print (uu)

y1=0.00000000

y1=input( ) # Вводим число

y1=float(y1) # Принудительно в вещественное число

#………………………………………………………………………

Pii=math.pi # Вытащили число"Пи"

oa=x1/2 # Большая полуось овала

ob=y1/2 # Малая полуось овала

pb=oa-ob

tb=pb

x=(oa*oa)+(ob*ob)

ab=math.sqrt(x) # Квадратный корень из"x"

at=ab-tb

xt=at/2

ao1=(xt*ab)/oa # Малый радиус

bk=(ab*(xt+pb))/ob # Большой радиус

x=ob/oa

ua=math.atan(x) # АрксТангенс от Х

# ua — Угол четвертинки сектора большого круга

ub=(Pii/2)-ua # Угол четвертинки сектора малого круга

Sb=Pii*bk*bk # Площадь круга с Большим радиусом

Sm=Pii*ao1*ao1 # Площадь круга с Малым радиусом

Sbs=Sb*2*ua/Pii # Площадь секторов с Большим радиусом

Sms=Sm*2*ub/Pii # Площадь секторов с Малым радиусом

ko=bk-ob

oo1=oa-ao1

Str=2*ko*oo1 # Площадь четырех вычитаемых треугольников

So=(Sms+Sbs)-Str

xu=ua*360/Pii # Угол раствора Б. радиусов

x=4*So/Pii

Ds=math.sqrt(x) # Диаметр равного по площади — круга

x=xu/2

Pp=((ao1*(90-x))+(bk*x))*Pii/45 # Периметр овала.

#………………………………………………………………………

u=",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"

print (uu)

print (u)

u2=u

print (uu)

u="Большая ось овала ="

ss=str(x1) # Преобразуем число в строку

u=u+ss

print (u)

u3=u

print (uu)

u="Меньшая ось овала ="

ss=str(y1) # Преобразуем число в строку

u=u+ss

print (u)

u4=u

print (uu)

u="Больший радиус ="

ss=str(bk) # Преобразуем число в строку

u=u+ss

print (u)

u5=u

print (uu)

u="От оси до центра Б. радиуса ="

ss=str(ko) # Преобразуем число в строку

u=u+ss

print (u)

u6=u

print (uu)

u="Меньший радиус ="

ss=str(ao1) # Преобразуем число в строку

u=u+ss

print (u)

u7=u

print (uu)

u="От оси до центра M. радиуса ="

ss=str(oo1) # Преобразуем число в строку

u=u+ss

print (u)

u8=u

print (uu)

u="Угол раствора Б. радиусов ="

ss=str(xu) # Преобразуем число в строку

u=u+ss

print (u)

u9=u

print (uu)

u="Периметр овала ="

ss=str(Pp) # Преобразуем число в строку

u=u+ss

print (u)

u10=u

print (uu)

u="Площадь овала ="

ss=str(So) # Преобразуем число в строку

u=u+ss

print (u)

u11=u

print (uu)

u="Диаметр равного по площади — круга ="

ss=str(Ds) # Преобразуем число в строку

u=u+ss

print (u)

u12=u

print (uu)

print (uu)

#…..…..…..…..….

f = open('Rezult.txt', 'w') # Открыли файл для записи

# Записываем числа в текстовом виде

u=uu+"\n"# Добавим код перевода строки

f.write(u)

u=u1+"\n"

f.write(u)

uu=""+"\n"

f.write(uu)

u=u2+"\n"

f.write(u)

f.write(uu)

u=u3+"\n"

f.write(u)

u=u4+"\n"

f.write(u)

f.write(uu)

u=u5+"\n"

f.write(u)

u=u6+"\n"

f.write(u)

u=u7+"\n"

f.write(u)

u=u8+"\n"

f.write(u)

u=u9+"\n"

f.write(u)

u=u10+"\n"

f.write(u)

u=u11+"\n"

f.write(u)

u=u12+"\n"

f.write(u)

f.write(uu)

f.close() # закрыли файл

#…..…..…..…..….

input( ) # Ожидание нажима Ентер

u="…… Конец программы……"

print (u)

print (uu)

input( ) # Ожидание нажима Ентер

#.….. Конец листинга программы…..

Треугольни

к

Центр описанной окружности на пересечении перпендикуляров проведенных от середин сторон треугольника. Центр вписанной окружности на пересечении медиан углов треугольника. Центр тяжести треугольника лежит на линии Х-Х параллельной основанию и расположенной на 1/3 высоты — в точке пересечения медиан углов треугольника. Медиана делит противолежащую сторону пополам.

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математич модуль.

uu=""

u="Расчет элементов треугольника"

print (uu)

print (uu)

print (u)

print (uu)

u="Напротив сторон треугольника лежат одноименные углы"

print (u)

print (uu)

u="…………………………………..……"

print (u)

print (uu)

Pii=0.000000

Pii=math.pi # Вытащили число"Пи"

#

Известны три стороны

print (uu)

print (uu)

u="Известны три стороны"

print (u)

print (uu)

u="Введите сторону А"

print (u)

print (uu)

a=0.00000000

a=input( ) # Вводим число

a=float(a) # Принудительно в вещественное число

u="Введите сторону B"

print (u)

print (uu)

b=0.00000000

b=input( ) # Вводим число

b=float(b) # Принудительно в вещественное число

u="Введите сторону C"

print (u)

print (uu)

c=0.00000000

c=input( ) # Вводим число

c=float(c) # Принудительно в вещественное число

print (uu)

print (uu)

u="….…..….…..…..…..….…..….."

print (u)

print (uu)

x=0.00000000

x=((b*b)+(c*c)-(a*a))/(2*b*c)

aur=0.0000000

aur=math.acos(x) # Угол А в радианах

au=aur*180/Pii # Угол А в градусах

x=((a*a)+(c*c)-(b*b))/(2*a*c)

bur=0.0000000

bur=math.acos(x) # Угол В в радианах

bu=bur*180/Pii # Угол В в градусах

cur=Pii-(aur+bur)

cu=cur*180/Pii # Угол С в градусах

#…….……

# Это « добавочный расчет » во все

# подпрограммы Треугольника

# И вывод результатов расчета

x=0.00000000

z=0.00000000

R=0.00000000

ha=0.00000000

hb=0.00000000

hc=0.00000000

z=math.sin(aur) # Sin угла A

R=a/(2*z) # R Описанной окружности

hc=b*z # Высота из угла С

z=math.sin(cur) # Sin угла С

hb=a*z # Высота из угла B

z=math.sin(bur) # Sin угла B

ha=c*z # Высота из угла A

S=a*ha/2 # Площадь треугольника

Pe=a+b+c # Периметр

rv=(S+S)/Pe # Радиус вписанной окружности

u=",,,,,,,,,,,,,,,,,"

print (uu)

print (u)

print (uu)

print (uu)

u="Сторона A ="

ss=str(a) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Сторона B ="

ss=str(b) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Сторона C ="

ss=str(c) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Угол А ="

ss=str(au) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Угол B ="

ss=str(bu) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Угол C ="

ss=str(cu) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="….…..….…..…..…..….…..….."

print (u)

print (uu)

print (uu)

input( ) # Ожидание нажима Ентер

print (uu)

u="Площадь ="

ss=str(S) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Радиус описанной окружности. ="

ss=str(R) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Радиус вписанной окружности ="

ss=str(rv) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Высота из угла A ="

ss=str(ha) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Высота из угла B ="

ss=str(hb) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Высота из угла C ="

ss=str(hc) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Центр тяжести на одной трети высоты"

print (u)

print (uu)

input( ) # Ожидание нажима Ентер

print (uu)

u="…… Конец программы……"

print (u)

print (uu)

input( ) # Ожидание нажима Ентер

print (uu)

#…. Конец листинга программы…..….

Две известные стороны и угол между ними

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математич модуль.

uu=""

u="Расчет элементов треугольника"

print (uu)

print (uu)

print (u)

print (uu)

u="Напротив сторон треугольника лежат одноименные углы"

print (u)

print (uu)

u="…………………………………..……"

print (u)

print (uu)

Pii=0.000000

Pii=math.pi # Вытащили число"Пи"

print (uu)

print (uu)

u="Известны две стороны и угол меж ними"

print (u)

print (uu)

u="Введите сторону А"

print (u)

print (uu)

a=0.00000000

a=input( ) # Вводим число

a=float(a) # Принудительно в вещественное число

u="Введите сторону B"

print (u)

print (uu)

b=0.00000000

b=input( ) # Вводим число

b=float(b) # Принудительно в вещественное число

u="Введите угол C в градусах"

print (u)

print (uu)

cu=0.00000000

cu=input( ) # Вводим число

cu=float(cu) # Принудительно в вещественное число

print (uu)

print (uu)

u="….…..….….."

print (u)

print (uu)

# Значит имеем две известные стороны А и В

# и угол между ними С

x=0.00000000

y=0.00000000

cur=cu*Pii/180 # Угол C в радианах

y=math.cos(cur) # COS угла С

x=((a*a)+(b*b))-(2*a*b*y)

c=math.sqrt(x) # Квадратный корень из"x"

x=((b*b)+(c*c)-(a*a))/(2*b*c)

aur=0.0000000

aur=math.acos(x) # Угол А в радианах

au=aur*180/Pii # Угол А в градусах

x=((a*a)+(c*c)-(b*b))/(2*a*c)

bur=0.0000000

bur=math.acos(x) # Угол В в радианах

bu=bur*180/Pii # Угол В в градусах

Gsf = 461030/2725231222…

# Далее вставляем блок добавочных расчетов

# И вывода результатов ( смотри выше ).

#…. Конец листинга программы…..

Одна сторона — А и два угла В и С

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математич модуль.

uu=""

u="Расчет элементов треугольника"

print (uu)

print (uu)

print (u)

print (uu)

u="Напротив сторон треугольника лежат одноименные углы"

print (u)

print (uu)

u="…………………………………..……"

print (u)

print (uu)

Pii=0.000000

Pii=math.pi # Вытащили число"Пи"

print (uu)

print (uu)

print (uu)

u="Известны два угла при одной стороне"

print (u)

print (uu)

u="Введите сторону А"

print (u)

print (uu)

a=0.00000000

a=input( ) # Вводим число

a=float(a) # Принудительно в вещественное число

u="Введите угол B в градусах"

print (u)

print (uu)

bu=0.00000000

bu=input( ) # Вводим число

bu=float(bu) # Принудительно в вещественное число

u="Введите угол C в градусах"

print (u)

print (uu)

cu=0.00000000

cu=input( ) # Вводим число

cu=float(cu) # Принудительно в вещественное число

print (uu)

print (uu)

u="….…..….…..….."

print (u)

print (uu)

# Известны два угла В и С при одной стороне А

x=0.00000000

y=0.00000000

z=0.00000000

bur=bu*Pii/180 # Угол B в радианах

cur=cu*Pii/180 # Угол C в радианах

aur=Pii-(bur+cur)

au=aur*180/Pii

z=math.sin(aur) # Sin угла A

x=math.sin(bur) # Sin угла B

y=math.sin(cur) # Sin угла C

b=(a*x)/z # Сторона В

c=(b*y)/x # Сторона С

# Далее вставляем блок добавочных расчетов

# И вывода результатов ( смотри выше ).

#…. Конец листинга программы…..

Имеем три угла А, В и С

Листинг программы.

# — * — coding: cp1251 — *-

import math # Подключили математич модуль.

uu=""

u="Расчет элементов треугольника"

print (uu)

print (uu)

print (u)

print (uu)

u="Напротив сторон треугольника лежат одноименные углы"

print (u)

print (uu)

u="…………………………………..……"

print (u)

print (uu)

Pii=0.000000

Pii=math.pi # Вытащили число"Пи"

print (uu)

print (uu)

print (uu)

u="Известны три угла ( определяем пропорции сторон )"

print (u)

print (uu)

u="Введите угол А в градусах"

print (u)

print (uu)

au=0.00000000

au=input( ) # Вводим число

au=float(au) # Принудительно в вещественное число

u="Введите угол B в градусах"

print (u)

print (uu)

bu=0.00000000

bu=input( ) # Вводим число

bu=float(bu) # Принудительно в вещественное число

cu=180-(au+bu)

cu=float(cu) # Принудительно в вещественное число

print (uu)

print (uu)

u="….…..….….."

print (u)

print (uu)

aur=au*Pii/180 # Угол C в радианах

bur=bu*Pii/180 # Угол C в радианах

cur=cu*Pii/180 # Угол C в радианах

a=1000*(math.sin(aur))

b=1000*(math.sin(bur))

c=1000*(math.sin(cur))

#",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"

# Это « добавочный расчет »

# во все подпрограммы Треугольника

x=0.00000000

z=0.00000000

R=0.00000000

ha=0.00000000

hb=0.00000000

hc=0.00000000

z=math.sin(aur) # Sin угла A

R=a/(2*z) # R Описанной окружности

hc=b*z # Высота из угла С

z=math.sin(cur) # Sin угла С

hb=a*z # Высота из угла B

z=math.sin(bur) # Sin угла B

ha=c*z # Высота из угла A

S=a*ha/2 # Площадь треугольника

Pe=a+b+c # Периметр

rv=(S+S)/Pe # Радиус вписанной окружности

u=",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"

print (uu)

print (u)

print (uu)

print (uu)

u="Сторона A ="

ss=str(a) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Сторона B ="

ss=str(b) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Сторона C ="

ss=str(c) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Угол А ="

ss=str(au) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Угол B ="

ss=str(bu) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Угол C ="

ss=str(cu) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="….…..….…..…..…..….…..….."

print (u)

print (uu)

print (uu)

input( ) # Ожидание нажима Ентер

print (uu)

u="Площадь ="

ss=str(S) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Радиус описанной окружности. ="

ss=str(R) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Радиус вписанной окружности ="

ss=str(rv) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Высота из угла A ="

ss=str(ha) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Высота из угла B ="

ss=str(hb) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Высота из угла C ="

ss=str(hc) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u="Центр тяжести на одной трети высоты"

print (u)

print (uu)

input( ) # Ожидание нажима Ентер

print (uu)

u="……………… Конец программы………………"

print (u)

print (uu)

input( ) # Ожидание нажима Ентер

print (uu)

#…..…..….. Конец листинга программы…..….

Центр масс нескольких тел

Определение координат центра масс нескольких тел производим методом последовательного добавления к уже определенной суммарной массе нескольких тел — еще одной массы. Начинаем с определения центра масс двух тел М1 и М2. Находим суммарную массу дух тел и координаты центра масс этих двух тел в точке Хх. Далее считаем, что сумма масс двух тел сосредоточена в точке центра масс с координатами Хх. Считаем что получившееся суммарное тело — это тело № М3. Затем добавляем к нему еще одно тело № М4. Снова получаем задачу по определению центра масс двух тел № М3 и № М4. Находим координаты новой точки центра масс. Программа позволяет добавлять к уже определенному суммарному телу еще одно тело столько раз — сколько необходимо.

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

Листинг программы.

# — * — coding: cp1251 — *-

import sys # Подключили основные библиотеки

import math # Подключили математич модуль

uu=""

print (uu)

print (uu)

print (uu)

u="Расчет центра масс нескольких тел"

print (u)

u="Введите массу первого тела М1"

print (uu)

print (u)

m=0.0000

m=input( )

print (uu)

u="Введите растояние до нулевой оси отсчета Х1"

print (uu)

print (u)

r=0.0000

r=input( )

print (uu)

u="….….…..….…..…..…..…..…..….."

print (u)

u="Масса первого тела М1 ="

t=str(m) # Преобразуем число в строку

u=u+t # сложим строки

print (uu)

print (u)

u="Растояние до нулевой оси отсчета Х1 ="

t=str(r) # Преобразуем число в строку

u=u+t # сложим строки

print (uu)

print (u)

m=float(m) # Принудительно в вещественное число

r=float(r) # Принудительно в вещественное число

mm=0.00000

mm=m*r

u="Момент массы относительно нулевой оси ="

t=str(mm) # Преобразуем число в строку

u=u+t # сложим строки

print (uu)

print (u)

print (uu)

u="….….…..….…..…..…..…..…..….."

print (u)

Pii=math.pi # Вытащили число"Пи"

ms=m # Сумма масс.

mms=mm # Сумма моментов масс.

n=1 # Порядковый номер прямоугольника

n=int(n) # Переведем в целое число

#"….….…..….…..…..…..…..…..….."

x=0

x=int(x) # Переведем в целое число

y=int(r) # Переведем в целое число

while y>x:

# Далее Cдвиг — четыре пробела в начале каждой строки

u="….….…..….…..…..…..…..…..….."

print (u)

print (uu)

n=n+1

u="Ввести значение массы №"

t=str(n) # Преобразуем число в строку

u=u+t # сложим строки

print (u)

print (uu)

m=0.0000

m=input( )

print (uu)

u="Растояние до нулевой оси отсчета"

print (uu)

print (u)

r=0.000000

r=input( )

r=float(r) # Принудительно в вещественное число

m=float(m) # Принудительно в вещественное число

ms=ms+m # Сумма масс.

mm=m*r

mms=mms+mm # Сумма моментов масс.

rx=0.000000

rx=mms/ms # Растояние от нулевой оси до Ц.Т. системы

y=r

print (uu)

if y == x:

# Далее Cдвиг — восемь пробелов в начале каждой строки

break # Выход из цикла

# Далее Cдвиг — четыре пробела в начале каждой строки

u="….….…..….…..…..…..…..…..….."

print (u)

print (u)

print (uu)

u1="Добавили массу №"

u2="="

t1=str(n) # Преобразуем число в строку

t2=str(m) # Преобразуем число в строку

u=u1+t+u2+t2

print (uu)

print (u)

u1="Растояние до нулевой оси ="

t=str(r) # Преобразуем число в строку

u=u1+t # сложим строки

print (uu)

print (u)

u1="Добавленный момент ="

t=str(mm) # Преобразуем число в строку

u=u1+t # сложим строки

print (uu)

print (u)

u1="Сумма масс ="

t=str(ms) # Преобразуем число в строку

u=u1+t # сложим строки

print (uu)

print (u)

u1="Сумма моментов ="

t=str(mms) # Преобразуем число в строку

u=u1+t # сложим строки

print (uu)

print (u)

print (uu)

u="Растояние Ц.Т. от нулевой оси ="

t=str(rx) # Преобразуем число в строку

u=u+t # сложим строки

print (uu)

print (u)

print (uu)

u="….….…..….…..…..…..…..…..….."

print (u)

print (u)

print (uu)

# Далее Cдвига нет…

u="…………………. Конец работы программы……………….."

print (u)

print (uu)

u="….….…..….…..…..…..…..…..….."

print (u)

print (u)

print (uu)

#…..…..…..…..….

input( ) # Ожидание нажима Ентер

#…..…..….. Конец листинга программы…...…

Круглое трубное сечение

# Листинг программы..

# — * — coding: cp1251 — *-

import sys # Подключили основные библиотеки

import math # Подключили математич модуль

uu=""

print (uu)

print (uu)

print (uu)

u="Расчет параметров круглого трубного сечения"

print (u)

u="Введите наружный диаметр сечения,"

print (uu)

print (u)

d=0.0000

d=input( )

print (uu)

#…..…..…..…..….

u="Введите внутренний диаметр сечения,"

print (uu)

print (u)

dv=0.0000

dv=input( )

print (uu)

print (uu)

u="….….…..….…..…..…..…..…..….."

print (u)

ll=1 # Зададим длину сечения = 1 мм.

d=float(d) # Принудительно в вещественное число

ll=float(ll) # Принудительно в вещественное число

#…..…..…..…..….

u="….….…..….…..…..…..…..…..….."

u="Диаметр наружный сечения ="

t=str(d) # Преобразуем число в строку

u=u+t # сложим строки

print (uu)

print (u)

u="Диаметр внутренний сечения ="

t=str(dv) # Преобразуем число в строку

u=u+t # сложим строки

Конец ознакомительного фрагмента.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Полезные программы Python-3. Книга третья предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я