Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/76: Рейтинг темы: голосов - 76, средняя оценка - 4.92
80 / 33 / 10
Регистрация: 14.06.2019
Сообщений: 516

BigInteger в For

23.07.2019, 17:26. Показов 16689. Ответов 74
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с проблемой того, что в цикле for нельзя использовать BigInteger, не смотря на то, что это целочисленный тип. Кто-нибудь знает решение?
Пример:
Pascal
1
2
3
4
begin
  for i: BigInteger := 1 to 2 do //Ошибка: ожидался порядковый тип
    i.print;
end.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.07.2019, 17:26
Ответы с готовыми решениями:

Преобразовать Integer в BigInteger
Как преобразовать Integer в BigInteger?

Корень из числа типа BigInteger;
Доброго времени суток! Возник такой вопрос, у нас есть число типа BigInteger, а как из него извлечь корень? Можно ли это вообще сделать?...

Процедура Val/StrToInt, выводящая BigInteger
Я написал в дизайнере форм рабочий "переводчик периодической в десятичную дробь". Программа использует Val() для получения числа из...

74
80 / 33 / 10
Регистрация: 14.06.2019
Сообщений: 516
31.07.2019, 16:46  [ТС]
Студворк — интернет-сервис помощи студентам
Клиент отправляет, а сервер принимает, а потом наоборот.

Добавлено через 51 секунду
По очереди.

Добавлено через 44 минуты
Всё, нашёл проблему, клиент отсылал char, а сервер ждал string.
0
80 / 33 / 10
Регистрация: 14.06.2019
Сообщений: 516
05.08.2019, 11:38  [ТС]
Ошибка на 15 строке SimpleAddition.pas:
Ошибка времени выполнения: One or more errors occurred.
Поможете?
0
 Аватар для Sun Serega
2357 / 1460 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
05.08.2019, 12:22
Цитата Сообщение от ProMix0 Посмотреть сообщение
One or more errors occurred.
https://github.com/pascalabcne... ssues/2048
Та ещё гадость... Но если вы положите OpenCL.pas и OpenCLABC.pas отсюда:
https://github.com/SunSerega/POCGL
В папку к программе которая их использует - ошибка должна стать плавающей, то есть падать будет в ~50% случаев.

Примеры на просто OpenCL.pas (без OpenCLABC) - работают исправно. Чтоб научиться работать с OpenCL - должно быть достаточно... Ну а для исправления того бага надо некоторое время.
0
80 / 33 / 10
Регистрация: 14.06.2019
Сообщений: 516
05.08.2019, 12:37  [ТС]
Спасибо, сейчас скачаю.

Добавлено через 10 минут
У вас в OpenCLABC.pas в 129 строке написано:
// Одна и так же очередь не может выполнятся в 2 местах одновременно
По-моему "к" лишняя.
0
 Аватар для Sun Serega
2357 / 1460 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
05.08.2019, 12:44
Цитата Сообщение от ProMix0 Посмотреть сообщение
По-моему "к" лишняя.
Ага исправил... Ну, справка ещё не закончена, у меня на компе ещё больше есть, залью как будет ещё что то существенное.
Ну а перед тем как отправлять в установщик паскаля - я ещё пройдусь по всему модулю, проверю всё...
0
80 / 33 / 10
Регистрация: 14.06.2019
Сообщений: 516
05.08.2019, 12:47  [ТС]
Там же в 1025 и 1037 строках было указано
Pascal
1
params files_texts: array string
На что выдало ошибку:
Встречено 'string', а ожидалось '['
Что я исправил на:
Pascal
1
params files_texts: array [] of string
И в 1168 строке тоже самое с
Pascal
1
sequence  Task
Ещё на 1699 строчке выдало:
Встречено 'Finalize', а ожидалось end
Что делать - не знаю.
0
 Аватар для Sun Serega
2357 / 1460 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
05.08.2019, 12:55
Цитата Сообщение от ProMix0 Посмотреть сообщение
array string
Цитата Сообщение от ProMix0 Посмотреть сообщение
sequence Task
ммм не помню таких ошибок, и сейчас в коде их нет...

Ну, [] лишнее, там надо просто of

Короче, обновил OpenCLABC в репозитории, теперь у меня точно компилируется (а пропущенных of там таки не было, хз где вы их нашли).

Скачивать модули надо через кнопку RAW (и там Ctrl+S на открывшемся файле, если он открылся вместо того чтоб скачаться)
Или можно так же скачать всё архивом:
https://github.com/SunSerega/P... master.zip
И из этого архива достать нужные файлы целиком.
0
80 / 33 / 10
Регистрация: 14.06.2019
Сообщений: 516
05.08.2019, 13:24  [ТС]
Запустил со скачанным OpenCLABC - "Неизвестное имя "KernalArg""
0
 Аватар для Sun Serega
2357 / 1460 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
05.08.2019, 13:46
Я переименовал в Buffer, так название больше соответствует тому - что оно делает...
0
80 / 33 / 10
Регистрация: 14.06.2019
Сообщений: 516
05.08.2019, 14:43  [ТС]
Что переименовали? KernelArg?
0
 Аватар для Sun Serega
2357 / 1460 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
05.08.2019, 14:53
Да, про него ведь речь...
Вообще вы бы подождали ещё пару дней, я тут заканчиваю справку и примеры обновлённого OpenCLABC, с ними должно быть на много проще разобраться...
А сейчас в репозитории полный беспорядок, то что в примерах KernelArg, в то время как в модуле Buffer - это не единственная проблема. К примеру, ещё в справке написано что вызов методов на BufferCommandQueue добавляет команды к существующей очереди. Но пока что это немного не так работает, вот прямо сейчас исправляю...
0
80 / 33 / 10
Регистрация: 14.06.2019
Сообщений: 516
05.08.2019, 14:55  [ТС]
Ладно, через пару дней возобновлю деятельность.
0
 Аватар для Sun Serega
2357 / 1460 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
07.08.2019, 16:42
Ну, всё что я хотел переделать из серьёзного - вроде переделал. И проверил чтоб примеры для OpenCLABC все работали (кроме 1, которому нужен .Clone, который я не могу сделать из за бага компилятора).

Могу порекомендовать ещё вставить такую строчку в любом месте в OpenCLABC:
Pascal
1
{$savepcu false}
Эта строчка, похоже, немного глушит ту ошибку компилятора, с отменой таска.
Ну и, надо удалить старый OpenCLABC.pcu, иначе $savepcu бесполезна.

Так же, прочитайте всю справку (текст в начале исходника OpenCLABC), я там подробно расписал всё что надо знать.
В том числе то, как получать настоящую ошибку вместо One or more errors occurred.
0
80 / 33 / 10
Регистрация: 14.06.2019
Сообщений: 516
08.08.2019, 14:56  [ТС]
Спасибо.

Добавлено через 5 минут
На строчке "A.NewQueue.WriteData(" пишет ошибку "Неизвестное имя "WriteData""
0
 Аватар для Sun Serega
2357 / 1460 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
08.08.2019, 18:56
Примеры тоже обновлены вместе с модулем, берите их отсюда:
https://github.com/SunSerega/P... /OpenCLABC
0
80 / 33 / 10
Регистрация: 14.06.2019
Сообщений: 516
09.08.2019, 08:36  [ТС]
После обновления SimpleAddition.pas, .cl и OpenCLABC.pas на 1477 строке пишет: Ошибка времени выполнения: One or more errors occurred.

Добавлено через 9 минут
На 1477 строчке OpenCLABC.pas.
0
 Аватар для Sun Serega
2357 / 1460 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
09.08.2019, 10:21
1.
Цитата Сообщение от Sun Serega Посмотреть сообщение
Могу порекомендовать ещё вставить такую строчку в любом месте в OpenCLABC:
2.
Цитата Сообщение от Sun Serega Посмотреть сообщение
Так же, прочитайте всю справку (текст в начале исходника OpenCLABC), я там подробно расписал всё что надо знать.
В том числе то, как получать настоящую ошибку вместо One or more errors occurred.
0
80 / 33 / 10
Регистрация: 14.06.2019
Сообщений: 516
10.08.2019, 13:43  [ТС]
Текст ошибки: System.Threading.Tasks.TaskCanceledExcep tion: A task was canceled.
0
 Аватар для Sun Serega
2357 / 1460 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
10.08.2019, 14:56
Ну так это и есть тот баг компилятора - "плавающая Task.Run" о которой я уже несколько раз сказал.
Вот страница на которой можно следить за обновлениями касающимися него:
https://github.com/pascalabcne... ssues/2048

Цитата Сообщение от Sun Serega Посмотреть сообщение
Могу порекомендовать ещё вставить такую строчку в любом месте в OpenCLABC:
Pascal
1
{$savepcu false}
Эта строчка, похоже, немного глушит ту ошибку компилятора, с отменой таска.
Ну и, надо удалить старый OpenCLABC.pcu, иначе $savepcu бесполезна.
(canceled переводится как отменена [задача, аля таск на суржике])

Ну и когда запускаете - запускайте саму программу, если открыт и выбран файл модуля OpenCLABC в IDE - вы всё равно получите эту ошибку. Это как раз способ - которым её ловят.

Если используете все мои рекомендации - этот баг всё ещё может воспроизвестись. Когда баг "плавающий" - это как раз значит что он когда хочет - тогда воспроизводится. Но с $savepcu - его воспроизведения должны стать очень редкими. А точнее <1%. И если вылетело - можно ещё раз откомпилировать и, скорее всего, пропадёт. Если 1 вызов метода Context.SyncInvoke прошёл успешно - все остальные будут так же успешны, ибо ошибка состоит из неправильного кода в готовом .exe файле, всего на 1 строчке.
0
80 / 33 / 10
Регистрация: 14.06.2019
Сообщений: 516
10.08.2019, 15:30  [ТС]
Сделал всё как вы написали, запустил SimpleAddition.pas 5 раз, постоянно выдаёт ошибку: Unable to find an entry point named 'clEnqueueFillBuffer' in DLL 'opencl.dll'. И в качестве ответа десять чисел -1331.
P.S. У вас в OpenCLABC где-то было написано "удленитель", а правильно "удлинитель".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.08.2019, 15:30

Метод BigInteger.GreatestCommonDivisor (BigInteger, BigInteger)
Как использовать в C# windowsforms метод BigInteger.GreatestCommonDivisor (BigInteger, BigInteger)? Пример кода.

Как делить одно число BigInteger на другое BigInteger, при чем не теряя остаток
Помогите пожалуйста. Надо поделить одно число BigInteger на другое, при чем в результате сохранить весь остаток

Бинарное возведение в степень числа типа BigInteger в степень Biginteger
Здравствуйте. Не могу реализовать алгоритм бинарного возведения в степень. Есть 2 экземпляра BigInteger p,q. По методу Pow не...

BigInteger в степени BigInteger
Возможно ли возвести переменную типа BigInteger в такую же? Метод ModPow отпадает из-за необходимости mod'a. Спасибо.

BigInteger в степени BigInteger
Имеются переменные y,r,s,p типа BigInteger. Необходимо вычислить (y^r*r^s) % p. Какие предложения по поводу вычисления данной формулы? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru