Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Bttv_
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 21
Завершенные тесты: 1
1

Запись формулы

10.11.2019, 14:33. Просмотров 1526. Ответов 9
Метки нет (Все метки)

Недавно начали учить Делфи, но запись выражений не проходили. Как записать данную формулу?
Название: 2019.11.10 13-31-57.jpg
Просмотров: 11

Размер: 7.5 Кб
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2019, 14:33
Ответы с готовыми решениями:

9

krapotkin
4062 / 3388 / 1149
Регистрация: 14.04.2014
Сообщений: 16,228
Записей в блоге: 17
10.11.2019, 14:40 2
Лучший ответ Сообщение было отмечено Bttv_ как решение

Решение

Delphi
1
sqrt( (4*b*b + a*a)/(5*a*a + b*b*c*c) )
2
Puporev
Модератор
57809 / 44042 / 30413
Регистрация: 18.05.2008
Сообщений: 105,303
10.11.2019, 14:47 3
Только если (a<>0)and(b<>0)and(c<>0)....
1
Rayvenor
61 / 50 / 12
Регистрация: 04.08.2018
Сообщений: 275
10.11.2019, 14:56 4
Puporev, почему так строго?
(a<>0) or ((b<>0)and(c<>0))
2
10.11.2019, 14:56
Puporev
Модератор
57809 / 44042 / 30413
Регистрация: 18.05.2008
Сообщений: 105,303
10.11.2019, 15:08 5
Ноль в знаменателе будет если а=0 и b=0 и с=0
1
Rayvenor
61 / 50 / 12
Регистрация: 04.08.2018
Сообщений: 275
10.11.2019, 15:15 6
Puporev, да, но не только. a=1, b=0, c=0 - это условие не проходит ваш фильтр, но знаменатель не равен нулю.
2
Puporev
Модератор
57809 / 44042 / 30413
Регистрация: 18.05.2008
Сообщений: 105,303
10.11.2019, 15:42 7
Цитата Сообщение от Rayvenor Посмотреть сообщение
это условие не проходит ваш фильтр,
Почему?
Delphi
1
2
if (a<>0) and (b<>0)and(c<>0) then y:=sqrt( (4*b*b + a*a)/(5*a*a + b*b*c*c) 
else SowMessage('Значение Y не определено, деление на 0');
Добавлено через 12 минут
А вообще Вы правы, что-то я закосил.
Напишу так
Delphi
1
if a+b*c<>0 then
1
Rayvenor
61 / 50 / 12
Регистрация: 04.08.2018
Сообщений: 275
10.11.2019, 15:50 8
Puporev, так тоже нельзя если переменные могут быть отрицательными. У нас же квадраты, значит члены суммы всегда положительные. У вас же знак числа имеет значение.

Добавлено через 1 минуту
Сумма неотрицательных членов будет равняться нулю, если каждое слагаемое рано нулю. Но квадрат числа равен нулю, только если само число равно нулю (на самом деле нет, справедливо только в математике).
2
Puporev
Модератор
57809 / 44042 / 30413
Регистрация: 18.05.2008
Сообщений: 105,303
10.11.2019, 15:55 9
Ну тогда без упрощений
Delphi
1
 if a*a + b*b*c*c<>0
достала уже эта волынка.
1
Rayvenor
61 / 50 / 12
Регистрация: 04.08.2018
Сообщений: 275
10.11.2019, 16:05 10
Лучший ответ Сообщение было отмечено Bttv_ как решение

Решение

Цитата Сообщение от Puporev Посмотреть сообщение
a*a + b*b*c*c<>0
Это будет не равно нулю, если хотя бы один из слагаемых не равен нулю, тогда минус операция сложения
(a*a<>0) or (b*b*c*c<>0)
Т.к. квадрат будет равен нулю если само число рано нулю, то
(a<>0) or (b*c<>0)
Но b*c<>0 только если обе переменные одновременно не равны нулю, тогда
(a<>0) or ((b<>0) and (c<>0))
Сравниваем что получилось с 4
2
10.11.2019, 16:05
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2019, 16:05

Запись формулы
Помогите, пожалуйста, записать в ячейку y(B5) две формулы для нахождения корней кусочно-заданной...

Запись формулы
Подскажите как в VB правильно записываются данные формулы? 1. Формула...

Запись формулы
Парнми помогите правильно записать формулу для графика в аргументах функции если. Сколько искал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.