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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2015, 20:33   #1
pl9jnik
Новичок
Джуниор
 
Регистрация: 07.04.2015
Сообщений: 1
По умолчанию При запуске скомпиллированного exe файла он открывается дважды

При запуске скомпиллированного exe файла он открывается дважды. Программа простая - расчет значения по формуле в зависимости от трех введенных переменных. В самом паскале работает без проблем и считает верно. Но при запуске exe файла когда начинаешь вводить данные - окно ДОС закрывается и открывается еще одно такое же. Но когда вводишь данные во второе окно - оно просто закрывается не выдавая результата. Помогите пожалуйста.

Код:
var
a,b,c,O2,N2,Delta:real;
t:integer;
begin
write('Здравствуйте. Вас приветствует программа расчета допустимого значения расхождения Delta. Десятые и сотые следует вводить через точку.','.',' ');
write('Введите значение t (в целых градусов Цельсия)',' ');
read(t);
write('Введите значение объёмной концентрации O2(в процентах)',' ');

read(O2);
write('Введите значение объёмной концентрации N2(в процентах)',' ');
read(N2);
if t<18 then begin writeln('в таком холоде даже программа не считает'); exit; end;
if (t>=18) and (t<=24) then a:=0.13;
if (t>=25) and (t<=27) then a:=0.14;
if (t>=28) and (t<=30) then a:=0.15;
if (t>=31) and (t<=32) then a:=0.16;
if (t>=33) and (t<=34) then a:=0.17;
if (t>=35) and (t<=36) then a:=0.18;
if (t>=37) and (t<=39) then a:=0.19;
if (t>=40) and (t<=41) then a:=0.20;
if (t>=42) and (t<=44) then a:=0.21;
if t>44 then begin writeln('Эх! Только веничка не хватает...'); exit; end;

if (O2<0.0025)then b:=0.0004;
if (O2>=0.0025) and (O2<0.0035) then b:=0.0006;
if (O2>=0.0035) and (O2<0.0045) then b:=0.0007;
if (O2>=0.0045) and (O2<0.0055) then b:=0.0009;
if (O2>=0.0055) and (O2<0.0065) then b:=0.0011;
if (O2>=0.0065) and (O2<0.0075) then b:=0.0013;
if (O2>=0.0075) and (O2<0.0085) then b:=0.0015;
if (O2>=0.0085) and (O2<0.0095) then b:=0.0017;
if (O2>=0.0095) and (O2<0.011) then b:=0.00183;
if (O2>=0.011) and (O2<0.013) then b:=0.0022;
if (O2>=0.013) and (O2<0.015) then b:=0.0025;
if (O2>=0.015) and (O2<0.017) then b:=0.0029;
if (O2>=0.017) and (O2<0.019) then b:=0.0030;
if (O2>=0.019) and (O2<0.01999) then b:=0.00356;
if (O2>=0.01999) and (O2<0.0225) then b:=0.004;
if (O2>=0.0225) and (O2<0.0275) then b:=0.004;
if (O2>=0.0275) and (O2<0.0325) then b:=0.005;
if (O2>=0.0325) and (O2<0.0375) then b:=0.006;
....
if (O2>=1.1) and (O2<1.5) then b:=0.12;
if (O2>=1.5) and (O2<1.9) then b:=0.18;
if (O2>=1.9) and (O2<2.05) then b:=0.20;
if (O2>=2.05) and (O2<2.15) then b:=0.21;
if (O2>=2.15) and (O2<2.3) then b:=0.22;
if (O2>=2.3) and (O2<2.5) then b:=0.23;
if (O2>=2.5) and (O2<2.7) then b:=0.25;
if (O2>=2.7) and (O2<2.9) then b:=0.27;
if (O2>=2.9) and (O2<3.25) then b:=0.28;
if (O2>=3.25) and (O2<3.75) then b:=0.30;
if (O2>=3.75) and (O2<5) then b:=0.40;
if (O2>=5) and (O2<7) then b:=0.53;
if (O2>=7) and (O2<9) then b:=0.70;
if (O2>=9) and (O2<15.5) then b:=0.76;
if (O2>=21)then b:=0.88;

if (N2<0.11) then c:=0.015;
if (N2>=0.11)and (N2<0.13) then c:=0.018;
if (N2>=0.13)and (N2<0.15) then c:=0.021;
if (N2>=0.15)and (N2<0.17) then c:=0.024;
if (N2>=0.17)and (N2<0.19) then c:=0.027;
if (N2>=0.19)and (N2<0.21) then c:=0.03;
if (N2>=0.21)and (N2<0.23) then c:=0.03;
if (N2>=0.23)and (N2<0.25) then c:=0.04;
if (N2>=0.25)and (N2<0.27) then c:=0.04;
if (N2>=0.27)and (N2<0.29) then c:=0.04;
if (N2>=0.29)and (N2<0.325) then c:=0.05;
if (N2>=0.325)and (N2<0.375) then c:=0.05;
if (N2>=0.375)and (N2<0.425) then c:=0.06;
if (N2>=0.425)and (N2<0.475) then c:=0.07;
if (N2>=0.475)and (N2<0.525) then c:=0.08;
if (N2>=0.525)and (N2<0.575) then c:=0.08;
if (N2>=0.575)and (N2<0.625) then c:=0.09;
if (N2>=0.625)and (N2<0.675) then c:=0.10;
if (N2>=0.675)and (N2<0.725) then c:=0.11;
if (N2>=0.725)and (N2<0.775) then c:=0.12;
if (N2>=0.775)and (N2<0.825) then c:=0.12;
if (N2>=0.825)and (N2<0.875) then c:=0.13;
if (N2>=0.875)and (N2<0.925) then c:=0.14;
if (N2>=0.925)and (N2<0.975) then c:=0.15;
if (N2>=0.975)and (N2<1.1) then c:=0.15;
if (N2>=1.1)and (N2<1.3) then c:=0.18;
if (N2>=1.3)and (N2<1.5) then c:=0.22;
if (N2>=1.5)and (N2<1.65) then c:=0.25;
if (N2>=1.65)and (N2<1.699) then c:=0.262;
if (N2>=1.699)and (N2<1.75) then c:=0.26;
if (N2>=1.75)and (N2<1.85) then c:=0.27;
if (N2>=1.85)and (N2<1.95) then c:=0.28;
if (N2>=1.95)and (N2<2.25) then c:=0.30;
if (N2>=2.25)and (N2<2.75) then c:=0.40;
if (N2>=2.75)and (N2<3.25) then c:=0.40;
if (N2>=3.25)and (N2<3.75) then c:=0.50;
if (N2>=3.75)and (N2<4.25) then c:=0.60;
if (N2>=4.25)and (N2<4.75) then c:=0.70;
if (N2>=4.75)and (N2<5.25) then c:=0.70;
...
if (N2>=15)and (N2<16.25) then c:=2.20;
if (N2>=16.25)and (N2<17.25) then c:=2.22;
if (N2>=17.25)and (N2<19) then c:=2.30;
if (N2>=19)and (N2<25) then c:=2.30;
if (N2>=25)and (N2<54) then c:=2.70;
if (N2>=54) then c:=4.29;


Delta:=1.1*(sqrt(exp(ln(a)*2)+exp(ln(b)*2)+exp(ln(c)*2)));
write('Delta = ',' ');
write(Delta);
readln;
end.



И насколько я понял проблема не конкретно с этой программой. Потому, что с другой простейшей - то же самое происходит

Последний раз редактировалось Stilet; 07.04.2015 в 20:40.
pl9jnik вне форума Ответить с цитированием
Старый 07.04.2015, 20:38   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

А у тебя какой компилятор? Турбо?
Poma][a вне форума Ответить с цитированием
Старый 07.04.2015, 20:42   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Точно веничка не хватает...
Может стоит код переписать под массивы? Или так и устраивает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
при запуске открывается консоль и выскакивает окно-ошибка приложения. как исправить? Ника К Помощь студентам 1 07.06.2012 23:29
Разный результат в отладчике и при запуске *.exe pinkiller Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 02.05.2012 16:34
Дважды при запуске системы показывает логотип мат платы IFoma Операционные системы общие вопросы 7 28.02.2012 23:07
Модуль GRAPH портит русский при запуске .exe файла! Nemo-237 Паскаль, Turbo Pascal, PascalABC.NET 3 06.03.2011 22:59
Ошибка при запуске exe-ка Andrey85 Общие вопросы Delphi 10 31.10.2010 22:47