возвращение к программированию

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Re: возвращение к программированию

Сообщение Снег Север » 19.11.2019 15:04:14

V.Pozyvnoy писал(а):Думал посчитать число Пи

Cуществует алгоритм, который позволяет вычислять Пи "цифра за цифрой" - с минимальными затратами памяти. Можно вычислить на самом слабом компе хоть 100000 цифр, но только в виде строки, разумеется, а не числа в памяти. Думаю, что по этим ключевым словам вы без труда найдете его через Гугл, если интересно.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2268
Зарегистрирован: 27.11.2007 16:14:47

Re: возвращение к программированию

Сообщение V.Pozyvnoy » 19.11.2019 15:43:48

Я примерно понимаю о чем вы говорите. Можно взять очень малую часть окружности и посчитать ее длину. Но если мы просто в лоб сложим все эти малые части в целую то мы потеряем точность.
V.Pozyvnoy
новенький
 
Сообщения: 53
Зарегистрирован: 14.10.2019 12:30:19

Re: возвращение к программированию

Сообщение Vadim » 19.11.2019 16:37:17

V.Pozyvnoy
Если хотите, попробуйте выявить расчётный коэффициент для вычисления расстояния-километража между меридианами. Без учёта рельефа местности, разумеется, но с учётом широты местности. Тоже разумеется... :)

Добавлено спустя 3 минуты 57 секунд:
Снег Север писал(а):...но только в виде строки...

Можно и не в виде строки. Есть ведь куча библиотек для работы с длинными числами. Правда результат на экран выводится всё-таки в виде строки. Но он только для посмотреть, а для счёта ПИ будет числом...
Vadim
долгожитель
 
Сообщения: 3844
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: возвращение к программированию

Сообщение Снег Север » 19.11.2019 18:21:06

Vadim писал(а):Можно и не в виде строки. Есть ведь куча библиотек для работы с длинными числами

Да, верно, но конкретно в том алгоритме вычисляется очередная цифра, дописывается в строку и так далее. Помнится, один из вариантов этого алгоритма я видел еще на фортране для БЭСМ...
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2268
Зарегистрирован: 27.11.2007 16:14:47

Re: возвращение к программированию

Сообщение V.Pozyvnoy » 19.11.2019 22:03:14

Число ПИ размыто и не имеет определенного значения, его можно только уточнять до бесконечности. Алгоритм вычисляет расстояние по прямой между точками на окружности. Увеличивая радиус мы видим что и точность счета можно повысить.
Возможно где то нужна высокая точность. Вообще то в данном случае численным методом измеряется не измеряемое.
Ведь расстояние это категория между точками а и б. Измеряя расстояние между точками а и б которые лежат на окружности мы всегда режим ее.

т.е. я хотел сказать что длина окружности - это условная величина. Поскольку параметр расстояние характерен только для прямых отрезков.
V.Pozyvnoy
новенький
 
Сообщения: 53
Зарегистрирован: 14.10.2019 12:30:19

Re: возвращение к программированию

Сообщение Снег Север » 20.11.2019 08:10:51

V.Pozyvnoy писал(а): длина окружности - это условная величина. Поскольку параметр расстояние характерен только для прямых отрезков

Неверно. В высшей математике определяется длина любой кривой линии - через интегралы.

Для вычисления Пи с любой точностью есть формулы, которые находятся поиском в Гугле за несколько минут. Эти формулы делятся на два класса - "быстрые", с разрядностью ограниченной представлением вещественных чисел в процессоре ЭВМ, и "медленные", позволяющие вычислять Пи с любым количеством значащих цифр. Среди вторых есть варианты вообще не связанные с представлением чисел - они работают с целыми числами и вычисляют Пи "цифра за цифрой", как я писал выше. Эти методы основаны на целочисленных вычисления "по модулю" - очень интересный раздел теории целых чисел, нашедший практическое применение в современных методах шифрования данных.

Добавлено спустя 12 минут 35 секунд:
ЗЫ. Вычисление, например, 10000 знаков числа Пи - задачка, которую часто предлагают студентам 2-3 курсов в качестве курсовой по программированию.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2268
Зарегистрирован: 27.11.2007 16:14:47

Re: возвращение к программированию

Сообщение Vadim » 20.11.2019 08:52:57

Снег Север
В своё время, математики долго спорили, какую систему счисления выбрать - десятичную или двенадцати/шестидесятиричную. Увы, победила первая точка зрения. Из-за этого, по факту, приходится пользоваться обеими системами, а число ПИ, сиротинушка, перестало быть точным. А вместе с ПИ и ещё ряд чисел, которые могли бы быть точными константами... :D
Кстати, что интересно, русские с точными вычислениями справляются на раз, там где европейцы только тыкву чешуть. Например, точное деление 0,5 литры на троих... :D
Vadim
долгожитель
 
Сообщения: 3844
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: возвращение к программированию

Сообщение V.Pozyvnoy » 20.11.2019 10:07:34

Число ПИ - это приближенное соотношение длины окружности и радиуса. Окружностью называются точки расположенные на одном расстоянии от центра. У окружности только один параметр радиус.

Длины меряются между точками на прямой. Точки окружности не возможно выродить в прямую линию. Самое большее что мы можем мерять расстояние между ближайшими соседними точками окружности, но между ними всегда, всегда будут еще точки которые будут находится на окружности, а значит наше измерение будет приближенным.
V.Pozyvnoy
новенький
 
Сообщения: 53
Зарегистрирован: 14.10.2019 12:30:19

Re: возвращение к программированию

Сообщение Снег Север » 20.11.2019 10:44:01

Vadim Пи - это трансцендентное число, оно не может быть "точным" ни в какой системе счисления. Еще одно такое число, из наиболее известных - "е", основание натуральных логарифмов. Трансцендентные числа не могут выражены через конечные рациональные числа, например, через конечную дробь с целым числителем и знаменателем. Все конечные формулы дают только приближенные значения трансцендентных чисел.

V.Pozyvnoy писал(а):Число ПИ - это приближенное соотношение длины окружности и радиуса

Число ПИ - это точное соотношение длины окружности и радиуса. Не путайте число и его запись. Почитайте в гугле про трансцендентные числа.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2268
Зарегистрирован: 27.11.2007 16:14:47

Re: возвращение к программированию

Сообщение Vadim » 20.11.2019 11:07:11

V.Pozyvnoy писал(а):Число ПИ - это приближенное соотношение длины окружности и радиуса.

А если окружность виртуальная, то, как говорил Остап Бендер, число ПИ можно вычислить тысячью различными способов. :D
Например:
Pi = 1 / (2 * R * C * F), где R - сопротивление резистора, C - ёмкость конденсатора, а F - написаная на оболочке частота среза фильтра. :D
Если возьмём номиналы R и C из стандартного ряда E48, у которых допуск 2%, будет вполне точно... ;-)

Добавлено спустя 6 минут 43 секунды:
Снег Север писал(а):Пи - это трансцендентное число

Я сегодня Станиславский, поэтому неверю! :D Оно трансцедентно только в десятичной системе. ;-)
Vadim
долгожитель
 
Сообщения: 3844
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: возвращение к программированию

Сообщение Снег Север » 20.11.2019 11:23:50

Vadim писал(а):Оно трансцедентно только в десятичной системе

Транцендентность не зависит от системы счисления. И доказано всё это еще в 19-м веке.

Добавлено спустя 9 минут 8 секунд:
Vadim, вы путаете свойства записи чисел и имманентное свойство числа. Число 1/3 можно записать так, а можно как 0.(3), где (3) означает "3 в периоде". Это - рациональное число. Есть иррациональные числа, например, квадратный корень из двух. Их нельзя выразить конечной дробью, но они имеют запись в виде конечного математического выражения. И есть трансцендентные числа, которые являются результатом предельных переходов - операции высшей математики. Все они друг к другу не сводятся.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2268
Зарегистрирован: 27.11.2007 16:14:47

Re: возвращение к программированию

Сообщение Vadim » 20.11.2019 11:58:35

Снег Север писал(а):Все они друг к другу не сводятся.

А вот если бы они попали на допрос к тов. Кобулову, то немедленно бы свелись... ;-) :D
Vadim
долгожитель
 
Сообщения: 3844
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: возвращение к программированию

Сообщение V.Pozyvnoy » 20.11.2019 12:18:12

V.Pozyvnoy писал(а):Число ПИ - это приближенное соотношение длины окружности и радиуса
Число ПИ - это точное соотношение длины окружности и радиуса. Не путайте число и его запись. Почитайте в гугле про трансцендентные числа.


Друзья, я ведь привожу только то что осталось с геометрии 8 класса ну и института. Если человечество не знает точного значения константы то в моем представлении то что он знает - нужно называть приближенное.

1/3 если его рассматривать как дробь, как одна третья часть чего то - то это может быть вполне точная величина. Взять 1 пакет содержащий 9 яблок то мы легко его поделим на 3. Тут только вопрос в том что брать за единицу. На три части делятся многие вещи. Запись 1/3 в выражении выглядит как "/3"

А если представлять как делимое и делитель - то да, будешь долго делить. Но результат 1 разделить на 3 не имеет точного значения по другой причине нежели число ПИ.
V.Pozyvnoy
новенький
 
Сообщения: 53
Зарегистрирован: 14.10.2019 12:30:19

Re: возвращение к программированию

Сообщение Снег Север » 20.11.2019 13:08:23

V.Pozyvnoy писал(а):Если человечество не знает точного значения константы

Точное значение константы Пи - число Пи. Для инженерных вычислений точное значение не нужно. Потому, что в инженерных вычислениях вы и радиус никогда не можете знать точно. Для любых математических формул и преобразований Пи - абсолютно точное значение. Как и "е". То, что вы не можете это точное значение записать конечным числом цифр ничего не означает. Математика со времен Ньютона и Лейбница прекрасно научилась оперировать бесконечными последовательностями и пределами для них. Это - уже больше трехсот лет как.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2268
Зарегистрирован: 27.11.2007 16:14:47

Re: возвращение к программированию

Сообщение Vadim » 20.11.2019 13:16:23

Снег Север писал(а):Для инженерных вычислений точное значение не нужно.

Иоганн Карл Фридрих Гаусс писал(а):Недостатки математического образования с наибольшей отчётливостью проявляются в чрезмерной точности численных расчётов.

:D
Vadim
долгожитель
 
Сообщения: 3844
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Пред.След.

Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru