Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2012, 09:13   #1
Phoenix_Andrey
Новичок
Джуниор
 
Регистрация: 04.04.2012
Сообщений: 3
По умолчанию Определить язык программирования и немного объяснить суть программы

Доброе время суток, уважаемые программисты!
Ниже привожу сам код программы, который добрые очники нашли для меня год назад, но без объяснений, а сейчас уже поздно обращаться.
О чем прошу Вас: подскажите на каком языке это красивое дело написано, по возможности в какой программе (если ссылки не запрещены, конечно) обрабатывать код и насколько сложно подогнать под себя. Суть в том, что мне нужно будет ввести свои данные (по идее только цифры будут отличаться), соответственно, как я понял (а я в этом разбираюсь как балерина в тендерных закупках) это не будет выглядеть как "введите данные эти и эти", а в программе надо будет ввести. Т.е. теоритечески от меня потребуется немножко покопаться, догадаться какие и где цифры подставить и программка выведет мне нужные данные. Надеюсь что все так и будет, интуитивно понятно. Заранее благодарю всех откликнувшихся, хотя и уверен что мой вопрос для пятиклассника разбирающегося в программировании =). З.ы. есть предположение, как кто-то подсказывал давным-давно, что это питон. Но скачав какую-то программу так и не понял чего там делать, может и не он вовсе..
Код:
# -*- coding: utf-8 -*-
from xlrd import *
from math import exp, factorial, sin, sqrt, tan, pi
def rov(t): return 1.293 * 273 / (273 + t)
def c(teta): return N**N * teta**(N-1) * exp(- N * teta) / factorial(N-1)
def u1(teta, tpr): return (U0 - j * tpr * teta)
def u2(teta, tpr): return (Umin - (Ukr - Umin)*exp(Ddiff * pi**2/R**2 * tpr * (teta - tkr)))
def I1(tpr): 
    I = 0
    teta = 0.0
    while teta < tkr/tpr:
        I += dteta * (u1(teta, tpr) * c(teta) + u1(teta + dteta, tpr) * c(teta + dteta))/2
        teta += dteta
    return I

def I2(tpr):
    I = 0
    teta = tkr/tpr
    while teta < tend/tpr:
        I += dteta * (u2(teta, tpr) * c(teta) + u2(teta + dteta, tpr) * c(teta + dteta))/2
        teta += dteta
        return I

G1 = 45.0
rom = 935.0
ronm = 235.0
alfa = 60.0
alfa *= pi/180
beta = alfa / 2
Uk = 0.05
Umin = 0.007722
T = 31.0    #температура

tkr = 120.0
tend = 300.0
U0 = 0.708
Ukr = 0.1139
j = 0.00495
Ddiff = 0.72*10**-6
R = 0.001
mu = 0.019*10**-3
dH = 285.81 - 241.81

dteta = 0.01

book = open_workbook("dasha.xls")
sh = book.sheet_by_index(0)
t = []
C = []
C2 = []

for rx in range(sh.nrows-2):
    t.append(sh.row(rx)[0].value) 
    C.append(sh.row(rx)[1].value)

dispersion = 0
for i in range(len(t)-1):
    dispersion += (C[i+1] + C[i]) / 2 * (t[i+1] - 1)**2 * (t[i+1] - t[i])

N = round(1.0/dispersion)

for i in t:
    C2.append(c(i))

print 'Дисперсия кривой отклика: сигма = %.3f, откуда число ячеек: N = %d' % (dispersion, N)
eps = 0.0001
tprL = tkr
tprR = 10000.0

deltaL = Uk - I1(tprL) - I2(tprL)
deltaSr = 1.0

while abs(deltaSr) > eps:
    tprSr = (tprL + tprR)/2
    deltaSr =  Uk - I1(tprSr) - I2(tprSr)
    if deltaSr/deltaL > 0:
        deltaL = deltaSr
        tprL = tprSr
    else:
        tprR = tprSr

tpr = tprR
print 'Среднее время пребывания в камере сушилки: tpr = %.1f секунд;' % tpr

#РАЗМЕР СУШИЛЬНОЙ КАМЕРЫ
G = G1/3600
p = G * tpr    #масса материала
Vk = p/ronm      #объем материала, он же объем конуса
d = (8.0 * Vk * tan(beta) / (21.0 * pi) )**(1.0/3) 
D = 4.0 * d
Hk = 3.0 * d / ( 2.0 * tan(beta))
Hc = 2.0 * Hk
V = Vk + Hc * pi * D**2/4
print 'Размеры сушильной камеры: V = %.3f куб.м; d = %.3f м; D = %.3f м; Hk = %.3f м; Hc = %.3f м.'%(V,d,D,Hk,Hc)

#РАСХОД ВОЗДУХА ЧЕРЕЗ КАМЕРУ
dp = 2.0*R
g = 9.81
Ar = dp**3 * rom * g / (rov(T) * mu**2)
Sn = pi * d**2 / 4
Sv = pi * d**2 / 4

#начало псевдоожижения
ReKr = Ar/(1400+5.22*sqrt(Ar))
wkr = ReKr * mu / (dp * rov(T))
Lkr = Sv * wkr 

#начало витания
ReVit = Ar / (18 + 0.6 * sqrt(Ar))
wvit = ReVit * mu / (dp * rov(T))
Lvit = Sv * wvit

#оптимальная скорость газа
GY = Sn/Sv*100
w = 0.5 * GY**0.2 * sin(beta)**0.27
L = Sv * w
print 'Оптимальный расход воздуха: L = %.3f л/с;' % (L*1000)

#ПЕРЕПАД ДАВЛЕНИЯ В ФОНТАНИРУЮЩЕМ СЛОЕ
k1 = 0.92 * Hk + 0.5
eps0 = ronm/rom
dP = k1 * Hk * (1-eps0) * rom * g
print 'Перепад давления: dP = %.3f кПа;' % (dP/1000)

#РАСХОД ТЕПЛА
Gv0 = G1 * U0
Gkau = Gv0/U0 * (1.0 - U0)
Gvkon = Gkau * Uk / (1.0 - Uk)
dGv = Gv0 - Gvkon
Q = dGv / 0.018 * dH
print 'Расход тепла: Q = %.3f кДж/ч или %.3f Вт;' % (Q, Q/3600)
Phoenix_Andrey вне форума Ответить с цитированием
Старый 04.04.2012, 09:21   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Язык программирования - возможно, Python.
Вадим Мошев вне форума Ответить с цитированием
Старый 04.04.2012, 09:50   #3
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

с весьма большой долей вероятности согласен что это Python...
визуальное форматирование... коментарии через решетку... импорт библиотек... все указывает на него... а что делает?... какие то производственые.. или физические рассчеты воздуха... то что после def это объявление функции... а все остальное уже манипулирование данными на основе функций...
Код:
print "vvedite Z "
z = float(raw_input())
ввод вещественных чисел...
в случае если совсем туго будет... стучите...
Код:
z = int(raw_input())
целочисленных
ну и по умолчанию
Код:
z = raw_input()
строки
p.s. в pythone визуальное форматирование (отступы) это часть "синтаксиса"... равносильная скобкам в Си и begin /end в паскале...
пишу код не только за печеньки

Последний раз редактировалось VIK_aka_TOR; 04.04.2012 в 10:00.
VIK_aka_TOR вне форума Ответить с цитированием
Старый 04.04.2012, 09:59   #4
Phoenix_Andrey
Новичок
Джуниор
 
Регистрация: 04.04.2012
Сообщений: 3
По умолчанию

Цитата:
Сообщение от VIK_aka_TOR Посмотреть сообщение
с весьма большой долей вероятности согласен что это Python...
визуальное форматирование... коментарии через решетку... импорт библиотек... все указывает на него... а что делает?... какие то производственые.. или физические рассчеты воздуха... то что после def это объявление функции... а все остальное уже манипулирование данными на основе функций...
Отлично, с одним определились, спасибо. Теперь вопрос в какой программке это дело надо запускать? Пробовал две каких-то которые всем советуют, скопировал код туда, но ничегошеньки не вышло, то ли я не понял как сделать чтобы пошел расчет, то ли не так это делается. Вторая вообще выглядела как командная окошко в винде.
з.ы. вроде разобрались. вечером буду пробовать)

Последний раз редактировалось Phoenix_Andrey; 04.04.2012 в 10:07.
Phoenix_Andrey вне форума Ответить с цитированием
Старый 04.04.2012, 10:48   #5
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Python 2 (иногда и наши, на американский манер, читают "ПАйтон" ).

Используется пакет xlrd для чтения из таблиц Exсel (тут ничего не подскажу - не возникало, хвала Создателю, необходимости в таких работах).

Места тусовки русскоязычной публики:
PySU
PyDev
Нужны будут англоязычные ресурсы - скажете, дам.

Запускать - хоть из командной строки, хоть из текстового редактора Если задание не типа "сдать и забыть", а потом будете работать, то со временем подберёте подходящую Вам IDE. Для начала можете PythonCard или SPE попробовать...

ADDED 08:51 CET:
По программе: читаются из таблицы dasha.xls результаты каких-то замеров и вычисляется элементарная статистика. Точнее не скажу - "Даши" рядом нет

Последний раз редактировалось Vago; 04.04.2012 в 10:51.
Vago вне форума Ответить с цитированием
Старый 04.04.2012, 14:27   #6
Phoenix_Andrey
Новичок
Джуниор
 
Регистрация: 04.04.2012
Сообщений: 3
По умолчанию

Печально...) у меня тоже Даши нет...(= накрылся курсач медным тазом)))
Спасибо всем за ответы. Тему можно закрывать.
Phoenix_Andrey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Немного флуда из области программирования гаджетов Ksardas13 Общие вопросы C/C++ 1 09.11.2011 11:16
какой язык программирования способен создавать программы на телефоны с платформой java. ромик0 Помощь студентам 5 21.07.2011 23:53
Не могу определить язык программирования lockerzfan Помощь студентам 8 24.06.2011 13:23
Определить язык программирования Nemez Свободное общение 1 03.03.2010 12:56
Язык программирования С++ Jasper92 Свободное общение 2 09.11.2009 13:51