|
 25.2 Кб |
|
| Помогите написать программу)
ее условия прикреплено в теме (png файл) | |
|
|
|
|
|
|
|
для: nikolayers
(01.12.2011 в 00:26)
| | Меня хватило вот на это :))), табличку сами форматируйте (если никак не выходит, пишите - возможно кто-то другой отрисует или у меня время появится повозиться с задачей)
program funct;
Uses Crt;
Var
X, Y, Xs, Xe, Step, Tan, CosX :Real;
k :Integer;
begin
{Начало интервала, требуем, чтобы был больше 1,
чтобы предотвратить деление на 0}
repeat
Write('Xs (>1) = ');
Readln(Xs);
until(Xs > 1);
{Конец интервала, требуем, чтобы был больше Xs}
repeat
Write('Xe (>Xs) = ');
Readln(Xe);
until(Xe > Xs);
{Шаг, требуем, чтобы был больше 0}
repeat
Write('Step (>0) = ');
Readln(Step);
until(Step > 0);
X := Xs;
while X < Xe do
begin
Y := 0;
{Ума-то хватит подобрать условия для pi/2 -
пресекаем, чтобы предотвратить деление на 0}
CosX := Cos(X);
if CosX < 0.00001 Then CosX := 0.00001;
{Тангенса нет, считаем его сами}
Tan := Sin(X) / Cos(X);
for k := 1 to 10 do
begin
Y := Y + (Tan / (k - 3)) / (1 - X);
end;
Writeln(X, ' - ', Y);
X := X + Step;
end;
end.
|
| |
|
|
|
|
|
|
|
для: nikolayers
(01.12.2011 в 00:26)
| | Кстати, у вас k пробегает значение от 1 до 10 с интервалом 1, а в знаменателе стоит k - 3 (при k = 3 получается 0). При случае, у того, кто вам дал задачу поинтересуйтесь не переборщил ли он с делением на 0 - это уж вообще ни в какие ворота. Ладно там ловушки с отрицательным шагом или косинус пи пополам... но тут просто не обойти никак, что шаг что-ли пропускать? | |
|
|
|
|
|
|
|
для: cheops
(01.12.2011 в 01:36)
| | в случае ошибки в таблице должно выводится об ошибке,а так за написанное вами спасибо человеческое)) | |
|
|
|