Ссылки для скачивания
Перед установкой ознакомьтесь с Лицензионным соглашением.
Старые версии
Новости
20.05.23. На странице https://pascalabc.net/stepikcourse опубликованы новые курсы по PascalABC.NET от центра олимпиадного программирования DL Club.
08.05.23. Вышла версия PascalABC.NET 3.9.0.beta. Основное — ковариантные параметры обобщений, аргументы по умолчанию при вызове подпрограммы, модуль автоматической проверки LightPT.
22.02.23. Открыта регистрация на конференцию «Использование системы программирования PascalABC. NET в обучении программированию»
Copyright © Ivan Bondarev, Stanislav Mihalkovich 2023 All rights reserved. Custom Design by Youjoomla.com
Случайная программа
// Числа Фибоначчи - кортежи
// Уровень сложности: 1
const n = 25;
begin
var a := 1;
var b := 1;
Print(a);
for var i := 2 to n do
begin
Print(b);
(a,b) := (b,a+b)
end;
end.
Начало. Тексты программ
Это — самая первая программа на любом языке программирования.
Вычисление площади круга
const Pi = 3.1415; begin var r := ReadReal('Введите радиус круга: '); var S := Pi*r*r; Println('Площадь круга равна ',S); end.
Здесь иллюстрируется ввод, затем вычисления и вывод результата.
Вычисление A 8
Код на PascalABC.NET:
var a: real; begin var a := ReadReal('Введите a: '); var a2,a4,a8: real; // вспомогательные переменные var a2 := a * a; var a4 := a2 * a2; var a8 := a4 * a4; Println(a,$' в степени 8 = '); end.
Здесь иллюстрируется использование промежуточных переменных и вычислений: без промежуточных вычислений мы бы потратили 7 умножений, а с промежуточными — всего 3.
Вычисление расстояния между двумя точками на прямой
Код на Pascal:
var a,b: real; // координаты точек r: real; // расстояние между точками на прямой begin write('Введите координату точки a: '); readln(a); write('Введите координату точки b: '); readln(b); r := abs(a-b); writeln('Расстояние между точками = ',r); end.
Здесь иллюстрируется использование стандартной функции abs
Вычисление гипотенузы по катетам
var a,b: real; // катеты c: real; // гипотенуза begin write('Введите катеты прямоугольного треугольника: '); readln(a,b); c := sqrt(a*a+b*b); writeln('Гипотенуза = ',c); end.
Здесь иллюстрируется использование стандартной функции sqrt
Бросание кубиков
var r1,r2: integer; // значения на верхних гранях кубиков begin r1 := Random(6)+1; r2 := Random(6)+1; writeln('Очки, выыпавшие на кубиках: ',r1,' ',r2); writeln('Сумма очков равна ',r1+r2); end.
Здесь иллюстрируется использование стандартной функции Random
Обмен значений двух переменных с использованием третьей
var x,y: real; v: real; // вспомогательная переменная begin write('Введите x,y: '); readln(x,y); v := x; x := y; y := v; writeln('Новые значения x,y: ',x,' ',y); end.
Это — классическая задача о перемене местами значений двух переменных с использованием третьей переменной. Она часто возникает в других задачах. Интересно, что x и y являются как входными, так и выходными переменными
Код на PascalABC.NET:
var x,y: real; begin write('Введите x,y: '); readln(x,y); var v: real; // вспомогательная переменная v := x; x := y; y := v; writeln('Новые значения x,y: ',x,' ',y); end.
Данное решение использует внутриблочное описание переменной. В результате вспомогательная переменная описывается первый раз лишь в тот момент, в который она действительно понадобилась
Выделение цифр из двузначного числа
var x: integer; // двузначное число c1,c2: integer; // первая и вторая цифры двузначного числа begin write('Введите двузначное число: '); readln(x); c1 := x div 10; c2 := x mod 10; writeln('Первая и вторая цифры двузначного числа: ',c1,' ',c2); end.
Ссылки
- Программы для начинающих
- Сайт PascalABC.NET: Программы и алгоритмы для начинающих
Система программирования PascalABC.NET
В XXI веке растёт спрос на языки программирования, позволяющие писать высокоуровневый код в лёгкой, компактной и понятной форме. Современные реализации языка Паскаль, такие как PascalABC.NET, здесь могут многое предложить.
PascalABC.NET — язык программирования нового поколения, нацеленный на обучение современному программированию в 21 веке и использование в образовательной и научной сферах. Он создан в 2007 году, основан на языках C# и Delphi (Object Pascal), которые занимают соответственно 5 и 16 строчки в рейтинге TIOBE 2022, заимствует от языка Python компактность записи программ и ряд конструкций, сохраняя при этом все преимущества языка компиляционного типа (ранний контроль ошибок, высокая скорость выполнения программ).
PascalABC.NET включает бесплатную, простую и мощную среду разработки с подсказками по коду, автоформатированием и образцами кода для начинающих.
PascalABC.NET – мощный язык с простым и логичным синтаксисом, хорошо понятным начинающим программистам. Это позволяет писать компактные, эффективные и понятные программы и делает данный язык идеальным выбором для обучения современному программированию в широком смысле: от учеников начальной школы до студентов профильных ИТ-направлений. Кроме того, он превосходно подходит как для создания консольных приложений малого и среднего размера, так и в качестве средства программирования «на каждый день».
PascalABC.NET – мультипарадигменный язык. На нём можно писать программы в разных стилях: процедурном, объектном, объектно-ориентированном, функциональном, а также сочетать эти стили, что позволяет формировать различные образовательные траектории в зависимости от уровня и возраста обучаемых.
Важные ссылки
Скачать | Последняя версия системы программирования PascalABC.NET |
Примеры | Примеры программ на PascalABC.NET |
Курс на Stepik | Интерактивный курс по PascalABC.NET на платформе Stepik |
Презентации | Презентации возможностей PascalABC.NET |
Советуем прочитать
Ключевые особенности PascalABC.NET
- Ряд расширений языка Pascal, в числе которых оператор foreach, внутриблочные описания переменных, автоопределение типа при описании, встроенные множества произвольных типов, case по строкам, упрощенный синтаксис модулей, методы в записях, операция new для создания объектов, определение тел методов внутри классов, целые произвольной длины, многомерные динамические массивы.
- Самые современные средства языков программирования: обобщенные классы и подпрограммы, интерфейсы, перегрузка операций, λ-выражения, исключения, сборка мусора, методы расширения, безымянные классы, автоклассы.
- Генерация эффективного кода для платформы .NET.
- Высокая совместимость с Delphi.
- Высокая скорость выполнения программ.
- Возможность доступа к огромному количеству .NET-библиотек от контейнерных классов до средств работы с сетью.
- Среда разработки с встроенным отладчиком, обеспечивающая подсказки по коду, переход к определению и реализации подпрограммы, шаблоны кода, автоформатирование кода.
- Встроенный в среду разработки дизайнер форм для быстрого создания оконных приложений.
- Простые и эффективные графические библиотеки (растровая, векторная и трёхмерная) для создания простых визуализаций и анимаций.
- Средства параллельного программирования в виде директив OpenMP.
- Встроенный электронный задачник Programming Taskbook.
- Модули исполнителей Робот и Чертежник, используемых в школьной информатике.
- Механизм проверяемых заданий, обеспечивающий автоматическую постановку и проверку заданий.
- Возможность запуска консольного компилятора под Mono в современных версиях Linux, возможность встраивания PascalABC.NET в редактор Geany.
Система PascalABC.NET является совместной разработкой российских и немецких программистов. В России центр разработки находится в институте математики, механики и компьютерных наук Южного федерального университета.
PascalABC.NET активно используется в ряде средних и высших учебных заведений России и ближнего зарубежья. Так, на мехмате Южного федерального университета он используется для обучения 1 курса направления Фундаментальная информатика и информационные технологии в курсе Основы программирования, а также для обучения школьников в одной из самых больших в России Детской компьютерной школе.
Простота, современные возможности, свободный код — вот главные достоинства PascalABC.NET!
При подготовке материала использовались источники:
https://pascalabc.net/ssyilki-dlya-skachivaniya/
https://pascalabc.net/wiki/index.php?title=%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC
https://pascalabc.net/