grid1.pas
5.4 KB
Можно потестировать координаты будущего модуля Turtle
При использовании колёсика мыши график масштабируется. Диапазон значений - достаточно большой
Необходимо проверить на предмет корректности отображения значений на осях при различном масштабе.
Файл для тестирования прилагается.
При использовании колёсика мыши график масштабируется. Диапазон значений - достаточно большой
Необходимо проверить на предмет корректности отображения значений на осях при различном масштабе.
Файл для тестирования прилагается.
Обновлённый модуль Turtle
Обновлён школьный модуль Turtle для Исполнителя Черепаха.
Для знакомства с возможностями можно скачать новую версию и запустить указанную программу.
Обязательно понажимайте Пробел - меняется отображение координат.
Если программа будет тормозить при перерисовке, уменьшите количество итераций в цикле.
Принимаются предложения и сообщения о багах.
#новое
Обновлён школьный модуль Turtle для Исполнителя Черепаха.
uses Turtle;
begin
SetWidth(1.4);
SetColor(Colors.Blue);
//ToPoint(3,0);
Down;
loop 4000 do
begin
//Circle(0.1);
Forw(0.3);
Turn(Random(-120,120));
//Sleep(1);
end;
end.
Для знакомства с возможностями можно скачать новую версию и запустить указанную программу.
Обязательно понажимайте Пробел - меняется отображение координат.
Если программа будет тормозить при перерисовке, уменьшите количество итераций в цикле.
Принимаются предложения и сообщения о багах.
#новое
Мы - в Top-100 языков Rosetta code!
Кривая Гильберта - одна из известнейших фрактальных кривых.
Ниже приводится алгоритм рисования кривой Гильберта с помощью новой Черепахи. Это - 334-я задача, решенная на Rosetta Code:
https://rosettacode.org/wiki/Hilbert_curve#PascalABC.NET
Красота!
Кривая Гильберта - одна из известнейших фрактальных кривых.
Ниже приводится алгоритм рисования кривой Гильберта с помощью новой Черепахи. Это - 334-я задача, решенная на Rosetta Code:
https://rosettacode.org/wiki/Hilbert_curve#PascalABC.NET
uses Turtle;
procedure Hilbert(level: integer; angle,step: real);
begin
if level = 0 then
exit;
TurnRight(angle);
Hilbert(level-1, -angle, step);
Forw(step);
TurnLeft(angle);
Hilbert(level-1, angle, step);
Forw(step);
Hilbert(level-1, angle, step);
TurnLeft(angle);
Forw(step);
Hilbert(level-1, -angle, step);
TurnRight(angle);
end;
begin
SetWidth(2);
ToPoint(-9,-9);
Down;
Hilbert(6,90,0.3);
end.
Красота!
Функция SetOf
В PascalABC.NET появилась функция SetOf для создания множества.
Она возвращает множество HashSet, но это может измениться.
Функция SetOf введена для обучения начинающих.
На скриншоте - программа вычисления симметрический разности двух множеств.
#новое
В PascalABC.NET появилась функция SetOf для создания множества.
Она возвращает множество HashSet, но это может измениться.
Функция SetOf введена для обучения начинающих.
На скриншоте - программа вычисления симметрический разности двух множеств.
#новое
Короткий текст про семантические ошибки в Python
Данная статья написана как часть учебного пособия для школьников по программированию на PascalABC.NET и Python.
В комментариях пишите про другие виды семантических ошибок в Python, проявляющихся при выполнении
https://teletype.in/@pascalabcnet/kr7IoIkQnCc
Данная статья написана как часть учебного пособия для школьников по программированию на PascalABC.NET и Python.
В комментариях пишите про другие виды семантических ошибок в Python, проявляющихся при выполнении
https://teletype.in/@pascalabcnet/kr7IoIkQnCc
Teletype
Семантические ошибки в Python на этапе выполнения
Данный вид ошибок связан как правило с двумя проблемами – отсутствующим именем и несоответствием типов. Важно то, что в Python такие...
Forwarded from Agineer Ai
### Задача
Создать генератор случайных паролей на PascalABC.NET, используя интерполированные строки.
### Код программы
### Нейросеть
Сгенерировано с помощью ChatGPT от OpenAI.
Создать генератор случайных паролей на PascalABC.NET, используя интерполированные строки.
### Код программы
const
PasswordLength = 12; // Длина пароля
Characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&\*()_+[]{}|;:,.<>?'; // Разрешенные символы
function GeneratePassword(Length: Integer): string;
begin
// Генерируем пароль одной строкой, используя ArrGen для создания массива
Result := ArrGen(Length, i -> Characters.RandomElement()).JoinToString('');
end;
begin
var Password := GeneratePassword(PasswordLength); // Генерация пароля
PrintLn($"Сгенерированный пароль: {Password}"); // Вывод пароля с интерполированной строкой
end.
### Нейросеть
Сгенерировано с помощью ChatGPT от OpenAI.
Преобразование в вещественное, имеющее другой разделитель целой и дробной части
Реализован ряд дополнительных параметров для преобразования строк в вещественные с другим разделителем целой и дробной части
Можно также вызвать глобальную процедуру SetDecimalSeparator(','), которая будет влиять на все последующие преобразования
#новое
Реализован ряд дополнительных параметров для преобразования строк в вещественные с другим разделителем целой и дробной части
Можно также вызвать глобальную процедуру SetDecimalSeparator(','), которая будет влиять на все последующие преобразования
#новое
Визуализация массива точек в Turtle
В модуле Turtle появилась функция визуализации массива точек DrawPoints. В качестве параметров можно передавать либо массив точек, либо массивы абсцисс и ординат точек.
Вот программа, визуализирующая первый тестовый набор точек с двумя кластерами. На скриншоте видно, что к сожалению границы кластера не целочисленные.
#новое
#ЕГЭ
В модуле Turtle появилась функция визуализации массива точек DrawPoints. В качестве параметров можно передавать либо массив точек, либо массивы абсцисс и ординат точек.
Вот программа, визуализирующая первый тестовый набор точек с двумя кластерами. На скриншоте видно, что к сожалению границы кластера не целочисленные.
uses Turtle;
begin
Window.Title := 'Кластеризация';
var a := ReadLines('demo_2025_27_А.txt').Skip(1).JoinToString.ToReals(',').ToArray;
var xx := a[::2];
var yy := a[1::2];
DrawPoints(xx,yy);
end.
#новое
#ЕГЭ
PascalABC.NET версии 3.10.0
Вышел PascalABC.NET версии 3.10.0
Список изменений - здесь: https://pascalabcnet.github.io/mydoc_release_notes_3_10_0.html
Основные изменения: многострочные строковые литералы, операция to, новые модули WPF и Turtle, отладчик в Linux-версии.
Вышел PascalABC.NET версии 3.10.0
Список изменений - здесь: https://pascalabcnet.github.io/mydoc_release_notes_3_10_0.html
Основные изменения: многострочные строковые литералы, операция to, новые модули WPF и Turtle, отладчик в Linux-версии.
Беседа с ChatGPT о новом востребованном языке программирования. И - новый язык школьного программирования будущего - EduFlex!
Обращаем внимание, что во всех вариантах ChatGPT предлагал язык со статической типизацией. И с цепочкой методов с лямбдами в качестве параметров.
https://teletype.in/@pascalabcnet/sH6iujQmEtL
Обращаем внимание, что во всех вариантах ChatGPT предлагал язык со статической типизацией. И с цепочкой методов с лямбдами в качестве параметров.
https://teletype.in/@pascalabcnet/sH6iujQmEtL
Teletype
GhatGPT создаёт новый язык программирования
О великий могучий ChatGPT! Предложи синтаксис нового современного языка программирования, который сразу понравится всем :)
IpatovRegEx.pdf
2.1 MB
Регулярные выражения для школьников в День Знаний
Администрация канала поздравляет всех читателей с Днем Знаний!
В День Знаний мы публикуем презентацию и выступление Ипатова Юрия Аркадьевича об использовании регулярных выражений при решении задач ЕГЭ (Съезд учителей информатики, 27.08.24).
Это был лучший доклад в секции ЕГЭ.
И - ссылка на сам доклад
https://youtu.be/ySMsZm0ZUNY
Администрация канала поздравляет всех читателей с Днем Знаний!
В День Знаний мы публикуем презентацию и выступление Ипатова Юрия Аркадьевича об использовании регулярных выражений при решении задач ЕГЭ (Съезд учителей информатики, 27.08.24).
Это был лучший доклад в секции ЕГЭ.
И - ссылка на сам доклад
https://youtu.be/ySMsZm0ZUNY
Библиотека MathNet.Numerics.dll
Библиотека математических вычислений MathNet.Numerics.dll интегрирована в инсталлятор PascalABC.NET.
На скриншоте - генерация набора чисел, подчиненного нормальному распределению
#новое
Библиотека математических вычислений MathNet.Numerics.dll интегрирована в инсталлятор PascalABC.NET.
На скриншоте - генерация набора чисел, подчиненного нормальному распределению
#новое
Первая программа на PascalABC.NET для студентов
Мы начинаем с языка программирования со статической типизацией компиляционного типа. Это позволяет не только лучше понять, как данные хранятся в памяти, но и гораздо лучше почувствовать эффективность программ, а также получить правильное представление о типах данных.
С первым занятием по программированию - всех читателей канала! Кто-то ученик, кто-то преподаватель, а кто-то - разработчик. Но все мы занимаемся одним делом - программируем.
Мы начинаем с языка программирования со статической типизацией компиляционного типа. Это позволяет не только лучше понять, как данные хранятся в памяти, но и гораздо лучше почувствовать эффективность программ, а также получить правильное представление о типах данных.
С первым занятием по программированию - всех читателей канала! Кто-то ученик, кто-то преподаватель, а кто-то - разработчик. Но все мы занимаемся одним делом - программируем.
Шпаргалка Python.pdf
237.8 KB
Переходим с Python на PascalABC.NET
Перед вами - шпаргалка соответствия конструкций Python и PascalABC.NET. Некоторые конструкции PascalABC.NET отсутствуют в Python - например, цикл loop или цикл repeat-until.
Перед вами - шпаргалка соответствия конструкций Python и PascalABC.NET. Некоторые конструкции PascalABC.NET отсутствуют в Python - например, цикл loop или цикл repeat-until.
ChatGPT - решение задачи о принадлежности точки треугольнику
function triangleArea(x1, y1, x2, y2, x3, y3: real): real;
begin
Result := abs((x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) / 2.0);
end;
function IsPointInTriangle(px, py, x1, y1, x2, y2, x3, y3: real): boolean;
begin
var areaOriginal := triangleArea(x1, y1, x2, y2, x3, y3);
var area1 := triangleArea(px, py, x2, y2, x3, y3);
var area2 := triangleArea(x1, y1, px, py, x3, y3);
var area3 := triangleArea(x1, y1, x2, y2, px, py);
// Если сумма площадей равна исходной площади, точка принадлежит треугольнику
Result := abs(areaOriginal - (area1 + area2 + area3)) < 1e-9;
end;
begin
var (x1, y1) := (0.0, 0.0);
var (x2, y2) := (5.0, 0.0);
var (x3, y3) := (0.0, 5.0);
var (px, py) := (2.0, 2.0);
if IsPointInTriangle(px, py, x1, y1, x2, y2, x3, y3) then
Println('Точка принадлежит треугольнику')
else
Println('Точка не принадлежит треугольнику');
end.
Воскресная компьютерная школа мехмата ЮФУ и PascalABC.NET
Система программирования PascalABC.NET обязана своим развитием детской компьютерной школе мехмата ЮФУ (сайт компьютернаяшкола.рф). Именно здесь обкатываются все последние методики, развиваются новые библиотеки и сервисы.
Каждый год в Компьютерной школе мехмата ЮФУ обучается более 400 юных программистов. На снимках - примерно половина этих школьников, пришедших вместе с родителями в прошлое воскресенье.
Первый и основной язык программирования - PascalABC.NET. Он ставит базу, а на втором году обучения изучается Python как второй язык. Школьники проходят его быстро потому что не допускают тех ошибок, которые делают начинающие с языка Python.
На фото - примерно половина этих школьников, пришедших на собрания в два последних воскресенья вместе с родителями.
Система программирования PascalABC.NET обязана своим развитием детской компьютерной школе мехмата ЮФУ (сайт компьютернаяшкола.рф). Именно здесь обкатываются все последние методики, развиваются новые библиотеки и сервисы.
Каждый год в Компьютерной школе мехмата ЮФУ обучается более 400 юных программистов. На снимках - примерно половина этих школьников, пришедших вместе с родителями в прошлое воскресенье.
Первый и основной язык программирования - PascalABC.NET. Он ставит базу, а на втором году обучения изучается Python как второй язык. Школьники проходят его быстро потому что не допускают тех ошибок, которые делают начинающие с языка Python.
На фото - примерно половина этих школьников, пришедших на собрания в два последних воскресенья вместе с родителями.
Автоклассы и их предки
В PascalABC.NET стало возможно наследовать автоклассы от классов без полей. Это можно использовать в ряде сценариев.
#новое
В PascalABC.NET стало возможно наследовать автоклассы от классов без полей. Это можно использовать в ряде сценариев.
#новое