uz
Feedback
PascalABC.NET официальный канал

PascalABC.NET официальный канал

Kanalga Telegram’da o‘tish

Официальный канал языка и системы программирования PascalABC.NET

Ko'proq ko'rsatish
1 858
Obunachilar
-224 soatlar
-137 kun
-2430 kun
Postlar arxiv
Принцип локальности при описании переменных Локальность означает близость описания переменной к месту своего использования. В
Принцип локальности при описании переменных Локальность означает близость описания переменной к месту своего использования. Все переменные должны описываться в месте первого присваивания, отдельное описание не нужно. В большинстве случаев типы указывать не следует - они выводятся автоматически. Такой стиль позволяет легко оформлять отдельные участки кода как независимые функции. #начинающим

О здоровье кода В программах на Паскале, встреченных на просторах интернета, до сих пор встречается базовый устаревший Паскал
О здоровье кода В программах на Паскале, встреченных на просторах интернета, до сих пор встречается базовый устаревший Паскаль. Именно из-за его скудных возможностей в школах стали переходить на другие языки. В PascalABC.NET использован метод мягкой силы - после компиляции устаревшей программы в правом нижнем углу появляется прямоугольник с процентами плохого здоровья кода. Кликнув на нем мышью, мы получим всю информацию, почему данный код плохой. Заметим, что те, кто программируют в новом стиле, никогда этого прямоугольника не увидят. Очень интересно, как каким ухищрениям прибегают некоторые ютуберы чтобы скрыть свой плохой код: они обрезают нижнюю строку или закрывают эту область своим говорящим лицом.

Инвертирование словаря Свойства Keys и Values позволяют вырезать из словаря только ключи или только значения. Это делает возм
Инвертирование словаря Свойства Keys и Values позволяют вырезать из словаря только ключи или только значения. Это делает возможным легко инвертировать словарь, где ключи становятся значениями и наоборот.

Задача, предлагаемая школьникам в рамках изучения темы Словари Это - одна из задач, иллюстрирующая суть словарей. В комментар
Задача, предлагаемая школьникам в рамках изучения темы Словари Это - одна из задач, иллюстрирующая суть словарей. В комментариях приветствуются другие задачи на словари. В качестве идей рассматриваются три направления: - словарь как набор соответствий (страна - столица) - словарь как набор пар (ключ, число повторений) - как в данной задаче - словарь как мультинабор (ключ, список) или (ключ, множество)

Рекурсивная задача дла исполнителя Робот Задача. Требуется закрасить клетку у правой стены и вернуться в исходную клетку. Мал
Рекурсивная задача дла исполнителя Робот Задача. Требуется закрасить клетку у правой стены и вернуться в исходную клетку. Маленькая деталь. Нельзя использовать циклы, переменные и присваивание. Рекурсия нам в помощь. Если мы уже у правой стены, то просто красим и задача решена. Иначе сводим задачу к такой же, но меньшего размера: - делаем шаг вправо - решаем задачу - возвращаемся влево #рекурсия

Создание односвязного списка Данная программа иллюстрирует быстрый путь создания односвязного списка. Используются автоклассы
Создание односвязного списка Данная программа иллюстрирует быстрый путь создания односвязного списка. Используются автоклассы, callback-вызовы и свойство процедуры Print выводить структурированные данные.

Исключение дублей в последовательности массивов Для составных типов приходится вызывать Distinct с компаратором, который пред
Исключение дублей в последовательности массивов Для составных типов приходится вызывать Distinct с компаратором, который представляет собой класс - наследник IEqualityComparer. В новом NET есть DistinctBy с проекцией на ключ, но он не помогает в данной ситуации

Все математические символы в Unicode Используем Unicode categories в регулярных выражениях
Все математические символы в Unicode Используем Unicode categories в регулярных выражениях

Процедуры с выходными параметрами или функции, возвращающие кортежи На слайде представлены все возможные варианты оформления
Процедуры с выходными параметрами или функции, возвращающие кортежи На слайде представлены все возможные варианты оформления задачи о вычислении двух значений в подпрограмме. Результат можно возвращать через var-параметры процедур и как кортеж из функции (последнее дольше). Показан также короткий синтаксис описания процедур и функций. #начинающим

Объединение словарей Задача. Объединить словари количеств, просуммировав значения с одинаковыми ключами. Решение - на скриншо
Объединение словарей Задача. Объединить словари количеств, просуммировав значения с одинаковыми ключами. Решение - на скриншоте Задача - отсюда Хорошо видно, что в Питоне инициализация словарей константными значениями сделана лучше.

Операции ?. и ?? Операции ?. и ?? первым ввёл язык Kotlin для лучшей обработки ошибок с нулевыми ссылками. Пример на скрине и
Операции ?. и ?? Операции ?. и ?? первым ввёл язык Kotlin для лучшей обработки ошибок с нулевыми ссылками. Пример на скрине иллюстрирует эту возможность - если p = nil, то p.Age упадет с исключением, а p?.Age вернет объект Nullable-типа integer?, который может хранить либо целое либо nil. Операция ?? работает так: если левый операнд - не nil, то он и возвращается, в противном случае возвращается правый операнд.

Поиск дубликатов слов с помощью регулярных выражений С помощью регулярных выражений легко найти слова, по ошибке набранные дв
Поиск дубликатов слов с помощью регулярных выражений С помощью регулярных выражений легко найти слова, по ошибке набранные дважды. Здесь используются группы и нумерованные обратные ссылки на группы. Паттерн \w+ обозначает слово, а паттерн \s+ - ненулевое количество пробельных символов

Исполнитель Чертежник и процедуры с параметрами Исполнитель Чертежник - настоящий кладезь для изучения школьниками процедур с
Исполнитель Чертежник и процедуры с параметрами Исполнитель Чертежник - настоящий кладезь для изучения школьниками процедур с параметрами Просто с визуальным подкреплением можно создавать процедуры с параметрами на базе уже созданных процедур с параметрами, помещать общеупотребительные процедуры в модуль. Не забываем, что все задания для Чертежника проверяются, ошибки времени выполнения визуализируются. P.S. Почему-то в школьном программировании очень любят исполнителя Черепаху, а Чертежник есть лишь в запрещенных уже великолепных учебниках Кушниренко.

Школьники изучают Python. Урок 5 Задача. Сформировать строку abcdefghijklmnopqrstuvwxyz Решение на Python:
s = "".join(chr(ord('a')+i) for i in range(26))
print(s)
Аналогичное решение на PascalABC.NET:
##
var s := ('a'..'z').JoinToString;
s.Println

Модуль WPF - парсинг оконных элементов из XAML-строки В модуле WPF появилась возможность создавать оконные элементы, загружая
Модуль WPF - парсинг оконных элементов из XAML-строки В модуле WPF появилась возможность создавать оконные элементы, загружая их из XAML-строки. XAML-строку удобно задавать, используя синтаксис многострочных строковых литералов. Чтобы затем воспользоваться дочерними элементами в программе, необходимо сопоставить их переменным и затем привязать обработчики. На скриншоте - программа, иллюстрирующая создание StackPanel с двумя оконными элементами, сопоставление дочерним элементам переменных программы и затем привязка обработчика, меняющего текст в TextBlockе в зависимости от текста в TextBox. #новое

Модуль WPF - парсинг оконных элементов из строки В модуле WPF имеется функция Зф
Модуль WPF - парсинг оконных элементов из строки В модуле WPF имеется функция Зф

Многострочные строковые литералы ''' В PascalABC.NET появились Multiline строковые литералы, которые недавно появились в таки
Многострочные строковые литералы ''' В PascalABC.NET появились Multiline строковые литералы, которые недавно появились в таких языках как C# 11, Delphi 12, Java 22. Строки с открывающими и закрывающими кавычками не должны содержать непробельных символов. Во всех строках игнорируется отступ, равный отступу последней строки. #новое

Как найти число Pi методом Монте - Карло Данный метод не очень точный и долгий. В квадрат [0,1]x[0,1] бросается много случайн
Как найти число Pi методом Монте - Карло Данный метод не очень точный и долгий. В квадрат [0,1]x[0,1] бросается много случайных точек и определяется, какая их часть отстоит от начала координат менее чем на 1. Данное число близко к Pi/4 - тем ближе чем больше n. Но сходимость медленная. На 100 миллионах компьютер нервно замирает.

Как найти число Pi методом Монте - Карло Данный метод не очень точный и долгий. В квадрат [0,1]x[0,1] бросается много случайн
Как найти число Pi методом Монте - Карло Данный метод не очень точный и долгий. В квадрат [0,1]x[0,1] бросается много случайных точек и определяется, какая их часть отстоит от начала координат менее чем на 1. Данное число близко к Pi/4 - тем ближе чем больше n. Но сходимость медленная. На 100 миллионах компьютер нервно замирает.

Комбинированные действия Процедуры можно присваивать переменным. Такие переменные хранят действия в отличие от данных и назыв
Комбинированные действия Процедуры можно присваивать переменным. Такие переменные хранят действия в отличие от данных и называются процедурными переменными. В PascalABC.NET имеется возможность создавать комбинированные действия. Сумма действие - это действие, которое состоит в последовательном выполнении этих действий. Произведение действия на число n - это повтор действия n раз.