На
Наталья

почему делфи так коряво выводит число:



Допустим последняя строка. f= -34996.182. Что за бред? В должна быть в диапазоне от -10 до 10. Сам код:
program laba1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var // îïèñàíèå ïåðåìåííûõ öåëîãî òèïà
X,F,Sum : real ;
K:integer;

begin

X:=0.6;
While X<=1 do //ãðàíèö û äëÿ x
begin
Sum:=0; //íåñêîëüêî ïîâòîðåíèé
for K:=1 to 15 do
begin

Sum:=Sum+sqrt(exp(k*x)-k*exp(ln(x)*(k+1)))/sqr(sin(k*x)); //âû÷èñëåíèÿ
If K>=10 then
begin
writeln(F);
F:= -Sum+(sin(x)/cos(x))+sqrt(exp(ln(k*x)*(1/3))); //÷òî íóæíî íàéòè è âûâåñòè
Writeln('n= ',K,' x= ',X:4:2,' f= ',F:0:1); // âûâîä n,x, f ñ îïðåä. êîë-âîì ñèìâîëîâ ïîñëå çàïÿòîé
end;
end;
X:=X+0.05; //+ 1 øàã
end;
Readln;

end.

Я имею в виду, что F ДОЛЖНА быть от -10 до 10 ПО ИДЕЕ. Но выдает совсем не то

NM
Nicole Mmm

Маленькая тайна: Программа работает ровно так, как ты её программируешь, а значит виновата не Delphi, а программист, т. е. ТЫ

Алексей Пучков
Алексей Пучков

а где написано что в диапазоне от -10 до 10?
если я правильно понял то оформи условие вывода F

if (F>=-10) and (F<=10) then Writeln(F);

и тогда будут выводиться те F которые лежат в диапазоне от -10 до 10

ТН
Толик Нурманбетов

С чего вы взяли такую идею?

Вы к сумме добавляете нечто, что делите на sin(k*x) в квадрате.
При этом k*x меняется с мелким шагом в достаточно большом диапазоне.

Вы просто попадаете в ситуацию, когда sin(k*x) близок к 0.

НЧ
Наталья Чельманова

урезайте Real от 2 до 4 знаков после запятой. а вина тут ваша

Похожие вопросы
Почему Делфи не перехватывает ошибку?
как в делфи запрограммировать кнопку "min"?(поиск минимального числа)
Как на С++, выводить число double, до 5 знаков?
почему не компилируется проект в делфи?
почему не работает разветвление в делфи?
Помогите пожалуйста с двумерным массивом, не пойму, почему выводит не числа. И ещё.
Проблема с выводом вопросов случайным образом на Делфи.
QT - вывод числа на экран.
Есть команда в делфи просто открыть окно вывода, не readln()??
в делфи пишется три числа при нажатие Button выводиться наибольшее, и если число больше 100 тогда выводит, много,