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

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

Открыть в Telegram

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

Больше
1 857
Подписчики
Нет данных24 часа
-147 дней
-2330 дней
Архив постов
Орлы и решки - продолжение Обобщим предыдущую задачу. Монета бросается 100 раз. В каком проценте случаев выпадет n орлов? Дан
Орлы и решки - продолжение Обобщим предыдущую задачу. Монета бросается 100 раз. В каком проценте случаев выпадет n орлов? Данная программа рисует график распределения.
uses PlotWPF;

begin
  // Процент выпадения n орлов при 100 бросаниях
  var n := 1000000;
  var a := new real[101];
  loop n do
  begin
    var Орлы := 0;
    loop 100 do
      if Random(0, 1) = 0 then
        Орлы += 1;
    a[Орлы] += 1;
  end;
  LineGraphWPF.Create(PartitionPoints(0,100,100),a);
end.
По графику ясно, что распределение нормальное. Уже при 30 орлах вероятность выпадения практически нулевая.

Использование случайных чисел для моделирования Случайные числа позволяют проводить компьютерные эксперименты, которые трудно
Использование случайных чисел для моделирования Случайные числа позволяют проводить компьютерные эксперименты, которые трудно или нельзя проводить в реальности. Рассмотрим задачу о подбрасывании монеты n раз. В каком проценте случаев выпадет орёл? Если сделать всего два бросания, то понятно, что орёл достаточно часто может выпасть дважды, то есть в 100 % случаев. Но в основном в среднем орел будет выпадать в 50 % случаев. Проверим это , проведя компьютерный эксперимент. Приведенная программа иллюстрирует, как меняется процент орлов в зависимости от числа бросаний. Хорошо видно, что с ростом числа бросаний n процент орлов приближается к 50 %. Чем больше экспериментов, тем точнее результат! Большие данные делают своё дело!

Использование случайных чисел для моделирования

Особенности сравнения записей в PascalABC.NET В PascalABC.NET записи можно сравнивать на равенство и неравенство - при этом с
Особенности сравнения записей в PascalABC.NET В PascalABC.NET записи можно сравнивать на равенство и неравенство - при этом сравниваются все поля. Например, следующий код
pascal
type
  Person = record
    name: string;
    age: integer;
  end;
  
function PersonCreate(name: string; age: integer): Person;
begin
  Result.name := name;
  Result.Age := age
end;

begin
  var p1 := PersonCreate('Иван',20);
  var p2 := PersonCreate('Иван',20);
  Print(p1 = p2);
end.  
выведет True. Принято считать, что PascalABC.NET наследует всё, что есть в C#/ Но это не так. Аналогичная программа на C# выдаст ошибку компиляции: структуры в C# по умолчанию сравнивать на равенство нельзя.

Сравнение записей

massiv, srednee, dlina и другие животные Каких только программ не встретишь на просторах сети или в учебных работах! Но подоб
massiv, srednee, dlina и другие животные Каких только программ не встретишь на просторах сети или в учебных работах! Но подобный код отличается особой "красотой". Пишите в комментариях, часто ли вы такой код встречаете.

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

Система тегов канала Уважаемые читатели канала! Для удобства навигации статьи, публикуемые на канале, помечаются тегами. Список тегов по разделам Обучение #дошкольникам #начинающим #студентам #методика #ЕГЭ #обучение Типы и конструкции языка, алгоритмы и примеры кода #строки #матрицы #списки #кортежи #файлы #последовательности #типы #лямбды #коллекции #цепочки_методов #рекурсия #алгоритмы #oneliner Прикладные примеры #графика #3D #игра #проекты Специфика PascalABC.NET #IDE #PascalABC #NET Парадигмы программирования #объектно_ориентированное_программирование #функциональное_программирование Общие вопросы #персоналии #интересное #теория #сравнение_языков #производительность #стрим #Линукс

Бесконечный цикл с выходом из середины Обработка данных до некоторого условия - распространенная задача для начинающих. Напри
Бесконечный цикл с выходом из середины Обработка данных до некоторого условия - распространенная задача для начинающих. Например, вводятся числа, конец ввода - число 0. Необходимо вычислить сумму таких чисел, максимум или количество удовлетворяющих некоторому условию. Во всех этих случаях можно использовать паттерн "бесконечный цикл с выходом из середины", использующий break. Вот схема этого паттерна;
pascal
while True do
  begin
    var x := ReadInteger;
    if x = 0 then
      break;
    
  end;
На скриншоте приведено решение задачи "в последовательности целых с признаком конца ввода 0 найти количество четных"

Процедуры Insert и Delete и функция Pos для обработки строк Для обработки строк в .NET имеется множество удобных методов. Одн
Процедуры Insert и Delete и функция Pos для обработки строк Для обработки строк в .NET имеется множество удобных методов. Однако они вызывают исключение при указании индекса или длины вне границ строки. Для начинающих в этой ситуации удобнее использовать процедуры Insert и Delete и функция Pos, из стандартного модуля, которые были унаследованы еще из Borland Pascal. На скриншоте - пример задачи, которая хорошо решается этими подпрограммами: заменить второе вхождение подстроки на другую подстроку.

Вышла операционная система «Альт Образование» 10.1 с предустановленным PascalABC.NET Сразу несколько новостных ИТ-порталов опубликовали новость о том, что вышла операционная система «Альт Образование» 10.1, в которую включена система программирования PascalABC.NET с графической оболочкой, "используемая при сдаче ЕГЭ по информатике". Среди них: https://3dnews.ru/1080205/vishla-novaya-versiya-linuxdistributiva-alt-obrazovanie-101 https://4pda.to/2023/01/13/408545/vyshla_rossijskaya_os_alt_obrazovanie_10_1_chto_novogo/ Оригинал новости - на сайте baseAlt: https://www.basealt.ru/about/news/archive/view/novaja-versija-rossiiskoi-os-alt-obrazovanie-101-mnogo-interesnykh-vozmozhnostei-dlja-pedagogov-shkolnikov-studentov-i-sistemnykh-administratorov

Дональду Кнуту - 85 лет Дональд Кнут - американский учёный в области информатики, преподаватель и идеолог программирования. Наиболее известен Дональд Кнут как автор издательской системы TeX, которая присутствует сейчас практически везде, в том числе на интернет-страницах. Например, на этой странице все математические формулы набраны в системе TeX. Дональд Кнут известен также как автор фундаментального труда «Искусство программирования», состоящего в настоящий момент из 4 томов. Эти книги охватывают практически все фундаментальные алгоритмы информатики и используются на протяжении десятилетий в университетских курсах и как справочник. Кроме того, название этих книг напоминает нам, что программирование - это в первую очередь не ремесло, не технология, не средство зарабатывания денег и не способ решать сложные задачи. Программирование - это в первую очередь - искусство! Оригинальная статья - здесь: https://www.linux.org.ru/news/development/17089463

Алгоритмические анимации объектов в WPFObjects Алгоритмическая анимация обеспечивает исключительную плавность. Для WPF-объект
Алгоритмические анимации объектов в WPFObjects Алгоритмическая анимация обеспечивает исключительную плавность. Для WPF-объектов имеются алгоритмические анимации перемещения, вращения и масштабирования.

Неизвестный decimal В .NET имеется тип decimal, предназначенный для бухгалтерских вычислений. Его особенности: 1. Он веществе
Неизвестный decimal В .NET имеется тип decimal, предназначенный для бухгалтерских вычислений. Его особенности: 1. Он вещественный, но преобразуется в тип real и назад только явно. А вот из типа integer неявно 2. Его точность - 28 знаков после десятичной точки, то есть ошибки округления сказываются значительно позже. 3. Диапазон значений - не такой большой как в real - максимальное значение - порядка 10^28

Вычисление функции Exp(a) https://teletype.in/@pascalabcnet/xBW5RmmSSkP

Русские исполнители Модуль Исполнители для младших школьников позволяет ознакомиться с часто используемыми стандартными класс
Русские исполнители Модуль Исполнители для младших школьников позволяет ознакомиться с часто используемыми стандартными классами и их операциями и понять, что с ними можно делать, используя методы на русском. Методически такой подход улучшает восприятие детей и снижает возраст ребенка, который может это освоить.

Ковариантность в PascalABC.NET В PascalABC.NET появилась поддержка ковариантных типов обобщений. Ковариантность - это сохране
Ковариантность в PascalABC.NET В PascalABC.NET появилась поддержка ковариантных типов обобщений. Ковариантность - это сохранение иерархии наследования в контейнерах производных типов. Приведем пример. Пусть у нас есть простая иерархия наследования Person <- Student. Cтудент - разновидность персоны, и студента можно использовать всюду вместо персоны (принцип подстановки). Согласно тому же принципу List<Person> будет разновидностью sequence of Person:
var ip: sequence of Person := new List<Person>;
А будет ли List<Student> разновидностью sequence of Person?
var ip: sequence of Person := new List<Student>;
Здесь в дело вступает ковариантность аргумента T в sequence of T. Код на скриншоте компилируется и работает(сборка 3222 от 6.01.22) inherited Create(n,a); univ := u; end; end; begin var L := new List<Student>; L.Add(new Student('Иванов',20,'ЮФУ')); L.Add(new Student('Попова',19,'ЮФУ')); var ip: sequence of Person := L; ip.Print end. ``` Результат - на скриншоте.

Как учить детей программированию? https://teletype.in/@vdjenjer/QrTVS-LSwS0