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

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

前往频道在 Telegram

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

显示更多
1 859
订阅者
+124 小时
-127 天
-2330 天
帖子存档
Ненависть к break Каждый год в сентябре в аудитории студентов 1 курса я задаю один и тот же вопрос: не запрещали ли вам в шко
Ненависть к break Каждый год в сентябре в аудитории студентов 1 курса я задаю один и тот же вопрос: не запрещали ли вам в школе пользоваться оператором break? В основном - нет - всё нормально. Но всегда находятся 5-6 студентов, которые рассказывают ужасные истории. Итак, их ответы - почему нельзя пользоваться оператором break по мнению некоторых школьных учителей: 1. Это развивает плохое алгоритмическое мышление 2. Решение с while - намного лучше - посмотрите - там нет этого нехорошего break - и это хорошо! 3. Решение с break свидетельствует о скудности алгоритмического ума (!) 4. Будете использовать break - поставлю двойку! Итак, почему решение с break - хорошее: - даёт естественный способ выхода из цикла - легко масштабируется на последовательности Почему решение с while - плохое: - приходится поддерживать счетчик повторений самому - сложное условие, в котором можно запутаться в нескольких местах (or вместо and, i<n и т.д.) - труднее читать - тебе и членам твоей команды

Функция ReadSeqInteger для считывания последовательности целых Функция ReadSeqInteger позволяет считать n целых в отдельную п
Функция ReadSeqInteger для считывания последовательности целых Функция ReadSeqInteger позволяет считать n целых в отдельную переменную и тем самым не смешивать ввод и вычисления. Другое её положительное качество - данные не считываются в память одновременно, а считываются по одному циклом foreach по мере необходимости. Такое свойство последовательности называется ленивостью. #начинающим

Пополнение в библиотеке School Начиная с версии 3.9.0.3352 от 13.09.2023 добавлена функция BinFormat, позволяющая переводить целое десятичное число (в том числе, типа BigInteger) в двоичную систему счисления возвращать отформатированный результат. Вызов функции: BinFormat(ДесятичноеЧисло, Длина_в_байтах, Разделитель_байтов). Второй и третий параметры являются необязательными. По умолчанию Длина_в_байтах равна нулю (нужное количество байт выбирается автоматически), а в качестве значения параметра Разделитель_байтов используется пробел. Если полученное значение не помещается в заданное параметром количество байт, это количество будет увеличено до необходимого. Задавая в качестве разделителя пустую строку, получаем результат без разделителей, но все равно дополненный нулями слева до длины, кратной восьми. ## uses School; Println(BinFormat(13)); // 00001101 Println(BinFormat(12345678)); // 10111100 01100001 01001110 Println(BinFormat(12345678, 4)); // 00000000 10111100 01100001 01001110 Println(BinFormat(12345678, 2, '.')); // 10111100.01100001.01001110 Println(BinFormat(0, 2)); // 00000000 00000000 Println(BinFormat(12453674856bi)); // 00000010 11100110 01001011 11111111 01101000

Разделители цифр в числовых константах PascalABC.NET В PascalABC.NET появились разделители _ в числовых константах. Их исполь
Разделители цифр в числовых константах PascalABC.NET В PascalABC.NET появились разделители _ в числовых константах. Их использование позволяет не запутаться в количестве разрядов в числах с большим количеством цифр. #новое

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

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

Начало занятий в компьютерной школе мехмата ЮФУ Одна из крупнейших очных компьютерных школ страны - компьютерная школа мехмат
Начало занятий в компьютерной школе мехмата ЮФУ Одна из крупнейших очных компьютерных школ страны - компьютерная школа мехмата ЮФУ - начала свою работу. Сегодня её собрания посетило более 500 школьников. На направлении Юный программист будет заниматься около 400 учеников. Все они начинают изучение программирования с языка PascalABC.NET, который возник и успешно развивается во многом благодаря Компьютерной школе мехмата ЮФУ. Здесь - самые современные методики обучения программированию, здесь - самые современные языковые конструкции, здесь - первый и основной язык программирования - PascalABC.NET, разработанный в России, для российских школьников, собравший воедино языковые и библиотечные конструкции Top 10 наиболее популярных сегодня языков программирования - от С++ и Python - до Kotlin и C#.

Константы типа int64 Литеральная константа имеет либо тип integer либо тип int64 в зависимости от значения
Константы типа int64 Литеральная константа имеет либо тип integer либо тип int64 в зависимости от значения

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

Новая книга Валерия Рубанцева для начинающих Известный популяризатор и автор многочисленных книг по программированию для начи
Новая книга Валерия Рубанцева для начинающих Известный популяризатор и автор многочисленных книг по программированию для начинающих Валерий Рубанцев выпустил новую книгу "Программирование на языке PascalABC.NET. Начальный уровень". В книге - более 500 страниц - и это только первая часть! https://disk.yandex.ru/i/fd56h1-dogXtmg Исходники программ: https://disk.yandex.ru/d/Jru7A9UiUPzNDA #начинающим

Sort vs Order Sort и Order серьёзно отличаются по производительности. Order - в 20 раз медленнее. Причина - Order использует
Sort vs Order Sort и Order серьёзно отличаются по производительности. Order - в 20 раз медленнее. Причина - Order использует лямбду и новый массив.

Типичные ошибки с типизацией В программах на PascalABC.NET соответствие типов проверяется компилятором. Рассмотрим пару приме
Типичные ошибки с типизацией В программах на PascalABC.NET соответствие типов проверяется компилятором. Рассмотрим пару примеров, в которых начинающие совершают ошибки неправильного использования типов, Явное указание типа нам поможет! #начинающим #учителям

Правила присваивания для типов Продолжаем публикацию новых материалов для начинающих. Что такое типы - важнейшая тема, с кото
Правила присваивания для типов Продолжаем публикацию новых материалов для начинающих. Что такое типы - важнейшая тема, с которой сталкиваются начинающие. На первых занятиях обычно используется автовыведение типа sum := 0, так что задумываться о типах не надо. Но немного позже говорить о типах обязательно. И первый камень преткновения - присваивание значений переменным разных типов. В PascalABC.NET как и во всех языках со статической типизацией переменная получает тип при описании, и поменять его потом нельзя. Это - огромное преимущество, оно позволяет генерировать эффективный код, работающий быстрее Питон-программ в 100 раз, а также проверяющий все ошибки типов на этапе компиляции. #начинающим #учителям

С 1 сентября! Поздравляем всех учителей и преподавателей с началом учебного года! В нашем канале мы рассматриваем применение
С 1 сентября! Поздравляем всех учителей и преподавателей с началом учебного года! В нашем канале мы рассматриваем применение PascalABC.NET как первого языка программирования. Мы специально разрабатывали наш язык для обучения современному программированию. Это - молодой язык, он активно развивается с 2015 года и содержит лучшие средства современного программирования и огромное количество библиотек. В закрепленном сообщении в шапке канала можно увидеть множество тегов, которыми помечаются публикации - щелкнув на тег, можно просмотреть все публикации по данной теме. Успехов преподавателям и их ученикам в новом учебном году!

Явное указание типа при описании - текст из учебника Приближается 1 сентября. Публикуем пункт о явном указании типа при описа
Явное указание типа при описании - текст из учебника Приближается 1 сентября. Публикуем пункт о явном указании типа при описании переменной из учебника для учеников компьютерной школы мехмата ЮФУ. Типы - дело непростое, и на начальных занятиях мы в программах используем стиль var sum := 0. Но приходит время - и мы начинаем говорить о явном указании типов. Заодно ругаем старый Паскаль - куда ж без этого ) #начинающим #учителям

Явное указание типа при описании - текст из учебника Приближается 1 сентября. Публикуем пункт о явном указании типа при описа
Явное указание типа при описании - текст из учебника Приближается 1 сентября. Публикуем пункт о явном указании типа при описании переменной из учебника для учеников компьютерной школы мехмата ЮФУ. Типы - дело непростое, и на начальных занятиях мы в программах используем стиль var sum := 0. Но приходит время - и мы начинаем говорить о явном указании типов. Заодно ругаем старый Паскаль - куда ж без этого ) #начинающим #учителям

Что легко сделать в PascalABC.NET и очень трудно в C# Много раз приходится слышать, что если язык разработан под .NET, то зач
Что легко сделать в PascalABC.NET и очень трудно в C# Много раз приходится слышать, что если язык разработан под .NET, то зачем? есть ведь C#! Однако это утверждение не выдерживает критики. При реализации PascalABC.NET было сделано многое, что есть в стандартном Паскале и что приходилось с большими трудностями моделировать средствами .NET. Было также реализовано многое, чего нет в стандартном Паскале и нет в .NET. Об одной очевидно простой задаче мы сейчас и поговорим. Этоу задачу решают на PascalABC.NET все начинающие буквально с первого занятия. А профессионалу на C# потребуется время и умственные усилия чтобы написать код для её решения. Итак, задача. Дано 10 целых, которые мы вводим с клавиатуры. С ними надо что=то сделать - например, найти сумму. Целые могут вводиться по нескольку на строке, разделяясь пробелами, а могут - на разных строках, разделяясь нажатием Enter. После десяти целых в программе еще что то может вводиться - к этому надо быть готовым. Решение на PascalABC.NET - на скриншоте.

Работающие гиперссылки в окне вывода В новой версии PascalABC.NET (скачайте!) можно вывести гиперссылку в окно вывода - и при
Работающие гиперссылки в окне вывода В новой версии PascalABC.NET (скачайте!) можно вывести гиперссылку в окно вывода - и при нажатии на нее в браузере откроется соответствующая страница. Это можно использовать например для теоретических пояснений к урокам. Пример такого подхода содержится в уроке с легковесными проверяемыми заданиями: при запуске программы Введение в окно вывода выводится гиперссылка для изучения нужного материала. #новое