Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 10.12.2012, 02:25   #1 (permalink)
Night_Rain
Новичок
 
Регистрация: 25.11.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Работа с параметрами

Составить программу, которая содержит две функции: для вычисления гиперболического тангенса th(x) и обратной к ней функции гиперболического арктангенса arth(x). Составить процедуру, которая получает в качестве параметра значение аргумента x и возвращает значения x1=arth(th(x)) и x2=th(arth(x)), вычисленные с использованием двух введенных функций. Вызвать данную процедуру из тела основной программы для нескольких значений аргумента x. Для каждого такого вызова программа должна определять, какое из вычисленных значений (x1 или x2) ближе к исходному значению x.

Pascal.
Night_Rain вне форума   Ответить с цитированием

Старый 10.12.2012, 02:25
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Данные темы могут вам хорошо помочь в решении вопроса

Как запустить Хром с параметрами?
Операционная система MS DOS. Командные файлы с параметрами
Моя последняя работа
Работа по дереву, лак
Работа со строками
Работа факса

Старый 10.12.2012, 10:38   #2 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,304
Сказал(а) спасибо: 290
Поблагодарили 512 раз(а) в 169 сообщениях
Репутация: 93301
По умолчанию

Цитата:
Сообщение от Night_Rain Посмотреть сообщение
Составить программу, которая содержит две функции...
Решительно не вижу проблем. Пожалуйста:
Код:
Var
 x,x1,x2:Extended;
 i:Integer;

function Th(z:extended):extended;
begin
 Th:=(Exp(z)-Exp(-z))/(Exp(z)+Exp(-z));
end;

function ArTh(z:extended):extended;
begin
 ArTh:=(1/2)*Ln((z+1)/(1-z));
end;

Procedure Var_s(y:extended; var y1:extended; var y2:extended);
begin
 y1:=ArTh(Th(y));
 y2:=Th(ArTh(y));
end;

Begin
 For i:=-9 to 9 do
  begin
   x:=i/10;
   Var_s(x,x1,x2);
   Write('x=',x:4:1,'   x1=',x1,'   x2=',x2);
   If Abs(x-x1)<Abs(x-x2) then
    Writeln('   x1')
   else
    Writeln('   x2');
  end;
 Readln;
End.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 20:27.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.