Commit graph

1604 commits

Author SHA1 Message Date
Mikhalkovich Stanislav 7906d73da3 Небольшие изменения в реализации операций с множествами 2024-12-03 14:25:37 +03:00
Mikhalkovich Stanislav 087591c7b6 3.10.1
Coords - доработки

Distance, Middle, DrawText с фоном и рамкой. Глобальные переменные настройки
2024-11-27 11:37:07 +03:00
Mikhalkovich Stanislav d268d4f83b NSToBytes переделал с исключением 2024-11-21 22:24:07 +03:00
Mikhalkovich Stanislav 2bacdc8c28 Комментарии к NewSet 2024-11-20 13:20:33 +03:00
Mikhalkovich Stanislav e917ac8eca TypeName для set 2024-11-20 12:42:15 +03:00
Mikhalkovich Stanislav 206289c6a7 Везде заменил _hs на hs в NewSet
Убрал вызовы методов расширений NewSet в PABCSystem.pas

Убрал var в operator +
2024-11-19 20:23:03 +03:00
Mikhalkovich Stanislav d8262078f6 Исправление мелких ошибок NewSet
Все тесты проходят.

Проблема, которая остаётся - в режиме ускорения такие программы падают:

begin
  var s: set of byte;
  Print(s = [1]);
end.

Причина - из dll не вызывается конструктор записи без параметров, хотя он определён. В C# вообще у записей не может быть конструктора по умолчанию - наверное потому. Но для NewSet надо бы сделать исключение
2024-11-19 13:56:47 +03:00
Mikhalkovich Stanislav 03be5bd931 Переставил operator:= в NewSet 2024-11-13 22:13:41 +03:00
Mikhalkovich Stanislav 82776f3c77 NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
2024-11-09 12:18:19 +03:00
Mikhalkovich Stanislav fbd63efa89 NewSets
Некоторые тесты надо исправить
2024-11-03 16:59:48 +03:00
Mikhalkovich Stanislav 13b3071d80 закомментировал extensions преобразования arr to set. Надеюсь в новой реализации всё исправить 2024-10-28 22:42:17 +03:00
Mikhalkovich Stanislav 6d5c18f457 SF XLSX.pas 2024-10-24 10:17:48 +03:00
Mikhalkovich Stanislav 53b3fd0881 Добавил временное преобразование от array of T в set of T 2024-10-09 14:09:01 +03:00
Mikhalkovich Stanislav 79f9ab73a0 PT4_32 2024-10-05 15:33:20 +03:00
Sun Serega 0a20c8d32c
Add .DistinctBy (#3122) 2024-09-26 10:02:31 +03:00
Mikhalkovich Stanislav 11981dbf47 IndexMinBy, IndexMaxBy
MinBy, MaxBy - более эффективная реализация
GraphWPF - SaveToClipboard
2024-09-25 11:53:02 +03:00
Mikhalkovich Stanislav 7debbe702a Критическое обновление LightPT 2024-09-21 14:29:38 +03:00
Mikhalkovich Stanislav 40335b873e LightPT - OutputListIsClearedFromSpaces := False;
Coords - DrawLine
2024-09-20 22:58:46 +03:00
Mikhalkovich Stanislav 8d51f999a5 Автоклассы - разрешение наследования от классов без полей
Модуль Coords
2024-09-19 20:28:28 +03:00
Mikhalkovich Stanislav 8f7e92d418 Turtle переделал на паттерн Команда 2024-09-16 08:25:43 +03:00
Mikhalkovich Stanislav 1835b811ef MathNet Signed 2024-09-03 23:51:44 +03:00
Mikhalkovich Stanislav b23d6df9e9 MathNet.Numerics.dll 2024-09-03 23:16:15 +03:00
Sun Serega 1ec4204fd2
.Batch cleanup (#3108) 2024-08-26 09:20:27 +03:00
Mikhalkovich Stanislav 7face043cf ToSet 2024-08-26 09:11:08 +03:00
Mikhalkovich Stanislav 3247469e6d Добавлен DrawPoints в Turtle
Исправлена ошибка с отображением подписей в Y-координате
2024-08-24 22:55:27 +03:00
Mikhalkovich Stanislav 7548142623 1. Глобально.
SetDecimalSeparator(',')
SetNumberFormat(DecimalSeparator := ','  и куча других параметров)

s.ToReal(nfi)
s.ToReals(nfi)
StrToReal(nfi)
StrToFloat(nfi)
FloatToStr(nfi)

var nfi := NumberFormat(DecimalSeparator := ',')

s.ToReal(DecimalSeparator := ',')
s.ToReals(DecimalSeparator := ',')
StrToReal(DecimalSeparator := ',')
2024-08-24 14:27:53 +03:00
Mikhalkovich Stanislav d94885b950 randomElement для строк
.ToReals - разделителями могут быть пробел табуляция и переход на новую строку

NumberFormat - функция, возвращающая nfi
2024-08-24 12:13:09 +03:00
Mikhalkovich Stanislav ae2e26acf8 PT4 - новые dll файлы старых заданий серий A 2024-08-23 19:33:55 +03:00
Mikhalkovich Stanislav 0f8aa6fa3c SetOf как основной синоним HSet 2024-08-18 17:28:05 +03:00
Mikhalkovich Stanislav 86852e0a59 School - ToBase(number: int64 2024-08-18 16:05:14 +03:00
Mikhalkovich Stanislav e91e353984 Обновленный модуль Turtle.pas 2024-08-11 15:21:29 +03:00
Mikhalkovich Stanislav 1da2b524a6 School PrimeDivisors 2024-08-06 19:34:10 +03:00
AlexanderZemlyak 47c61d8b14
New directive to disable linking pascal standard modules (#3186)
* Add new 'disable standard units' directive and it's processing

* Refactor InitializeNewUnit function

* Improve disable standard units directive checks

* Add null check in programs.cs to avoid error

* Rename error related to disable standard units directive

* Add referencing standard net libraries

* Add checks for duplicates when injecting references
2024-08-02 10:48:07 +03:00
Mikhalkovich Stanislav 64acde6460 Сделал возможным неявное приведение некоторого типа к array of T (при описании оператора в виде статической функции класса)
School - IsPrime(n)
2024-07-31 18:21:04 +03:00
Mikhalkovich Stanislav c4fd47128b Zip, Cartesian - сделаны внешние функции до 5 параметров, в т.ч. с проекцией
Zip, Cartesian - методы расширения дополнены чтобы было как во внешних
Перегенерирована справка
2024-07-30 22:56:03 +03:00
Mikhalkovich Stanislav ca141804c7 Обновление School 2024-07-19 16:04:49 +03:00
Mikhalkovich Stanislav 84205f86bf SetOf на замену [1,2,3]
Преобразование массивов стандартных типов к множествам того же типа
2024-07-19 11:30:18 +03:00
Mikhalkovich Stanislav 8c22930a8c Добавлена
class function operator implicit<T>(s: array of T): TypedSet;

И поправлены кое-какие условия при неявных приведениях типов. Но видимо они никогда не работают
2024-07-18 22:23:39 +03:00
Mikhalkovich Stanislav 0fbfebb379 fix #3184 2024-07-17 11:16:59 +03:00
Mikhalkovich Stanislav b8fec95599 Большое изменение в Dictionaries
1 to 2 - новый оператор в стиле Котлина для пары Ключ-Значение
Pair - синоним KV. KV - не запоминается
Теперь:
  d := Dict(1 to 2, 3 to 4)
   или
  d := Dict(Pair(1,2),Pair(3,4)

Кроме того
Новые конструкторы
  d := Dict(d1) - копия
  d := Dict(keys,values)
d.Update(d1)
d + d1
d += d1
d + pair
d - Seq(ключ)
d -= Seq(ключ)
2024-07-15 13:50:11 +03:00
Mikhalkovich Stanislav 78748e10a3 SymTable - исправление чтобы не показывать статические методы в ///#!
WPF - правки
2024-07-12 20:54:52 +03:00
Mikhalkovich Stanislav b086568133 err 0540 0541 поправил 2024-07-08 12:27:44 +03:00
Mikhalkovich Stanislav acfce9b4f7 одномерный 2024-07-07 15:59:04 +03:00
Mikhalkovich Stanislav 46f34dae13 LightPT - убрал CheckOutputNew
TasksArr.pas, TasksStr.pas - правки
2024-07-04 13:43:35 +03:00
Mikhalkovich Stanislav 50a0fdc4fc Поправил в трех проектах пути к bin
LightPT - Read...(prompt) - больше комбинаций

Loop_If_2_Sum в Tasks1Loops.pas
2024-07-02 21:45:28 +03:00
Mikhalkovich Stanislav b471da4499 Поправлены Tasks1Arr.pas Tasks1Begin.pas Tasks1BoolIfCase.pas 2024-07-02 17:06:45 +03:00
AlexanderZemlyak d5e9994ff2
Revert pascal language moving to language plugins (#3175)
* Return Parsers folder with standard parsers and move SyntaxTreeConverters back to Core

* Rename PascalLanguage project to PascalABCLanguageInfo

* Fix pascal dll loading
2024-07-02 16:10:50 +03:00
Mikhalkovich Stanislav 67aa35b9dc Поправлен LightPT
Упрощены TasksArr.pas TasksMatr.pas TasksStr.pas
2024-07-01 21:06:54 +03:00
Mikhalkovich Stanislav bd7059c079 Исправлена Range(a, b, step: real)
LightPT - CheckOutput может принимать параметры типа последователльность - они будут вытягиваться в одну последовательность
  Для этого исправлен FlattenElement
  FlattenOutput применяется автоматически - его теперь не надо вызывать явно
TaskLoops поправлен и упрощен в соответствии с CheckOutput
2024-06-30 12:41:37 +03:00
Mikhalkovich Stanislav 008a2eddfe RobotField - try в блоке создания 2024-06-27 13:39:13 +03:00