Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с задачей

5.0K
29 сентября 2006 года
Vano
25 / / 10.03.2005
Задача:
Ввести с клавиатуры x, y и вычислить, используя метод промежуточного аргумента:
z=Ctg(1+|x+y|)-(1+|x+y|)^3

Сделал вот так, но ответ выдает кажется не правильно.

Код:
program Zadanie_1;
Function Ctg(x : single) : single;
begin
Ctg:=cos(x)/sin(x);
end;

var
x, y: Integer;
z : Real;
begin
Write('x=');
ReadLn(x);
Write('y=');
ReadLn(y);
z:=ctg(1+abs(x+y))-Exp(3*Ln(1+abs(x+y)));
WriteLn('ctg(1+x+y)-(1+x+y)^3)= ',z:5:5);
end.


Что здесь не правильно?
1.6K
29 сентября 2006 года
Shtirlitz
145 / / 31.07.2006
Попробуй посчитать сначала отдельно ctg(1+|x+y|), а потом с помощью цикла (1+|x+y|) в 3-ей. И выводи после общета каждой части!
5.0K
30 сентября 2006 года
Vano
25 / / 10.03.2005
Все спасибо, я разобрался, я забыл, про то, что синусу и косинусы в радианах выводятся
273
05 октября 2006 года
3A3-968M
1.2K / / 22.12.2005
Переделать функцию синуса, чтобы она работала с градусами не сложно:
 
Код:
[FONT=Courier New]function GradSin(grad : real) : real;
begin
     GradSin := sin(grad * Pi / 180);
end;[/FONT]
5.0K
07 октября 2006 года
Vano
25 / / 10.03.2005
3A3-968M, спасибо
5.0K
09 октября 2006 года
Vano
25 / / 10.03.2005
У меня еще вопрос.
Задание: Построить таблицу фунцции "y" на отрезке [a,b] с шагом "h" с приостановкой выдачи результатов через каждые N строк таблицы. Найти максимальное и минимальное значение "y" и сотвествующие им значения аргумента "x".
Y(x)=cos(x)+|coss(x)/sin(x)|
a=-10, b=5, h=0.2, N=15.

Я сделал только часть:
Код:
Program Name_1;

Uses crt;

Var
Fx, x : Real;
Begin
clrscr;
x:=-10;
While x<=5 do
Begin
Fx:=cos(x)+abs(cos(x)/sin(x));
Writeln('y(x)=', Fx:0:10, ' x=', x:0:10);
x:=x+0.2;
End;
Repeat until KeyPressed;
End.

И то "х" выводится не правильно, а как сделать приостановку выдачи через Н строк и вывод мах и мин значения "у" и "х" не знаю =(
273
09 октября 2006 года
3A3-968M
1.2K / / 22.12.2005
Вот что я тебе сваял:
Код:
[FONT=Courier New]program ZazSolution;[/FONT]
[FONT=Courier New]uses crt;[/FONT]
 
[FONT=Courier New]function[/FONT] [FONT=Courier New]CTg(X : Real) : Real;
begin
     CTg := Cos(x)/Sin(x); [COLOR=blue]{Calculate cotangent}[/COLOR]
end;[/FONT]
 
[FONT=Courier New]function F(x : Real) : Real; [COLOR=blue]{<---This is your function}[/COLOR]
begin
     F := Cos(x) + Abs(CTg(x));
end;[/FONT]
 
[FONT=Courier New]var step, x, y : real;
    maxX, maxY, a, b : real;
    linePos, tableSize : integer;[/FONT]
[FONT=Courier New]begin
     linePos := 0;
     clrscr;
     write([COLOR=blue]'Entry start value of range [a, b]: '[/COLOR]);
     readln(a);
     write([COLOR=blue]'Entry end value of range [a, b] : '[/COLOR]);
     readln(b);
     write([COLOR=blue]'Entry step of evaluation : '[/COLOR]);
     readln(step);
     write([COLOR=blue]'Entry size of visible part of table : '[/COLOR]);
     readln(tableSize);
     x := a;
     while(x <= b) do
     begin
          y := F(x);
          writeln([COLOR=blue]'Y = '[/COLOR], y, [COLOR=blue]'X = '[/COLOR], x);
          x := x + step;
          Inc(linePos);
          if linePos = tableSize then
          begin
               writeln([COLOR=blue]'Press any key...'[/COLOR]);
               readkey;
               clrscr;
               linePos := 0;
          end;
     end;
     repeat until keypressed;
end.[/FONT]

Думаю то что тебе и надо
273
09 октября 2006 года
3A3-968M
1.2K / / 22.12.2005
Блин, забыл про максимумы и минимумы. Вот теперь полное решение:
Код:
[FONT=Courier New]program ZazSolution;[/FONT]
[FONT=Courier New][/FONT]
[FONT=Courier New]uses crt;[/FONT]
[FONT=Courier New][/FONT]
[FONT=Courier New]function CTg(X : Real) : Real;
begin
     CTg := Cos(x)/Sin(x); [COLOR=blue]{Calculate cotangent}[/COLOR]
end;[/FONT]
[FONT=Courier New][/FONT]
[FONT=Courier New]function F(x : Real) : Real; [COLOR=blue]{<---This is your function}
[/COLOR]begin
     F := Cos(x) + Abs(CTg(x));
end;[/FONT]
[FONT=Courier New][/FONT]
[FONT=Courier New]var step, x, y : real;
    maxX, maxY, a, b, minX, minY : real;
    linePos, tableSize : integer;[/FONT]
[FONT=Courier New]begin
     linePos := 0;
     clrscr;
     write([COLOR=blue]'Entry start value of range [a, b]: '[/COLOR]);
     readln(a);
     write([COLOR=blue]'Entry end value of range [a, b] : '[/COLOR]);
     readln(b);
     write([COLOR=blue]'Entry step of evaluation : '[/COLOR]);
     readln(step);
     write([COLOR=blue]'Entry size of visible part of table : '[/COLOR]);
     readln(tableSize);
     x:= a;
     maxX := x;
     minX := x;
     maxY := F(maxX);
     minY := F(minX);
     while(x <= b) do
     begin
          y := F(x);
          if minY > y then
          begin
               minY := y;
               minX := x;
          end;
          if maxY < y then
          begin
               maxY := y;
               maxX := x;
          end;
          x := x + step;
          writeln([COLOR=blue]'Y = '[/COLOR], y, [COLOR=blue]' X = '[/COLOR], x);
          Inc(linePos);
          if linePos = tableSize then
          begin
               writeln([COLOR=blue]'Press any key...'[/COLOR]);
               readkey;
               clrscr;
               linePos := 0;
          end;
     end;
     writeln([COLOR=blue]'MAX: Y('[/COLOR], maxX, [COLOR=blue]') = '[/COLOR], maxY);
     writeln([COLOR=blue]'MIN: Y('[/COLOR], minX, [COLOR=blue]') = '[/COLOR], minY);
     repeat until keypressed;
end.[/FONT]
5.0K
09 октября 2006 года
Vano
25 / / 10.03.2005
3A3-968M, большое спасибо!
29K
20 мая 2007 года
Lisiya
1 / / 20.05.2007
а как в этой задаче сделать так, чтобы таблица выводилась след. видом: N n/n // x // y
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог