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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2016, 22:27   #1
Misapapa
Пользователь
 
Регистрация: 19.04.2016
Сообщений: 10
По умолчанию Неверная вещественная операция в программе

Здравствуйте. Меня попросили написать программу, но почему-то после ввода х, Паскаль выдает ошибку: Неправильная вещественная операция в строке 9.
1.Program Dopolnitelno;
2.Var
3.Y,b,a,x:Real;
4.Begin
5.Writeln('Введите x');
6.read(x);
7.a:=sin(exp(10));
8.b:=ln(30)/ln(2);
9.Y:=(ln(abs(exp(3*ln(x)))-exp(4*ln(x)))+7/ln(10)+cos(3/5*2)/sin(3/5*2)/sqr(cos(pi/4))+sin(pi/8)/cos(pi/8)+exp(-2*a*ln(b)));
10.Writeln('Y=', Y:7:2);
11.End.
Где в этой строке ошибка?

2.Ниже уравнение, по которому нужно было написать программу. Может так будет понятней моя ошибка?
Изображения
Тип файла: jpg 5647645766.jpg (12.2 Кб, 122 просмотров)

Последний раз редактировалось Misapapa; 19.04.2016 в 23:03.
Misapapa вне форума Ответить с цитированием
Старый 19.04.2016, 22:37   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Конечно не правильная. Присвой ей, хоть какое-то значение.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 19.04.2016, 22:42   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от Misapapa Посмотреть сообщение
... но почему-то после ввода х, Паскаль выдает ошибку: Неправильная вещественная операция в строке 9. ...
Где в этой строке ошибка?
Если ошибка - после ввода, значит ошибка - не в строке.
Значит ввели что-то не то.
Вы этот ваш x скармливаете логарифму. Может быть x<0 или =0

Или в этой чудовищной строке получается логарифм от значения < 0.

PS Вот тут: 10.exp(4*ln(x))) - что за точка перед exp? Может быть * ?

Последний раз редактировалось type_Oleg; 19.04.2016 в 22:45.
type_Oleg вне форума Ответить с цитированием
Старый 19.04.2016, 22:43   #4
Misapapa
Пользователь
 
Регистрация: 19.04.2016
Сообщений: 10
По умолчанию

Я не совсем понял. Как это присвоить ей какое либо значение?
Misapapa вне форума Ответить с цитированием
Старый 19.04.2016, 22:45   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не разбирал всю строку, но сразу в глаза бросилось,
а что означает 10 c точкой?
Код:
10.exp(4*ln(x)))
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.04.2016, 22:45   #6
Misapapa
Пользователь
 
Регистрация: 19.04.2016
Сообщений: 10
По умолчанию

PS Вот тут: 10.exp(4*ln(x))) - что за точка перед exp? Может быть * ?[/QUOTE]
Это я опечатался, там нет ни 10 ни точки
Misapapa вне форума Ответить с цитированием
Старый 19.04.2016, 22:48   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Misapapa Посмотреть сообщение
Я не совсем понял. Как это присвоить ей какое либо значение?
Не обращайте на это внимания, Смит о чём-то своём..


Цитата:
Это я опечатался, там нет ни 10 ни точки
тогда возьмите текст вашей программы, скопируйте его в буфер обмена и вставьте на форум.
в точности так, как это код у Вас есть, такой и должен тут быть.
Программирование не терпит неточностей и опечаток.

А ещё:
- какой у Вас компилятор Паскаля?
- какое значение X Вы вводите?
- приведите исходную формулу
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.04.2016, 22:51   #8
Misapapa
Пользователь
 
Регистрация: 19.04.2016
Сообщений: 10
По умолчанию

Код:
Program Dopolnitelno;
Var
Y,b,a,x:Real;
Begin
Writeln('Введите x');
read(x);
a:=sin(exp(10));
b:=ln(30)/ln(2);
Y:= (ln(abs(exp(3*ln(x)))-exp(4*ln(x)))+7/ln(10)+cos(3/5*2)/sin(3/5*2)/sqr(cos(pi/4))+sin(pi/8)/cos(pi/8)+exp(-2*a*ln(b)));
Writeln('Y=', Y:7:2);
End.
Вот текст программы

Последний раз редактировалось Вадим Мошев; 20.04.2016 в 05:27.
Misapapa вне форума Ответить с цитированием
Старый 19.04.2016, 22:51   #9
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

И вообще, чушь какая-то
Какой смысл в выражении abs(exp... ? Ведь экспонента и так всегда > 0
И что, вместо 3/5*2 просто 1.2 или 6/5 нельзя ?

Последний раз редактировалось type_Oleg; 19.04.2016 в 22:53.
type_Oleg вне форума Ответить с цитированием
Старый 19.04.2016, 22:56   #10
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Misapapa Посмотреть сообщение
Я не совсем понял. Как это присвоить ей какое либо значение?
Ну хотя-бы ноль.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неверная вещественная операция и деление на ноль, как исправить? Sting95 Помощь студентам 1 22.10.2013 01:13
Неверная конвертация из CSV DAV7772 Microsoft Office Excel 5 20.12.2011 22:37
Неверная вещественная операция PascalABC notter Помощь студентам 0 24.05.2011 17:30
Неверная запись Golovastik HTML и CSS 1 26.07.2010 21:34
Неверная ссылка на профиль AlDelta О форуме и сайтах клуба 2 27.10.2007 21:03