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


Ответ
 
Опции темы Опции просмотра
Старый 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
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от 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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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