Среда программирования "Паскаль ABC". Язык Pascal (Паскаль)

15.09.2019

Паскаль для начинающих

Основы грамматики в таблицах и примерах

Pascal (Паскаль) - язык программирования общего назначения. Создан в 1970 году специалистами Технического Университета в Цюрихе (ETH, Zurich) под руководством профессора Никлауса Вирта (Niklaus Wirth). После появления языка Pascal были созданы новые промышленные версии языка, а также языки-потомки, которые сохраняют основные синтаксические и семантические свойства языка Вирта: Modula, Turbo Pascal, Object Pascal (Delphi), Component Pascal (Oberon-2), TMT Pascal, Free Pascal, Zonnon, Ada. Идеи языка Pascal оказали большое влияние на современные языки программирования, которые активно используются в современной промышленности: Java, Javascript, C#. При этом Pascal значительно проще и хорошо приспособлен для начального изучения программирования. Описание языка дано в соответствии с диалектом языка фирмы Borland Software (США): Turbo Pascal 7.1. (1992).

1. Основные правила грамматики

1. Текст программы состоит из трех составных частей. Это заголовок, описания, операторы. Заголовок программы содержит имя программы. Для версии ETH необходимо дополнительно указать источник и приемник данных для работы программы - файлы для ввода и вывода информации. По умолчанию файл input связан с клавиатурой компьютера, а файл output - с экраном монитора. В Turbo Pascal заголовок имеет декоративное значение и использовать его не обязательно.

2. Описания - это символьные конструкции для описания свойств объектов программы. Все объекты программы надо обязательно указать в этой части программы. Операторы - это символьные конструкции для описания действий над объектами программы. Операторы должны находиться между словами begin и end. Эти слова считаются скобками.

3. В одной строке текста можно размещать несколько операторов или описаний. Поэтому между операторами надо обязательно ставить символ-разделитель. Для разделения операторов используется символ точка с запятой (;). После последнего оператора разделитель ставить не обязательно.

4. Малые и большие буквы считаются эквивалентными (равнозначными). Имя любого объекта в записи программы может содержать только буквы латинского алфавита, цифры и символ подчеркивания (_). Имя не может начинаться с цифры. Никакие другие типы символов в записи имен не разрешаются.

2. Общее строение программыETH Pascal Пример

program имя(ввод,вывод); program echo(input,output);

описания; var n: integer;

оператор; write("число?");

оператор; read(n);

оператор write(n)

Turbo Pascal-Delphi Пример

program имя; program echo;

модули; uses crt;

описания; var n: integer;

оператор; clrscr; read(n);

оператор; write(n);

оператор readkey

3. Основные типы переменных

Действительный real 16.32

1.6320000000E+01

Тип Описатель типа (имя) Значение типа (пример)

Целый integer 30000

Длинный целый longint 2000000000

Тип Описатель типа (имя) Значение типа (пример)

Строковый string "задача"

Логический (булевский) boolean false

Интервальный M1..M2 100

4. Конструкции для описания величинОписание переменных величин Пример

имя-переменной: имя-типа; a: real;

имя1, имя2, имя3: имя-типа; x, y, z: integer;

p, q, r: 0..100;

s, t, u: "a".."z";

Описание постоянных величин Пример

имя1 = значение1; X = 40000;

имя2 = значение2; Y = 16.32;

имя3 = значение3; Z = -1.632E+10;

имяN = значениеN; A = "a";

T = "тема"#13#10"урока:";

5. Оператор присваиванияФорма оператора Пример

имя:= выражение a:= 0;

6. Ввод и выводПроцедура Пример 1 Пример 2

read(список ввода) program echo1(input,output); program echo2(input,output);

readln(список ввода) var m, n: integer; var m, n: integer;

write(список вывода) BEGIN BEGIN

writeln(список вывода) read(m,n); readln(m,n);

write("m=",m); writeln("m=",m);

write("n=",n) writeln("n=",n)

Число (n) Тип Формат вывода Результат вывода

16 integer write(n) 16

16 integer write(n:2) 16

16 integer write(n:5) 16

16.32 real write(n); 1.6320000000E+01

16.32 real write(n:12) 1.63200E+01

16.32 real write(n:5:2) 16.32

16.32 real write(n:10:4) 16.3200

7. Модуль crt (cathode ray tube)Процедуры и функции Операция Пример

clrscr Очистить экран clrscr

textcolor(цвет) Установить цвет текста textcolor(1)

textbackground(цвет) Установить цвет фона textbackground(1)

textbackground(blue)

delay(время в миллисекундах) Остановить выполнение на заданное время delay(1000)

gotoxy(колонка,строка) Установить курсор на заданную позицию gotoxy(40,20)

keypressed Если была нажата клавиша, то true (функция) repeat write("o") until keypressed

readkey Остановить выполнение до нажатия клавиши, прочитать код нажатой клавиши (функция) readkey

Номер и имя цвета Номер и имя цвета

0 black 8 darkgray

1 blue 9 lightblue

2 green 10 lightgreen

3 cyan 11 lightcyan

4 red 12 lightred

5 magenta 13 lightmagenta

6 brown 14 yellow

7 lightgray 15 white

8. Арифметические средства языкаАрифметическая операция Описание операции Пример

Сложение

Вычитание

* Умножение

/ Деление 5.0/2.0 = 2.5

div Целочисленное деление (деление без остатка) 5 div 2 = 2

mod Остаток от деления 5 mod 2 = 1

shl Двоичный сдвиг влево 5 shl 1 = 10

shr Двоичный сдвиг вправо 5 shr 1 = 2

abs(x) Модуль числа (абсолютное значение) abs(-2) = 2

sqr(x) Квадрат числа sqr(2) = 4

sqrt(x) Квадратный корень числа sqrt(4) = 2.0

pi Число пи ~ 3.14...

Функция Результат функции Пример

sin(x) Синус числа sin(pi) = 0

cos(x) Косинус числа cos(0) ~ 1.0

ln(x) Логарифм натуральный ln(1) = 0

exp(x) Экспонента (число e в степени x) exp(1) ~ 2.72

Функция Результат функции Пример

int(x) Целая часть числа int(3.6) = 3.0

trunc(x) Целое число без округления trunc(3.6) = 3

round(x) Целое число с округлением round(3.6) = 4

9. Логические средства языкаОператор условия - полная форма Пример

if условие then if (x>0) and (y>0) then

оператор 1 begin x:=x+y; y:=0 end

оператор 2 begin x:=x-y; y:=-y end

Оператор условия - неполная форма Пример

if условие then if x>y then

оператор x:=x mod y

Логическая операция Описание операции Приоритет (порядок выполнения операции)

not Отрицание (НЕ) 1

and Конъюнкция (И) 2

or Дизъюнкция (ИЛИ) 3

xor Сильная дизъюнкция (ИЛИ-ИЛИ) 3

Логическое отношение (предикат) Описание отношения Приоритет (порядок выполнения операции)

> Больше 4

< Меньше 4

<> Не равно 4

<= Не больше (меньше или равно) 4

>= Не меньше (больше или равно) 4

Оператор варианта Пример

case выражение of case c of

вариант-1: оператор; 0: x:=x+1;

вариант-2: оператор; 1,2: x:=x-1;

вариант-N: оператор 3..100: x:=-x

оператор x:=0

10. Операторы циклаОператор цикла с управляющей переменной - форма "to" Пример

for имя:=значение1 to значение2 do for i:=1 to n do

оператор begin read(a); s:=s+a end

Оператор цикла с управляющей переменной - форма "downto" Пример

for имя:=значение1 downto значение2 do for i:=n downto 0 do

оператор write(i)

Оператор цикла с логическим пред-условием Пример

while условие-повторения do while i<=n do

оператор begin read(a); s:=s+a; i:=i+1 end

Оператор цикла с логическим пост-условием Пример

операторы write(i); i:=i-1

until условие-выхода until i=0

11. МассивыТип массива Описание массива Пример

Одномерный массив (вектор) array [ тип-индекса ] of тип-элемента var a: array [ 1..100 ] of integer;

Тип массива Описание массива Пример

2-мерный массив (матрица) array [ тип-индекса-1, тип-индекса-2 ] of тип-элемента; var a: array [ 1..M, 1..M ] of real;

3-мерный массив array [ тип-индекса-1, тип-индекса-2, тип-индекса-3 ] of тип-элемента; var a: array [ 0..1, 0..M, 0..N ] of char;

4-мерный массив array [ тип-индекса-1, тип-индекса-2, тип-индекса-3, тип-индекса-4 ] of тип-элемента; var a: array [ 0..1, 0..1, 0..1, "a".."z" ] of boolean;

12. Процедуры и функции пользователяПроцедура Пример процедуры для обмена значений между целыми переменными m и n

procedure имя(параметры); procedure swap(var m,n:integer);

описания локальных величин var s: integer;

операторы процедуры s:=m; m:=n; n:=s

операторы программы read(x,y); swap(x,y); writeln(x:10,y:10)

Функция Пример функции для вычисления натуральной степени (n) целого числа (m)

program имя-программы; program primer; var x,y: integer;

function имя(параметры): тип-результата; function power(m,n:integer):integer;

описания локальных величин var s,i: integer;

операторы функции s:=1; for i:=1 to n do s:=s*m; power:=s

операторы программы read(x,y); writeln(power(x,y))

13. Символьные типы данныхТип Описатель типа (имя) Значение типа (пример)

Символьный (литерный) char "a"

Строковый string "задача"

"тема"#13#10"урока:"

Функция Результат функции Пример

length(s) Длина строки n:=length(s)

pos(s1,s2) Начало первого вхождения строки s1 внутри строки s2 (номер позиции) n:=pos("+",s)

copy(s,p,n) Часть строки s длиной n, начиная с позиции p c:=copy(s,4,2)

concat(s1,s2,s3,...sn) Соединить строки (функция конкатенации) c:=concat(s,";",t,".")

Функция Результат функции Пример

upcase(c) Преобразовать малую букву латинского алфавита в большую (символ верхнего регистра) c:=upcase(c)

chr(n) Символ с номером n c:=chr(n)

ord(c) Номер символа со значением c n:=ord(c)

succ(c) Следующий символ таблицы ASCII c:=succ(c)

pred(c) Предыдущий символ таблицы ASCII c:=pred(c)

Процедура Операция Пример

delete(s,p,n) Удалить часть строки s длиной n, начиная с позиции p delete(s,n,1)

insert(s1,s2,p) Вставить строку s1 в строку s2, начиная с позиции p insert("+",s,1)

val(s,x,r) Преобразовать строку s в число x с признаком результата r val(s,x,nan)

str(x:f,s) Преобразовать число x в строку s с форматом числа f str(x:10,s)

s1 + s2 Соединить строки (операция конкатенации) s:=s+";"+t+"."

14. МножестваТип множества Описание множества Пример

Постоянное множество (константа) [ тип-элемента ] const a = [ 0..100 ];

Переменное множество (переменная) set of [ тип-элемента ] var a: set of [ "0".."9", "+", "-" ];

Пример описания постоянного множества Элементы множества

const A = [ "A".."Z", "a".."z" ]; Буквы латинского алфавита

const B = [ "a".."z" ]; Малые буквы латинского алфавита

const C = [ "А".."Я", "а".."п", "р".."я", "Ё", "ё" ]; Буквы алфавита-кириллицы

const D = [ "А".."Я" ]; Большие буквы алфавита-кириллицы

const M = [ "0".."9" ]; Цифровые символы от 0 до 9

const N = [ 0..100 ]; Целые числа от 0 до 100

Министерство образования и науки Российской Федерации

Государственное образовательное учреждение

высшего профессионального образования

«Омский государственный технический университет»

Ю. П. Чернов, О. П. Шафеева

Программирование в системе Pascal abc

Учебное пособие

Издательство ОмГТУ

УДК 004.4 (075)

ББК 32.973-018я73

Рецензенты :

В. И. Стариков, канд. техн. наук, доцент ОГИС;

С. С. Ефимов, канд. техн. наук, доцент ОмГУ им. Ф.М. Достоевского

Чернов, Ю. П.

Ч 49 Программирование в системе Pascal ABC : учеб. пособие / Ю. П. Чернов, О. П. Шафеева. – Омск: Изд-во ОмГТУ, 2010. – 100 с.

ISBN 978-5-8149-0897-1

Пособие включает теоретический материал с описанием элементов языка и системы программирования Pascal ABC, а также примеры разработки алгоритмов и программ на языке Паскаль для задач разного уровня сложности. Рассмотренные схемы проектируемых алгоритмов позволяют облегчить усвоение материала студентами.

Учебное пособие предназначено для изучения языка программирования высокого уровня Паскаль в дисциплинах «Информатика», «Основы алгоритмизации и программирования», «Алгоритмические языки и программирование», «Программирование на языке высокого уровня».

Печатается по решению редакционно-издательского совета Омского государственного технического университета

УДК 004.4 (075)

ББК 32.973-018я73

ISBN 978-5-8149-0897-1 © ГОУ ВПО «Омский государственный

технический университет», 2010

Введение

Наиболее распространенным в настоящее время языком программирования для компьютеров серии IBM PC является Паскаль. Это язык высокого уровня, отличающийся простотой синтаксиса, структурированный и удобный для начального обучения программированию.

Учебная система программирования Pascal ABC (автор  С.С. Михалкович ) представляет собой диалект стандартного языка Паскаль.

Система Pascal ABCпредназначена для обучения программированию на языке Паскаль и ориентирована на студентов младших курсов. По мнению разработчиков этой системы, первоначальное обучение программированию должно проходить в достаточно простых и дружественных средах, в то же время эти среды должны быть близки к стандартным и иметь богатые и современные библиотеки подпрограмм.

К достоинствам системы Pascal ABC следует отнести то, что она позволяет:

    программировать на языке Паскаль, подобном Delphi Pascal, включая объектно-ориентированные расширения;

    работать с графикой;

    создавать событийные приложения.

Система Pascal ABCоснована на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию. Некоторые языковые конструкции допускают, наряду с основным, упрощенное использование, что позволяет использовать их на ранних этапах обучения.

К важнейшим достоинствам пакета Pascal ABC относится соответствие стандартному Паскалю, быстрая компиляция программ, объединение компилятора с текстовым редактором, предупреждение об ошибках на уровне исходной программы, обширная библиотека подпрограмм и полезные расширения, упрощающие программирование. Начинающему программисту целесообразно начинать изучение языка и среды именно с этого пакета.

Компилятор Pascal ABCявляется компилятором переднего плана (front- end). Это означает, что он не генерирует исполняемый код в виде.exe -файла, а создает в результате компиляции дерево программы в памяти, которое затем выполняется с помощью встроенного интерпретатора. В итоге скорость работы программы оказывается медленнее скорости работы этой же программы, откомпилированной в среде Borland Pascal или в среде Borland Delphi. Однако на современных компьютерах это практически не ощущается.

Название "Pascal ABC" относится к интерактивной системе программирования, состоящей из компилятора языка и объединенного с ним экранного редактора. Интерактивность системы проявляется в основном в удобстве редактирования и обработки ошибок, обнаруженных в исходных текстах программ. Запуск программ в этой системе происходит на уровне исходных текстов. Высокая скорость компиляции приводит к тому, что переход от исходного текста к исполняемой программе происходит очень быстро. Это значительно сокращает цикл трансформации программ от редактирования к компиляции и исполнению программ.

Система Pascal ABC включает в себя как язык программирования, так и инструментальную среду, предназначенную для написания, отладки и исполнения программ. Язык характеризуется расширенными возможностями по сравнению со стандартом языка Паскаль и хорошо развитой библиотекой модулей, позволяющих использовать возможности операционной системы, формировать графическое изображение и т.д. Инструментальная среда программирования позволяет создавать тексты программ, компилировать их, находить ошибки и оперативно их исправлять, тестировать и выполнять отлаженную программу. Среда включает также большой объем справочной информации.

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

Пособие подготовлено с учетом опыта чтения лекций и проведения авторами лабораторных занятий в компьютерном учебном центре ОмГТУ. В первую очередь пособие предназначено для студентов университета и представляет теоретическое руководство по программированию как в среде Pascal ABC, так и в средах Free Pascal и Turbo Pascal.

Pascal (Паскаль)- язык программирования общего назначения. Создан в 1970 году специалистами Технического Университета в Цюрихе (ETH, Zurich) под руководством профессора Никлауса Вирта (Niklaus Wirth). После появления языка Pascal были созданы новые промышленные версии языка, а также языки-потомки, которые сохраняют основные синтаксические и семантические свойства языка Вирта: Modula, Turbo Pascal, Object Pascal (Delphi), Component Pascal (Oberon-2), TMT Pascal, Free Pascal, Zonnon, Ada. Идеи языка Pascal оказали большое влияние на современные языки программирования, которые активно используются в современной промышленности: Java, Javascript, C#. При этом Pascal значительно проще и хорошо приспособлен для начального изучения программирования. Описание языка дано в соответствии с диалектом языка фирмы Borland Software (США): Turbo Pascal 7.1. (1992).

Часть I.

1. Основные правила грамматики

1.Текст программы состоит из трех составных частей. Этозаголовок,описания,операторы. Заголовок программы содержит имя программы. Для версии ETH необходимо дополнительно указать источник и приемник данных для работы программы - файлы для ввода и вывода информации. По умолчанию файлinputсвязан с клавиатурой компьютера, а файлoutput- с экраном монитора. В Turbo Pascal заголовок имеет декоративное значение и использовать его не обязательно.

2.Описания- это символьные конструкции для описания свойств объектов программы. Все объекты программы надо обязательно указать в этой части программы.Операторы- это символьные конструкции для описания действий над объектами программы. Операторы должны находиться между словамиbeginиend. Эти слова считаются скобками.

3.В одной строке текста можно размещать несколько операторов или описаний. Поэтому между операторами надо обязательно ставить символ-разделитель. Для разделения операторов используется символточка с запятой(;). После последнего оператора разделитель ставить не обязательно.

4.Малые и большие буквы считаютсяэквивалентными(равнозначными). Имя любого объекта в записи программы может содержать толькобуквылатинского алфавита,цифрыисимвол подчеркивания(_). Имя не может начинаться с цифры. Никакие другие типы символов в записи имен не разрешаются.

2. Общее строение программы

program имя(ввод,вывод);

program echo(input ,output );

описания;

var n: integer;

оператор;

write("число?");

оператор;

оператор

Turbo Pascal-Delphi

program имя;

program echo;

uses crt;

описания;

var n: integer;

оператор;

clrscr; read(n);

оператор;

оператор

3. Основные типы переменных

Описатель типа (имя)

Значение типа (пример)

Символьный (литерный)

Строковый

Логический (булевский)

Интервальный

Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal.

Виды величин

Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal. Что такое величина? Величина — это отдельный информационный объект, хранящийся в памяти компьютера. Существуют две классификации величин. Мы рассмотрим каждую в отдельности.


Более подробно мы поговорим о них в последующих уроках.

В свою очередь числовой делится на два типа.


Привожу сразу обозначение этого типа в Паскаль

Символьные тоже делятся на два типа.

Вторая классификация величин.
Константа — значение неизменно. Переменная — значение может меняться в течение работы программы. Переменные обозначаются символическими именами, которые называются идентификаторами. Как присвоить значение какой либо переменной? С помощью команды присваивания! Команда присваивания в Паскаль: < переменная >:= < выражение >

Первая программа на Pascal

Структура программы в Паскаль

Заголовок

Program < имя переменной >;

Объявление переменных и констант

const <Символическое имя> = <выражение>;
var <Однотипные переменные> : <тип>;

Раздел операторов

Begin
<оператор 1>;
<оператор 2>;

end.

Ввод и вывод в Паскаль

У вас, наверняка, возникает вопрос: «Как вводить значения переменных с клавиатуры?», а также: «Как вывести на экран полученный результат?». Для этого используются четыре специальных оператора:

Для ввода:

  • read(Переменную)
  • readln(Переменную)

И для вывода:

  • write(Текст в »)
  • writeln(Текст в »)

«В чем разница между read и readln, write и writeln?»: снова озадачитесь вы. Ответ прост. Если добавляете «ln» (что расшифровывается, как Line), то курсор переносится на следующую строку.

Hello, World на Pascal

Теперь вы готовы написать первую программу.

Program Hello_World; {фигурные кавычки позволяют вставить комментарий к коду} Begin Write("Hello, World!"); End.

Ну, тут все понятно. Чтобы разнообразить решение предлагаю решить несколько задачек этого типа.

Задача 1 . Требуется запросить имя пользователя, а затем вывести «Привет, <имя>!» Для решения этой задачи нам потребуется строковой тип данных — string.

Program Hello_boy_girl; {фигурные кавычки позволяют вставить комментарий к коду} var name: string; {объявляем name -- это новая переменная} Begin Write("Введите свое имя: "); {так как мы используем write, курсор будет мигать после двоеточия} Read(name); {Считываем все, что ввел пользователь} Write("Привет,", name,"!"); {Обратите внимание! Переменная отделяется от кавычек ЗАПЯТЫМИ!} End.

Задача 2. Требуется узнать сколько лет пользователю, а затем вывести «Вам <возраст> лет». Очевидно, что для решения этой задачи нам потребуется целочисленный тип данных — Integer.

Program How_old_are_you; var years: integer; {объявляем years -- это новая переменная} Begin Writeln("Сколько вам лет?"); {так как мы используем writeln, каретка будет мигать под надписью} Read(years); {Считываем все, что ввел пользователь} Write("Вам ", years," лет."); End.

Ну, вот и все! Все, что я хотел рассказать вам в сегодняшнем уроке. Вы узнали, что такое величина в Pascal, и выучили основные типы. А также научились создавать простейшие линейные программы. Более подробно про типы в PascalABC.Net мы поговорим в следующих уроках. Кстати, про PascalABC.Net. Понятно, что писать программы на листочках бесполезно, и вы должны тренироваться на компьютере. По этой ссылке скачайте последнюю версию для Windows.
Вот, как выглядит интерфейс программы при запуске.


P.S. Давайте выделим две особенности Pascal:

  1. Паскаль НЕ чувствителен к регистру, то есть и program, и Program, и PrOgRaM для него ничем не отличаются. А потому с самого начала привыкайте писать в нижнем регистре, чтобы при переходе на другой язык программирования не испытывать никаких проблем с этим;
  2. Имя программы в Pascal не играет никакого значения, оно не несет в себе никаких полезных функций. Если хотите вы можете просто не писать ЕГО!

P.P.S. В мире наиболее популярны три операционные системы: Linux, Mac OS и Windows. А если у вас не Windows? Какой компилятор выбрать тогда? Об этом мы с вами поговорим в уроке номер N.

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

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

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

На более продвинутом уровне переходят к изучению динамических типов данных (что предполагает более глубокое знание информатики) или объектно-ориентированного программирования (большинство современных программ создаются с использованием этой парадигмы).

Профессиональная подготовка программиста обычно включает изучение конкретных языков, сред, инструментов, библиотек и др., применяющихся для написания программ в тех или иных областях деятельности (веб-разработка, написание системного программного обеспечение, создание пользовательских программ, разработка баз данных и др.).

О языке Pascal

Язык Pascal (Паскаль) почти не имеет практического значения, но часто используется для обучения программированию (для этого он и был разработан). В настоящее время существует ряд его диалектов и сред разработки, имеющих незначительные различия между собой.

Практическое значение имеет среда разработки Lazarus, в которой используется диалект Object Pascal. В ней можно создавать объектно-ориентированные программы с графическим интерфейсом пользователя.

О сайте

Это сайт для начинающих изучать программирование. В качестве языка используется Pascal (Паскаль). Нами используется FreePascal, однако, поскольку синтаксис Pascal везде почти одинаков, большинство программ должны компилироваться и в других средах.

Также предусмотрен вариант сортировки задач по уровням сложности.