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

Python 3, полезные программы


Скачать книгу

align="center">

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

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

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

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

      Результаты расчета записываются в файл '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 # Расчитали величину подьема

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

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

      u=u+ss

      print (u)

      print (uu)

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

      ss=str(ht) # Преобразуем