Помощь новичкам

Самое удобное функция для округления по указанному количество десятичных знаков это по моему, ROUND. Я пользуюсь её.

Это надо лезть в устройство real и считать математически, а затем тестировать на практике.
Но константой это нигде не хранят, как раз потому, что если вам нужна эта константа - у вас что то не так с кодом.

  1. Она называется Round, а не ROUND. И она самая базовая, скорее всего первая о которой вы узнали. Странно говорить о сравнении удобств, не имея достаточно опыта с разными средствами.

  2. Ну, сама Round вызывает System.Math.Round. Название длиннее, зато и функционала у Math.Round больше. То есть, раз у Math.Round больше функционала - она ещё и по умолчанию удобнее в случаях где Round не подходит, вне зависимости от личных предпочтений.

  3. Режимы округления (о которых тут шла речь) отличаются округлением чисел типа n+0.5, где n - целое. У просто Round всего 1 такой режим, так что как раз в данном случае - оно не в тему.

Это она (9.97920154767359851E291)?

begin
  Writeln('997920154767359850'+'9'*274);
  var x:real:=real.Parse('997920154767359850'+'9'*274);
  Writeln(real.MaxValue-x<>real.MaxValue);
  Writeln('997920154767359851'+'0'*274);
  x:=9.97920154767359851E291;
  Writeln(real.MaxValue-x<>real.MaxValue);
end.

На выводе:

9979201547673598509999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

False

9979201547673598510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

True

Ну, вроде да. Но, всё же, где вы это использовать собираетесь?

Я вот за всем этим довольно долго наблюдаю и все время меня терзает мысль, что про подобный процесс уже где-то читал. Deja vu. И вот сегодня вспомнил.

1 лайк

Что за “Дополнительные файлы”? image

Это, по моему, примеры из книги Абрамян. Внизу в описание указано

Нет! Это описание пункта “Задачник PT4”. Описания не имеют следующие пункты:

  1. “Входные языки”,
  2. “Дополнительные файлы”,
  3. “Українська”.

Ясно из контекста, что для пункта “Українська” должно быть описание “Поддержка украинского языка”. Ладно, пункт “Входные языки” ещё включает в себя “Язык PascalABC.NET” и “Ассоциировать с расширением .pas”. Но зачем тут вообще “Дополнительные файлы”!?

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

Я понял. Этот пункт создаёт папку “Files” в “*\PascalABC.NET”. В ней находится папка Databases. В ней находятся файлы “freqs.txt”, “words.txt”, “Страны.csv”, “Ученики.csv”. Содержание freqs.txt: таблица со столбцами, разделёнными пробелом: № п/п, вещественное число с двумя знаками после точки, слово на русском, часть речи слова на английском. Содержание words.txt: то же самое, что и freqs.txt, но с одним столбиком и теми же словами. Содержание Страны.csv: таблица с 4-мя столбиками: страна, столица, численность населения, часть света. Содержание Ученики.csv: таблица с 5-ью столбиками: фамилия, возраст (5–11 лет), пол, да/нет, рост в см. А теперь вопрос: кому это нужно, да ещё так сильно, что встроено в установщик и устанавливается с паскалем по умолчанию?

Ну, часть из этого точно используется в каких то примерах.

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

Так что если кому то не приспичит самому реализовать - это не скоро.

Не знаю, я всегда выбираю минимальную установку и мне нормально

“А теперь вопрос: кому это нужно, да ещё так сильно, что встроено в установщик и устанавливается с паскалем по умолчанию?” - Можно, по моему, использовать при обучение работа с файлами низкого уровня. А при инсталляции можно убрать галочку, круторогого не хотите. Я использую и полную, и установка по выбору, а также минимальный.

Как адаптировать “обход” под паскаль?

Написать этот же код на паскале, в чём проблема?

Вряд ли я смогу сделать это самостоятельно, поскольку почти не знаю команд, равносильных представленным в вопросе Kyle Brandt’а.

Каких ещё команд? Команды в ассемблере

uses System;
uses System.IO;

procedure SetInputBufferSize(bufSize: integer);
begin
  var inStream := Console.OpenStandardInput(bufSize);
  Console.SetIn(new StreamReader(inStream, Console.InputEncoding, false, bufSize));
end;

begin
  SetInputBufferSize(1024);
  var s := ReadString;
end.

Зачем писать

если и без этого работает? (Если что, без uses System.IO; не работает.)