Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2012.04.29;
Скачать: [xml.tar.bz2];

Вниз

Возведение в квадрат и извлечение квадратного корня   Найти похожие ветки 

 
Каныбек   (2012-01-01 21:12) [0]

С новым годом! Вопрос такой-как возвести в квадрат и извлечь квадратную корень в Делфи. Помогите плиз.


 
Германн ©   (2012-01-01 21:39) [1]

uses Math
функция Power


 
Jeer ©   (2012-01-01 21:46) [2]

Подружить квадрат и квадратную - это две половинки одного яблока :)


 
Jeer ©   (2012-01-01 21:49) [3]

Квадрат:
y := x*x;
Корень:
z := sqrt(y);


 
RWolf ©   (2012-01-01 23:43) [4]


> Jeer ©   (01.01.12 21:49) [3]
> Квадрат:

y:=sqr(x);


 
Каныбек   (2012-01-02 06:14) [5]

Спасибо ребята, работает. Удачи в новом году.


 
Jeer ©   (2012-01-02 22:25) [6]


> RWolf ©   (01.01.12 23:43) [4]


Ой, вот не надо штампов, ага ?
Я-то привел варианты разных подходов ради понимания их наличия, всего-то.


 
Германн ©   (2012-01-03 02:15) [7]


> Jeer ©   (02.01.12 22:25) [6]
>
>
> > RWolf ©   (01.01.12 23:43) [4]
>
>
> Ой, вот не надо штампов, ага ?
> Я-то привел варианты разных подходов ради понимания их наличия,
>  всего-то.
>

А я привел универсальный вариант.  Нужны ли при этом "прочие разные"?
:)


 
Германн ©   (2012-01-03 02:18) [8]

Кроме того, мой ответ может кого-то заставить понять/вспомнить, что "возведение в степень" частным случаем включает в себя и "извлечение корня".
:)


 
Jeer ©   (2012-01-03 16:36) [9]

Есс-но, нужны :)


 
asail ©   (2012-01-03 17:40) [10]


> Германн ©   (03.01.12 02:15) [7]

> А я привел универсальный вариант.  Нужны ли при этом "прочие
> разные"?

Однозначно нужны!
При возведении, например, в квадрат Power не самое лучшее решение...
x*x, как минимум, на порядок быстрее Power(x, 2).
Да даже, возведение в пятую степень через Power будет медленнее, чем х*х*х*х*х.
Так что, если в алгоритме вычислений такого рода много, то функцией Power надо пользоваться осмотрительно.
Другое дело, если, скажем, надо возвести число в степень 14.35... :)


 
RWolf ©   (2012-01-03 19:36) [11]


> x*x, как минимум, на порядок быстрее Power(x, 2).

именно так, а sqr(x) ещё быстрее.


 
asail ©   (2012-01-03 20:13) [12]


> RWolf ©   (03.01.12 19:36) [11]

> а sqr(x) ещё быстрее

Не всегда. Вот в этом примере * быстрее, чем sqr (Д6, ХР32):

const COUNT = 2000000000;

procedure TForm1.Button1Click(Sender: TObject);
var
 c, i: Cardinal;
 d, x: Double;
begin
 x := 2;
 c := GetTickCount;
 for i := 1 to COUNT do
   d := Sqr(x);
 ShowMessage(IntToStr((GetTickCount - c) div 1000));
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 c, i: Cardinal;
 d, x: Double;
begin
 x := 2;
 c := GetTickCount;
 for i := 1 to COUNT do
   d := x * x;
 ShowMessage(IntToStr((GetTickCount - c) div 1000));
end;


В первом случае 5 сек, во втором - 4...
Хотя, стоит сменить Double на Extended или x * x вынести в отдельную функцию, и ситуация изменится...


 
Германн ©   (2012-01-04 02:26) [13]


> asail ©   (03.01.12 17:40) [10]
>
>
> > Германн ©   (03.01.12 02:15) [7]
>
> > А я привел универсальный вариант.  Нужны ли при этом "прочие
> > разные"?
>
> Однозначно нужны!

Я вообще-то шутил. И мой тёзка понял меня. :)


 
asail ©   (2012-01-04 02:46) [14]


> Германн ©   (04.01.12 02:26) [13]

Да я не сомневаюсь, что ты в курсе всего вышеописанного. Просто, новички этого могут и не знать...


 
Германн ©   (2012-01-04 02:59) [15]


> asail ©   (04.01.12 02:46) [14]
>
>
> > Германн ©   (04.01.12 02:26) [13]
>
> Да я не сомневаюсь, что ты в курсе всего вышеописанного.
>  Просто, новички этого могут и не знать...

Они и не знают. Но универсальная функция им точно поможет! :)
Но и вспомни Германн ©   (03.01.12 02:18) [8]
Если хоть какой-то из новичков это вспомнит/осознает - это уже плюс!



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2012.04.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.003 c
15-1324758605
Юрий
2011-12-25 00:30
2012.04.29
С днем рождения ! 25 декабря 2011 воскресенье


2-1325223160
И. Павел
2011-12-30 09:32
2012.04.29
Присвоить свойству COM-объекта Nothing из Delphi


15-1323231309
Skyle
2011-12-07 08:15
2012.04.29
Ищу новых коллег (г. Новосибирск).


15-1324540812
Фокс Йожин
2011-12-22 12:00
2012.04.29
Глюки IE9 с фреймами


2-1325371999
Gu
2012-01-01 02:53
2012.04.29
строки Xe2





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский