Листинги программ
:
Линейную интерполяцию применяем для определения значения коэффициента находящегося между двемя табличными значениями.
Листинг программы.
# -*– 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 # сложим строки