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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2019, 09:33   #1
Evgen2019
 
Регистрация: 28.03.2019
Сообщений: 4
По умолчанию Формулы

Здравствуйте, у меня вопрос про Delphi7.
У меня не получается ввести в Delphi7 формулу N=n*k*T, где k-Постоянная Больцмана(1,38*10^-23) десять в минус 23-ей степени и Т-шумовая температура 290. Подскажите пожалуйста как это реализовать Delphi 7?
Спасибо заранее
Evgen2019 вне форума Ответить с цитированием
Старый 29.03.2019, 09:47   #2
Russian_watson
Пользователь
 
Регистрация: 15.02.2016
Сообщений: 39
По умолчанию

Покажите свои наработки
Russian_watson вне форума Ответить с цитированием
Старый 29.03.2019, 10:00   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

например так
Код:
r:=n*1.38*IntPower(10,-23)*290;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.03.2019, 10:22   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

раз постоянная, то можно её и в константы записать:
Код:
const
  k = 1.38E-23;
var
 r, n,T : extended;
begin
  n := 6.06E23;
  T := 290;
  r := n * k * T;
  WriteLn(r:0:30);
  Readln
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.03.2019, 10:41   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

А может, собака порылась в том, что ТС в формуле, как и в посте, разделителем запятую имеет, а не точку ? Или экспоненциальный формат не вкурил. https://ru.wikipedia.org/wiki/%D0%AD...B8%D1%81%D1%8C
Цитата:
можно её и в константы записать:
и нужно.
А про число Авогадро n := 6.022E23 в исходном посте ничо не было Там, может быть, молекул гораздо меньше было.

Последний раз редактировалось digitalis; 29.03.2019 в 10:53.
digitalis вне форума Ответить с цитированием
Старый 29.03.2019, 11:26   #6
Evgen2019
 
Регистрация: 28.03.2019
Сообщений: 4
По умолчанию

Вот,только какое бы я число 'а' не вводил постоянно один и тот же ответ получается
procedure TForm1.Button1Click(Sender: TObject);
const k=1.38e-23;
var a,T,N:extended;
begin
T:=290;
a:=10;
N:=a*k*T;
Label1.Caption:=floattostr(N)
end;
Evgen2019 вне форума Ответить с цитированием
Старый 29.03.2019, 11:39   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

чтобы ответ был адекватным, число a должно быть достаточно большим.
ну, как минимум с 20 нулями (лучше, если ~с 22-23 нулями).
иначе будете получать ноль в ответе.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.03.2019, 11:41   #8
Evgen2019
 
Регистрация: 28.03.2019
Сообщений: 4
По умолчанию

Вот именно,мне не нужно такие большие цифры. Мне по заданию нужно будет ввести 2,3,4 и получить разные ответы и все! Как мне это лучше сделать? После написания формул у меня будут графики.
Evgen2019 вне форума Ответить с цитированием
Старый 29.03.2019, 11:45   #9
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Ну и будут одинаковые, если вводить куда-то в белый свет a , а потом присваивать a:=10;
Все выводит нормально.
Код:
procedure TForm1.Button1Click(Sender: TObject);
const k=1.38e-23;
var a,T,N:extended;
begin
T:=290;
a:=StrToFloat (Edit1.Text);
N:=a*k*T;
Memo1.Lines.Add (FloatToStr(a) + ' === ' + FloatToStr(N))
end;
Serge_Bliznykov
Цитата:
чтобы ответ был адекватным, число a должно быть достаточно большим.
ну, как минимум с 20 нулями (лучше, если ~с 22-23 нулями).
иначе будете получать ноль в ответе.
Это - новое открытие в физике ?
Изображения
Тип файла: jpg Avogad.JPG (8.0 Кб, 82 просмотров)

Последний раз редактировалось digitalis; 29.03.2019 в 11:52.
digitalis вне форума Ответить с цитированием
Старый 29.03.2019, 11:55   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Это - новое открытие в физике ?
да нет. просто есть ограничение на хранение значимой части.
тут не тот случай.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поменять положительное число на отрицательное при получении результата после формулы "если", При использовании формулы "если" выходят положительные и отрицательные числа asanee Помощь студентам 2 05.01.2017 08:45
C# Формулы LeNZZZ08 Помощь студентам 1 07.11.2014 06:24
Формулы shadezx Помощь студентам 1 03.12.2013 20:07
Формулы SunKnight Общие вопросы Delphi 2 07.04.2008 09:38