Вот привожу формулу для расчёта давления на одной высоте, зная давление на другой высоте и разность высот:
p1 = p0 * Math.exp((-0.02898*9.80665*h)/(8.314444444444*(t+273.15)))
Где p1 - давление в верхнем пункте, p0 - давление в нижнем пункте, h - разность высот в метрах, t - температура воздуха.
Если из этой формулы опытные математики смогут вывести h, то можно будет написать программу высотомер. Самый точный высотомер получится в том случае, когда давление будет измеряться на двух различных высотах и тогда можно будет с высокой точностью высчитать разность высот между этими пунктами. В авиации высотомеры отталкиваются от давления на уровне моря, которое им по радиостанции передают наземные метеослужбы. Это давление называется QNH. QNH нужен для знания высоты полёта. Для посадки нужно знать высоту полёта не над уровнем моря, а над уровнем ВПП, поэтому в этом случае за точку отсчёта берётся давление на уровне ВПП (QFE). В случае, когда принять по радиосвязи QNH или QFE не возможно, то в высотомере выставляется среднее значение QNH, которое равно нормальному атмосферному давлению на уровне моря 760 мм или 1013,25 hPa.
Но это уже будут приблизительные расчёты высоты. Если окажется, что реально давление ниже введённого среднего, то высота будет завышена. если давление будет реальное выше введённого среднего, то высота будет занижена. В таком случае, если ваш барометр будет лежать дома на столе и давление будет падать, то ваш высотомер покажет. что вы поднимаетесь всё выше и выше, а если давление будет расти, то высотомер покажет, что вы опускаетесь всё ниже и ниже. Просто барометр будет за точку отсчёта считать неизменное среднее давление 760 мм, и любое изменение реального давления для барометра будет казаться следствием вашего передвижения по вертикали, а не следствием изменения погоды.
Вот реально рассчитанный пример для температуры 0 градусов по Цельсию, чтобы наглядно продемонстрировать выше написанное:
Если вы летите на чём-нибудь и ваш барометр показывает давление 407 мм рт.ст., а наземная метеослужба передала вам QNH 790, то ваш высотомер покажет, что вы летите на высоте 5300 м. Это будет на самом деле верно.
Если же Вы не сможете узнать в данный момент, чему равен QNH и введёте среднее значение 760, то высотомер покажет, что вы летите на высоте 4990 м, а ведь реальная высота 5300 м.
Вот в этом случае нужно вывести из этой формулы h:
Если давление в паскалях:
p1 = 101325 * Math.exp((-0.02898*9.80665*h)/(8.314444444444*(t+273.15)))
где p1 - это давление, показываемое вашим барометром, h - высота в метрах, t - температура воздуха в градусах.
Так что думайте, кому нужен такой высотомер.