Как написать число пи в программе

Помогите пожалуйста разобратся с такой задачкой:
Вообщем задача состоит в том что бы ввести число Пи (3.14. ) с клавиатуры.

Т.е необходимо в операторе ввода данных с клавиатуры (Read()) ввести число Пи, причем не как 3.14, а как полноценное его значение(т.е то, которое заложено в паскале (длиннющее )). Ума не приложу как это сделать, ведь в Read() можно вводить только числа.

Вообщем то мне нужно решить совсем простенькую задачу, это только самый сложный ее кусок.

Сама задача: Из 4х чисел А,В,С и D выбрать наибольшее и вывести его на экран, если наибольшего числа среди них нет вывести сообщение «Наибольшего числа нет». Числа вводятся пользователем с клавиатуры, причем пользователь должен иметь возможность ввести с клавиатуры число Пи).

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

Число Пи: как найти его с точностью до 50 знака?

1:=Pi; read(x);

тогда когда пользователь введет число «1» программа будет считать ее как пи ( т.е 3.14. )
Помогите пожалуйста, кто знает как это сделать.

Последний раз редактировалось Anarion; 24.03.2009 в 19:59 .

Источник: www.programmersforum.ru

Пи в языках программирования

14 марта — всемирный день числа Пи. Придуманный в 1989 году и официально признанный в 2009, этот день отмечают многими способами, из которых самые популярные — поедание круглых пирогов и обсуждение вещей, связанных с числом Пи. Было бы странно, если бы не нашлось пары-тройки языков программирования, основанных на числе Пи или хотя бы названных в его честь. О них я и расскажу — надо же поддержать традицию 🙂

1. Pi — диалект Brainfuck

У Brainfuck множество диалектов практически на все случаи жизни, диалект Pi среди них тоже есть. Команды языка записываются в число Пи в виде неправильных цифр в случайных разрядах следующим образом.

Читайте также:
Как закрыть программу автоматически

Для каждой команды выбирается разряд, в который она будет записана (разряды упорядочены так же, как команды в исходном коде). Берется таблица соответствия команд и цифр

< >+ — . , [ ]
0 1 2 3 4 5 6 7 8

и в ней строка команд сдвигается на одну вправо, начиная с команды над цифрой, которая находится в выбранном разряде в правильном числе Пи. Например, если выбран второй разряд после десятичной точки, правильная цифра в нем — 4, и таблица соответствия принимает следующий вид:

< >+ — . , [ ]
0 1 2 3 4 5 6 7 8

Теперь по нужной команде выбираем соответствующую ей цифру и заменяем на нее правильную в выбранном разряде. Результат записи программы — число, похожее на Пи, но местами отличающееся от него. Так, программа «Hello, World!», которая на Brainfuck записывается вот так:

Число Пи

на Pi запишется вот так:

3.141592653589793238462623382272502824197169299275107820904924592337816406386238
99262833482534311206728234808621328230264709314460935058223872535941812844111745
00841022019385311055296426229289549302819244388109726652334471204756422337867231
65221231909345628566933460342610454226248213391607264249148273720587036656315582
17288153092396282225439171532436789559536003133023024882044652108412695192151163
94330573703656595909530921261173839326137921051125420742623799227495273538857227
24892227938133011749109833675362442656243086321294946795024737130702479860343702
77453921711629317375838467480846766440513202056822724526351082178577132275778260
91736271767204684409312229532301462492853110307922896892089235450199501120290219
65862034218129813624774731309964518707241349993993372978039951049734732816036348
59504445345544690330263252250825304468003522193158817101

2. Another Pi Language

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

11.
00100100 00111111 01101010 10001000 10000101 10100011 00001000 11010011
00010011 00011001 10001010 00101110 00000011 01110000 01110011 01000100
10100100 00001001 00111000 00100010 00101001 10011111 00110001 11010000
00001000 00101110 11111010 10011000 11101100 01001110 01101100 10001001

Исходный код программы на Another Pi Language представляет собой пару чисел: индекс бита, с которого следует начинать чтение, и количество байт, которые следует прочитать. Прочитанные байты переводятся в символы с соответствующими ASCII-кодами, и полученный текст интерпретируется как исходный код на каком-то другом языке (язык должен быть указан вместе с парой чисел).

Читайте также:
На каком алгоритме построены многие программы сжатия данных имя

Теоретически в числе Пи можно найти любую последовательность битов любой длины, то есть код любой, сколь угодно сложной программы. Этот язык даже будет Тьюринг-полным (поскольку на нем можно выполнить любое задание, которое можно выполнить на других языках). Другое дело, что по сложности программирования на нем он сможет поспорить с Malbolge. Впрочем, в отличие от Malbolge, «Hello, World!» на Another Pi Language пишется легко и изящно:

  • читаем 1 байт, начиная с 3-го бита записи. Первая единица считается нулевым байтом, поэтому начинаем со второго нуля после запятой: 01001000;
  • переводим в десятичное число (72) и в символ с таким ASCII-кодом (H);
  • интерпретируем полученный символ как код программы на HQ9+ — а для этого замечательного языка это и есть команда вывода «Hello, World!» на печать. Удачно, правда?
  • канонический пример «99 бутылок пива»
    113 1 HQ9+ (9)
  • прочитать символ и вывести его же на печать
    102168614(+-1) 2 Brainfuck (,.)
  • бесконечный цикл
    3234901746(+-1) 3 Boolfuck (*[])
3. Язык паттернов Pi

Нечто среднее между инструментом разработки и философией создания новых языков программирования. Основан на идее расширяемости семантики и синтаксиса языков программирования средствами самих языков.

4. Бонус 🙂

Небольшой подарок ко дню Пи: Pi Day Challenge 2011 — ежегодно обновляющаяся серия загадок, связанных с числом Пи.

Источник: habr.com

Число Пи в программе на C++

Как определить число Пи в программе на языке C++? Стандартом языка эта константа не определена (но, возможно, появится в будущем).

Первая мысль — создать константу одного из вещественных типов. Сколько знаков после запятой нужно прописать? В стандарте языка определен класс-шаблон numeric_limits, с помощью которого можно узнать ограничения в том числе и вещественных типов языка. К примеру, значение std::numeric_limits::digits10 возвращает количество десятичных цифр, которое тип может представлять без потери точности.

Читайте также:
Как открыть программу debug

На сегодня для типа float это 6, для типа double это 15, а для типа long double это 18. Последнее верно, только если long double имеет 80-битное представление. К примеру, в случае компилятора среды «Visual Studio Community 2017» для типа long double обсуждаемое количество равно 15, как и для типа double (источник), так как в этой системе тип long double имеет 64-битное представление и по сути является аналогом типа double.

Итак, первый способ определения числа Пи:

const double PI = 3.141592653589793; // 15 знаков после точки

Строго говоря, в этой константе десятичных цифр 16 (одна до точки, 15 — после), но на практике (компилятор среды «Visual Studio Community 2017») именно в таком виде константа без потерь проходит, к примеру, цепочку преобразований «текст → double → текст». Если добавить, например, 16-ю цифру после точки, то после указанного преобразования она уже не сохранится.

Возможно, имеется какой-то практический смысл в том, чтобы указывать в обсуждаемой константе больше 15 цифр после запятой. Потому что в среде «Visual Studio Community 2017» определена константа M_PI, содержащая значение 3.14159265358979323846 (20 знаков после точки). Источник.

Итак, второй способ определения числа Пи — использование константы M_PI (требуется определение _USE_MATH_DEFINES и подключение соответствующего заголовочного файла):

#define _USE_MATH_DEFINES // для C++ #include

Константа M_PI определена в одном из стандартных заголовочных файлов с помощью директивы компилятору #define M_PI 3.14159265358979323846 .

Третий способ определения числа Пи — с помощью одной из обратных тригонометрических функций. Например, с помощью арккосинуса:

const double PI = acos(-1.0);

Ну и на сладкое. Получение числа Пи с помощью ассемблерной вставки (отсюда):
double get_PI() < double pi; __asm < fldpi fstp pi >return pi; > double PI = get_PI();

Всё перечисленное проверено на «Windows 7 Профессиональная» (SP1), 64-разрядная. Компилятор среды «Visual Studio Community 2017».

Источник: ilyachalov.livejournal.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru