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

Здравствуйте! Подскажите пожалуйста, что не так:
Const Digits : Array [0..9] Of Char = '0123456789';
Ошибка: Ожидался константный инициализатор массива.
Каким образом инициализировать массив строкового типа?

Заранее благодарен за потраченное на меня время.

const
  Digits: Array[0..9] Of Char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');

А вообще для строк есть свой тип:

const
  Digits:string = '0123456789';

или если так уж хотите статичным массивом то так:

const
  Digits:string[10] = '0123456789';
Спасибо, но я с нескольких источников читаю, что:
const
  Digits: Array[0..9] Of Char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
может быть объявлен более коротко:
const
 Digits : Array [0..9] Of Char = '0123456789';
Вот я и в ступоре...

Можете подробнее что за источники и для какого языка, потому что паскалей много.

Читаю тут:
pas1.ru/pchar
pascal.helpov.net/index/pascal_Array-type

пишут о Pascal не вдаваясь в подробности. В книге А.В. Столяров “Азы программирования”, наткнулся тоже на ошибку, с которой не разобрался и решил пойти с начала, вот и читаю разные источники. Думаю с Linux компилятором fpc попробовать, если и там то же самое, то я в печали… Просто конспектирую, для лучшего понимания и пробую тут же то, да сё, а оно - вона как :frowning: Видать стар я для программирования, но в общих чертах хотелось бы понять, что да как.

Сайт Pascal.helpov.net создан в первую очередь для учеников и студентов, нуждающихся в помощи по языку программирования Turbo Pascal (по-русски просто Паскаль).

Это конечно странно:

image

Но сам компилятор турбо паскаля уже не поддерживается с 2010 года. И он во многом отличается от PascalABC.Net.

Я понял, буду читать справку Pascal ABC.Спасибо Вам, большое.

ABC* (а вообще ABC.Net, это 2 разных языка тоже)

Ещё можете посмотреть примеры, они находятся в папке: \PABCWork.NET\Samples. Ещё их можно из IDE открыть:

image

При компиляции кода с большим ресурсом возникает ошибка переполнения памяти. Размер ресурса - 527 Мб. Есть ли какие-либо ограничения или нужно просто взять другой комп?

массиву присваивать строку нельзя. борландовское “расширение” не соответствует системе типов, поэтому не нужно.

А у меня удалось откомпилировать, подключив файл созданный следующим кодом:

  var wr := new System.IO.BinaryWriter(System.IO.File.Create('res file'));
  loop 527 * 1024 * 1024 do
    wr.Write(byte(0));
  wr.Flush;

через {resource }, но генерация кода заняла 20 сек, и + паскаль сожрал 2 гигабайта RAM:

Ради чего такой объём в exe сувать? Может всё же лучше прилагать отдельным файлом?

1 лайк

А какой у Вас объём оперативки, если не секрет?

4 гига. Из них 1.5 идёт системе. Мне пришлось всё остальное выключить чтоб эта программа откомпилировалась :wink: Так а зачем всё же вам такой большой файл ресурс?

Я нашёл реализацию свёрточной нейросети VGG-16 (с базами на ImageNet и Places365) на C#. Как не трудно догадаться, появилось желание переписать всё это дело на Паскаль, только вот реализацию приложения хотелось бы сделать по возможности аккуратной, т. е. не как аналогичные коды под Питон с кучей файлов. :smile:

P.S. 4 гига - значит попробую откомпилировать на другом компе, хотя… Пространство имён System.Compression может сильно упростить задачу (да и вес программы уменьшить).

Может кто знает, как можно перевести на Паскаль следующий кусок кода на C#:

private void ConvFilter(Vol V, Vol tempOutput, int inputWidth, int inputHeight, int xy_stride, int d)
        {
            var source = Enumerable.Range(0, this.OutputHeight);
            var pquery = from num in source.AsParallel()
                         select num;
            pquery.ForAll((ay) => ConvOverRows(V, tempOutput, inputWidth, inputHeight, xy_stride, d, ay));

        }

Интересует конкретно from и всё, что идёт после него.

var pquery = source.AsParallel()

1 лайк

Спасибо! То есть это была такая реализация распараллеливания?

Да, она встроена в .NET

1 лайк

Здравствуйте! Переписал реализацию VGG16 с C# на PascalABC.NET v3.3. :slight_smile: Реализация пока что достаточно “грязная”, содержит много неиспользуемых переменных, методов и т. д., но это всё - же не мешает ей распознавать картинки. Может быть, оформлю её как библиотеку/модуль для DeepLearning’а. Если кому интересно - во вложениях все материалы. VGG16.pas (27,2 КБ) Places365Labels.txt (4,5 КБ)