А
Александр Осипов
@ralex061
16 posts

Анонс обучающего курса на платформе Stepik. Часть 3

Часто приходится слышать как люди, увидев код в PascalАВС.NЕТ в точечной нотации, говорят: "А, тут LINQ используется...". И это зачастую совершенно неверно. Вот пример кода с точечной нотацией, который не имеет к LINQ никакого отношения:

Работа с  калькулятором сетей TCP/IP в PascalАВС.NЕТ

Решим с помощью калькулятора практическую задачу по созданию подсетей.

Работа с  калькулятором сетей TCP/IP в PascalАВС.NЕТ

В библиотеке School начиная с версии PascalАВС.NЕТ 3.9.0.3360 от 21.09.23 доступен калькулятор сетей TCP/IP, реализованный на базе двух классов: собственно калькулятора CalcIP и класса 32-битных адресов Addr32, обеспечивающего работу калькулятора, а также предоставляющего удобную работу с адресами IPv4 при самостоятельном использовании.

PascalАВС.NЕТ: калькулятор сетей TCP/IP в библиотеке School

Калькулятор дает возможность в наглядном виде получить основную информацию о подсетях TCP/IP, задав адрес сети и маску подсети. Отображение информации с помощью калькулятора показано на приведенном ниже рисунке для ip-адреса 15.218.42.12 и маски 255.255.192.0.

Анонс обучающего курса на платформе Stepik. Часть 2.

Для повышения эффективности обработки структурированных данных используют их объединение в коллекции. Коллекция предлагает готовый набор средств работы с данными различной, иногда достаточно сложной структуры. Коллекции Microsotf ,NET поддерживают списки, стеки, очереди, множества, словари и т.д. При этом коллекции позволяют применять единый стандартизованный подход к данным различной структуры.

Анонс обучающего курса на платформе Stepik

В языке PascalАВС.NЕТ при описании формальных параметров подпрограммы в качестве типа можно указать интерфейс. В самом деле, и класс, и интерфейс - это типы данных, так что ничего необычайного тут нет. Но, указав интерфейс, мы можем придать подпрограмме некоторую универсальность. Хотим работать с индексами (массивы, списки) - указываем интерфейс IList, не хотим (но при этом еще и с последовательностями можно работать) - указываем IEnumerable.

Анонс обучающего курса на платформе Stepik

В курсе рассматриваются возможности языка, не вошедшие ни в один из ранее вышедших курсов. Большая часть этого материала имеется в книге "PascalАВС.NЕТ: введение в современное программирование", но на момент начала создания этого курса книга готовилась праздновать свой трехлетний юбилей, а язык развивается непрерывно...

PascalАВС.NЕТ 3.8.3 build 3238: изменения в библиотеке School

Функция Digits(n) и расширение n.Digits позволяют получить список List<integer>, содержащий цифры десятичного числа n. Теперь у Digits появился необязательный целочисленный параметр base, позволяющий указать основание системы счисления, в которой требуется получить цифры числа. При основании, превышающем 10, каждая "цифра" числа представляется соответствующим десятичным числом. Поскольку основание может быть многоразрядным числом, такие "цифры" тоже могут оказаться многоразрядными. Например, рассмотрим представление числа 1234567890 в системе счисления по основанию 2023. Очевидно, что каждая "цифра" представления может находиться в интервале [0;2022].

Write для вывода на экран - анахронизм в PascalАВС.NЕТ

Есть в IDE PascalАВС.NЕТ иконка "Здоровье кода". Считается, что у программы часть здоровья отнимает использование Write с формированием интервалов за счет вставки пробелов. Примерно вот так:

Библиотека School: быстрая работа с простыми числами

Если вам приходилось обращаться к библиотеке School при большом объеме работы с простыми числами, вы могли заметить, что эта работа происходит весьма быстро во всем диапазоне натуральных чисел, представимых типом integer. В чем тут секрет?