Здравствуйте! Написал программу и столкнулся с такой проблемой что в условии вывода при вводе с экрана считает все значение правильно кроме 1E-5 , 2E-5 , 3E-5 и так далее. Соответственно значения скажем 1.1E-5 , 1.2E-5 он считает и выводит в консоль а при тех значениях которые написал я не выводит ничего.
Вот собсивенно сам код
Код:
[code]program lab61;
{$APPTYPE CONSOLE}
uses
Math,
Windows,
Messages,
SysUtils,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
StdCtrls,
ExtCtrls;
const
m=3000;
n=100;
var
i,j,flag:integer;
d,l,dt,dh,t,q,h,ro,k,c,R,a:real;
TT:array [0..m,0..n] of real;
RF1:TextFile;
RF2:TextFile;
begin
{AssignFile(RF1, 'C:\lab6.txt');
AssignFile(RF2, 'C:\lab6_dig.txt');
ReWrite(RF1);
ReWrite(RF2);}
ro:= 6000;
k:=31;
c:=514;
R:=0.55;
h:=(1E-4);
q:=2.71E+11;
a:=k/(c*ro);
dt:=(1E-4)/m; //шаг по температуре
dh:=((h)/(n)); //шаг по глубине
h:=0;
i:=0;
j:=0;
for i:=0 to m do
begin
for j:=0 to n do
begin
TT[i][j]:=20;
end;
end;
for i:=1 to m do
begin
l:=i;
t:=t+dt;
TT[i][0]:= (2*q*(1-R)*sqrt(a*t))/(k*sqrt(3.14)) + 20;
for j:=1 to n-1 do
begin
l:=j;
TT[i][j]:=((a*dt)/(dh*dh));
TT[i][j]:=TT[i][j]*(TT[i-1][j+1]-(2*TT[i-1][j])+TT[i-1][j-1]);
TT[i][j]:=TT[i][j]+TT[i-1][j];
end;
// Writeln(i);
end;
h:=0;
for j:=0 to n-1 do
begin
write(h); write('______');
writeln(TT[m][j]);
h:=dh*(j+1);
end;
h:=0;
for i:=0 to 1000 do
begin
writeln('vvedite glubinu');
h:=0;
readln(l);
for j:=0 to n do
begin
h:=dh*(j);
if (l=h) then
begin
writeln(TT[m][j]);
end;
end;
end;
//========================================================печать массива
writeln('OlLLOLlol');
for j:=0 to n-1 do
begin
l:=j;
write(j); write(' '); writeln(TT[m][j]);
end;
{ flag:=3;
while (flag>0) do
begin
writeln('Continue?');
readln(flag);
writeln('GLUBINA');
readln(j);
end;}
readln;
//readln;
//CloseFile(RF1);
end.[/code]
Подскажите пожалуйста в чем проблема собственно.