![]() |
|
![]() ![]() ![]() |
|
FFFU |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 23.10.2010 Репутация: нет Всего: нет |
Здравствуйте!
Нам в институте задали сделать калькулятор на Фортране. В числе прочего нужно еще и сделать защиту от вычисления мнимых чисел.
Непонятно какое условие нужно задавать, чтобы выводило сообщение. Помогите пожалуйста! |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
Во-первых, забудьте о goto.
Во-вторых, используйте == вместо .eq., < вместо .lt. и т.д. В-третьих, я что-то с трудом понимаю, как из вещественного числа при возведении его в вещественную степень можно получить комплексное число? Я что-то упустил? -------------------- |
|||
|
||||
Фантом |
|
||||||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 5 Всего: 49 |
И заодно еще вместо цепочки if'ов конструкцию
А если возвести -1 в степень 0.5? Оба числа вещественные... ![]() |
||||||
|
|||||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
Ах ну да... ![]() Добавлено @ 14:01 Так стоп. Я тут подумал. Думаю, если a отрицательно, то его можно возводить только в целую степень. В вещественную в любом случае не получится. Для возведения в вещественную степень нужно применять какую-то формулу. Например, a^b = e^(b * lna). А логарифм определён только для положительных чисел. Это сообщение отредактировал(а) kemiisto - 23.10.2010, 14:01 -------------------- |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 5 Всего: 49 |
Вообще-то в Фортране есть встроенная операция возведения в степень. ![]() |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
Фантом, оно понятно. Я просто к тому, что в этом условии
проверять, собственно, ничего больше и не надо, если a и b - real, а комплексных чисел надо избегать. -------------------- |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 5 Всего: 49 |
||||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
В общем, если a и b - real, как-то так:
-------------------- |
|||
|
||||
FFFU |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 23.10.2010 Репутация: нет Всего: нет |
но ведь отрицательные числа можно возводить в степень...
|
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
Можно, но есть нюансы. Я же писал выше, что операция ** в Fortran для отрицательных вещественных чисел вернёт результат, только если степень будет целым числом. Иначе всё равно будет NaN. -------------------- |
|||
|
||||
FFFU |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 23.10.2010 Репутация: нет Всего: нет |
большое спасибо!
![]() PS про case тоже учту |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Fortran | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |