Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2014, 18:09   #1
Navka
Пользователь
 
Аватар для Navka
 
Регистрация: 26.02.2012
Сообщений: 39
Стрелка Решение уравнения в Pascal

Здравствуйте! Уже битый час бьюсь головой об стол и не могу написать такую формулу:
(|pi|-x+a)/(cos^4(x))

Код:
Program Rpz_18;

var x, a, z: real;

begin
   
   writeln('Введите два числа через пробел');
   readln(x,a);
   z:=(abs(pi)-x+a)/(exp(4*(ln(cos))(x)));
   writeln('Ответ=',z);
   
end.
Ошибка: Program1.pas(9) : Нельзя преобразовать тип function(x: real): real к real

Буду благодарна за помощь.

Последний раз редактировалось Navka; 08.02.2014 в 18:15.
Navka вне форума Ответить с цитированием
Старый 08.02.2014, 18:17   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

напишите так:
Код:
z:=(pi - x + a) - sqr(sqr(cos(x)));
Не вижу смысла брать модуль от положительного числа Pi
Вадим Мошев вне форума Ответить с цитированием
Старый 08.02.2014, 18:21   #3
Navka
Пользователь
 
Аватар для Navka
 
Регистрация: 26.02.2012
Сообщений: 39
По умолчанию

Огромное спасибо, все заработало!
А про модуль - самой не понятно, но в задании он сказан...
Navka вне форума Ответить с цитированием
Старый 08.02.2014, 18:26   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Я небольшую ошибку допустил. замените "-" на "/":
Код:
(pi - x + a) / sqr(sqr(cos(x)));
Вадим Мошев вне форума Ответить с цитированием
Старый 08.02.2014, 18:27   #5
Navka
Пользователь
 
Аватар для Navka
 
Регистрация: 26.02.2012
Сообщений: 39
По умолчанию

Ох, точно, я и не заметила
Еще раз благодарю!
Navka вне форума Ответить с цитированием
Старый 08.02.2014, 19:38   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Цитата:
Сообщение от Navka Посмотреть сообщение
Код:
z:=(abs(pi)-x+a)/(exp(4*(ln(cos))(x)));
Ошибка: Program1.pas(9) : Нельзя преобразовать тип function(x: real): real к real
Ошибка в том, что Вы передаёте в качестве аргумента функции Ln не выражение, вычисляющее косинус числа, а саму функцию косинуса, валидатор ожидает тип выражения real (результат работы функции косинуса) а вы ему даёте саму функцию косинуса, о чём он прямо говорит - человечьим, английским языком.
Исправить стоит так, чтобы (х) было непосредственно у косинуса, аргументом функции => cos(x), тогда всё будет нормально - функции косинуса даётся х она его вычисляет и подставляет результат в виде аргумента функции Ln.
Исправление Вадима Мошева даст правильный ответ, но для случая другого показателя степени, нежели 4 (или подобные небольшие), стоит всё же использовать метод через экспоненту и логарифм (либо функцию Power из модуля Math).

Последний раз редактировалось phomm; 08.02.2014 в 19:41.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение уравнения методом Ньютона Pascal 2Dletti Помощь студентам 1 22.01.2013 22:44
[Pascal] Решение квадратного уравнения KateMM Помощь студентам 6 25.02.2012 18:29
Решение квадратного уравнения с процедурой нахождения дискриминанта в Pascal Рифатина Паскаль, Turbo Pascal, PascalABC.NET 6 29.11.2011 18:47
Решение уравнения (Pascal) elbevel Помощь студентам 8 13.11.2011 15:43
Решение логарифмического уравнения Pascal Hita4 Паскаль, Turbo Pascal, PascalABC.NET 4 13.09.2011 14:42