#статьи
Изучаем язык предков и пишем первый проект — консольную игру.
Иллюстрация: Оля Ежак для Skillbox Media
Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.
Если вы не пропускали школьные уроки информатики, слово Pascal наверняка вызывает у вас лёгкий трепет. Пускай на этом языке давно уже не пишут серьёзный софт, зато он идеален для первых шагов в программировании.
В этой статье разберёмся, что такое Pascal, как он появился, из чего сделан, и за что его так любят преподаватели. А бонусом пробуем написать на Pascal первое приложение — консольную игру «Камень, ножницы, бумага».
Содержание
Pascal — это процедурный язык программирования, названный в честь французского математика и физика Блеза Паскаля. Изначально язык создавался для обучения студентов структурному программированию — но оказался так хорош, что в конце XX века стал одним из самых популярных в мире.
Язык создал Никлаус Вирт, всемирно известный программист и информатик. Идея разработать Pascal ему пришла во время работы над Algol-60, другим популярным языком того времени. Вирт вместе с коллегами занимался улучшением Algol — пытался сделать его проще, лаконичнее и функциональнее. Так появился диалект Algol W, который впоследствии и лёг в основу Pascal. Подробнее о том, как создавался язык, читайте в нашей статье про Никлауса Вирта.
Одной из целей разработки Pascal было обучение студентов программированию, поэтому из сложного синтаксиса Algol убрали всё лишнее, что помогло значительно снизить порог входа.
Вот основные фишки языка:
-
Простой синтаксис. Из Алгола убрали неочевидные правила оформления кода, а конструкции операторов for, if и while стали занимать меньше строк.
-
Строгая типизация. В Алголе была мощная система работы с типами данных, но новичку с ней было сложно разобраться. Поэтому для Pascal Вирт выбрал строгую типизацию, когда все переменные, функции и параметры надо объявлять с явным указанием типа.
-
Строгая структура управления. На данных, полученных в процессе выполнения кода, программы могли создавать новые функции. Из Pascal эту фичу убрали, чтобы упростить логику.
-
Множества. Вирт добавил в Pascal поддержку множеств — коллекций уникальных символов, которое можно объединять между собой и искать пересечения. Сейчас множества встречаются во многих языках программирования, но в 1970 году это был новаторский инструмент.
-
Ограниченная вложенность. В Algol можно было использовать глубоко вложенные друг в друга блоки кода. Это удобно для разработки больших и сложных проектов, но в скриптах для обучения фича практически бесполезная. Поэтому её тоже не включили в Pascal.
-
Структуры данных. В Pascal появилась возможность объединять разные типы данных в одну структуру. Для их обозначения Вирт ввёл ключевое слово record. Позже эту концепцию адаптировали для C/C++.
Всего за 20 лет Pascal стал одним из самых популярных алгоритмических языков программирования. Крупные технологические компании того времени начали выпускать собственные версии компиляторов и даже реализаций Pascal, добавляя в язык то, что не было предусмотрено в оригинальной версии. Так на свет появились Object Pascal, Turbo Pascal, Free Pascal, PascalABC.NET и Delphi.
Pascal задумывался Виртом как язык для обучения студентов азам структурного программирования — и до сих пор широко используется в этом качестве. Язык преподают в школах и вузах по всему миру, на нём же пишутся примеры кода и задачи для госэкзаменов. Например, в России на ОГЭ школьникам предлагают ответить, что делает код программы, написанный на Pascal.
Сейчас Pascal не используют для разработки сервисов и приложений, которыми каждый день пользуются миллионы человек. Инженеры отдают предпочтение более быстрым и универсальным языкам программирования, например Java, Python или JavaScript.
Однако в прошлом Pascal выбирали и крупные компании. Например, на нём написали код операционной системы для компьютера Apple Lisa. Для этого в 1980-е инженеры Apple разработали Object Pascal — объектно-ориентированную версию языка программирования, которую использовали практически во всех своих проектах до середины 1990-х годов.
Персональный компьютер Apple Lisa
Фото: Maximilian Schönherr / Wikimedia CommonsЕсли вы считаете себя продвинутым пользователем Windows, то наверняка хотя бы раз пользовались файловым менеджером Total Commander. Многие его компоненты до сих пор написаны на Pascal.
Pascal для основы системы вёрстки TeX выбрал информатик Дональд Кнут. Одна из реализаций этой системы, LaTeX, до сих пор активно используется. Например, для представления математических формул в статьях на «Википедии» или для вёрстки текстов научных работ.
Ещё больше софта написано на языке программирования Delphi, который основан на базе объектно-ориентированной версии языка, — Object Pascal. Например, его использовали для Skype, ранних версий игрового движка Unreal Engine, архиватора WinRAR, цифровой музыкальной станции FL Studio и некоторых модулей macOS.
Детище Вирта понравилось не только студентам, но и сообществу. Поэтому компании начали создавать собственные реализации Pascal, добавляя в него необходимые функции. Посмотрим на популярные диалекты и языки программирования, разработанные на базе Pascal.
В 1986 году группа инженеров под руководством Ларри Теслера разработала для Apple объектно-ориентированную версию языка Pascal — Object Pascal. В языке программирования появились классы, объекты и наследование, а разработчикам открылись новые возможности. Например, стало возможно переиспользовать код, чтобы не приходилось каждый раз переписывать фичи.
Благодаря этому язык стал пригодным для использования в больших проектах. Позже его ещё много раз дорабатывали разные компании. Например, инженеры Borland добавили в него динамическую типизацию — это когда одна и та же переменная может иметь разные типы в разных участках программы.
Turbo Pascal — среда разработки и диалект языка Pascal, который использовался для работы в ней. Приставку Turbo он получил из-за высокой скорости компиляции кода. Обычно компиляторы проходили по коду несколько раз, создавая сначала промежуточные файлы, а потом связывая их. Turbo Pascal было достаточно всего один раз пройтись по коду проекта, чтобы сразу скомпилировать исполняемый файл. А ещё диалект создавали для систем с ограниченными ресурсами, поэтому компилятор не нагружал память и процессор компьютера.
Разработкой реализации занимались инженеры компании Borland, а за основу они взяли UCSD Pascal, который использовался на компьютерах Apple II.
В 1997 году появился Free Pascal — реализация с открытым исходным кодом, которая взяла в себя простоту классической версии Pascal и возможности ООП. Для сообщества открытость была важной фишкой языка, так как появилась возможность переносить Pascal на любые платформы и операционные системы. Сейчас реализация Free Pascal поддерживает более 30 платформ, включая Windows, Linux, macOS, Android, MS-DOS, FreeBSD, Game Boy Advance и Nintendo DS.
Delphi — язык программирования от компании Borland, который вырос из Object Pascal. Его создали для того, чтобы было удобнее разрабатывать полноценные программы для ПК — например, добавили библиотеку для разработки графических интерфейсов и инструменты для работы с базами данных.
В отличие от Pascal Delphi умеет компилироваться в кросс-платформенные приложения — для Windows, macOS, Linux, Android и iOS. Также язык поддерживает куда больше библиотек — например, для работы с сетью и графикой.
В 2007 году Южный федеральный университет (ЮФУ) в Ростове-на-Дону выпустил PascalABC.NET — собственную реализацию, которая вобрала в себя возможности Delphi, получила собственные модули и поддержку платформы .NET.
С релиза Pascal прошло больше 50 лет, и язык воспитал не одно поколение разработчиков. Несмотря на появление более современных языков программирования, Pascal продолжают использовать в школах и на младших курсах вузов. На это есть несколько причин:
Простой синтаксис. Код на Pascal легко писать и читать, поэтому начинающие разработчики могут сфокусироваться на решении задачи, а не бороться со сложностями языка.
Структурированность. Программы на Pascal состоят из блоков кода, поэтому школьники привыкают придерживаться строгой структуры. В следующем примере программа состоит из двух блоков кода: основной программы и процедуры PrintNumbers.
program StructuredProgram; { Объявление программы с именем StructuredProgram }
var
i: integer; { Объявление переменной i типа integer }
procedure PrintNumbers; { Объявление процедуры PrintNumbers }
begin
for i := 1 to 10 do { Цикл от 1 до 10 }
writeln(i); { Вывод значения i на экран }
end;
begin
PrintNumbers; { Вызов процедуры PrintNumbers }
end.
Безопасность. Строгая типизация Pascal исключает появление ошибок в процессе работы программы. Если типы переменных не будут соответствовать заданным значениям, компилятор заметит ошибку и не позволит разработчику «выстрелить себе в ногу».
program TypeSafety;
var
a: integer;
b: real;
begin
a := 10;
b := 5.5;
{ Следующая строка вызовет ошибку компиляции, так как типы переменных не совпадают }
{ a := b; }
end.
Лёгкий переход. В Pascal есть всё, что используется в современных языках программирования, поэтому разработчики могут без проблем перейти на Python, Java или C++. Для перехода надо будет ознакомиться только с особенностями нового языка, но при этом не придётся снова погружаться в базовые концепции.
Вот, например, как выглядит простая программа для вывода чисел на экран, написанная на Pascal и Java. Сразу видно, что синтаксис языков различается — однако основные принципы остаются теми же: переменные, циклы, вывод на экран и сама модель построения программы.
{ Pascal }
program PascalExample;
var
i: integer;
begin
for i := 1 to 5 do
writeln('Pascal: ', i);
end.# Java
public class JavaExample {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
System.out.println("Java: " + i);
}
}
}
Традиции. В образовательных системах многих стран мира Pascal десятилетиями использовался для обучения программированию. За это время скопилось множество учебников и пособий, а также появились преподаватели с опытом в Pascal. Поэтому учебные заведения продолжают использовать накопившийся опыт и параллельно разрабатывают программы обучения на основе других языков программирования, например Python.
Теперь давайте разберём синтаксис Pascal более подробно. Чтобы экспериментировать с примерами из статьи, можно использовать онлайн-компиляторы, например GDB и JDoodle.
Код любой программы на Pascal должен соответствовать чёткой структуре. Если ей пренебречь, то код просто не запустится. Так в общем виде выглядит шаблон программы:
program ProgramName;
const
ConstantName = value;
var
VariableName: type;
procedure ProcedureName;
begin
end;
function FunctionName: returnType;
begin
end;
begin
end.
Построчно разберём её:
- program MyFirstProgram — заголовок программы, в котором указывается название. Этот блок необязательный и может совпадать с именем файла.
- const — блок с объявлением постоянных значений (констант), которые не изменяются по ходу выполнения программы.
const
Pi = 3.14;
- var — блок с объявлением переменных. На этом этапе им не надо передавать значения, достаточно просто указать тип.
var
x, y: integer;
count: integer;
name: string;
- procedure ProcedureName; — блок объявления процедур. Важно, чтобы код самой процедуры находился между ключевыми словами begin и end.
- function FunctionName: returnType; — блок объявления функций. Тут всё то же самое, что и с процедурами, только надо указать тип значения, которое возвращает функция.
Важно!
Процедуры и функции в Pascal очень похожи друг на друга, но надо помнить, что функция должна обязательно вернуть значение в конце своей работы. В современных языках программирования нет различия между этими понятиями, поэтому если вы никогда не сталкивались с Pascal, то это может запутать.
- Основной код программы — код, который идёт в самом конце после объявления всего, что в нём будет использоваться. Также должен находиться строго между ключевыми словами begin и end. В конце программы надо поставить точку.
Из примеров выше можно заметить, что в качестве разделителя в конце строки надо ставить точку с запятой (;). Это правило верно для всех случаев, кроме операторов else и until. Перед их объявлением точку с запятой ставить не нужно.
Pascal — язык со строгой типизацией. Это значит, что мы должны явно указывать тип данных для каждой переменной. Разработчики могут использовать следующие простые типы данных:
ТипСлужебное словоПримерЦелые числаinteger345Числа с плавающей точкойreal3,14Логический типbooleantrue (истина) или false (ложь)Символыchar'F'
Помимо простых типов, в Pascal используются структурные, которые объединяют несколько элементов в более сложную структуру:
-
Массив — это структура данных, которая хранит в себе несколько элементов одного типа. При объявлении надо обязательно указать имя, размер массива и используемый тип данных. В коде программы к элементам массива можно обращаться по индексу.
var
numbers: array[1..5] of integer;
begin
numbers[1] := 5;
numbers[2] := 10;
end.
-
Множество — структурный тип данных, который хранит в себе коллекцию уникальных элементов одного и того же типа. С множествами можно производить операции, например объединение, пересечение и проверку принадлежности элемента к множеству.
var
numbers: set of 1..10;
vowels: set of char;
begin
numbers := [1, 2, 3, 4, 5];
vowels := ['a', 'e', 'i', 'o', 'u'];
end.
Операторы — это небольшие команды, которые говорят компьютеру, что надо делать с переменными. Например, мы уже встречали оператор присвоения — :=. Он сообщает, что значение справа нужно записать в переменную слева. Давайте посмотрим на другие операторы в Pascal.
Чаще всего разработчики пользуются арифметическими операторами. Они выглядят и работают так же, как в математике, но есть и исключения:
ОператорЗначениеПример+Сложениеa + b-Вычитаниеa - b*Умножениеa * b/Делениеa / bdivЦелочисленное делениеa div bmodОстаток от деленияa mod b
После идут операции сравнения. Они сравнивают значение слева со значением справа и возвращают true (истина) или false (ложь):
ОператорЗначениеПример=Равноa = b<>Не равноa <> b>Большеa > b<Меньшеa < b>=Больше или равноa >= b<=Меньше или равноa <= b
Логические операторы выполняют операции над логическими значениями:
- and — логическое И;
- or — логическое ИЛИ;
- not — логическое НЕ.
Также свои операторы есть у множеств. Они нужны для удобной работы со структурой данных, чтобы разработчику не надо было реализовывать всё с нуля:
- + — объединение множеств;
- * — пересечение множеств;
- - — разность множеств;
-
in — проверка принадлежности элемента множеству.
Например, вот так можно объединить множество [1, 2, 3] с множеством [3, 4, 5] и получить множество [1, 2, 3, 4, 5]:
var
set1, set2, set3: set of 1..10;
begin
set1 := [1, 2, 3];
set2 := [3, 4, 5];
set3 := set1 + set2;
end.
С помощью условных операторов можно выполнять определённые действия только в том случае, если выполняются поставленные условия. Чаще всего используется конструкция if … then … else. В общем виде он выглядит так:
if условие then
код
else
код
Ключевое слово else нужно для описания операций, которые программа должна выполнить, если окажется, что поставленное условие ложно. Это необязательное ключевое слово, поэтому от него можно отказаться, если оно не нужно в программе.
Напишем код, который проверяет, чтобы содержимое переменной x было больше 3. Если условие соблюдается, то в консоли пользователь увидит сообщение x > 3, иначе появится сообщение x <= 3. Используем функцию writeln() для вывода текста в консоль:
var
x: integer;
begin
x := 2;
if x > 3 then
writeln('x > 3')
else
writeln('x <= 3');
end.
Если нужно выбрать одно действие из нескольких заготовленных, то лучше воспользоваться оператором case … of. В общем виде он выглядит так:
case выражение of
значение1: оператор1;
значение2: оператор2;
...
else оператор3;
end;
В коде выше:
- Выражение — переменная или выражение, результат которого Pascal будет проверять на соответствие значениям.
- Значения — возможные значения выражения.
- Оператор — действие, которое надо выполнить, если выражение равно соответствующему значению.
- else обрабатывает случай, если ни одно из значений не подошло.
Напишем программу, которая будет выводить название дня недели, исходя из его порядкового номера:
var
day: integer;
begin
day := 4;
case day of
1: writeln('Понедельник');
2: writeln('Вторник');
3: writeln('Среда');
4: writeln('Четверг');
5: writeln('Пятница');
else writeln('Сегодня выходной');
end;
end.
Переменная day равна 4, поэтому код выше выведет в консоль Четверг.
С помощью циклов можно многократно выполнять блок кода, пока истинно указанное условие. В Pascal есть три вида циклов:
- for … to … do используется, когда заранее известно количество итераций, а значение управляющей переменной увеличивается или уменьшается на каждом шаге.
var
i: integer;
begin
for i := 1 to 5 do
writeln('Итерация: ', i);
end.
- while … do выполняется до тех пор, пока условие цикла истинно. Количество итераций заранее не известно.
var
x: integer;
begin
x := 1;
while x <= 5 do
begin
writeln('Итерация: ', x);
x := x + 1;
end;
end.
- repeat … until также выполняется до тех пор, пока истинно поставленное условие.
var
x: integer;
begin
x := 1;
repeat
writeln('Итерация: ', x);
x := x + 1;
until x > 5;
end.
Для комментирования кода в Pascal есть два оператора: { … } и (* … *). С их помощью можно выделить код и текст, который проигнорирует компилятор. Например, чтобы добавить пояснения для сложной функции или объяснить работу алгоритма программисту, который будет работать после вас. Операторы различаются только синтаксисом, поэтому можно использовать любой, но важно помнить, что нельзя начать комментарий одним оператором, а закончить другим:
{ … *).
Комментарии могут быть однострочными и многострочными:
begin
{ Это однострочный комментарий }
{
Это многострочный комментарий.
Компилятор проигнорирует текст в скобках.
}
end.
Мы уже достаточно знаем для того, чтобы запрограммировать настоящую игру, которая будет работать в терминале. Напишем код для «Камень, ножницы, бумага» — простой детской игры. Для этого ещё познакомимся с модулем crt, который нужен для работы с консолью, и генератором случайных чисел.
Для разработки на Pascal нужен компилятор, совместимый с вашей операционной системой. Рассмотрим установку всего необходимого на примере реализации PascalABC.NET для Windows:
Скриншот: PascalABC.NET / Skillbox Media
- Выберите необходимую сборку (с задачником или без него) и нажмите кнопку Скачать.
Скриншот: PascalABC.NET / Skillbox Media
- В загрузках найдите файл PascalABCNETSetup.exe, запустите его и выполните шаги установки.
- Найдите приложение PascalABC.NET в меню Пуск и запустите его.
- В этой среде разработки можно писать код на Pascal и выполнять его.
Скриншот: PascalABC.NET / Skillbox MediaСперва зададим название программы, импортируем модуль crt и объявим переменные. Сторонние модули в Pascal импортируются с помощью ключевого слова uses. В коде игры будем использовать всего три переменные:
- playerChoice, computerChoice — для хранения ходов пользователя и компьютера.
- playAgain — для взаимодействия с меню.
program RockPaperScissors;
uses crt; { Импортируем модуль для работы с консолью }
{ Объявляем переменные}
var
playerChoice, computerChoice: integer;
playAgain: char;
Теперь напишем процедуру, которая будет выводить в консоль меню выбора хода. Назовём её ShowChoices и с помощью нескольких вызовов функции writeln() покажем пользователю возможные ходы:
{ Процедура для вывода в консоль меню}
procedure ShowChoices;
begin
writeln('Выберите:');
writeln('1 - Камень');
writeln('2 - Ножницы');
writeln('3 - Бумага');
end;
Ещё нам нужна процедура, которая будет выбирать победителя, исходя из выбора пользователя и компьютера. Назовём её DetermineWinner и в скобках обязательно укажем параметры, которые ей нужны для работы. Для правильного определения победителя помним, что ножницы разрезают бумагу, бумага обезвреживает камень, а камень ломает ножницы:
procedure DetermineWinner(player, computer: integer);
begin
{ Выводим ход пользователя и компьютера }
writeln('Вы выбрали: ', playerChoice);
writeln('Компьютер выбрал: ', computerChoice);
{ Если выбор равен, то ничья }
if player = computer then
writeln('Ничья!')
{ Определяем победителя и выводим сообщение в консоль }
else if ((player = 1) and (computer = 2)) or
((player = 2) and (computer = 3)) or
((player = 3) and (computer = 1)) then
writeln('Вы победили!')
else
writeln('Компьютер победил!');
end;
Всё готово для того, чтобы приступить к разработке главного цикла игры. Он будет повторяться до тех пор, пока пользователь не закроет игру, введя в консоль символ n или N. Общая логика игры выглядит так:
- Инициализируем генератор случайных чисел.
- Очищаем экран с помощью функции clrscr из модуля crt, который мы экспортировали ранее, и выводим меню с помощью процедуры ShowChoices.
- Получаем ход пользователя и проверяем, чтобы он ввёл только значения, которые есть в меню (числа от 1 до 3). Если ввёл что-то другое, то просим сделать выбор ещё раз.
- Генерируем случайный ход компьютера с помощью функции random () и выбираем победителя с помощью процедуры DetermineWinner.
- Спрашиваем пользователя, хочет ли он сыграть ещё раз.
Код главного цикла игры выглядит так:
{ Основной код игры }
begin
{ Инициализируе�� генератор случайных чисел }
randomize;
repeat
{ Очищаем экран для нового раунда }
clrscr;
{ Выводим меню }
ShowChoices;
{ Получаем ход пользователя }
write('Ваш ход (1-3): ');
readln(playerChoice);
{ Проверяем, чтобы ввод пользователя соответствовал условию }
if (playerChoice < 1) or (playerChoice > 3) then
begin
writeln('Неверный выбор. Попробуйте снова.');
continue; { Возвращаемся в начало цикла }
end;
{ Генерируем случайный ход компьютера: 1 — камень, 2 — ножницы, 3 — бумага}
computerChoice := random(3) + 1;
{ Определяем победителя}
DetermineWinner(playerChoice, computerChoice);
{ Спрашиваем, хочет ли пользователь сыграть ещё раз}
writeln;
write('Хотите сыграть ещё раз? (y/n): ');
readln(playAgain);
{ Цикл игры повторяется до тех пор, пока пользователь не введёт n или N }
until (playAgain = 'n') or (playAgain = 'N');
{ Благодарим пользователя и завершаем игру }
writeln('Спасибо за игру!');
end.
А так игра работает в консоли:
Интерфейс игры в консоли
Скриншот: PascalABC.NET / Skillbox MediaПолностью код игры выглядит так:
program RockPaperScissors;
uses crt; { Импортируем модуль для работы с консолью }
{ Объявляем переменные}
var
playerChoice, computerChoice: integer;
playAgain: char;
{ Процедура для вывода в консоль меню}
procedure ShowChoices;
begin
writeln('Выберите:');
writeln('1 - Камень');
writeln('2 - Ножницы');
writeln('3 - Бумага');
end;
procedure DetermineWinner(player, computer: integer);
begin
{ Выводим ход пользователя и компьютера }
writeln('Вы выбрали: ', playerChoice);
writeln('Компьютер выбрал: ', computerChoice);
{ Если выбор равен, то ничья }
if player = computer then
writeln('Ничья!')
{ Определяем победителя и выводим сообщение в консоль }
else if ((player = 1) and (computer = 2)) or
((player = 2) and (computer = 3)) or
((player = 3) and (computer = 1)) then
writeln('Вы победили!')
else
writeln('Компьютер победил!');
end;
{ Основной код игры }
begin
{ Инициализируем генератор случайных чисел }
randomize;
repeat
{ Очищаем экран для нового раунда }
clrscr;
{ Выводим меню }
ShowChoices;
{ Получаем ход пользователя }
write('Ваш ход (1-3): ');
readln(playerChoice);
{ Проверяем, чтобы ввод пользователя соответствовал условию }
if (playerChoice < 1) or (playerChoice > 3) then
begin
writeln('Неверный выбор. Попробуйте снова.');
continue; { Возвращаемся в начало цикла }
end;
{ Генерируем случайный ход компьютера: 1 — камень, 2 — ножницы, 3 — бумага}
computerChoice := random(3) + 1;
{ Определяем победителя}
DetermineWinner(playerChoice, computerChoice);
{ Спрашиваем, хочет ли пользователь сыграть ещё раз}
writeln;
write('Хотите сыграть ещё раз? (y/n): ');
readln(playAgain);
{ Цикл игры повторяется до тех пор, пока пользователь не введёт n или N }
until (playAgain = 'n') or (playAgain = 'N');
{ Благодарим пользователя и завершаем игру }
writeln('Спасибо за игру!');
end.
В этой статье мы изучили только основы языка, если хотите погрузиться глубже в Pascal, то вот список полезных материалов:
-
Курсы по PascalABC.NET на Stepik — коллекция бесплатных курсов как для школьников, так и для взрослых. Есть отдельные курсы для подготовки к программированию на ЕГЭ.
-
Книги по PascalABC.NET — книги Александра Осипова и Валерия Рубанцева подойдут для школьников и студентов первых курсов, а двухтомник Михаила Абрамяна — официальное руководство от Южного федерального университета по работе со структурами данных.
-
LearnPascal — сайт с уроками по Pascal и решением задач.
-
Rosetta Code — сборник решений задач, в том числе на Pascal.
-
Codewars — сервис для практики решения алгоритмических задач. В списке языков программирования можно выбрать Pascal.
Бесплатный курс по Python ➞
Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе.
Смотреть программу
<!DOCTYPE html>
<html class="l-html" lang="ru">
<head>
<script>
mindbox = window.mindbox || function() { mindbox.queue.push(arguments); };
mindbox.queue = mindbox.queue || [];
mindbox('create', {
endpointId: 'skillbox.skillboxMediaWebsite'
});
</script>
<script src="https://api.s.mindbox.ru/scripts/v1/tracker.js" async></script>
<script>window.yaContextCb = window.yaContextCb || []</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>
<!-- Google Tag Manager -->
<script async data-skip-moving="true" type="text/javascript">
/** Google Tagmanager */
;(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start':
new Date().getTime(), event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-NLCGQ25');
window.dataLayer = window.dataLayer || [];
function gtag() {
window.dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'GTM-NLCGQ25');
</script>
<!-- End Google Tag Manager -->
<!-- Retail Rocket -->
<script type="text/javascript">
var rrPartnerId = "6048a0d097a52514f050731f";
var rrApi = {};
var rrApiOnReady = rrApiOnReady || [];
rrApi.addToBasket = rrApi.order = rrApi.categoryView = rrApi.view =
rrApi.recomMouseDown = rrApi.recomAddToCart = function() {};
(function(d) {
var ref = d.getElementsByTagName('script')[0];
var apiJs, apiJsId = 'rrApi-jssdk';
if (d.getElementById(apiJsId)) return;
apiJs = d.createElement('script');
apiJs.id = apiJsId;
apiJs.async = true;
apiJs.src = "//cdn.retailrocket.ru/content/javascript/tracking.js";
ref.parentNode.insertBefore(apiJs, ref);
}(document));
</script>
<!-- End Retail Rocket -->
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<meta name="google-site-verification" content="UA-kf725UpqwkHenFmDQ05SW115fL9UdD9uXiFy-ibQ"/>
<meta name="robots" content="index, follow"/>
<link rel="dns-prefetch" href="//fonts.googleapis.com">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="canonical" href="https://skillbox.ru/media/code/pascal-chto-eto-za-yazyk-chem-on-khorosh-i-pochemu-ego-do-sikh-por-prepodayut-v-shkolakh/">
<link rel="preload" href="https://marketplace.canva.com/EAD2962NKnQ/2/0/1600w/canva-rainbow-gradient-pink-and-purple-zoom-virtual-background-_Tcjok-d9b4.jpg" as="image" />
<link rel="preload" href="https://via.placeholder.com/1170x250/92c952" as="image" />
<link rel="preload" href="https://via.placeholder.com/768x250/40E0D0" as="image" />
<link rel="preload" href="https://via.placeholder.com/375x250/ffbcee" as="image" />
<title>Pascal: что это за язык программирования и где его применяют / Skillbox Media</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="keywords" content="паскаль, паскаль язык программирования, pascal" />
<meta name="description" content="Главное о Pascal: что это за язык программирования, кто его автор и разработчик, для чего нужен язык и где применяется." />
<link href="/bitrix/cache/css/s1/media/kernel_main/kernel_main_v1.css?177096852510536" type="text/css" rel="stylesheet" />
<link href="/bitrix/js/ui/fonts/opensans/ui.font.opensans.css?16341171742599" type="text/css" rel="stylesheet" />
<link href="/bitrix/js/main/popup/dist/main.popup.bundle.css?163411696226345" type="text/css" rel="stylesheet" />
<link href="//cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/css/swiper.min.css" type="text/css" rel="stylesheet" />
<link href="/bitrix/cache/css/s1/media/page_a1ad23d5ae1fea4c6ac7c690c80a4763/page_a1ad23d5ae1fea4c6ac7c690c80a4763_v1.css?1771490810746236" type="text/css" rel="stylesheet" />
<link href="/bitrix/cache/css/s1/media/template_176a7c2453ad8025fa7d27f65ba6a4b1/template_176a7c2453ad8025fa7d27f65ba6a4b1_v1.css?1771490810442835" type="text/css" data-template-style="true" rel="stylesheet" />
<script type="text/javascript">if(!window.BX)window.BX={};if(!window.BX.message)window.BX.message=function(mess){if(typeof mess==='object'){for(let i in mess) {BX.message[i]=mess[i];} return true;}};</script>
<script type="text/javascript">(window.BX||top.BX).message({'JS_CORE_LOADING':'Загрузка...','JS_CORE_NO_DATA':'- Нет данных -','JS_CORE_WINDOW_CLOSE':'Закрыть','JS_CORE_WINDOW_EXPAND':'Развернуть','JS_CORE_WINDOW_NARROW':'Свернуть в окно','JS_CORE_WINDOW_SAVE':'Сохранить','JS_CORE_WINDOW_CANCEL':'Отменить','JS_CORE_WINDOW_CONTINUE':'Продолжить','JS_CORE_H':'ч','JS_CORE_M':'м','JS_CORE_S':'с','JSADM_AI_HIDE_EXTRA':'Скрыть лишние','JSADM_AI_ALL_NOTIF':'Показать все','JSADM_AUTH_REQ':'Требуется авторизация!','JS_CORE_WINDOW_AUTH':'Войти','JS_CORE_IMAGE_FULL':'Полный размер'});</script>
<script type="text/javascript" src="/bitrix/js/main/core/core.js?1634117028565340"></script>
<script>BX.setJSList(['/bitrix/js/main/core/core_ajax.js','/bitrix/js/main/core/core_promise.js','/bitrix/js/main/polyfill/promise/js/promise.js','/bitrix/js/main/loadext/loadext.js','/bitrix/js/main/loadext/extension.js','/bitrix/js/main/polyfill/promise/js/promise.js','/bitrix/js/main/polyfill/find/js/find.js','/bitrix/js/main/polyfill/includes/js/includes.js','/bitrix/js/main/polyfill/matches/js/matches.js','/bitrix/js/ui/polyfill/closest/js/closest.js','/bitrix/js/main/polyfill/fill/main.polyfill.fill.js','/bitrix/js/main/polyfill/find/js/find.js','/bitrix/js/main/polyfill/matches/js/matches.js','/bitrix/js/main/polyfill/core/dist/polyfill.bundle.js','/bitrix/js/main/core/core.js','/bitrix/js/main/polyfill/intersectionobserver/js/intersectionobserver.js','/bitrix/js/main/lazyload/dist/lazyload.bundle.js','/bitrix/js/main/polyfill/core/dist/polyfill.bundle.js','/bitrix/js/main/parambag/dist/parambag.bundle.js']);
BX.setCSSList(['/bitrix/js/main/lazyload/dist/lazyload.bundle.css','/bitrix/js/main/parambag/dist/parambag.bundle.css']);</script>
<script type="text/javascript">(window.BX||top.BX).message({'AMPM_MODE':false});(window.BX||top.BX).message({'MONTH_1':'Январь','MONTH_2':'Февраль','MONTH_3':'Март','MONTH_4':'Апрель','MONTH_5':'Май','MONTH_6':'Июнь','MONTH_7':'Июль','MONTH_8':'Август','MONTH_9':'Сентябрь','MONTH_10':'Октябрь','MONTH_11':'Ноябрь','MONTH_12':'Декабрь','MONTH_1_S':'января','MONTH_2_S':'февраля','MONTH_3_S':'марта','MONTH_4_S':'апреля','MONTH_5_S':'мая','MONTH_6_S':'июня','MONTH_7_S':'июля','MONTH_8_S':'августа','MONTH_9_S':'сентября','MONTH_10_S':'октября','MONTH_11_S':'ноября','MONTH_12_S':'декабря','MON_1':'янв','MON_2':'фев','MON_3':'мар','MON_4':'апр','MON_5':'май','MON_6':'июн','MON_7':'июл','MON_8':'авг','MON_9':'сен','MON_10':'окт','MON_11':'ноя','MON_12':'дек','DAY_OF_WEEK_0':'Воскресенье','DAY_OF_WEEK_1':'Понедельник','DAY_OF_WEEK_2':'Вторник','DAY_OF_WEEK_3':'Среда','DAY_OF_WEEK_4':'Четверг','DAY_OF_WEEK_5':'Пятница','DAY_OF_WEEK_6':'Суббота','DOW_0':'Вс','DOW_1':'Пн','DOW_2':'Вт','DOW_3':'Ср','DOW_4':'Чт','DOW_5':'Пт','DOW_6':'Сб','FD_SECOND_AGO_0':'#VALUE# секунд назад','FD_SECOND_AGO_1':'#VALUE# секунду назад','FD_SECOND_AGO_10_20':'#VALUE# секунд назад','FD_SECOND_AGO_MOD_1':'#VALUE# секунду назад','FD_SECOND_AGO_MOD_2_4':'#VALUE# секунды назад','FD_SECOND_AGO_MOD_OTHER':'#VALUE# секунд назад','FD_SECOND_DIFF_0':'#VALUE# секунд','FD_SECOND_DIFF_1':'#VALUE# секунда','FD_SECOND_DIFF_10_20':'#VALUE# секунд','FD_SECOND_DIFF_MOD_1':'#VALUE# секунда','FD_SECOND_DIFF_MOD_2_4':'#VALUE# секунды','FD_SECOND_DIFF_MOD_OTHER':'#VALUE# секунд','FD_SECOND_SHORT':'#VALUE#с','FD_MINUTE_AGO_0':'#VALUE# минут назад','FD_MINUTE_AGO_1':'#VALUE# минуту назад','FD_MINUTE_AGO_10_20':'#VALUE# минут назад','FD_MINUTE_AGO_MOD_1':'#VALUE# минуту назад','FD_MINUTE_AGO_MOD_2_4':'#VALUE# минуты назад','FD_MINUTE_AGO_MOD_OTHER':'#VALUE# минут назад','FD_MINUTE_DIFF_0':'#VALUE# минут','FD_MINUTE_DIFF_1':'#VALUE# минута','FD_MINUTE_DIFF_10_20':'#VALUE# минут','FD_MINUTE_DIFF_MOD_1':'#VALUE# минута','FD_MINUTE_DIFF_MOD_2_4':'#VALUE# минуты','FD_MINUTE_DIFF_MOD_OTHER':'#VALUE# минут','FD_MINUTE_0':'#VALUE# минут','FD_MINUTE_1':'#VALUE# минуту','FD_MINUTE_10_20':'#VALUE# минут','FD_MINUTE_MOD_1':'#VALUE# минуту','FD_MINUTE_MOD_2_4':'#VALUE# минуты','FD_MINUTE_MOD_OTHER':'#VALUE# минут','FD_MINUTE_SHORT':'#VALUE#мин','FD_HOUR_AGO_0':'#VALUE# часов назад','FD_HOUR_AGO_1':'#VALUE# час назад','FD_HOUR_AGO_10_20':'#VALUE# часов назад','FD_HOUR_AGO_MOD_1':'#VALUE# час назад','FD_HOUR_AGO_MOD_2_4':'#VALUE# часа назад','FD_HOUR_AGO_MOD_OTHER':'#VALUE# часов назад','FD_HOUR_DIFF_0':'#VALUE# часов','FD_HOUR_DIFF_1':'#VALUE# час','FD_HOUR_DIFF_10_20':'#VALUE# часов','FD_HOUR_DIFF_MOD_1':'#VALUE# час','FD_HOUR_DIFF_MOD_2_4':'#VALUE# часа','FD_HOUR_DIFF_MOD_OTHER':'#VALUE# часов','FD_HOUR_SHORT':'#VALUE#ч','FD_YESTERDAY':'вчера','FD_TODAY':'сегодня','FD_TOMORROW':'завтра','FD_DAY_AGO_0':'#VALUE# дней назад','FD_DAY_AGO_1':'#VALUE# день назад','FD_DAY_AGO_10_20':'#VALUE# дней назад','FD_DAY_AGO_MOD_1':'#VALUE# день назад','FD_DAY_AGO_MOD_2_4':'#VALUE# дня назад','FD_DAY_AGO_MOD_OTHER':'#VALUE# дней назад','FD_DAY_DIFF_0':'#VALUE# дней','FD_DAY_DIFF_1':'#VALUE# день','FD_DAY_DIFF_10_20':'#VALUE# дней','FD_DAY_DIFF_MOD_1':'#VALUE# день','FD_DAY_DIFF_MOD_2_4':'#VALUE# дня','FD_DAY_DIFF_MOD_OTHER':'#VALUE# дней','FD_DAY_AT_TIME':'#DAY# в #TIME#','FD_DAY_SHORT':'#VALUE#д','FD_MONTH_AGO_0':'#VALUE# месяцев назад','FD_MONTH_AGO_1':'#VALUE# месяц назад','FD_MONTH_AGO_10_20':'#VALUE# месяцев назад','FD_MONTH_AGO_MOD_1':'#VALUE# месяц назад','FD_MONTH_AGO_MOD_2_4':'#VALUE# месяца назад','FD_MONTH_AGO_MOD_OTHER':'#VALUE# месяцев назад','FD_MONTH_DIFF_0':'#VALUE# месяцев','FD_MONTH_DIFF_1':'#VALUE# месяц','FD_MONTH_DIFF_10_20':'#VALUE# месяцев','FD_MONTH_DIFF_MOD_1':'#VALUE# месяц','FD_MONTH_DIFF_MOD_2_4':'#VALUE# месяца','FD_MONTH_DIFF_MOD_OTHER':'#VALUE# месяцев','FD_MONTH_SHORT':'#VALUE#мес','FD_YEARS_AGO_0':'#VALUE# лет назад','FD_YEARS_AGO_1':'#VALUE# год назад','FD_YEARS_AGO_10_20':'#VALUE# лет назад','FD_YEARS_AGO_MOD_1':'#VALUE# год назад','FD_YEARS_AGO_MOD_2_4':'#VALUE# года назад','FD_YEARS_AGO_MOD_OTHER':'#VALUE# лет назад','FD_YEARS_DIFF_0':'#VALUE# лет','FD_YEARS_DIFF_1':'#VALUE# год','FD_YEARS_DIFF_10_20':'#VALUE# лет','FD_YEARS_DIFF_MOD_1':'#VALUE# год','FD_YEARS_DIFF_MOD_2_4':'#VALUE# года','FD_YEARS_DIFF_MOD_OTHER':'#VALUE# лет','FD_YEARS_SHORT_0':'#VALUE#л','FD_YEARS_SHORT_1':'#VALUE#г','FD_YEARS_SHORT_10_20':'#VALUE#л','FD_YEARS_SHORT_MOD_1':'#VALUE#г','FD_YEARS_SHORT_MOD_2_4':'#VALUE#г','FD_YEARS_SHORT_MOD_OTHER':'#VALUE#л','CAL_BUTTON':'Выбрать','CAL_TIME_SET':'Установить время','CAL_TIME':'Время','FD_LAST_SEEN_TOMORROW':'завтра в #TIME#','FD_LAST_SEEN_NOW':'только что','FD_LAST_SEEN_TODAY':'сегодня в #TIME#','FD_LAST_SEEN_YESTERDAY':'вчера в #TIME#','FD_LAST_SEEN_MORE_YEAR':'более года назад'});</script>
<script type="text/javascript">(window.BX||top.BX).message({'WEEK_START':'1'});</script>
<script type="text/javascript">(window.BX||top.BX).message({'LANGUAGE_ID':'ru','FORMAT_DATE':'DD.MM.YYYY','FORMAT_DATETIME':'DD.MM.YYYY HH:MI:SS','COOKIE_PREFIX':'BITRIX_SM','SERVER_TZ_OFFSET':'10800','UTF_MODE':'Y','SITE_ID':'s1','SITE_DIR':'/','USER_ID':'','SERVER_TIME':'1771715178','USER_TZ_OFFSET':'0','USER_TZ_AUTO':'Y','bitrix_sessid':'696854acddf1fab52bba4daa2cd19fcd'});</script>
<script type="text/javascript" src="/bitrix/js/main/date/main.date.js?159955296434530"></script>
<script type="text/javascript" src="/bitrix/js/main/popup/dist/main.popup.bundle.js?1634116962109107"></script>
<script type="text/javascript" src="/bitrix/js/main/core/core_date.js?163411653136080"></script>
<script type="text/javascript" src="/bitrix/js/ui/vue/vue2/prod/dist/vue.bundle.js?1635848017173206"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/js/swiper.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/fingerprintjs2/2.1.0/fingerprint2.min.js"></script>
<script type="text/javascript">BX.setCSSList(['/bitrix/js/main/core/css/core_date.css','/setka/css/setka_skillbox.css','/local/templates/.default/components/bitrix/news.detail/article/style.css','/static/css/newarticle.css','/local/templates/media/libs/jquery.formstyler.css','/local/templates/media/fonts/graphik-font/stylesheet.css','/static/css/main.css','/local/templates/media/template_styles.css']);</script>
<script src="https://cdn.skillbox.pro/frontend-libs/promo-banner/5.10.1/banner-plugin.min.js"></script>
<script type="text/javascript" async src="https://relap.io/api/v6/head.js?token=sI73Ph6a5BnkqK2o"></script>
<meta property="og:title" content="Pascal — что это за язык, чем он хорош и почему его до сих пор преподают в школах" />
<meta property="og:description" content="Изучаем язык предков и пишем первый проект — консольную игру." />
<meta property="og:url" content="https://skillbox.ru/media/code/pascal-chto-eto-za-yazyk-chem-on-khorosh-i-pochemu-ego-do-sikh-por-prepodayut-v-shkolakh/" />
<meta property="og:type" content="article" />
<meta property="og:site_name" content="skillbox.ru" />
<meta property="og:locale" content="ru_RU" />
<meta property="og:image" content="https://248006.selcdn.ru/main/iblock/0ca/0ca45a5f8a2e089fc00f3897e8ecccee/73669ff7f6a557b7d09985532566de2a.jpg" />
<meta name="relap-image" content="https://248006.selcdn.ru/main/iblock/0ca/0ca45a5f8a2e089fc00f3897e8ecccee/73669ff7f6a557b7d09985532566de2a.jpg" />
<meta property="og:image:width" content="600" />
<meta property="og:image:height" content="315" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:image" content="https://248006.selcdn.ru/main/iblock/0ca/0ca45a5f8a2e089fc00f3897e8ecccee/73669ff7f6a557b7d09985532566de2a.jpg" />
<meta property="vk:image" content="https://248006.selcdn.ru/main/iblock/d38/d386a5bff59c4765b3f590019ac80d48/d19b202257a34e286928c14426c52957.jpg" />
<meta property="article:author" content="Редакция «Код» Skillbox Media" />
<meta property="article:tag" content="статьи" />
<meta property="article:section" content="Код" />
<script type="text/javascript" src="/static/js/vendor.js?1771489421543641"></script>
<script type="text/javascript" src="/local/assets/js/common.js?177148933727419"></script>
<script type="text/javascript" src="/static/js/main.js?1771489421125222"></script>
<script type="text/javascript" src="/local/templates/media/js/main.js?17714893372418"></script>
<script type="text/javascript" src="/local/components/prmedia/popup.subscribe/templates/.default/script.js?17714893376820"></script>
<script type="text/javascript" src="/local/templates/.default/components/bitrix/news.detail/article/infinity.js?177148933713735"></script>
<script type="text/javascript" src="/local/templates/.default/components/bitrix/news/articles/script.js?1771489337246"></script>
<script type="text/javascript" src="/setka/js/setka_skillbox.js?1771489337106775"></script>
<script type="text/javascript" src="/local/templates/.default/components/bitrix/news.detail/article/script.js?17714893377503"></script>
<script type="text/javascript">var _ba = _ba || []; _ba.push(["aid", "84a6082a990bbac8858fb733b97bed30"]); _ba.push(["host", "skillbox.ru"]); (function() {var ba = document.createElement("script"); ba.type = "text/javascript"; ba.async = true;ba.src = (document.location.protocol == "https:" ? "https://" : "http://") + "bitrix.info/ba.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ba, s);})();</script>
</head>
<body>
<div class="js-sticky-delimiter"></div>
<div class="bx-panel"></div>
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NLCGQ25" height="0" width="0"
style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
<svg class="app-svg-visually-hidden" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<path id="def-arrow-down-a" d="M223 20813l4 5 4-5z"/>
<path id="def-arrow-a" d="M1044.6 803.2a.81.81 0 01-.5.18.8.8 0 01-.8-.8v-3.24c-2.97.1-5.17.88-6.52 2.3a4.86 4.86 0 00-1.39 3.29.8.8 0 01-.75.83h-.04a.79.79 0 01-.79-.74c-.22-3.78.69-6.76 2.69-8.84a10.76 10.76 0 016.81-3.07v-3.3a.8.8 0 011.29-.63l7.91 6.39a.8.8 0 010 1.25zm.3-11.73v2.42a.5.5 0 01-.03.1.8.8 0 01-.05.21.78.78 0 01-.47.42.67.67 0 01-.25.05h-.01c-.06 0-3.93-.04-6.46 2.62-.8.85-1.4 1.87-1.74 2.99 1.79-1.7 4.55-2.57 8.21-2.57.44 0 .8.36.8.8v2.4l5.85-4.72z"/>
<path id="def-be-a" d="M55.6 29.58h6.12v-1.59H55.6zm.64 5.74s.26-2.23 2.58-2.23c2.32 0 2.26 2.23 2.26 2.23zm-3.23 1.27S52.56 42 58.72 42c0 0 5.26.37 5.26-3.81H61.4s-.09 1.59-2.58 1.59c0 0-2.58.17-2.58-2.55l7.74-.01c-.08-.32.9-6.42-5.16-6.36-5.77.05-5.81 5.73-5.81 5.73zm-10.34 2.8v-4.24H47s1.7.16 1.7 2.24c0 1.76-1.06 1.99-1.7 2zM47 29.61s1.16.06 1.16 1.62-.76 1.64-1.49 1.64h-4v-3.26zm4.33 1.3c0-2.68-1.81-3.91-4.26-3.91H39v15.01h8.07s4.92.15 4.92-4.43c0 0 .22-3.73-2.9-3.73 0 0 2.24-.25 2.24-2.94z"/>
<path id="def-briefcase-a" d="M855 13538c0-1.7 1.3-3 3-3s3 1.3 3 3v7c0 1.7-1.3 3-3 3s-3-1.3-3-3v-7z"/>
<path id="def-comments-a" d="M752 8958l-4 4v-12a1 1 0 011-1h11a1 1 0 011 1v7a1 1 0 01-1 1zm12-6v13l-3.2-4H751l2-2h9v-8h1c1 0 1 .45 1 1z"/>
<path id="def-eaye-a" d="M630 8956.22c0 1.04-3.58 5.21-8 5.21s-8-4.26-8-5.21c0-1.05 3.58-5.22 8-5.22s8 4.17 8 5.22zm-5 0h-3v-3.13a3.13 3.13 0 100 6.26 3.07 3.07 0 003-3.13z"/>
<path id="def-file-a" d="M493 9457a2 2 0 01-1.98-2v-16a2 2 0 011.98-2h19.82c1.13 0 2.07.87 2.15 2v16a2.15 2.15 0 01-2.15 2zm0-18v8.83l5.3-4.59a.98.98 0 011.35.05l5.34 5.39 3.27-2.48a.98.98 0 011.36.16l3.35 4.07V9439zm19.97 14.55l-4.27-5.18-3.21 2.43c-.4.3-.95.26-1.3-.09l-5.3-5.35-5.9 5.1v4.54h19.98zm-6.1-10.55a1.98 1.98 0 113.97.04 1.98 1.98 0 01-3.97-.04z"/>
<path id="def-gplus-a" d="M466 10169a4 4 0 013.87-3.99 4.14 4.14 0 012.93.99c-.33.36-.67.71-1.03 1.04-.72-.42-1.58-.75-2.41-.46a2.52 2.52 0 00-1.67 3.23c.41 1.35 2.09 2.1 3.4 1.52a2.22 2.22 0 001.33-1.51c-.78-.01-1.56 0-2.34-.03v-1.36h3.9a4.45 4.45 0 01-.83 3.2c-1 1.28-2.88 1.66-4.4 1.16a4 4 0 01-2.75-3.79z"/><path id="def-gplus-b" d="M476.34 10166h1.32l.01 1.33H479v1.33l-1.33.01v1.33h-1.33l-.01-1.33H475v-1.33l1.33-.01.01-1.33z"/>
<path id="def-inst-a" d="M1480.93 332c-3.5 0-3.95.02-5.32.07-1.37.07-2.3.28-3.14.6-.84.34-1.57.77-2.28 1.5a6.36 6.36 0 00-1.5 2.28 9.84 9.84 0 00-.6 3.14c-.07 1.37-.07 1.82-.07 5.32s.02 3.96.07 5.32c.07 1.37.28 2.31.6 3.14.34.85.77 1.58 1.5 2.29a6.51 6.51 0 002.28 1.5c.82.3 1.77.53 3.14.6 1.37.07 1.82.07 5.32.07s3.96-.02 5.32-.07a9.48 9.48 0 003.14-.6 6.14 6.14 0 002.29-1.5 6.36 6.36 0 001.5-2.29c.3-.81.53-1.77.6-3.14.07-1.36.07-1.82.07-5.32s-.02-3.95-.07-5.32a9.48 9.48 0 00-.6-3.14 6.14 6.14 0 00-1.5-2.28 6.36 6.36 0 00-2.29-1.5 9.84 9.84 0 00-3.14-.6c-1.38-.05-1.82-.07-5.32-.07zm0 2.32c3.45 0 3.85.02 5.22.07 1.27.05 1.94.26 2.4.45.6.25 1.03.52 1.48.97.45.45.73.89.97 1.5.18.44.39 1.14.45 2.39.07 1.37.07 1.76.07 5.21s-.01 3.85-.07 5.22a6.55 6.55 0 01-.45 2.4c-.24.6-.52 1.03-.97 1.48-.45.45-.88.73-1.49.97-.45.18-1.14.39-2.39.45-1.37.07-1.77.07-5.22.07-3.45 0-3.84-.01-5.21-.07a6.55 6.55 0 01-2.4-.45 4.11 4.11 0 01-1.49-.97 4.11 4.11 0 01-.97-1.49 7.52 7.52 0 01-.45-2.39c-.07-1.37-.07-1.77-.07-5.22 0-3.45.02-3.84.07-5.21.05-1.27.26-1.95.45-2.4.25-.6.52-1.04.97-1.49.45-.45.89-.72 1.5-.97a7.52 7.52 0 012.39-.45c1.35-.05 1.76-.07 5.21-.07z"/><path id="def-inst-b" d="M1480.93 349.2a4.3 4.3 0 110-8.59 4.3 4.3 0 010 8.6zm0-10.93a6.62 6.62 0 100 13.24 6.62 6.62 0 000-13.24z"/><path id="def-inst-c" d="M1486.27 338.01a1.54 1.54 0 113.09 0 1.54 1.54 0 01-3.09 0z"/>
<path id="def-like-down-a" d="M1004.33 543.66c-1.1 0-2.45-.86-2.61-3.31-.05-1.41.11-2.82.48-4.19h-2.96c-2.15 0-3.42-1.35-3.42-2.67 0-.39.05-.77.17-1.13a2.4 2.4 0 01-.99-2.03 2.35 2.35 0 011.02-2.05c-.12-.34-.18-.7-.17-1.06.86-.6 1.2-1.7.86-2.7 0-2.52 3.45-2.52 4.57-2.52h2.85c1.3.06 2.56.4 3.71 1 .67.36 1.41.6 2.18.67h3.23c.25 0 .5.11.65.31.12.14 1.1 1.47 1.1 4.69.03 1.8-.28 3.6-.9 5.31a.83.83 0 01-.67.5c-.03 0-3.27.4-4.85 1.98a10.32 10.32 0 00-2.8 5.94 1.4 1.4 0 01-1.45 1.26zm-6.84-10.17c0 .34.52 1 1.75 1h4.06a.83.83 0 01.8 1.1c-.5 1.5-.73 3.07-.72 4.65.08 1.1.44 1.6.79 1.72a11.94 11.94 0 013.23-6.67c1.57-1.58 4.2-2.18 5.32-2.38.41-1.37.62-2.8.61-4.24a8.18 8.18 0 00-.56-3.34h-2.75c-1-.07-1.97-.35-2.85-.81a7.53 7.53 0 00-3.04-.85h-2.85c-1.32 0-2.9.15-2.9.85-.02.11.02.22.09.3a.73.73 0 01.75.77.92.92 0 01-.85.87.85.85 0 00-.85.77c-.05.22.01.44.17.6.42.07.71.45.67.88a.87.87 0 01-.86.77.77.77 0 00-.83.85.8.8 0 00.87.85c.46.01.82.4.81.85 0 .43-.33.78-.76.8-.09.21-.12.44-.1.66z"/>
<path id="def-like-up-a" d="M944.67 520c1.1 0 2.45.87 2.61 3.32.05 1.4-.11 2.82-.48 4.18h2.96c2.15 0 3.42 1.36 3.42 2.67 0 .39-.05.77-.17 1.14a2.4 2.4 0 01.99 2.02c.04.81-.35 1.59-1.02 2.05.12.34.18.7.17 1.07-.86.6-1.2 1.7-.86 2.69 0 2.52-3.45 2.52-4.57 2.52h-2.85a8.94 8.94 0 01-3.71-.99 5.67 5.67 0 00-2.18-.67h-3.23a.83.83 0 01-.65-.32c-.12-.14-1.1-1.47-1.1-4.68-.03-1.81.28-3.62.9-5.32a.83.83 0 01.67-.5c.03 0 3.27-.4 4.85-1.98a10.32 10.32 0 002.8-5.93 1.4 1.4 0 011.45-1.27zm6.84 10.17c0-.34-.52-1-1.75-1h-4.06a.83.83 0 01-.8-1.1c.5-1.5.73-3.07.72-4.65-.08-1.1-.44-1.6-.79-1.72a11.94 11.94 0 01-3.23 6.67c-1.57 1.58-4.2 2.19-5.32 2.38a14.38 14.38 0 00-.61 4.25 8.18 8.18 0 00.56 3.33h2.75c1 .07 1.97.35 2.85.82.94.49 1.98.78 3.04.85h2.85c1.32 0 2.9-.15 2.9-.86a.35.35 0 00-.09-.3.73.73 0 01-.75-.77.92.92 0 01.85-.87c.44 0 .81-.33.85-.77a.65.65 0 00-.17-.6.81.81 0 01-.67-.87.87.87 0 01.86-.78.77.77 0 00.83-.85.8.8 0 00-.87-.85.83.83 0 01-.81-.85c0-.43.33-.78.76-.8.09-.21.12-.43.1-.66z"/>
<path id="def-like-a" d="M701.32 8960.32a.95.95 0 01-.95.95h-5.72c-.96 0-1.92-.95-2.87-.95h-.95v-6.68c.04-.6.4-1.12.95-1.36a4.78 4.78 0 002.87-4.37v-.96a.95.95 0 01.95-.95h.95c.53 0 .95.43.95.95v5.73h3.82a.9.9 0 01.96.96zm-14.31.95v-9.54h1.9a.96.96 0 01.97.95v7.64a.96.96 0 01-.96.95zm.99-8.3a.48.48 0 10.88.38.48.48 0 00-.88-.38z"/>
<path id="def-link-a" d="M626.02 1163.93l-.02 15.99 13.02.01v-4a.86.86 0 01.24-.68.9.9 0 01.66-.28 1 1 0 011 1v4.95a1 1 0 01-.29.7 1 1 0 01-.71.29H625a1 1 0 01-.71-.29 1 1 0 01-.29-.7V1163a1 1 0 011-1h3.95a1 1 0 011 1 .89.89 0 01-.93.93z"/><path id="def-link-b" d="M641.95 1171a1 1 0 01-1-1v-5.59l-9.25 9.3a.99.99 0 01-1.41-.01.99.99 0 01.01-1.41l9.24-9.29h-5.56a1 1 0 01-1-1 1 1 0 011-1h7.97a1 1 0 011 1v8a1 1 0 01-1 1z"/>
<path id="def-mail-a" d="M1058 261c0-.6-.4-1-1-1h-14c-.6 0-1 .4-1 1l8 6.5z"/><path id="def-mail-b" d="M1042 262.5v8.5c0 .6.4 1 1 1h14c.6 0 1-.4 1-1v-8.5l-8 6.5z"/>
<path id="def-outside-a" d="M1204.24 9231.16h-10.05c-.92 0-1.67-.75-1.67-1.68v-4.2c0-.46.38-.84.84-.84a.81.81 0 01.8.84v4.2h10.08v-16.8h-10.08v4.2a.81.81 0 01-.8.84.84.84 0 01-.84-.84v-4.2c0-.93.75-1.68 1.67-1.68h10.05c.92 0 1.67.75 1.67 1.68v16.8c0 .93-.75 1.68-1.67 1.68zm-15.56-10.92h11.37a.84.84 0 110 1.68h-11.36l1.91 1.92a.84.84 0 11-1.18 1.2l-3.35-3.36a.86.86 0 01-.24-.6v-.02a.83.83 0 01.24-.58l3.35-3.36a.83.83 0 011.18 0c.33.33.33.87 0 1.2z"/>
<path id="def-pencil-a" d="M1190.84 9818.68a.64.64 0 01-.19.13l-.07.06-4.42 1.82c-.1.05-.21.07-.32.07a.83.83 0 01-.77-1.15l1.84-4.4v-.02a.38.38 0 01.09-.13l.08-.13v-.01l10.82-10.82-.44-.44-3.56 3.57a.83.83 0 01-1.18-1.18l4.16-4.15a.81.81 0 011.17 0l1.03 1.03 1.86-1.86a.84.84 0 011.17 0l2.58 2.58c.33.32.33.85 0 1.18zm-2.88-1.7l-.58 1.41 1.41-.58zm.88-1.47l1.41 1.4 10.24-10.23-1.4-1.4zm12.69-12.68l-1.27 1.27 1.4 1.4 1.28-1.27z"/>
<path id="def-phone-a" d="M732.62 41c-2.25 0-6.37-2.73-10.24-6.78a33.08 33.08 0 01-5.22-6.96c-1.33-2.53-1.52-4.32-.56-5.31l2.91-2.72c.17-.16.4-.24.63-.23.24.02.46.13.61.32l3.79 4.58c.23.28.28.68.12 1.01l-1.47 3.08 5.24 5.48 2.93-1.54a.83.83 0 01.96.12l4.38 3.96c.17.16.28.38.3.63a.97.97 0 01-.22.67l-2.53 3.02c-.33.34-.81.67-1.63.67zm-14.76-17.78c-.15.21-.25 1.09.83 3.15 1.06 2 2.8 4.32 4.93 6.55 3.87 4.06 7.53 6.25 9 6.25.2 0 .3-.04.33-.08l1.94-2.3-3.27-2.95-2.98 1.56a.84.84 0 01-1.01-.17l-6.12-6.42a.92.92 0 01-.16-1.05l1.48-3.12-2.82-3.42z"/>
<path id="def-plus-a" d="M1223.33 4172.67h-6.66v6.66a.67.67 0 01-1.34 0v-6.66h-6.66a.67.67 0 010-1.34h6.66v-6.66a.67.67 0 011.34 0v6.66h6.66a.67.67 0 010 1.34z"/>
<path id="def-search-a" d="M1092.53 24.87a6.7 6.7 0 10-.05 13.4 6.7 6.7 0 00.05-13.4zm12.1 18.85a.95.95 0 01-1.35 0l-5.4-5.43a8.62 8.62 0 111.35-1.35l5.4 5.43c.37.37.37.98 0 1.35z"/>
<path id="def-shape-a" d="M879 13323h-4a1 1 0 01-1-1v-4a1 1 0 011-1h.85c-1.29-8.14-8.38-15.22-16.85-16.81v.81a1 1 0 01-1 1h-4a1 1 0 01-1-1v-.81c-8.47 1.6-15.56 8.67-16.85 16.81h.85a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4a1 1 0 011-1h1.13c1.03-7.24 6.24-13.76 13.07-17h-6.48a1.98 1.98 0 01-1.72 1.01c-.97 0-1.8-.69-1.98-1.65a2 2 0 011.28-2.23 2 2 0 012.42.87H853v-1a1 1 0 011-1h4a1 1 0 011 1v1h12.27a2.01 2.01 0 110 2h-6.47c6.83 3.24 12.04 9.76 13.07 17H879a1 1 0 011 1v4a1 1 0 01-1 1zm-43-4h-2v2h2zm21-21h-2v2h2zm21 21h-2v2h2zm-22.93-12.51a.52.52 0 01.1-.18l.01-.03.03-.03a1 1 0 01.2-.21l.06-.04c.06-.04.12-.08.19-.1l.04-.02.09-.01.05-.01.16-.03.15.03h.04l.11.01.04.02.19.1.02.02.02.01a.92.92 0 01.24.25l.02.03c.04.05.08.12.1.18l.03.05c.02.07 2.33 7.26 8.51 10.59.26.14.45.39.51.68a.97.97 0 01-.2.82 23.7 23.7 0 00-3.99 8.81 8.02 8.02 0 012.21 5.57 1 1 0 01-1 1h-14a1 1 0 01-1-1 8.02 8.02 0 012.21-5.57 23.66 23.66 0 00-3.99-8.8 1 1 0 01.31-1.51c6.21-3.34 8.49-10.52 8.51-10.59l.03-.04zm.93 20.49a6 6 0 00-5.92 5.02h11.84a6 6 0 00-5.92-5.02zm-4.06-.9a8.17 8.17 0 018.12 0 25.8 25.8 0 013.47-7.78 20.33 20.33 0 01-6.53-6.96v6.93a2 2 0 01-.97 3.73 2.03 2.03 0 01-2.03-2 2 2 0 011-1.7v-6.96a20.33 20.33 0 01-6.53 6.96 25.8 25.8 0 013.47 7.78z"/>
<path id="def-strawberry-a" d="M873.26 13427.96a7.49 7.49 0 01-4.13-1.21 20.45 20.45 0 012.02 8.92c0 10.41-17.26 18.25-28.46 18.25-3.71 0-6.53-.86-8.17-2.48l-.1-.1c-3.9-4.01-2.65-13.97.62-21.78 3.77-9.01 9.53-14.39 15.41-14.39 3.1 0 6.17.68 8.97 1.99a8.12 8.12 0 01-.65-1.24c-1.09-2.7-.53-5.87 1.68-9.44a1 1 0 011.11-.45c.21.06 5.12 1.38 6.8 5.49.8 2.19.7 4.61-.29 6.72 1.25-.51 2.58-.79 3.92-.83 5.12 0 7.74 4.75 8.4 7.26a.97.97 0 01-.45 1.1 12.95 12.95 0 01-6.68 2.19zm-36.36 2.36c-3.42 8.19-3.85 16.84-.97 19.69l.08.09c1.26 1.18 3.62 1.82 6.68 1.82a38.27 38.27 0 0017.26-4.82c3.43-1.92 9.18-5.96 9.18-11.43a18.4 18.4 0 00-18.68-18.5c-5.93 0-10.89 6.79-13.55 13.15zm29.59-18.05c-.97-2.38-3.49-3.6-4.73-4.07-1.52 2.71-1.89 5.05-1.12 6.96.96 2.37 3.48 3.6 4.73 4.08 1.52-2.71 1.89-5.05 1.12-6.97zm5.5 7.13c-1.75.08-3.45.6-4.95 1.51.59 1.54 2.36 5.06 6.22 5.06 1.75-.08 3.45-.6 4.94-1.5-.59-1.55-2.36-5.07-6.21-5.07zm-13.43 13.54h3v3h-3zm-4-5h3v3h-3zm2 13h-3v-3h3zm-7-8h3v3h-3zm0-9h3v3h-3zm2 22h-3v-3h3zm-7-8h3v3h-3zm0-9h3v3h-3zm-5 14h3v3h-3zm0-9h3v3h-3z"/>
<path id="def-telegram-a" d="M823.8 272.93l-4.09 20.05c-.3 1.42-1.16 1.76-2.36 1.1l-6.52-4.77-3.13 3c-.55.47-.75.66-1.27.65-.5 0-.74-.3-1.03-1.1l-2.4-7.29-6.26-1.94c-1.01-.32-1.06-1.66.31-2.05l25.01-9.39c1.14-.52 2.18 0 1.74 1.74zm-17.39 18.55l.6-5.26 11.83-10.54c.31-.36.09-.88-.61-.42l-14.24 8.87z"/>
<path id="def-tm-a" d="M1406.46 346.34l13.28-8.34c.65-.44.86.05.57.39l-11.02 9.91-.57 4.96zm16.84-12.16l-23.32 8.83c-1.27.37-1.24 1.62-.3 1.93l5.84 1.82 2.24 6.86c.28.75.5 1.04.96 1.04.49 0 .67-.18 1.19-.62.58-.55 1.5-1.43 2.92-2.83l6.08 4.49c1.12.62 1.92.3 2.21-1.04l3.8-18.85c.41-1.63-.55-2.12-1.62-1.63z"/>
<path id="def-trash-a" d="M1175 9805h-1.09l-1.8 13.12a2.15 2.15 0 01-2.11 1.88h-8a2.14 2.14 0 01-2.1-1.88l-1.78-13.12H1157a1 1 0 010-2h5v-1a3 3 0 013-3h2a3 3 0 013 3v1h5a1 1 0 010 2zm-7-3a1 1 0 00-1-1h-2a1 1 0 00-1 1v1h4zm-7.87 3l1.75 12.9c.02.05.07.09.12.1h8c.06-.01.1-.05.12-.11l1.78-12.89zm6.87 3h2v6h-2zm-4 0h2v6h-2z"/>
<path id="def-triangle-a" d="M1238 6883l7.22 7.22 7.22-7.22z"/>
<path id="def-user-circle-a" d="M1265.24 30.18a10 10 0 01-2.18 10.9 6.94 6.94 0 00-4.7-4.69 5 5 0 10-4.66.01c-2.24.72-4 2.47-4.72 4.71a10 10 0 1116.26-10.93zm-6.22 1.82a3 3 0 11-6-.01 3 3 0 016 .01zm-8.3 10.48c.4-2.6 2.65-4.5 5.28-4.48 2.73 0 5.1 1.96 5.27 4.37l.03.09a9.9 9.9 0 01-10.57.02zM1256 46a12.01 12.01 0 000-24 12 12 0 100 24z"/>
<path id="def-vb-a" d="M955.45 276.38c.68 3.25.79 6.51-.02 9.76-.14.57-.36 1.11-.58 1.65-.84 2.05-2.5 3.13-4.57 3.73-1.63.48-3.31.69-5 .82-.89.07-2.29.03-3.18.02-.76-.01-.55-.04-1.04.45-.96.97-1.84 1.82-2.76 2.84a28 28 0 01-1.35 1.35v-4.93c0-.25-.07-.4-.3-.5-.26-.1-.5-.24-.75-.34a6.95 6.95 0 01-4.35-4.98 19.93 19.93 0 01-.51-6.16c.07-1.4.26-2.79.64-4.15a6.8 6.8 0 013.48-4.25 13.83 13.83 0 014.79-1.47 25.9 25.9 0 019.8.59 8.9 8.9 0 013.5 1.69 6.59 6.59 0 012.2 3.88zm-12.05-1.52c.54.04 1.07.15 1.6.28 1.98.5 3.52 1.53 4.32 3.43.42.99.63 2.02.7 3.08.02.27.15.42.43.42.27-.01.38-.19.39-.43.02-.21.01-.42.01-.64a7.41 7.41 0 00-1.39-4.12c-1.49-1.96-3.43-2.7-6-2.82-.31-.02-.49.1-.51.42-.01.31.21.36.45.38zm4.39 4.61c.11.4.21.81.26 1.22.03.27-.03.64.42.65.32.01.4-.13.43-.67a4.58 4.58 0 00-.68-2.46c-.96-1.52-2.37-2.16-4.16-2.32-.28-.03-.48.08-.52.37-.05.3.14.44.41.48.55.08 1.08.22 1.6.4a3.32 3.32 0 012.24 2.33zm-2.22-1.46a2.29 2.29 0 00-.89-.22c-.38.03-.58.19-.58.45.01.33.3.33.52.39l.27.06c.72.19 1.13.65 1.27 1.36.03.13.04.27.08.4.06.18.18.31.4.31.21-.01.34-.13.39-.32l.04-.35a2.4 2.4 0 00-1.5-2.08zm4.89 7.94c-.78-.65-1.6-1.25-2.47-1.78-1.02-.62-1.77-.45-2.47.49l-.11.14c-.32.39-.72.54-1.22.4a5.89 5.89 0 01-1.51-.74 6.76 6.76 0 01-2.77-3.19c-.35-.82-.19-1.35.54-1.88l.28-.2c.55-.45.68-.89.37-1.52a9.94 9.94 0 00-2.3-3.05 1.3 1.3 0 00-.97-.36 2.9 2.9 0 00-2.62 2.74c-.01.37.08.78.24 1.17 2.23 5.38 6.16 9.1 11.6 11.36.4.17.82.27 1.25.15a3.75 3.75 0 002.55-2.16c.28-.61.14-1.13-.39-1.57z"/>
<path id="def-ynadex-a" d="M471.93 10326.44h-.59c-.92 0-1.8-.64-1.8-2.24 0-1.67.83-2.35 1.68-2.35h.7v4.59zm.92-5.44h-1.6c-1.55 0-2.87 1.13-2.87 3.33 0 1.32.64 2.3 1.78 2.78l-2.13 3.68c-.07.12 0 .21.1.21h1c.08 0 .14-.03.17-.1l1.93-3.6h.7v3.6c0 .05.04.1.1.1h.86c.08 0 .11-.04.11-.1v-9.77c0-.09-.06-.13-.15-.13z"/>
<path id="def-ytube-a" d="M1343.37 349.72v-9.44l6.27 4.72zm-7.81-14.03a3.54 3.54 0 00-3.56 3.51v11.6a3.54 3.54 0 003.56 3.51h19.88a3.54 3.54 0 003.56-3.5V339.2a3.54 3.54 0 00-3.56-3.51h-19.88z"/>
</defs>
<symbol id="icon-arrow-chevron" viewBox="0 0 9 15"><path d="M7.07.862L0 7.93 7.072 15l1.06-1.06-6.011-6.01L8.13 1.922 7.07.862z"/></symbol>
<symbol id="icon-arrow-down" viewBox="0 0 8 5"><use xlink:href="#def-arrow-down-a" transform="translate(-223 -20813)"/></symbol>
<symbol id="icon-arrow-left" viewBox="0 0 18 12"><path d="M.1 6.3c-.1-.3 0-.6.1-.8l4.3-4.3c.3-.3.7-.3 1 0 .3.3.3.7 0 1l-3 3.1h14.1c.4 0 .7.3.7.7 0 .4-.3.7-.7.7H2.5l3.1 3.1c.3.3.3.8 0 1-.2.2-.3.2-.4.3-.2.1-.5 0-.7-.2L.2 6.6c-.1-.1-.1-.2-.1-.3z"/></symbol>
<symbol id="icon-arrow-menu" viewBox="0 0 10 5"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 0l5 5 5-5H0z"/></symbol>
<symbol id="icon-arrow-right" viewBox="0 0 15 12"><path d="M14.19 5.77c.11.26.05.57-.15.78l-4.32 4.33a.72.72 0 01-1.02 0 .72.72 0 010-1.02l3.09-3.1H.69A.72.72 0 010 6.04c0-.38.31-.7.69-.72h11.1L8.7 2.23a.73.73 0 01.33-1.21c.24-.06.51.01.69.19l4.32 4.32a.6.6 0 01.15.24z"/></symbol>
<symbol id="icon-arrow" viewBox="0 0 20 17"><use xlink:href="#def-arrow-a" transform="translate(-1033 -789)"/></symbol>
<symbol id="icon-be" viewBox="0 0 25 16"><use xlink:href="#def-be-a" transform="translate(-39 -27)"/></symbol>
<symbol id="icon-be2-mob" viewBox="0 0 34 34"><path d="M15.426 16.508s1.507-.112 1.507-1.879S15.7 12 14.138 12H9v9.875h5.138s3.137.099 3.137-2.915c0 0 .137-2.452-1.85-2.452zm-4.162-2.753h2.874s.699 0 .699 1.027c0 1.028-.411 1.177-.877 1.177h-2.696v-2.204zm2.742 6.365h-2.742v-2.64h2.874s1.041-.013 1.041 1.357c0 1.142-.761 1.271-1.173 1.283zM23.408 12.582h-4.074v1.216h4.074v-1.216zM21.458 14.513c-3.797 0-3.794 3.793-3.794 3.793s-.26 3.775 3.794 3.775c0 0 3.38.193 3.38-2.626H23.1s.058 1.062-1.584 1.062c0 0-1.737.116-1.737-1.718h5.116s.56-4.286-3.437-4.286zm1.545 2.968h-3.244s.213-1.522 1.738-1.522 1.506 1.522 1.506 1.522z"/></symbol>
<symbol id="icon-be2" viewBox="0 0 56 56"><path d="M27.475 27.946s1.987-.148 1.987-2.479c0-2.33-1.625-3.467-3.685-3.467H19v13.024h6.777s4.137.13 4.137-3.844c0 0 .18-3.234-2.439-3.234zm-5.489-3.631h3.791s.921 0 .921 1.355-.542 1.551-1.156 1.551h-3.556v-2.906zm3.616 8.394h-3.616v-3.48h3.79s1.374-.018 1.374 1.788c0 1.506-1.004 1.677-1.548 1.692zM38.004 22.767H32.63v1.604h5.373v-1.604zM35.432 25.314c-5.009 0-5.004 5.003-5.004 5.003s-.344 4.98 5.004 4.98c0 0 4.456.254 4.456-3.464h-2.292s.077 1.4-2.088 1.4c0 0-2.291.154-2.291-2.266h6.748s.738-5.653-4.533-5.653zm2.037 3.915H33.19s.28-2.008 2.291-2.008c2.013 0 1.987 2.008 1.987 2.008z"/></symbol>
<symbol id="icon-briefcase" viewBox="834 13519 48 44"><path d="M836.5 13563c-1.4 0-2.5-1.2-2.5-2.6v-19.4c0 .6.4 1 1 1h1v18.4c0 .3.2.6.5.6h42.9c.3 0 .5-.3.5-.6v-18.4h1c.6 0 1-.4 1-1s-.4-1-1-1h-1v-10.4c0-.3-.2-.5-.5-.6h-42.9c-.3 0-.5.3-.5.6v10.4h-1c-.6 0-1 .4-1 1v-11.4c0-1.4 1.1-2.5 2.5-2.6H849v1c0 .6.4 1 1 1s1-.4 1-1v-1h14v1c0 .6.4 1 1 1 .3 0 .5-.1.7-.3.2-.2.3-.4.3-.7v-1h12.5c1.4 0 2.5 1.2 2.5 2.6v30.9c0 1.4-1.1 2.6-2.5 2.6h-43zm18.4-21H836v-2h18.9c.6 0 1 .4 1 1s-.4 1-1 1zm25.1-2v2h-18.9c-.6 0-1-.4-1-1s.4-1 1-1H880zm-13-16.8c0-2.3-1.9-4.2-4.2-4.2h-9.6c-2.3 0-4.2 1.9-4.2 4.2v3.8h2v-3.8c0-1.2 1-2.2 2.2-2.2h9.6c1.2 0 2.2 1 2.2 2.2v3.8h2v-3.8z"/><clipPath id="def-briefcase-b"><use xlink:href="#def-briefcase-a" overflow="visible"/></clipPath><g clip-path="url(#def-briefcase-b)"><path stroke-width="4" stroke-miterlimit="50" d="M855 13538c0-1.7 1.3-3 3-3s3 1.3 3 3v7c0 1.7-1.3 3-3 3s-3-1.3-3-3v-7z"/></g></symbol>
<symbol id="icon-burger" viewBox="0 0 20 14"><g fill-rule="evenodd"><path d="M0 0h20v2H0zM0 6h20v2H0zM0 12h20v2H0z"/></g></symbol>
<symbol id="icon-cancel-circle" viewBox="0 0 24 24"><path d="M12 24a12 12 0 110-24 12 12 0 010 24zm0-22a10 10 0 100 20 10 10 0 000-20zm4.71 13.29L13.41 12l3.3-3.29a1 1 0 00-.02-1.4 1 1 0 00-1.4-.02L12 10.59l-3.29-3.3a1 1 0 00-1.4.02 1 1 0 00-.02 1.4l3.3 3.29-3.3 3.29a1 1 0 00.02 1.4 1 1 0 001.4.02l3.29-3.3 3.29 3.3a1 1 0 001.42 0 1 1 0 000-1.42z"/></symbol>
<symbol id="icon-clip" viewBox="0 0 25 22"><path d="M12.1 21.37a1.02 1.02 0 01-.71-1.73L21.74 9.11a4.19 4.19 0 000-5.87 4.04 4.04 0 00-5.78 0l-12 12.21c-.59.49-.94 1.2-.97 1.97.05.49.28.95.63 1.29.31.35.77.53 1.23.48.74-.17 1.4-.57 1.89-1.15l9.42-9.58a.98.98 0 011.41 0c.39.4.39 1.04 0 1.44l-9.42 9.58A5.3 5.3 0 015.1 21.2a3.37 3.37 0 01-2.89-1.05A4.16 4.16 0 011 17.54a4.62 4.62 0 011.55-3.53l12-12.2a6.03 6.03 0 018.6 0 6.24 6.24 0 010 8.74L12.8 21.07a.98.98 0 01-.7.3z"/></symbol>
<symbol id="icon-clock" viewBox="0 0 24 24"><path d="M0 12a12 12 0 1124 0 12 12 0 01-24 0zm2 0a10 10 0 1020 0 10 10 0 00-20 0zm14 5a1 1 0 00.71-1.71L13 11.59V5a1 1 0 00-1-1 1 1 0 00-1 1v7a1 1 0 00.08.38c.05.12.12.24.21.33l4 4c.19.18.45.29.71.29z"/></symbol>
<symbol id="icon-close-menu" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.636 2.303L13.97.636 8.136 6.469 2.303.636.636 2.303 6.47 8.136.636 13.97l1.667 1.667 5.833-5.833 5.833 5.833 1.667-1.666-5.833-5.834 5.833-5.833z"/></symbol>
<symbol id="icon-close" viewBox="0 0 16 15"><g fill-rule="evenodd"><path d="M1.963.045l13.791 12.86-1.364 1.463L.6 1.508z"/><path d="M14.39.045L.6 12.905l1.364 1.463 13.79-12.86z"/></g></symbol>
<symbol id="icon-comments" viewBox="0 0 16 16"><use xlink:href="#def-comments-a" transform="translate(-748 -8949)"/></symbol>
<symbol id="icon-eaye" viewBox="0 0 16 11"><use xlink:href="#def-eaye-a" transform="translate(-614 -8951)"/></symbol>
<symbol id="icon-fb" viewBox="0 0 13 25"><path d="M8.44 25V13.6h3.83l.58-4.45H8.44V6.31c0-1.28.36-2.16 2.2-2.16H13V.18A29.7 29.7 0 009.57 0c-3.4 0-5.73 2.07-5.73 5.87v3.28H0v4.45h3.84V25z"/></symbol>
<symbol id="icon-fb2-mob" viewBox="0 0 34 34"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.415 24.638v-7.131h2.457l.366-2.784h-2.823v-1.776c0-.8.23-1.351 1.411-1.351h1.514v-2.49A21.931 21.931 0 0019.14 9c-2.182 0-3.677 1.295-3.677 3.672v2.051H13v2.784h2.463v7.13h2.952z"/></symbol>
<symbol id="icon-fb2" viewBox="0 0 56 56"><path fill-rule="evenodd" clip-rule="evenodd" d="M30.142 38.625V29.22h3.24l.483-3.671H30.14v-2.343c0-1.056.305-1.782 1.862-1.782H34V18.14a28.937 28.937 0 00-2.902-.14c-2.877 0-4.849 1.708-4.849 4.843v2.706H23v3.671h3.25v9.405h3.892z"/></symbol>
<symbol id="icon-file" viewBox="0 0 24 20"><use xlink:href="#def-file-a" transform="translate(-491 -9437)"/></symbol>
<symbol id="icon-github-mob" viewBox="0 0 34 34"><path d="M17.2 10c-3.978 0-7.2 3.307-7.2 7.386 0 3.263 2.063 6.031 4.923 7.007.36.07.492-.16.492-.355 0-.175-.006-.64-.009-1.256-2.003.445-2.425-.99-2.425-.99-.328-.853-.801-1.081-.801-1.081-.652-.458.05-.449.05-.449.723.052 1.103.761 1.103.761.642 1.13 1.685.803 2.097.615.065-.478.25-.803.456-.988-1.599-.185-3.28-.82-3.28-3.65 0-.806.28-1.464.741-1.981-.08-.187-.324-.938.063-1.955 0 0 .603-.198 1.98.757a6.754 6.754 0 011.8-.25 6.754 6.754 0 011.8.25c1.368-.955 1.971-.757 1.971-.757.387 1.017.144 1.768.072 1.955.46.517.738 1.175.738 1.981 0 2.838-1.683 3.462-3.285 3.644.252.222.486.674.486 1.366 0 .989-.009 1.783-.009 2.023 0 .193.126.424.495.35 2.881-.969 4.942-3.739 4.942-6.997 0-4.079-3.224-7.386-7.2-7.386z"/></symbol>
<symbol id="icon-github" viewBox="0 0 56 56"><path d="M27.913 19C22.436 19 18 23.362 18 28.741c0 4.305 2.84 7.955 6.778 9.242.496.092.677-.21.677-.468 0-.232-.008-.844-.012-1.657-2.758.588-3.34-1.306-3.34-1.306-.45-1.125-1.102-1.425-1.102-1.425-.898-.604.07-.592.07-.592.995.068 1.518 1.004 1.518 1.004.884 1.49 2.32 1.059 2.887.81.09-.63.344-1.059.628-1.302-2.202-.244-4.515-1.082-4.515-4.814 0-1.063.384-1.932 1.02-2.614-.112-.246-.446-1.236.086-2.578 0 0 .83-.26 2.727.999a9.676 9.676 0 012.478-.329 9.676 9.676 0 012.478.329c1.883-1.26 2.714-.999 2.714-.999.532 1.342.198 2.332.099 2.578a3.737 3.737 0 011.016 2.614c0 3.742-2.317 4.566-4.523 4.805.347.293.67.89.67 1.803 0 1.303-.013 2.35-.013 2.667 0 .255.173.56.681.463 3.966-1.279 6.804-4.932 6.804-9.23 0-5.38-4.439-9.741-9.913-9.741z"/></symbol>
<symbol id="icon-gplus" viewBox="0 0 13 8"><use xlink:href="#def-gplus-a" transform="translate(-466 -10165)"/><use xlink:href="#def-gplus-b" transform="translate(-466 -10165)"/></symbol>
<symbol id="icon-head" viewBox="0 0 54 45"><g transform="translate(2 2)" fill-rule="evenodd"><path d="M9.23 19.458v17.61s14.232 8.328 28.462 0V19.231" fill-rule="nonzero"/><path stroke-width="3" fill-rule="nonzero" stroke-linecap="round" stroke-linejoin="round" d="M46.923 13.25L22.99 0 0 14.007l23.179 13.44L46.923 13.25V30"/><path d="M9.23 19.458v17.61s14.232 8.328 28.462 0V19.231" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><circle stroke-width="3" fill-rule="nonzero" stroke-linecap="round" stroke-linejoin="round" cx="47.308" cy="32.692" r="2.692"/><path d="M32.733 18.745c.53.295 1.074.575 1.604.87 1.302.7 2.468-1.164 1.181-1.865-3.694-1.99-7.403-3.98-11.097-5.957-.53-.294-1.075-.575-1.604-.869-1.302-.7-2.468 1.163-1.181 1.864 3.694 1.99 7.403 3.981 11.097 5.957zM36.733 15.745c.53.295 1.074.575 1.604.87 1.302.7 2.468-1.164 1.181-1.865a4281.61 4281.61 0 00-11.097-5.957c-.53-.294-1.075-.575-1.604-.869-1.302-.7-2.468 1.163-1.181 1.864 3.694 1.99 7.403 3.981 11.097 5.957z" fill-rule="nonzero"/></g></symbol>
<symbol id="icon-inst" viewBox="0 0 26 26"><use xlink:href="#def-inst-a" transform="translate(-1468 -332)"/><use xlink:href="#def-inst-b" transform="translate(-1468 -332)"/><use xlink:href="#def-inst-c" transform="translate(-1468 -332)"/></symbol>
<symbol id="icon-instagram-mob" viewBox="0 0 34 34"><path fill-rule="evenodd" clip-rule="evenodd" d="M24.027 20.23a3.801 3.801 0 01-3.797 3.797h-6.433A3.801 3.801 0 0110 20.23v-6.433A3.801 3.801 0 0113.797 10h6.433a3.801 3.801 0 013.797 3.797v6.433zm-7.014-7.052a3.84 3.84 0 00-3.835 3.835 3.84 3.84 0 003.835 3.836 3.84 3.84 0 003.836-3.836 3.84 3.84 0 00-3.836-3.835zm0 6.848A3.016 3.016 0 0114 17.013 3.016 3.016 0 0117.013 14a3.016 3.016 0 013.013 3.013 3.016 3.016 0 01-3.013 3.013zm2.794-7.077c0-.625.509-1.133 1.133-1.133.625 0 1.134.508 1.134 1.133s-.509 1.134-1.134 1.134a1.135 1.135 0 01-1.133-1.134z"/></symbol>
<symbol id="icon-instagram" viewBox="0 0 56 56"><path fill-rule="evenodd" clip-rule="evenodd" d="M37.5 32.492a5.014 5.014 0 01-5.008 5.008h-8.484A5.014 5.014 0 0119 32.492v-8.484A5.014 5.014 0 0124.008 19h8.484a5.014 5.014 0 015.008 5.008v8.484zm-9.25-9.3a5.064 5.064 0 00-5.058 5.058c0 2.79 2.269 5.059 5.058 5.059 2.79 0 5.059-2.27 5.059-5.059 0-2.79-2.27-5.058-5.059-5.058zm0 9.032a3.978 3.978 0 01-3.974-3.974 3.978 3.978 0 013.974-3.974 3.978 3.978 0 013.974 3.974 3.978 3.978 0 01-3.974 3.974zm3.685-9.334c0-.825.67-1.495 1.494-1.495.825 0 1.495.67 1.495 1.495 0 .824-.67 1.495-1.495 1.495-.824 0-1.494-.67-1.494-1.495z"/></symbol>
<symbol id="icon-like-down" viewBox="0 0 20 22"><use xlink:href="#def-like-down-a" transform="translate(-995 -522)"/></symbol>
<symbol id="icon-like-up" viewBox="0 0 20 22"><use xlink:href="#def-like-up-a" transform="translate(-934 -520)"/></symbol>
<symbol id="icon-like" viewBox="0 0 16 16"><use xlink:href="#def-like-a" transform="translate(-687 -8946)"/></symbol>
<symbol id="icon-link" viewBox="0 0 19 21"><use xlink:href="#def-link-a" transform="translate(-624 -1161)"/><use xlink:href="#def-link-b" transform="translate(-624 -1161)"/></symbol>
<symbol id="icon-mail" viewBox="0 0 16 12"><use xlink:href="#def-mail-a" transform="translate(-1042 -260)"/><use xlink:href="#def-mail-b" transform="translate(-1042 -260)"/></symbol>
<symbol id="icon-minus-zoom" viewBox="0 0 26 2"><path stroke-linecap="square" stroke-miterlimit="50" stroke-width="2" d="M1.5 1h23.19"/></symbol>
<symbol id="icon-outside" viewBox="0 0 21 21"><use xlink:href="#def-outside-a" transform="translate(-1185 -9211)"/></symbol>
<symbol id="icon-pencil" viewBox="0 0 20 21"><use xlink:href="#def-pencil-a" transform="translate(-1185 -9800)"/></symbol>
<symbol id="icon-phone" viewBox="0 0 21 22"><use xlink:href="#def-phone-a" transform="translate(-716 -19)"/></symbol>
<symbol id="icon-play-circle" viewBox="0 0 24 24"><path d="M12 24a12 12 0 110-24 12 12 0 010 24zM2 12a10 10 0 1020 0 10 10 0 00-20 0z"/><path d="M11.01 14.52c-.05.28.1.55.35.67.25.13.55.07.74-.14l2.85-2.94c.26-.27.27-.7.02-.98l-2.83-2.94a.69.69 0 00-.75-.13.67.67 0 00-.38.65z"/></symbol>
<symbol id="icon-play-reviews" viewBox="0 0 9 9"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.074 4.507c0 .41-.745.741-.745.741l-5.854 2.91a.619.619 0 01-.563-.054.649.649 0 01-.294-.494V1.392A.586.586 0 01.895.853a.557.557 0 01.595.01l5.839 2.903s.745.331.745.741z"/></symbol>
<symbol id="icon-play" viewBox="0 0 17 17"><path d="M17 9.02c0 .88-1.6 1.59-1.6 1.59L2.84 16.86c-.4.16-.84.12-1.21-.12A1.4 1.4 0 011 15.68V2.33c-.03-.47.2-.92.6-1.16.39-.24.89-.23 1.27.02L15.4 7.43s1.6.71 1.6 1.59z"/></symbol>
<symbol id="icon-plus-zoom" viewBox="0 0 24 24"><path d="M23 13H13v10a1 1 0 01-1 1 1 1 0 01-1-1V13H1a1 1 0 01-1-1 1 1 0 011-1h10V1a1 1 0 011-1 1 1 0 011 1v10h10a1 1 0 011 1 1 1 0 01-1 1z"/></symbol>
<symbol id="icon-plus" viewBox="0 0 16 16"><use xlink:href="#def-plus-a" transform="translate(-1208 -4164)"/></symbol>
<symbol id="icon-search" viewBox="0 0 22 22"><use xlink:href="#def-search-a" transform="translate(-1083 -22)"/></symbol>
<symbol id="icon-shape" viewBox="0 0 48 38"><use xlink:href="#def-shape-a" transform="translate(-832 -13296)"/></symbol>
<symbol id="icon-share" viewBox="0 0 26 24"><path d="M21.03 8a3.95 3.95 0 01-3.02-1.41l-9.08 4.54c.12.55.13 1.11.02 1.66l9.06 4.61a3.98 3.98 0 11-.9 1.79l-9.05-4.61a4 4 0 11-.05-5.22l9.1-4.55A4 4 0 1121.03 8zm0 14a2 2 0 002-2 2 2 0 10-2 2zm-18-10a2 2 0 104 0 2 2 0 00-4 0zm16-8a2 2 0 104 0 2 2 0 00-4 0z"/></symbol>
<symbol id="icon-smile" viewBox="0 0 23 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.5 23.278c-6.351 0-11.5-5.148-11.5-11.5C0 5.427 5.149.278 11.5.278S23 5.427 23 11.778c-.005 6.35-5.15 11.495-11.5 11.5zm0-21.083a9.583 9.583 0 00-9.583 9.583 9.584 9.584 0 1019.167 0A9.599 9.599 0 0011.5 2.195zm-6.613 12.87a7.38 7.38 0 006.613 4.38 7.333 7.333 0 006.613-4.38.957.957 0 00-.93-1.427.96.96 0 00-.796.603 5.277 5.277 0 01-9.774 0 .959.959 0 00-1.726.824zm10.447-3.287a1.917 1.917 0 110-3.833 1.917 1.917 0 010 3.833zM5.75 9.862a1.917 1.917 0 103.833 0 1.917 1.917 0 00-3.833 0z"/></symbol>
<symbol id="icon-socials" viewBox="0 0 40 40"><g fill-rule="evenodd"><circle cx="20" cy="20" r="20"/><path d="M20.021 31h-.485C13.717 31 9 26.08 9 20.009c0-6.07 4.717-10.991 10.536-10.991.309-.024.619-.024.928 0 5.819 0 10.536 4.92 10.536 10.99C31 26.08 26.283 31 20.464 31h-.443zm0-2.198h.316c4.655 0 8.43-3.937 8.43-8.793s-3.775-8.793-8.43-8.793h-.632c-4.655 0-8.43 3.937-8.43 8.793s3.775 8.793 8.43 8.793h.316z"/><path d="M19.382 31C13.648 31 9 26.08 9 20.009c0-6.07 4.648-10.991 10.382-10.991.305-.024.61-.024.914 0 .252.02.488.138.665.33 5.385 5.95 5.385 15.338 0 21.29a.998.998 0 01-1.142.252.992.992 0 01-.437.11zm.322-19.784h-.238c-4.588 0-8.306 3.937-8.306 8.793s3.718 8.793 8.306 8.793a.981.981 0 01.26 0c4.23-5.007 4.23-12.58 0-17.586h-.022z" clip-rule="evenodd"/><path d="M19.91 30.967a1.101 1.101 0 01-.419-.077 1.101 1.101 0 01-1.21-.253c-5.708-5.95-5.708-15.337 0-21.288a1.1 1.1 0 01.704-.33 6.664 6.664 0 011.012 0C26.074 9.02 31 13.94 31 20.01S26.074 31 19.997 31l-.088-.033zm-.353-19.783a13.177 13.177 0 000 17.585c.091-.012.184-.012.275 0 4.861 0 8.802-3.936 8.802-8.792s-3.94-8.793-8.802-8.793h-.275z" clip-rule="evenodd"/><path d="M27.944 17H11.056C10.473 17 10 16.552 10 16s.473-1 1.056-1h16.888c.583 0 1.056.448 1.056 1s-.473 1-1.056 1zM27.944 25H11.056C10.473 25 10 24.552 10 24s.473-1 1.056-1h16.888c.583 0 1.056.448 1.056 1s-.473 1-1.056 1z"/></g></symbol>
<symbol id="icon-strawberry" viewBox="0 0 49 48"><use xlink:href="#def-strawberry-a" transform="translate(-832 -13406)"/></symbol>
<symbol id="icon-telegram" viewBox="0 0 29 24"><use xlink:href="#def-telegram-a" transform="translate(-795 -271)"/></symbol>
<symbol id="icon-telegram2-mob" viewBox="0 0 34 34"><path d="M14.95 19.329l-.25 3.528c.358 0 .514-.154.7-.34l1.683-1.607 3.486 2.553c.64.356 1.09.168 1.263-.588L24.12 12.15c.204-.946-.341-1.316-.964-1.084l-13.452 5.15c-.918.357-.904.869-.156 1.1l3.44 1.07 7.988-4.998c.375-.25.717-.112.436.137L14.95 19.33z"/></symbol>
<symbol id="icon-telegram2" viewBox="0 0 56 56"><path d="M25.848 30.985l-.331 4.653c.473 0 .678-.203.924-.447l2.22-2.121 4.598 3.367c.843.47 1.437.223 1.665-.776l3.018-14.143.001-.001c.268-1.247-.45-1.734-1.272-1.428L18.929 26.88c-1.211.47-1.193 1.145-.206 1.451l4.536 1.411 10.536-6.593c.495-.328.946-.146.575.182l-8.522 7.653z"/></symbol>
<symbol id="icon-tm" viewBox="0 0 26 22"><use xlink:href="#def-tm-a" transform="translate(-1399 -334)"/></symbol>
<symbol id="icon-trash" viewBox="0 0 20 21"><use xlink:href="#def-trash-a" transform="translate(-1156 -9799)"/></symbol>
<symbol id="icon-triangle" viewBox="0 0 16 8"><use xlink:href="#def-triangle-a" transform="translate(-1237 -6883)"/></symbol>
<symbol id="icon-tw" viewBox="0 0 18 15"><path d="M18 1.75c-.66.3-1.37.5-2.12.59A3.7 3.7 0 0017.5.27c-.71.43-1.5.74-2.34.91a3.68 3.68 0 00-6.39 2.56c0 .3.03.58.09.85A10.45 10.45 0 011.25.69 3.75 3.75 0 002.4 5.68a3.67 3.67 0 01-1.68-.47v.05a3.75 3.75 0 002.97 3.67 3.51 3.51 0 01-1.67.06 3.7 3.7 0 003.45 2.6A7.33 7.33 0 010 13.14a10.37 10.37 0 005.66 1.68c6.79 0 10.51-5.7 10.51-10.64l-.01-.49A7.35 7.35 0 0018 1.76z"/></symbol>
<symbol id="icon-twitter-mob" viewBox="0 0 34 34"><path d="M24.406 12.386a6.16 6.16 0 01-1.702.466 2.937 2.937 0 001.3-1.632c-.572.34-1.202.58-1.873.715a2.952 2.952 0 00-5.109 2.02c0 .233.02.458.068.672a8.36 8.36 0 01-6.087-3.089 2.957 2.957 0 00.908 3.947 2.917 2.917 0 01-1.335-.363v.032a2.967 2.967 0 002.366 2.902c-.24.066-.502.097-.774.097-.189 0-.38-.01-.56-.05a2.981 2.981 0 002.76 2.057 5.934 5.934 0 01-3.661 1.26c-.242 0-.475-.011-.707-.04a8.314 8.314 0 004.53 1.325c5.435 0 8.406-4.502 8.406-8.404 0-.13-.004-.257-.01-.382a5.89 5.89 0 001.48-1.533z"/></symbol>
<symbol id="icon-twitter" viewBox="0 0 56 56"><path d="M38 21.828c-.707.31-1.46.515-2.244.615a3.874 3.874 0 001.713-2.153 7.783 7.783 0 01-2.47.943 3.894 3.894 0 00-6.738 2.664c0 .308.026.605.09.887a11.025 11.025 0 01-8.028-4.074 3.922 3.922 0 00-.533 1.969 3.9 3.9 0 001.73 3.237 3.847 3.847 0 01-1.76-.48v.043a3.913 3.913 0 003.12 3.827 3.887 3.887 0 01-1.02.129c-.25 0-.502-.015-.738-.067.505 1.543 1.937 2.677 3.64 2.714a7.827 7.827 0 01-4.83 1.66c-.32 0-.626-.013-.932-.052a10.966 10.966 0 005.976 1.748c7.167 0 11.086-5.938 11.086-11.085a9.95 9.95 0 00-.014-.503A7.77 7.77 0 0038 21.828z"/></symbol>
<symbol id="icon-user-circle" viewBox="0 0 24 24"><use xlink:href="#def-user-circle-a" transform="translate(-1244 -22)"/></symbol>
<symbol id="icon-vb" viewBox="0 0 25 27"><use xlink:href="#def-vb-a" transform="translate(-931 -270)"/></symbol>
<symbol id="icon-view-list" viewBox="0 0 15 15"><path d="M0 6V0h15v6zm0 9V9h15v6z"/></symbol>
<symbol id="icon-view-tile" viewBox="0 0 15 15"><path d="M0 6V0h6v6zm9 0V0h6v6zm0 9V9h6v6zm-9 0V9h6v6z"/></symbol>
<symbol id="icon-vk" viewBox="0 0 22 14"><path d="M10.61 13.8h1.3s.39-.04.59-.27c.19-.2.18-.59.18-.59s-.02-1.8.78-2.07c.8-.26 1.82 1.75 2.91 2.52.81.58 1.44.46 1.44.46l2.89-.05s1.52-.09.8-1.33c-.06-.1-.42-.92-2.15-2.59-1.82-1.75-1.58-1.47.61-4.5 1.33-1.84 1.87-2.97 1.7-3.45-.16-.46-1.14-.34-1.14-.34l-3.26.02s-.24-.03-.42.08-.29.36-.29.36-.52 1.43-1.2 2.64c-1.46 2.57-2.04 2.7-2.27 2.54-.56-.37-.42-1.49-.42-2.28 0-2.49.36-3.52-.71-3.79A5.26 5.26 0 0010.43 1c-1.16-.01-2.15.01-2.7.29-.38.19-.66.61-.49.63.22.03.71.14.97.51.33.47.32 1.53.32 1.53s.19 2.92-.45 3.29c-.44.25-1.04-.26-2.34-2.59-.66-1.19-1.16-2.5-1.16-2.5s-.1-.25-.27-.38c-.21-.16-.5-.21-.5-.21l-3.1.02s-.47.01-.64.22c-.15.19-.01.58-.01.58s2.43 5.89 5.17 8.87c2.52 2.72 5.38 2.54 5.38 2.54z"/></symbol>
<symbol id="icon-vk2-mob" viewBox="0 0 34 34"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.79 21.913h.947a.77.77 0 00.436-.201.795.795 0 00.13-.459s-.016-1.399.573-1.608c.588-.209 1.336 1.351 2.13 1.954.297.259.68.383 1.063.346l2.123-.032s1.116-.073.589-1.03a7.642 7.642 0 00-1.582-2.002c-1.337-1.35-1.153-1.134.451-3.473.978-1.424 1.367-2.3 1.245-2.67a.866.866 0 00-.832-.257l-2.4.016a.463.463 0 00-.305.056.702.702 0 00-.214.282 15.134 15.134 0 01-.886 2.042c-1.062 1.978-1.49 2.082-1.665 1.962-.405-.29-.306-1.15-.306-1.77 0-1.913.268-2.717-.511-2.926a4.053 4.053 0 00-1.123-.12 4.804 4.804 0 00-1.987.225c-.275.144-.48.466-.351.49.273.03.524.167.703.386.165.37.246.774.237 1.182 0 0 .145 2.26-.329 2.54-.32.194-.764-.2-1.719-1.993a17.581 17.581 0 01-.848-1.938.803.803 0 00-.198-.29.84.84 0 00-.367-.16l-2.276.016a.723.723 0 00-.466.169.581.581 0 00-.016.442s1.788 4.559 3.805 6.859c.99 1.217 2.427 1.931 3.95 1.962z"/></symbol>
<symbol id="icon-vk2" viewBox="0 0 56 56"><path fill-rule="evenodd" clip-rule="evenodd" d="M28.274 34.074h1.25c.213-.024.413-.117.574-.265.117-.177.177-.39.172-.605 0 0-.02-1.845.755-2.12.776-.276 1.763 1.78 2.811 2.576.391.342.895.506 1.4.456l2.802-.042s1.47-.096.775-1.358a10.079 10.079 0 00-2.085-2.64c-1.763-1.782-1.522-1.495.594-4.582 1.29-1.877 1.804-3.033 1.642-3.52a1.143 1.143 0 00-1.098-.34l-3.163.021a.61.61 0 00-.403.075.925.925 0 00-.282.37 19.972 19.972 0 01-1.17 2.694c-1.4 2.61-1.964 2.747-2.196 2.588-.534-.382-.403-1.516-.403-2.333 0-2.524.353-3.584-.675-3.86a5.345 5.345 0 00-1.48-.16 6.336 6.336 0 00-2.62.298c-.363.19-.635.615-.464.646.36.039.691.221.927.51.218.487.325 1.02.312 1.558 0 0 .192 2.98-.433 3.352-.423.254-1.007-.265-2.267-2.63a23.184 23.184 0 01-1.118-2.556 1.06 1.06 0 00-.262-.382 1.109 1.109 0 00-.484-.212l-3.002.021a.953.953 0 00-.615.223.767.767 0 00-.02.583s2.358 6.013 5.018 9.046c1.305 1.606 3.2 2.548 5.209 2.588z"/></symbol>
<symbol id="icon-yandex" viewBox="0 0 5 11"><path d="M4.847 0H3.259C1.7 0 .376 1.169.376 3.438c0 1.36.64 2.364 1.783 2.86L.028 10.092c-.07.123 0 .22.111.22h.99c.083 0 .139-.028.166-.097L3.231 6.49h.697v3.726c0 .041.041.097.097.097h.864c.083 0 .111-.042.111-.11V.138C5 .04 4.944 0 4.847 0zm-.92 5.61h-.584c-.92 0-1.81-.66-1.81-2.31 0-1.719.835-2.42 1.684-2.42h.71v4.73z" fill-rule="nonzero"/></symbol>
<symbol id="icon-ynadex" viewBox="0 0 5 10"><use xlink:href="#def-ynadex-a" transform="translate(-468 -10321)"/></symbol>
<symbol id="icon-ytube" viewBox="0 0 27 20"><use xlink:href="#def-ytube-a" transform="translate(-1332 -335)"/></symbol>
</svg>
<div class="header-banner topBanner" data-type="header" style="display: block; position: sticky; top: 0; z-index: 999;">
<a data-source="220879" data-banner="226288" class="universal-notice js-universal-notice-notice universal-notice--webp universal-notice--bitrix universal-notice--active" href="https://skillbox.ru/sale/main/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_banners_header_all_all_skillbox" target="_blank" style="--banner-bg: #5927E9;--banner-color: #fff;--button-font-color: #000000;--button-bg-color: #FFFFFF;--banner-img-left: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_left/602754/f9ac17dd-a1d4-46c6-aa14-4f7b949defd1.png);--banner-img-left-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_left/602754/f9ac17dd-a1d4-46c6-aa14-4f7b949defd1.webp);--banner-img-center: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.png);--banner-img-center-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.webp);--banner-img-center-mobile: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.png);--banner-img-center-mobile-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.webp);--banner-img-right: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_right/602755/ad7a7fe5-b8d3-47a3-885b-51a7971c12a9.png);--banner-img-right-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_right/602755/ad7a7fe5-b8d3-47a3-885b-51a7971c12a9.webp);">
<span class="universal-notice__wrapper">
<b class="universal-notice__title">
Скидка до 55% и 3 курса в подарок
</b>
<span class="universal-timer js-universal-notice-timer js-universal-notice-active">
<span class="universal-timer__days js-universal-notice-days">2 дня</span>
<span class="js-universal-notice-hours">13</span>
:<span class="js-universal-notice-minutes">30</span>
:<span class="js-universal-notice-seconds">09</span>
</span>
<span class="universal-notice__button">Выбрать курс</span>
</span>
</a><script>
document.addEventListener('DOMContentLoaded', () => {
// Установите конечную дату
const deadline = new Date();
deadline.setDate(5);
deadline.setHours(0, 0, 0);
// Найдите элементы DOM
var timer = document.querySelector('.universal-timer');
const elDays = timer.querySelector('.js-universal-notice-days');
const elHours = timer.querySelector('.js-universal-notice-hours');
const elMinutes = timer.querySelector('.js-universal-notice-minutes');
const elSeconds = timer.querySelector('.js-universal-notice-seconds');
// Функция обновления таймера
const updateTimer = () => {
const now = new Date();
let diff = Math.max(0, deadline - now);
if (diff === 0) {
let lastDayOfMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let lastDay = lastDayOfMonth.getDate();
if (lastDay - now.getDate() < 4) {
deadline.setMonth(deadline.getMonth() + 1, 1);
} else {
deadline.setDate(deadline.getDate() + 4);
}
diff = Math.max(0, deadline - now);
}
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(diff / (1000 * 60 * 60 * 24));
var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)).toString();
var minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60)).toString();
var seconds = Math.floor((diff % (1000 * 60)) / 1000).toString();
if (timer) {
let dayTitles = ['день', 'дня', 'дней'];
let daySuffix = dayTitles[(days % 100 > 4 && days % 100 < 20) ? 2 : [2, 0, 1, 1, 1, 2][days % 10 < 5 ? days % 10 : 5]]
elDays.innerHTML = days + ' ' + daySuffix;
elHours.innerHTML = hours.padStart(2, '0');
elMinutes.innerHTML = minutes.padStart(2, '0');
elSeconds.innerHTML = seconds.padStart(2, '0');
}
};
updateTimer();
const timerId = setInterval(updateTimer, 1000);
});
</script>
<style>@font-face{font-display:swap;font-family:Graphik;font-weight:500;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Medium.woff2) format("woff2")}@font-face{font-display:swap;font-family:Graphik;font-weight:700;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Bold.woff2) format("woff2")}.universal-notice{position:sticky;z-index:5;top:0;box-sizing:border-box;text-decoration:none;display:none;justify-content:space-between;overflow:hidden;color:var(--banner-color);background-color:var(--banner-bg);font-family:Graphik,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:opacity .25s ease-in-out}.universal-notice--active{display:flex}.universal-notice--bitrix{z-index:1000}.universal-notice *,.universal-notice ::after,.universal-notice ::before{box-sizing:inherit}.universal-notice::after,.universal-notice::before{display:none;width:194px;height:56px;content:"";background-size:194px 56px;background-repeat:no-repeat}.universal-notice--no-webp::before{background-image:var(--banner-img-left)}.universal-notice--no-webp::after{background-image:var(--banner-img-right)}.universal-notice--webp::before{background-image:var(--banner-img-left-webp)}.universal-notice--webp::after{background-image:var(--banner-img-right-webp)}.universal-notice--new-design{position:static;margin:4px;border-radius:16px}.universal-notice--new-design::after,.universal-notice--new-design::before{width:166px;height:48px;background-size:166px 48px}.universal-notice__wrapper{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:12px;padding:12px;width:100%}.universal-notice--new-design .universal-notice__wrapper::after{height:48px}.universal-notice__title{font-weight:500;font-size:15px;line-height:16px}.universal-notice--new-design .universal-notice__title{font-size:14px;line-height:15px}.universal-timer{display:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;font-size:24px;line-height:26px}.universal-notice--new-design .universal-timer{font-size:22px;line-height:24px}.universal-timer__days{margin-right:8px}.universal-notice__button{grid-column:2/3;padding:6px 16px;border-radius:6px;color:var(--button-font-color);background-color:var(--button-bg-color);font-weight:500;font-size:14px;line-height:20px}.universal-notice-sticky{position:fixed;z-index:5;top:0;left:0;width:100%;padding:11px 8px;color:var(--banner-color);background-color:var(--banner-bg);text-align:center;transition:transform .3s ease-in-out;will-change:transform;transform:translateY(-200%)}.universal-notice-sticky--show{transform:translateY(0)}@media (min-width:360px) and (max-width:0px){.universal-notice__wrapper{padding:0 12px;grid-template-columns:1fr 56px auto}.universal-notice__wrapper::after{grid-column:2/3;grid-row:1/2;width:100%;height:56px;background-size:cover;background-repeat:no-repeat;content:""}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 48px auto}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile-webp)}.universal-notice__button{grid-column:3/4}}@media (min-width:360px){.universal-notice__wrapper{padding:0 12px;grid-template-columns:1fr 56px auto}.universal-notice__wrapper::after{grid-column:2/3;grid-row:1/2;width:100%;height:56px;background-size:cover;background-repeat:no-repeat;content:""}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 48px auto}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile-webp)}.universal-notice__button{grid-column:3/4}}@media (min-width:768px){.universal-notice::before{background-position:right center;flex-shrink:0;display:block}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-webp)}}@media (min-width:768px) and (max-width:0px){.universal-notice::before{background-position:right center;flex-shrink:0;display:block}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-webp)}}@media (min-width:1024px){.universal-notice::after,.universal-notice::before{width:250px;height:72px;background-size:250px 72px}.universal-notice--new-design{height:64px;border-radius:32px}.universal-notice--new-design::after,.universal-notice--new-design::before{width:226px;height:64px;background-size:226px 64px}.universal-notice__wrapper{grid-template-columns:1fr 72px auto;grid-gap:24px;padding-right:16px;padding-left:24px}.universal-notice__wrapper::after{height:72px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px auto}.universal-notice--new-design .universal-notice__wrapper::after{height:64px}.universal-notice__title{font-size:24px;line-height:26px}.universal-notice--new-design .universal-notice__title{font-size:22px;line-height:24px}.universal-notice__button{padding:10px 24px;border-radius:8px}.universal-notice-sticky{padding:14px 24px}}@media (min-width:1024px) and (max-width:0px){.universal-notice::after,.universal-notice::before{width:250px;height:72px;background-size:250px 72px}.universal-notice--new-design{height:64px;border-radius:32px}.universal-notice--new-design::after,.universal-notice--new-design::before{width:226px;height:64px;background-size:226px 64px}.universal-notice__wrapper{grid-template-columns:1fr 72px auto;grid-gap:24px;padding-right:16px;padding-left:24px}.universal-notice__wrapper::after{height:72px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px auto}.universal-notice--new-design .universal-notice__wrapper::after{height:64px}.universal-notice__title{font-size:24px;line-height:26px}.universal-notice--new-design .universal-notice__title{font-size:22px;line-height:24px}.universal-notice__button{padding:10px 24px;border-radius:8px}.universal-notice-sticky{padding:14px 24px}}@media (min-width:1280px){.universal-notice::before{flex-shrink:1}.universal-notice::after{background-position:left center;display:block}.universal-notice__wrapper{grid-template-columns:1fr 72px minmax(202px,auto) auto;min-width:940px;max-width:1020px;padding-right:24px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px minmax(202px,auto) auto}.universal-timer.js-universal-notice-active{display:flex}.universal-notice__timer-nuxt{display:flex}.universal-notice__button{grid-column:4/5}}@media (min-width:1280px) and (max-width:0px){.universal-notice::before{flex-shrink:1}.universal-notice::after{background-position:left center;display:block}.universal-notice__wrapper{grid-template-columns:1fr 72px minmax(202px,auto) auto;min-width:940px;max-width:1020px;padding-right:24px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px minmax(202px,auto) auto}.universal-timer.js-universal-notice-active{display:flex}.universal-notice__timer-nuxt{display:flex}.universal-notice__button{grid-column:4/5}}@media (min-width:1400px) and (max-width:0px){.universal-notice::before{flex-shrink:0}.universal-notice::after{flex-shrink:0}}@media (min-width:1400px){.universal-notice::before{flex-shrink:0}.universal-notice::after{flex-shrink:0}}</style> </div>
<script>
document.addEventListener("DOMContentLoaded", function(event) {
window.TopBanner = true;
});
$(document).ready(function () {
$.ajax({
url: '/local/ajax/advert.php',
type: 'POST',
data: {
'type': 'top-banner-show',
'id': 226288,
'section_id': 0,
},
success: function (result) {
}
});
});
$(document).on('click', '.header-banner', function () {
$.ajax({
url: '/local/ajax/advert.php',
type: 'POST',
data: {
'type': 'top-banner-click',
'id': 226288,
'section_id': 0,
},
success: function (result) {
}
});
var page = window.location;
var $article = $('section[data-article-text]');
var pageId = $article.data('articleid');
if(pageId === undefined)
{
pageId = 0;
}
window.dataLayer.push({
'event': 'go_to_course',
'courseID': 226288,
'page': page,
'pageID': pageId
});
});
</script>
<header class="header">
<div id="menu" class="header__wrapper container">
<div class="header__logo link-active">
<a href="/media/" class="header__media-main-link">
<img src="/local/templates/media/images/logo/skillbox-media.svg" alt="Skillbox"/>
</a>
<a href="/media/code/" class="header__media-category-link">
<span class="header__media-category js-category ">Код</span>
</a>
</div>
<a href="/media/about-media/" v-if="!isMobile" rel="nofollow" class="menu-nav__link menu-nav__link--about" target="_blank" style="display: none">
Про медиа
</a>
<button v-if="!isMobile" v-show="!isMobile" rel="nofollow" class="toggle-menu header__toggle toggle-menu--course"
@click="openCourseMenu()"
:class="{ 'toggle-menu--active': isOpenCourseMenu }"
style="display: none">
Онлайн-курсы
<svg width="13" height="12" viewBox="0 0 13 12" fill="none" xmlns="http://www.w3.org/2000/svg"
:class="{
'animated-chevron--default': isOpenCourseMenu,
'animated-chevron--active animated-chevron--default': ! isOpenCourseMenu
}"
class="animated-chevron toggle-menu__arrow select-arrow select-arrow--small">
<line x1="6.48415" y1="5.92242" x2="11.4909" y2="10.9291" stroke="currentColor" stroke-width="1.78"
class=" animated-chevron__line animated-chevron__line1 animated-chevron__line1--default"></line>
<line x1="6.3701" y1="5.9224" x2="11.3768" y2="0.915678" stroke="currentColor" stroke-width="1.78"
class="animated-chevron__line"></line>
<line x1="1.36337" y1="10.9291" x2="6.3701" y2="5.9224" stroke="currentColor" stroke-width="1.78"
class="animated-chevron__line animated-chevron__line2 animated-chevron__line2--default"></line>
<line x1="1.47743" y1="0.915681" x2="6.48415" y2="5.9224" stroke="currentColor" stroke-width="1.78"
class="animated-chevron__line"></line>
</svg>
</button>
<a href="https://skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=button_main_skillbox&utm_term=mainskillbox" v-if="!isMobile" v-show="!isMobile" rel="nofollow" class="menu-nav__link menu-nav__link-ml0 menu-nav__link--main" target="_blank" style="display: none">
Главная Skillbox
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.9375 10.0618L9.9161 4.08203" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M3.93811 3.93665H10.0631V10.0616" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
<div v-if="isOpenCourseMenu && !isMobile" class="menu-block menu-block--desktop" @click="closeCourseMenu($event)" style="display: none">
<div class="menu-block__wrapper menu-block__wrapper--desktop">
<div class="menu-block__content vue-container">
<span class="menu-block__title">
Направления обучения
</span>
<ul class="menu-directions menu-block__direction">
<li class="menu-directions__item">
<a href="https://skillbox.ru/courses/?utm_source=media&utm_medium=button&utm_campaign=button_courses_all&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="All directions">
Все направления
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/code/?utm_source=media&utm_medium=button&utm_campaign=button_courses_code&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Code">
Программирование
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/design/?utm_source=media&utm_medium=button&utm_campaign=button_courses_design&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Design">
Дизайн
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/management?utm_source=media&utm_medium=button&utm_campaign=button_courses_management&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Management">
Управление
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/marketing?utm_source=media&utm_medium=button&utm_campaign=button_courses_marketing&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Marketing">
Маркетинг
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/games?utm_source=media&utm_medium=button&utm_campaign=button_courses_games&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="GameDev">
Игры
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/multimedia?utm_source=media&utm_medium=button&utm_campaign=button_courses_multimedia&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="">
Кино и Музыка
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/psychology?utm_source=media&utm_medium=button&utm_campaign=button_courses_psychology&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Психология
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/health?utm_source=media&utm_medium=button&utm_campaign=button_courses_health&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Здоровье
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/spo/?utm_source=media&utm_medium=button&utm_campaign=button_courses_spo&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Цифровой колледж
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/general-development/?utm_source=media&utm_medium=button&utm_campaign=button_courses_general-development&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Education">
Общее развитие
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/engineering/?utm_source=media&utm_medium=button&utm_campaign=button_courses_engineering&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="engineering">
Инженерия
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/english/?utm_source=media&utm_medium=button&utm_campaign=button_courses_english&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="english">
Английский язык
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/other/?utm_source=media&utm_medium=button&utm_campaign=button_courses_other&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Other">
Другое
</a>
</li>
</ul>
</div>
</div>
</div>
<div v-show="isOpenMenu" class="menu-block" @click="closeMenu($event)" style="display: none">
<div class="menu-block__wrapper">
<div class="menu-block__content vue-container">
<h2 class="menu-block__header">Редакции</h2>
<div class="tab-nav" data-tab-parent="" data-action="index">
<div class="tab-nav__item">
<a class="" data-tab-name="media_nav" data-section-id="0" data-code="All directions" href="/media/">
<img src="/local/templates/media/images/common/menu-icon-mobile-1.png" alt=""/>
Все
</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="/media/topic/history/">
<img src="/local/templates/media/images/common/menu-icon-mobile-19.png"
alt=""/>
Истории</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="8"
data-code="Design"
href="/media/design/">
<img src="/local/templates/media/images/common/menu-icon-mobile-2.png" alt=""/>
Дизайн</a>
</div>
<div class="tab-nav__item">
<a class="tab-active"
data-tab-name="media_nav"
data-section-id="10"
data-code="Code"
href="/media/code/">
<img src="/local/templates/media/images/common/menu-icon-mobile-3.png" alt=""/>
Код</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="18"
data-code="GameDev"
href="/media/gamedev/">
<img src="/local/templates/media/images/common/menu-icon-mobile-4.png" alt=""/>
Геймдев</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="21"
data-code="Business"
href="/media/business/">
<img src="/local/templates/media/images/common/menu-icon-mobile-9.png" alt=""/>
Бизнес</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="9"
data-code="Marketing"
href="/media/marketing/">
<img src="/local/templates/media/images/common/menu-icon-mobile-5.png" alt=""/>
Маркетинг</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="11"
data-code=""
href="/media/management/">
<img src="/local/templates/media/images/common/menu-icon-mobile-6.png" alt=""/>
Управление</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="29"
data-code=""
href="/media/cinemusic/">
<img src="/local/templates/media/images/common/menu-icon-mobile-22.png" alt=""/>
Кино</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="36"
data-code=""
href="/media/music/">
<img src="/local/templates/media/images/common/menu-icon-mobile-23.png" alt=""/>
Музыка</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="34"
data-code=""
href="/media/photo/">
<img src="/local/templates/media/images/common/menu-icon-mobile-20.png" alt=""/>
Проектная фотография</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="17"
data-code="Development"
href="/media/growth/">
<img src="/local/templates/media/images/common/menu-icon-mobile-7.png" alt=""/>
Развитие</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="33"
data-code=""
href="/media/health/">
<img src="/local/templates/media/images/common/menu-icon-mobile-16.png" alt=""/>
Здоровье</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="32"
data-code=""
href="/media/money/">
<img src="/local/templates/media/images/common/menu-icon-mobile-17.png" alt=""/>
Деньги</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="22"
data-code="Education"
href="/media/education/">
<img src="/local/templates/media/images/common/menu-icon-mobile-8.png" alt=""/>
Образование</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="31"
data-code=""
href="/media/edtech/">
<img src="/local/templates/media/images/common/menu-icon-mobile-11.png" alt=""/>
EdTech</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="30"
data-code=""
href="/media/corptrain/">
<img src="/local/templates/media/images/common/menu-icon-mobile-10.png" alt=""/>
Корп. обучение</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="35"
data-code=""
href="/media/skillbox-blog/">
<img src="/local/templates/media/images/common/menu-icon-mobile-21.png" alt=""/>
Блог Skillbox</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="https://skillbox.ru/media/glossary/">
<img src="/local/templates/media/images/common/menu-icon-mobile-18.png"
alt=""/>
Глоссарий</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="/media/topic/specials/">
<img src="/local/templates/media/images/common/menu-icon-mobile-13.png"
alt=""/>
Спецпроекты</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="https://skillbox.ru/course/career-guide-free/">
<img src="/local/templates/media/images/common/menu-icon-mobile-15.png"
alt=""/>
Профориентация</a>
</div>
</div>
<h2 class="menu-block__header">Онлайн-курсы</h2>
<ul class="menu-directions menu-block__direction">
<li class="menu-directions__item">
<a href="https://skillbox.ru/courses/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="All directions">
Все направления
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/code/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Code">
Программирование
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/design/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Design">
Дизайн
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/marketing/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Marketing">
Маркетинг
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/management/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Management">
Управление
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/games/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="GameDev">
Игры
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/multimedia/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="">
Мультимедиа
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/psychology/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Психология
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/general-development/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Education">
Общее развитие
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/engineering/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="engineering">
Инженерия
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/english/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="english">
Английский язык
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/other/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Other">
Другое
</a>
</li>
</ul>
<a href="/media/about-media/" rel="nofollow" class="menu-nav__link">
Про медиа
</a>
<a href="https://skillbox.ru/" rel="nofollow" class="menu-nav__link">
Главная Skillbox
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.9375 10.0618L9.9161 4.08203" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M3.93811 3.93665H10.0631V10.0616" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
</div>
</div>
</div>
<button v-if="isMobile" class="menu-toggle"
@click="openMenu()"
:class="{ 'menu-toggle--opened': isOpenMenu }" style="opacity: 0">
<span v-if="isOpenMenu" class="menu-toggle__line"></span>
<svg v-if="!isOpenMenu" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M24 5.5H0V4H24V5.5ZM24 11.5H0V13H24V11.5ZM24 19H0V20.5H24V19Z" fill="black"/>
</svg>
</button>
</div>
<script>
BX.Vue.create({
el: '#menu',
data: {
isOpenMenu: false,
isOpenCourseMenu: false,
isMobile: false,
isSubOpen: false,
display: 'none'
},
computed: {
isMobile() {
const w = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
return w < 1024;
}
},
methods: {
openMenu() {
this.isOpenMenu = !this.isOpenMenu;
document.getElementsByTagName('body')[0].classList.toggle('scroll-locked');
window.addEventListener('keyup', this.closeMenu);
},
closeMenu(event) {
if (event.target.classList.contains('menu-block') || event.keyCode === 27) {
this.isOpenMenu = false;
document.getElementsByTagName('body')[0].classList.remove('scroll-locked');
window.removeEventListener('keyup', this.closeMenu);
}
},
openCourseMenu() {
this.isOpenCourseMenu = !this.isOpenCourseMenu;
if (this.isOpenCourseMenu) {
document.getElementsByTagName('body')[0].classList.add('scroll-locked');
window.addEventListener('keyup', this.closeCourseMenu);
} else {
document.getElementsByTagName('body')[0].classList.remove('scroll-locked');
window.removeEventListener('keyup', this.closeCourseMenu);
}
},
closeCourseMenu(event) {
if (event.target.classList.contains('menu-block') || event.keyCode === 27) {
this.isOpenCourseMenu = false;
document.getElementsByTagName('body')[0].classList.remove('scroll-locked');
window.removeEventListener('keyup', this.closeCourseMenu);
}
},
openSub() {
this.isSubOpen = !this.isSubOpen;
},
isMobileFn() {
const w = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
this.isMobile = (w < 1024);
}
},
created() {
window.addEventListener("resize", this.isMobileFn);
document.querySelector('.menu-block').style.display = '';
document.querySelector('.menu-toggle').style.opacity = '1';
document.querySelector('.menu-nav__link').style.display = '';
this.display = 'block';
this.isMobileFn();
},
destroyed() {
window.removeEventListener("resize", this.isMobileFn);
}
});
</script>
</header>
<main class="content">
<div class="page style-update">
<div class="page-wrap">
<style>
.article-inner .rr-widget__title {
padding-top: 0 !important;
}
.article-inner div[data-retailrocket-markup-block] {
margin-top: -32px;
display: none;
}
.article-inner {
font-family: 'Graphik';
}
</style>
<div class="under_header_banner" data-type="under_header"><!-- Yandex.RTB R-A-13443663-10 -->
<div id="yandex_rtb_R-A-13443663-10"></div>
<script>
window.yaContextCb.push(() => {
Ya.Context.AdvManager.render({
"blockId": "R-A-13443663-10",
"renderTo": "yandex_rtb_R-A-13443663-10"
})
})
</script>
</div> <div data-area="article" data-title="Pascal: что это за язык программирования и где его применяют / Skillbox Media" class=" noFullClass">
<div class="article-inner">
<section class="top-section-detail-page ">
<div class="container">
<div class="article-preview-info">
<div class="article-preview-info__tags ">
<div class="tag article-preview-info__tag">
<a href="/media/code/"
class="tag-item programming">
Код </a>
</div>
</div>
<a class="info-hashtag article-preview-info__hashtag" href="/media/topic/articles/">
#статьи </a>
<ul class="info article-preview__info-box">
<li class="info-item"> <time class="info-text" datatime="#">11 окт 2024</time></li>
<li class="info-item hidden">
<span class="info-icon"><img src="/local/templates/media/images/icons/like.svg" alt=""></span>
<span class="info__text js-article-like-value">0</span>
</li>
</ul>
</div>
<div class="row">
<div class="top-section-detail-page__title-block col-xl-9 col-lg-10">
<div class="article-preview">
<h1 class="article-preview__title">Pascal — что это за язык, чем он хорош и почему его до сих пор преподают в школах</h1>
<p class="article-preview__description">Изучаем язык предков и пишем первый проект — консольную игру.</p>
</div>
</div>
</div>
</div>
</section>
<section data-article-text
data-articleId="220879"
data-courseId=""
>
<div class="container">
<noindex>
<div class="share" data-nosnippet>
<button class="share__handler-btn ">
<span class="share__handler-icon">
<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 4.99902L6 0V2.99805C2.688 2.99805 0 5.68505 0 8.99805V11.498H0.0980225C0.765022 8.91205 3.107 6.99805 5.901 6.99805H6.00098V9.99805L11 4.99902Z" fill="currentColor"/>
</svg>
</span>
<span class="share__handler-text">Поделиться</span>
</button>
<div class="share__list">
<a href="#" class="share__item" data-code="vk">
<span class="share__item-icon share__item-icon--vk">
<svg width="9" height="5" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.04776 4.98054H4.53996C4.62377 4.97136 4.70279 4.9361 4.76621 4.87951C4.81226 4.81209 4.83594 4.73139 4.83369 4.64925C4.83369 4.64925 4.82574 3.94629 5.1314 3.84125C5.43701 3.73621 5.826 4.51998 6.23879 4.82297C6.39281 4.95308 6.59128 5.01558 6.79053 4.99669L7.89399 4.98054C7.89399 4.98054 8.47355 4.94415 8.19965 4.46339C7.98372 4.08315 7.70589 3.743 7.37799 3.45744C6.68338 2.77872 6.77865 2.8878 7.61219 1.71216C8.12024 0.997077 8.32269 0.556717 8.25918 0.370875C8.14651 0.254767 7.98299 0.205914 7.82655 0.241594L6.58018 0.249674C6.52565 0.241067 6.46984 0.251007 6.42141 0.277954C6.37298 0.314507 6.33466 0.363228 6.31025 0.419356C6.18259 0.772814 6.0287 1.11586 5.8498 1.44552C5.29807 2.43936 5.07579 2.49188 4.98451 2.43128C4.77416 2.28584 4.82574 1.85356 4.82574 1.54248C4.82574 0.580957 4.96468 0.176954 4.55979 0.0719133C4.36879 0.0254376 4.17259 0.00505841 3.97631 0.0113129C3.62834 -0.0214164 3.27745 0.017045 2.94429 0.124433C2.8014 0.197154 2.69423 0.358753 2.76171 0.370875C2.90334 0.385518 3.03406 0.454932 3.12688 0.564795C3.21268 0.750336 3.25481 0.953675 3.24993 1.15868C3.24993 1.15868 3.32535 2.29392 3.07925 2.43532C2.91254 2.53228 2.68232 2.33432 2.18616 1.4334C2.01958 1.11848 1.87243 0.793298 1.74557 0.459754C1.72231 0.404013 1.68704 0.354309 1.64236 0.314316C1.58589 0.272672 1.52066 0.245006 1.45184 0.233514L0.268986 0.241594C0.181167 0.241154 0.0958013 0.271066 0.0268587 0.326434C-0.00595087 0.396174 -0.00882613 0.476652 0.0189202 0.548633C0.0189202 0.548633 0.947737 2.83932 1.99563 3.99477C2.51 4.60651 3.2568 4.96526 4.04776 4.98054Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Vkontakte</span>
</a>
<a href="#" class="share__item" data-code="tw">
<span class="share__item-icon share__item-icon--tw">
<svg width="9" height="7" viewBox="0 0 9 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.52788 0.00144284V0H5.9158L6.05754 0.027414C6.15204 0.0452114 6.23783 0.068535 6.31491 0.0973918C6.39201 0.126249 6.46661 0.159917 6.53872 0.198391C6.61083 0.236864 6.67623 0.276066 6.73492 0.315982C6.79311 0.355422 6.84533 0.397265 6.89158 0.441509C6.93733 0.486237 7.0087 0.49778 7.10568 0.476138C7.20266 0.454495 7.3071 0.424433 7.419 0.38596C7.5309 0.347487 7.64156 0.304201 7.75097 0.256104C7.86039 0.208007 7.92703 0.177469 7.95091 0.164484C7.97428 0.151022 7.98671 0.143808 7.98821 0.142841L7.98969 0.140677L7.99715 0.13707L8.00461 0.133463L8.01207 0.129856L8.01953 0.126249L8.02102 0.124084L8.02326 0.122642L8.02551 0.121199L8.02699 0.119034L8.03445 0.11687L8.04191 0.115427L8.04043 0.126249L8.03818 0.13707L8.03445 0.147891L8.03072 0.158713L8.02699 0.165927L8.02326 0.173141L8.01953 0.183962C8.01705 0.191176 8.01456 0.200793 8.01207 0.212819C8.00959 0.224845 7.98596 0.272935 7.9412 0.357103C7.89644 0.441271 7.84049 0.526637 7.77335 0.613208C7.70621 0.699778 7.64604 0.765182 7.59283 0.809434C7.53911 0.854162 7.50355 0.885421 7.48614 0.903219C7.46874 0.921492 7.4476 0.938323 7.42273 0.953718L7.38543 0.977525L7.37797 0.981132L7.37051 0.984739L7.36902 0.986903L7.36678 0.988346L7.36454 0.989789L7.36305 0.991953L7.35559 0.99556L7.34813 0.999168L7.34664 1.00133L7.3444 1.00277L7.34216 1.00422L7.34067 1.00638L7.33918 1.00855L7.33694 1.00999L7.3347 1.01143L7.33321 1.0136H7.37051L7.57939 0.970311C7.71865 0.941454 7.85168 0.906588 7.9785 0.865705L8.17992 0.800777L8.2023 0.793563L8.21349 0.789956L8.22095 0.786348L8.22841 0.782741L8.23587 0.779134L8.24333 0.775527L8.25825 0.773363L8.27317 0.77192V0.786348L8.26944 0.787791L8.26571 0.789956L8.26423 0.79212L8.26198 0.793563L8.25974 0.795006L8.25825 0.79717L8.25677 0.799334L8.25452 0.800777L8.25228 0.80222L8.25079 0.804384L8.24931 0.806548L8.24706 0.807991L8.24333 0.815205L8.2396 0.82242L8.23736 0.823862C8.23637 0.825305 8.20479 0.866181 8.14262 0.946504C8.08046 1.0273 8.04689 1.06818 8.04191 1.06915C8.03694 1.07059 8.02997 1.0778 8.02102 1.09079C8.01257 1.10425 7.95985 1.15788 7.86287 1.25166C7.76589 1.34545 7.67091 1.42889 7.57791 1.502C7.48441 1.57558 7.43716 1.666 7.43616 1.77325C7.43467 1.88002 7.42895 2.00074 7.419 2.13541C7.40905 2.27007 7.3904 2.41555 7.36305 2.57186C7.3357 2.72817 7.29342 2.90492 7.23623 3.10211C7.17904 3.29929 7.10941 3.49168 7.02735 3.67925C6.94529 3.86681 6.8595 4.03514 6.76998 4.18424C6.68046 4.33334 6.5984 4.45958 6.5238 4.56299C6.4492 4.66639 6.37336 4.76378 6.29626 4.85516C6.21918 4.94654 6.12171 5.04947 6.00384 5.16393C5.88547 5.27791 5.82082 5.34044 5.80988 5.3515C5.79844 5.36208 5.74971 5.40152 5.66365 5.46981C5.57812 5.53858 5.48611 5.60736 5.38763 5.67614C5.28966 5.74443 5.19964 5.80143 5.11758 5.84711C5.03552 5.8928 4.93655 5.94498 4.82067 6.00366C4.70529 6.06282 4.58046 6.11765 4.44618 6.16815C4.3119 6.21865 4.17016 6.26554 4.02096 6.30882C3.87176 6.35211 3.72753 6.38578 3.58827 6.40982C3.44903 6.43387 3.29112 6.45431 3.11456 6.47114L2.84973 6.49639V6.5H2.36483V6.49639L2.30142 6.49279C2.25915 6.49038 2.22433 6.48797 2.19698 6.48557C2.16963 6.48317 2.06643 6.46994 1.88739 6.44589C1.70835 6.42185 1.56785 6.3978 1.4659 6.37375C1.36395 6.34971 1.21225 6.30401 1.01083 6.23668C0.809413 6.16935 0.637087 6.10129 0.493854 6.03252C0.351121 5.96422 0.261601 5.92094 0.225293 5.90266C0.189485 5.88487 0.149201 5.86275 0.10444 5.83629L0.0373001 5.79661L0.0358156 5.79445L0.0335701 5.79301L0.0313321 5.79156L0.0298401 5.7894L0.0223801 5.78579L0.0149201 5.78219L0.0134355 5.78002L0.01119 5.77858L0.00895204 5.77714L0.00746003 5.77497L0.00597548 5.77281L0.00373001 5.77137H0V5.75694L0.00746003 5.75838L0.0149201 5.76054L0.0484902 5.76415C0.0708703 5.76655 0.131796 5.77016 0.231261 5.77497C0.330733 5.77978 0.436412 5.77978 0.548312 5.77497C0.660213 5.77016 0.774605 5.75934 0.891474 5.74251C1.00835 5.72568 1.14636 5.69682 1.30551 5.65594C1.46466 5.61505 1.61087 5.56648 1.74416 5.51021C1.87695 5.45346 1.97144 5.41114 2.02764 5.38324C2.08334 5.35583 2.16838 5.30484 2.28277 5.2303L2.45435 5.11848L2.45584 5.11632L2.45808 5.11487L2.46033 5.11343L2.46181 5.11127L2.4633 5.1091L2.46554 5.10766L2.46779 5.10622L2.46927 5.10405L2.47673 5.10189L2.48419 5.10044L2.48568 5.09323L2.48792 5.08602L2.49017 5.08457L2.49165 5.08241L2.43197 5.0788C2.39219 5.0764 2.35364 5.07399 2.31634 5.07159C2.27904 5.06918 2.2206 5.05836 2.14103 5.03912C2.06146 5.01988 1.97567 4.99103 1.88366 4.95255C1.79165 4.91408 1.70213 4.86838 1.6151 4.81548C1.52807 4.76258 1.46515 4.71857 1.42636 4.68346C1.38807 4.64883 1.33833 4.59978 1.27716 4.53629C1.21648 4.47233 1.16376 4.40668 1.119 4.33934C1.07424 4.27202 1.03148 4.19433 0.990699 4.10633L0.928774 3.97503L0.925044 3.96421L0.921314 3.95339L0.919076 3.94617L0.917584 3.93896L0.928774 3.9404L0.939964 3.94256L1.02202 3.95339C1.07674 3.9606 1.16253 3.963 1.27939 3.9606C1.39627 3.9582 1.47709 3.95339 1.52185 3.94617C1.56661 3.93896 1.59396 3.93414 1.60391 3.93174L1.61883 3.92814L1.63748 3.92453L1.65613 3.92092L1.65762 3.91876L1.65986 3.91731L1.6621 3.91587L1.66359 3.91371L1.64867 3.9101L1.63375 3.90649L1.61883 3.90289L1.60391 3.89928L1.58899 3.89567C1.57904 3.89327 1.56164 3.88846 1.53677 3.88124C1.5119 3.87403 1.44476 3.84757 1.33535 3.80189C1.22594 3.7562 1.1389 3.71171 1.07424 3.66842C1.00943 3.62501 0.947626 3.57754 0.889235 3.5263C0.831047 3.47436 0.767145 3.40751 0.697513 3.32575C0.627888 3.24399 0.565724 3.149 0.511012 3.04079C0.456308 2.93257 0.415277 2.82917 0.387922 2.73058C0.360676 2.63256 0.3427 2.53235 0.334217 2.43119L0.320781 2.27969L0.328241 2.28113L0.335701 2.2833L0.343161 2.2869L0.350621 2.29051L0.358081 2.29412L0.365541 2.29772L0.481172 2.34822C0.558264 2.38189 0.653998 2.41075 0.768383 2.43479C0.882775 2.45884 0.951154 2.47207 0.973534 2.47447L1.0071 2.47808H1.07424L1.07276 2.47592L1.07051 2.47447L1.06828 2.47303L1.06678 2.47087L1.0653 2.4687L1.06305 2.46726L1.06082 2.46582L1.05932 2.46365L1.05186 2.46004L1.0444 2.45644L1.04292 2.45427L1.04067 2.45283L1.03844 2.45139L1.03694 2.44922L1.02948 2.44562L1.02202 2.44201L1.02054 2.43984C1.01905 2.43888 0.99766 2.42349 0.956376 2.39367C0.915592 2.36337 0.872823 2.32418 0.828063 2.27608C0.783303 2.22798 0.738543 2.17749 0.693783 2.12458C0.64894 2.07156 0.609 2.01483 0.574422 1.95505C0.539614 1.89493 0.502806 1.81846 0.464014 1.72564C0.425721 1.6333 0.396627 1.54023 0.376731 1.44645C0.356843 1.35266 0.345653 1.26008 0.343161 1.1687C0.340677 1.07732 0.343161 0.999168 0.350621 0.93424C0.358081 0.869312 0.373001 0.795965 0.395382 0.714206C0.417762 0.632448 0.450093 0.545877 0.492362 0.454495L0.555772 0.317425L0.559502 0.306604L0.563232 0.295782L0.565478 0.29434L0.566962 0.292175L0.568454 0.290011L0.570692 0.288568L0.572938 0.290011L0.574422 0.292175L0.575914 0.29434L0.578152 0.295782L0.580398 0.297225L0.581882 0.29939L0.583374 0.301554L0.585612 0.302997L0.589342 0.310211L0.593072 0.317425L0.595318 0.318868L0.596802 0.321032L0.697513 0.429245C0.764653 0.501387 0.844229 0.581948 0.936234 0.670921C1.02825 0.759894 1.07922 0.806065 1.08916 0.809434C1.09912 0.813279 1.11154 0.824338 1.12646 0.842619C1.14138 0.860417 1.19112 0.902981 1.27567 0.970311C1.36022 1.03764 1.47087 1.1158 1.60764 1.20477C1.74441 1.29375 1.89609 1.38152 2.0627 1.46809C2.22931 1.55466 2.40835 1.63281 2.59982 1.70255C2.7913 1.77229 2.92558 1.81798 3.00266 1.83962C3.07975 1.86127 3.21154 1.88892 3.39804 1.92259C3.58454 1.95625 3.72505 1.9779 3.81954 1.98751C3.91403 1.99713 3.97869 2.00266 4.0135 2.00411L4.06572 2.00555L4.06423 1.99473L4.06199 1.98391L4.04707 1.89373C4.03712 1.83361 4.03215 1.74944 4.03215 1.64123C4.03215 1.53302 4.04085 1.43322 4.05826 1.34184C4.07567 1.25046 4.10178 1.15788 4.13659 1.0641C4.1714 0.970311 4.20547 0.895038 4.23879 0.838291C4.27261 0.78202 4.31687 0.717814 4.37158 0.645671C4.42629 0.573529 4.49716 0.498985 4.58419 0.422031C4.67122 0.345077 4.77069 0.276542 4.88259 0.216426C4.99449 0.15631 5.09769 0.110615 5.19218 0.0793563C5.28668 0.0480971 5.36625 0.0276521 5.4309 0.0180355C5.49556 0.00841898 5.52788 0.00288568 5.52788 0.00144284Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Twitter</span>
</a>
<a href="#" class="share__item" data-code="tg">
<span class="share__item-icon share__item-icon--tg">
<svg width="10" height="7" viewBox="0 0 10 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.39589 3.04852C1.39589 3.04852 5.05491 1.51189 6.32392 0.9708C6.8104 0.754384 8.46012 0.0617918 8.46012 0.0617918C8.46012 0.0617918 9.22155 -0.241191 9.15809 0.494655C9.13692 0.797667 8.96773 1.85815 8.79854 3.00523C8.54472 4.62846 8.26976 6.40316 8.26976 6.40316C8.26976 6.40316 8.22746 6.90097 7.86791 6.98753C7.50836 7.0741 6.91613 6.68455 6.8104 6.59795C6.72577 6.53304 5.22411 5.5591 4.6742 5.08295C4.52614 4.9531 4.35695 4.6934 4.69533 4.39039C5.45676 3.67617 6.36622 2.78882 6.91613 2.2261C7.16995 1.96638 7.42374 1.36038 6.36622 2.09622C4.86456 3.15674 3.38403 4.15231 3.38403 4.15231C3.38403 4.15231 3.04561 4.36873 2.41111 4.17394C1.77657 3.97918 1.03631 3.71945 1.03631 3.71945C1.03631 3.71945 0.528726 3.39481 1.39589 3.04852Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Telegram</span>
</a>
<a href="#" class="share__item js-share-item-copy">
<span class="share__item-icon share__item-icon--copy">
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.19922 5.40327C4.37217 5.63449 4.59283 5.8258 4.84622 5.96425C5.09962 6.10269 5.37982 6.18501 5.66783 6.20564C5.95584 6.22627 6.24492 6.18471 6.51546 6.08379C6.78599 5.98287 7.03166 5.82495 7.2358 5.62074L8.44399 4.41255C8.81079 4.03277 9.01375 3.52412 9.00917 2.99615C9.00458 2.46818 8.79281 1.96313 8.41946 1.58978C8.04611 1.21644 7.54106 1.00466 7.01309 1.00008C6.48512 0.995488 5.97647 1.19845 5.59669 1.56525L4.904 2.25392" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.81002 4.59658C5.63707 4.36536 5.41641 4.17404 5.16302 4.0356C4.90962 3.89716 4.62942 3.81483 4.34141 3.79421C4.0534 3.77358 3.76432 3.81514 3.49379 3.91605C3.22325 4.01697 2.97758 4.17489 2.77344 4.3791L1.56525 5.58729C1.19845 5.96707 0.995488 6.47572 1.00008 7.0037C1.00466 7.53167 1.21644 8.03672 1.58978 8.41006C1.96313 8.78341 2.46818 8.99518 2.99615 8.99977C3.52412 9.00436 4.03277 8.80139 4.41255 8.43459L5.10122 7.74592" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="share__item-text">Скопировать ссылку</span>
</a>
</div>
</div> <!-- //share -->
</noindex>
<div class="row">
<div class="col-xl-9 col-lg-8 col-poster">
<div class="article-poster">
<picture >
<img src="https://248006.selcdn.ru/main/iblock/089/089f12ae5ca5609fbde867bfc78b4873/8abe370c874121fdbb3dd441b56248bc.png" itemprop='image' class='hidden-xs' />
</picture> <picture >
<img src="https://248006.selcdn.ru/main/iblock/089/089f12ae5ca5609fbde867bfc78b4873/8abe370c874121fdbb3dd441b56248bc.png" itemprop='image' class='visible-xs' />
</picture> </div>
<noindex>
<p class="article-poster-text" data-nosnippet>
Иллюстрация: Оля Ежак для Skillbox Media </p>
</noindex>
</div>
<div class="col-xl-3 col-lg-4 col-author">
<div class="article-author">
<div class="article-author__image">
<a href="/media/authors/code-skillbox-media/">
<img src="https://248006.selcdn.ru/main/iblock/168/168916384f65586cc4e6b7cfbbb69613/0dd44147b96863097b5219fdd6fd0e08.png" alt="Редакция «Код» Skillbox Media">
</a>
</div>
<div class="article-author__info">
<div class="article-author__name">
Редакция «Код» Skillbox Media </div>
<div class="article-author__description">
Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках. </div>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row flex-row-rev">
<div class="col-xl-3 col-lg-4 col-author">
<div class="js-article-banner" data-article-banner-mobile data-type="side_mounted" data-article-banner-sticky-start>
<!--AdFox START-->
<!--yandex_skillbox.media-->
<!--Площадка: Skillbox / Сквозной для застройщика Легенда / Боковой баннер сквозной для застройщика Легенда-->
<!--Категория: <не задана>-->
<!--Тип баннера: Media banner-->
<div id="adfox_176131540100027244"></div>
<script>
window.yaContextCb.push(()=>{
Ya.adfoxCode.create({
ownerId: 11649869,
containerId: 'adfox_176131540100027244',
params: {
p1: 'dkugb',
p2: 'p'
}
})
})
</script> </div>
<div class="js-article-banner" data-article-banner-mobile data-type="vertical" data-article-banner-sticky-end></div>
</div>
<div class="col-xl-9 col-lg-8 col-poster">
<div class="container container--setka">
<div class="js-article-banner" data-type="top"></div>
<div class="article-detail-text__setka" data-detail-text>
<div class="stk-post stk-layout_12col_18068 stk-theme_26309" data-stk="{"images":[{"id":96528,"alt":"","caption":""},{"id":96523,"alt":"","caption":""},{"id":96520,"alt":"","caption":""},{"id":96522,"alt":"","caption":""},{"id":96518,"alt":"","caption":""},{"id":96521,"alt":"","caption":""},{"id":96524,"alt":"","caption":""},{"id":96519,"alt":"","caption":""},{"id":96526,"alt":"","caption":""},{"id":96527,"alt":"","caption":""},{"id":96525,"alt":"","caption":""}]}" data-ui-id="post" data-ce-tag="post" data-reset-type="class" data-layout-type="auto" data-editor-version="3.2.8-rc1"><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><p class="stk-reset" data-ce-tag="paragraph">Если вы не пропускали школьные уроки информатики, слово Pascal наверняка вызывает у вас лёгкий трепет. Пускай на этом языке давно уже не пишут серьёзный софт, зато он идеален для первых шагов в программировании.</p><p class="stk-reset" data-ce-tag="paragraph">В этой статье разберёмся, что такое Pascal, как он появился, из чего сделан, и за что его так любят преподаватели. А бонусом пробуем написать на Pascal первое приложение — консольную игру «Камень, ножницы, бумага».</p><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Содержание</strong></p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-1">Что такое Pascal</a></li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-2">Для чего он нужен</a> </li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-3">Какие существуют версии Pascal</a></li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-4">Почему Pascal используют в школах и вузах</a></li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-5">Разбираем синтаксис Pascal</a></li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="#stk-6">Пишем игру «Камень, ножницы, бумага»</a></li></ul></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-1"><strong class="stk-reset">Что такое Pascal</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Pascal</strong> — это <span class="stk-reset" data-stk-footnote-link="fnuKlrz">процедурный</span> язык программирования, названный в честь французского математика и физика Блеза Паскаля. Изначально язык создавался для обучения студентов <span class="stk-reset" data-stk-footnote-link="fnkdTGX">структурному программированию</span> — но оказался так хорош, что в конце XX века стал одним из самых популярных в мире.</p><p class="stk-reset" data-ce-tag="paragraph">Язык создал Никлаус Вирт, всемирно известный программист и информатик. Идея разработать Pascal ему пришла во время работы над Algol-60, другим популярным языком того времени. Вирт вместе с коллегами занимался улучшением Algol — пытался сделать его проще, лаконичнее и функциональнее. Так появился диалект Algol W, который впоследствии и лёг в основу Pascal. Подробнее о том, как создавался язык, читайте в нашей статье про Никлауса Вирта.</p><div class="stk-grid__layout_reverse stk-grid valign-middle" data-stk-css="stkn_J0x" data-ce-tag="grid"><div data-col-width="4" class="stk-grid-col stk-grid-col_last valign-middle" data-ce-tag="grid-col" data-stk-css="" data-stk-css-m=""><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/02511411102024_116fabfed9db662d1ca4922820b351a40369b79d.png" data-image-id="96521" data-image-name="rm1.png" class="stk-image stk-reset" width="372" height="200" loading="lazy"/></div></figure></div><div data-col-width="8" class="stk-grid-col valign-middle" data-ce-tag="grid-col"><p class="stk-reset stk-theme_26309__mb_05 stk-theme_26309__style_font_style-1629726727970" data-ce-tag="paragraph">Читайте также:</p><p class="stk-theme_26309__mb_15 stk-reset stk-theme_26309__style_font_style-1629786048064 stk-theme_26309__style_font_style-1629290372003 stk-theme_26309__color_26309_custom_color_1 article_incut" data-ce-tag="paragraph"><a href="https://skillbox.ru/media/code/niklaus-virt-chelovek-kotoryy-sozdal-pascal-i-ne-tolko-ego/" target="_blank" class="stk-reset">Никлаус Вирт: человек, который создал Pascal и не только его</a></p></div></div><p class="stk-reset" data-ce-tag="paragraph">Одной из целей разработки Pascal было обучение студентов программированию, поэтому из сложного синтаксиса Algol убрали всё лишнее, что помогло значительно снизить порог входа.</p><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Вот основные фишки языка:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Простой синтаксис.</strong> Из Алгола убрали неочевидные правила оформления кода, а конструкции операторов <em class="stk-reset"><u class="stk-reset">for</u></em>, <u class="stk-reset">if</u> и <u class="stk-reset">while</u> стали занимать меньше строк.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Строгая типизация.</strong> В Алголе была мощная система работы с типами данных, но новичку с ней было сложно разобраться. Поэтому для Pascal Вирт выбрал <a href="https://skillbox.ru/media/code/chto_takoe_tipizatsiya_v_programmirovanii/" target="_blank" class="stk-reset">строгую типизацию</a>, когда все переменные, функции и параметры надо объявлять с явным указанием типа.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Строгая структура управления.</strong> На данных, полученных в процессе выполнения кода, программы могли создавать новые функции. Из Pascal эту фичу убрали, чтобы упростить логику.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Множества.</strong> Вирт добавил в Pascal поддержку множеств — коллекций уникальных символов, которое можно объединять между собой и искать пересечения. Сейчас множества встречаются во многих языках программирования, но в 1970 году это был новаторский инструмент.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Ограниченная вложенность.</strong> В Algol можно было использовать глубоко вложенные друг в друга блоки кода. Это удобно для разработки больших и сложных проектов, но в скриптах для обучения фича практически бесполезная. Поэтому её тоже не включили в Pascal.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Структуры данных.</strong> В Pascal появилась возможность объединять разные типы данных в одну структуру. Для их обозначения Вирт ввёл ключевое слово <u class="stk-reset">record</u>. Позже эту концепцию адаптировали для C/C++.</li></ul><p class="stk-reset" data-ce-tag="paragraph">Всего за 20 лет Pascal стал одним из самых популярных алгоритмических языков программирования. Крупные технологические компании того времени начали выпускать собственные версии компиляторов и даже реализаций Pascal, добавляя в язык то, что не было предусмотрено в оригинальной версии. Так на свет появились Object Pascal, Turbo Pascal, Free Pascal, PascalABC.NET и Delphi.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-2"><strong class="stk-reset">Для чего нужен язык Pascal</strong></h2><p class="stk-reset" data-ce-tag="paragraph">Pascal задумывался Виртом как язык для обучения студентов азам структурного программирования — и до сих пор широко используется в этом качестве. Язык преподают в школах и вузах по всему миру, на нём же пишутся примеры кода и задачи для госэкзаменов. Например, в России на ОГЭ школьникам предлагают ответить, что делает код программы, написанный на Pascal.</p><p class="stk-reset" data-ce-tag="paragraph">Сейчас Pascal не используют для разработки сервисов и приложений, которыми каждый день пользуются миллионы человек. Инженеры отдают предпочтение более быстрым и универсальным языкам программирования, например <a href="https://skillbox.ru/media/code/chto_takoe_java_obyasnyaem_dlya_novichkov/" target="_blank" class="stk-reset">Java</a>, <a href="https://skillbox.ru/media/code/dlya_chego_nuzhen_python/" target="_blank" class="stk-reset">Python</a> или <a href="https://skillbox.ru/media/code/chto-takoe-javascript-i-zachem-on-nuzhen/" target="_blank" class="stk-reset">JavaScript</a>.</p><p class="stk-reset" data-ce-tag="paragraph">Однако в прошлом Pascal выбирали и крупные компании. Например, на нём написали код операционной системы для компьютера Apple Lisa. Для этого в 1980-е инженеры Apple разработали Object Pascal — объектно-ориентированную версию языка программирования, которую использовали практически во всех своих проектах до середины 1990-х годов.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/02511811102024_accf102caaa970ce65d217b9ae9a8e9a57caa67c.jpg" data-image-id="96525" data-image-name="1.jpg" width="1540" height="1155" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description">Персональный компьютер Apple Lisa<br><em class="stk-reset">Фото: <a class="stk-reset" href="https://commons.wikimedia.org/wiki/File:Apple_Lisa.jpg" target="_blank">Maximilian Schönherr</a> / Wikimedia Commons</em></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Если вы считаете себя продвинутым пользователем Windows, то наверняка хотя бы раз пользовались файловым менеджером Total Commander. Многие его компоненты до сих пор написаны на Pascal.</p><div class="stk-grid__layout_reverse stk-grid valign-middle" data-stk-css="stk-Dnob" data-ce-tag="grid"><div data-col-width="4" class="stk-grid-col stk-grid-col_last valign-middle" data-ce-tag="grid-col" data-stk-css="" data-stk-css-m=""><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/02511411102024_b538e0773f77588dfed60724f7eda5650d63d81f.png" data-image-id="96522" data-image-name="rm3 .png" class="stk-image stk-reset" width="372" height="200" loading="lazy"/></div></figure></div><div data-col-width="8" class="stk-grid-col valign-middle" data-ce-tag="grid-col"><p class="stk-reset stk-theme_26309__mb_05 stk-theme_26309__style_font_style-1629726727970" data-ce-tag="paragraph">Читайте также:</p><p class="stk-theme_26309__mb_15 stk-reset stk-theme_26309__style_font_style-1629786048064 stk-theme_26309__style_font_style-1629290372003 stk-theme_26309__color_26309_custom_color_1 article_incut" data-ce-tag="paragraph"><a href="https://skillbox.ru/media/code/windows-vs-macos-za-chto-razrabotchiki-rugayut-i-khvalyat-populyarnye-operatsionnye-sistemy/" target="_blank" class="stk-reset">Windows vs macOS: за что разработчики ругают и хвалят популярные операционные системы</a></p></div></div><p class="stk-reset" data-ce-tag="paragraph">Pascal для основы системы вёрстки TeX выбрал информатик Дональд Кнут. Одна из реализаций этой системы, LaTeX, до сих пор активно используется. Например, для представления математических формул в статьях на «Википедии» или для вёрстки текстов научных работ.</p><p class="stk-reset" data-ce-tag="paragraph">Ещё больше софта написано на языке программирования Delphi, который основан на базе объектно-ориентированной версии языка, — Object Pascal. Например, его использовали для Skype, ранних версий игрового движка Unreal Engine, архиватора WinRAR, цифровой музыкальной станции FL Studio и некоторых модулей macOS.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-3"><strong class="stk-reset">Реализации Pascal</strong></h2><p class="stk-reset stk-theme_26309__mb_15" data-ce-tag="paragraph">Детище Вирта понравилось не только студентам, но и сообществу. Поэтому компании начали создавать собственные реализации Pascal, добавляя в него необходимые функции. Посмотрим на популярные диалекты и языки программирования, разработанные на базе Pascal.</p><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Object Pascal</strong></h3><p class="stk-reset" data-ce-tag="paragraph">В 1986 году группа инженеров под руководством <span class="stk-reset" data-stk-footnote-link="fnU1sri">Ларри Теслера</span> разработала для Apple объектно-ориентированную версию языка Pascal — Object Pascal. В языке программирования появились классы, объекты и наследование, а разработчикам открылись новые возможности. Например, стало возможно переиспользовать код, чтобы не приходилось каждый раз переписывать фичи.</p><p class="stk-reset" data-ce-tag="paragraph">Благодаря этому язык стал пригодным для использования в больших проектах. Позже его ещё много раз дорабатывали разные компании. Например, инженеры Borland добавили в него динамическую типизацию — это когда одна и та же переменная может иметь разные типы в разных участках программы.</p><div class="stk-grid__layout_reverse stk-grid valign-middle stk-theme_26309__mb_15" data-stk-css="stkn_xyf" data-ce-tag="grid"><div data-col-width="4" class="stk-grid-col stk-grid-col_last valign-middle" data-ce-tag="grid-col" data-stk-css="" data-stk-css-m=""><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/02511311102024_db60bdbf69d4db715e427a79d6416cbaedf9ddcb.png" data-image-id="96520" data-image-name="rm4.png" class="stk-image stk-reset" width="372" height="200" loading="lazy"/></div></figure></div><div data-col-width="8" class="stk-grid-col valign-middle" data-ce-tag="grid-col"><p class="stk-reset stk-theme_26309__mb_05 stk-theme_26309__style_font_style-1629726727970" data-ce-tag="paragraph">Читайте также:</p><p class="stk-theme_26309__mb_15 stk-reset stk-theme_26309__style_font_style-1629786048064 stk-theme_26309__style_font_style-1629290372003 stk-theme_26309__color_26309_custom_color_1 article_incut" data-ce-tag="paragraph"><a href="https://skillbox.ru/media/code/oop_chast_1_chto_takoe_klassy_i_obekty/" target="_blank" class="stk-reset">Что такое объекты и классы: 1‑я часть гайда по ООП</a></p></div></div><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Turbo Pascal</strong></h3><p class="stk-reset" data-ce-tag="paragraph">Turbo Pascal — среда разработки и диалект языка Pascal, который использовался для работы в ней. Приставку Turbo он получил из-за высокой скорости компиляции кода. Обычно компиляторы проходили по коду несколько раз, создавая сначала промежуточные файлы, а потом связывая их. Turbo Pascal было достаточно всего один раз пройтись по коду проекта, чтобы сразу скомпилировать исполняемый файл. А ещё диалект создавали для систем с ограниченными ресурсами, поэтому компилятор не нагружал память и процессор компьютера.</p><div class="stk-grid__layout_reverse stk-grid valign-middle" data-stk-css="stknPZxP" data-ce-tag="grid"><div data-col-width="4" class="stk-grid-col stk-grid-col_last valign-middle" data-ce-tag="grid-col" data-stk-css="" data-stk-css-m=""><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/03010711102024_ca1cc7ba496084e76fbe608a00215205ece4bd84.png" data-image-id="96528" data-image-name="Что такое компилятор и как он работает.png" class="stk-image stk-reset" width="372" height="200" loading="lazy"/></div></figure></div><div data-col-width="8" class="stk-grid-col valign-middle" data-ce-tag="grid-col"><p class="stk-reset stk-theme_26309__mb_05 stk-theme_26309__style_font_style-1629726727970" data-ce-tag="paragraph">Читайте также:</p><p class="stk-theme_26309__mb_15 stk-reset stk-theme_26309__style_font_style-1629786048064 stk-theme_26309__style_font_style-1629290372003 stk-theme_26309__color_26309_custom_color_1 article_incut" data-ce-tag="paragraph"><a href="https://skillbox.ru/media/code/chto-takoe-kompilyator-i-kak-on-rabotaet/" target="_blank" class="stk-reset">Что такое компилятор и как он работает</a></p></div></div><p class="stk-reset stk-theme_26309__mb_15" data-ce-tag="paragraph">Разработкой реализации занимались инженеры компании Borland, а за основу они взяли UCSD Pascal, который использовался на компьютерах Apple II.</p><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Free Pascal</strong></h3><p class="stk-reset stk-theme_26309__mb_15" data-ce-tag="paragraph">В 1997 году появился Free Pascal — реализация с открытым исходным кодом, которая взяла в себя простоту классической версии Pascal и возможности ООП. Для сообщества открытость была важной фишкой языка, так как появилась возможность переносить Pascal на любые платформы и операционные системы. Сейчас реализация Free Pascal поддерживает более 30 платформ, включая Windows, Linux, macOS, Android, MS-DOS, FreeBSD, Game Boy Advance и Nintendo DS.</p><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Delphi</strong></h3><p class="stk-reset" data-ce-tag="paragraph">Delphi — язык программирования от компании Borland, который вырос из Object Pascal. Его создали для того, чтобы было удобнее разрабатывать полноценные программы для ПК — например, добавили библиотеку для разработки графических интерфейсов и инструменты для работы с базами данных.</p><p class="stk-reset stk-theme_26309__mb_15" data-ce-tag="paragraph">В отличие от Pascal Delphi умеет компилироваться в кросс-платформенные приложения — для Windows, macOS, Linux, Android и iOS. Также язык поддерживает куда больше библиотек — например, для работы с сетью и графикой.</p><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">PascalABC.NET</strong></h3><p class="stk-reset" data-ce-tag="paragraph">В 2007 году Южный федеральный университет (ЮФУ) в Ростове-на-Дону выпустил PascalABC.NET — собственную реализацию, которая вобрала в себя возможности Delphi, получила собственные модули и поддержку платформы .NET.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-4"><strong class="stk-reset">Почему Pascal до сих пор используют для обучения школьников</strong></h2><p class="stk-reset" data-ce-tag="paragraph">С релиза Pascal прошло больше 50 лет, и язык воспитал не одно поколение разработчиков. Несмотря на появление более современных языков программирования, Pascal продолжают использовать в школах и на младших курсах вузов. На это есть несколько причин:</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Простой синтаксис.</strong> Код на Pascal легко писать и читать, поэтому начинающие разработчики могут сфокусироваться на решении задачи, а не бороться со сложностями языка.</p><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Структурированность</strong>. Программы на Pascal состоят из блоков кода, поэтому школьники привыкают придерживаться строгой структуры. В следующем примере программа состоит из двух блоков кода: основной программы и процедуры <u class="stk-reset">PrintNumbers</u>.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">program</span> StructuredProgram; <span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Объявление программы с именем StructuredProgram }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">var</span>
i: integer; <span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Объявление переменной i типа integer }</span>
<span class="hljs-function" style="color: rgb(255, 255, 85);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">procedure</span> <span class="hljs-title" style="color: rgb(170, 170, 170);">PrintNumbers</span>;</span> <span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Объявление процедуры PrintNumbers }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">for</span> i := <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">to</span> <span class="hljs-number" style="color: rgb(255, 85, 255);">10</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">do</span> <span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Цикл от 1 до 10 }</span>
writeln(i); <span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Вывод значения i на экран }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
PrintNumbers; <span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Вызов процедуры PrintNumbers }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Безопасность.</strong> Строгая типизация Pascal исключает появление ошибок в процессе работы программы. Если типы переменных не будут соответствовать заданным значениям, компилятор заметит ошибку и не позволит разработчику «выстрелить себе в ногу».</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);">program TypeSafety<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
var
a: integer<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">b: </span>real<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin
</span> a := <span class="hljs-number" style="color: rgb(255, 85, 255);">10</span><span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">b </span>:= <span class="hljs-number" style="color: rgb(255, 85, 255);">5</span>.<span class="hljs-number" style="color: rgb(255, 85, 255);">5</span><span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
{ Следующая строка вызовет ошибку компиляции, так как типы переменных не совпадают }
{ a := <span class="hljs-keyword" style="color: rgb(255, 255, 85);">b; </span>}
end.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Лёгкий переход.</strong> В Pascal есть всё, что используется в современных языках программирования, поэтому разработчики могут без проблем перейти на Python, Java или C++. Для перехода надо будет ознакомиться только с особенностями нового языка, но при этом не придётся снова погружаться в базовые концепции.</p><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Вот, например, как выглядит простая программа для вывода чисел на экран, написанная на Pascal и Java. Сразу видно, что синтаксис языков различается — однако основные принципы остаются теми же: переменные, циклы, вывод на экран и сама модель построения программы.</p><div class="stk-theme_26309__mb_0 stk-grid" data-ce-tag="grid"><div data-col-width="6" class="stk-grid-col" data-ce-tag="grid-col"><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Pascal</strong></p></div><div data-col-width="6" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Java</strong></p></div></div><div class="stk-grid" data-ce-tag="grid"><div data-col-width="6" class="stk-grid-col" data-ce-tag="grid-col"><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Pascal }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">program</span> PascalExample;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">var</span>
i: integer;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">for</span> i := <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">to</span> <span class="hljs-number" style="color: rgb(255, 85, 255);">5</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">do</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Pascal: '</span>, i);
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure></div><div data-col-width="6" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-meta" style="color: rgb(85, 255, 255);"># Java</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">public</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">class</span> <span class="hljs-title" style="color: rgb(170, 170, 170);">JavaExample</span> {
<span class="hljs-function" style="color: rgb(255, 255, 85);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">public</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">static</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">void</span> <span class="hljs-title" style="color: rgb(170, 170, 170);">main</span>(<span class="hljs-params" style="color: rgb(136, 136, 255);">String[] args</span>) </span>{
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">for</span> (<span class="hljs-keyword" style="color: rgb(255, 255, 85);">int</span> i = <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>; i <= <span class="hljs-number" style="color: rgb(255, 85, 255);">5</span>; i++) {
System.<span class="hljs-keyword" style="color: rgb(255, 255, 85);">out</span>.println(<span class="hljs-string" style="color: rgb(255, 85, 255);">"Java: "</span> + i);
}
}
}</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure></div></div><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Традиции.</strong> В образовательных системах многих стран мира Pascal десятилетиями использовался для обучения программированию. За это время скопилось множество учебников и пособий, а также появились преподаватели с опытом в Pascal. Поэтому учебные заведения продолжают использовать накопившийся опыт и параллельно разрабатывают программы обучения на основе других языков программирования, например Python.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-5"><strong class="stk-reset">Синтаксис Pascal</strong></h2><p class="stk-reset stk-theme_26309__mb_15" data-ce-tag="paragraph">Теперь давайте разберём синтаксис Pascal более подробно. Чтобы экспериментировать с примерами из статьи, можно использовать онлайн-компиляторы, например <a href="https://www.onlinegdb.com/online_pascal_compiler" target="_blank" class="stk-reset">GDB</a> и <a href="https://www.jdoodle.com/execute-pascal-online" target="_blank" class="stk-reset">JDoodle</a>.</p><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Структура программы</strong></h3><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Код любой программы на Pascal должен соответствовать чёткой структуре. Если ей пренебречь, то код просто не запустится. Так в общем виде выглядит шаблон программы:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">program</span> ProgramName;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">const</span>
ConstantName = value;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">var</span>
VariableName: <span class="hljs-keyword" style="color: rgb(255, 255, 85);">type</span>;
<span class="hljs-function" style="color: rgb(255, 255, 85);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">procedure</span> <span class="hljs-title" style="color: rgb(170, 170, 170);">ProcedureName</span>;</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>;
<span class="hljs-function" style="color: rgb(255, 255, 85);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">function</span> <span class="hljs-title" style="color: rgb(170, 170, 170);">FunctionName</span>:</span> returnType;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Построчно разберём её:</p><ul class="stk-theme_26309__pad_hor_1 stk-theme_26309__mb_05 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">program MyFirstProgram</u> — заголовок программы, в котором указывается название. Этот блок необязательный и может совпадать с именем файла.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">const</u> — блок с объявлением постоянных значений (констант), которые не изменяются по ходу выполнения программы.</li></ul><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">const</span>
<span class="hljs-built_in" style="color: rgb(255, 85, 255);">Pi</span> = <span class="hljs-number" style="color: rgb(255, 85, 255);">3.14</span>;</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><ul class="stk-theme_26309__pad_hor_1 stk-theme_26309__mb_05 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">var</u> — блок с объявлением переменных. На этом этапе им не надо передавать значения, достаточно просто указать тип.</li></ul><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);">var
x, y: <span class="hljs-built_in" style="color: rgb(255, 85, 255);">integer</span>;
<span class="hljs-built_in" style="color: rgb(255, 85, 255);">count</span>: <span class="hljs-built_in" style="color: rgb(255, 85, 255);">integer</span>;
<span class="hljs-built_in" style="color: rgb(255, 85, 255);">name</span>: <span class="hljs-built_in" style="color: rgb(255, 85, 255);">string</span>;</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">procedure ProcedureName;</u> — блок объявления процедур. Важно, чтобы код самой процедуры находился между ключевыми словами <u class="stk-reset">begin</u> и <u class="stk-reset">end</u>.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">function FunctionName: returnType;</u> — блок объявления функций. Тут всё то же самое, что и с процедурами, только надо указать тип значения, которое возвращает функция.</li></ul><div class="stk-grid" data-ce-tag="grid" data-stk-css="stkWhR7M"><div data-col-width="1" class="stk-grid-col" data-ce-tag="grid-col" data-stk-css="" data-stk-css-m=""><p class="stk-element_no-text stk-reset" data-ce-tag="paragraph"><img alt="" class="stk-reset stk-theme_26309__symbol_custom_image_3098437 stk-icon" src="https://ceditor.setka.io/clients/Y5wcTIuOndOzJ1OsacHi3bS9nZFnZeBC/css/assets/26658/img/info_0_40IVGA.svg"></p></div><div data-col-width="11" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><p class="stk-theme_26309__style_small_text stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired10171822_255="1">Важно!</strong></p><p class="stk-reset" data-ce-tag="paragraph">Процедуры и функции в Pascal очень похожи друг на друга, но надо помнить, что функция должна обязательно вернуть значение в конце своей работы. В современных языках программирования нет различия между этими понятиями, поэтому если вы никогда не сталкивались с Pascal, то это может запутать.</p></div></div><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item">Основной код программы — код, который идёт в самом конце после объявления всего, что в нём будет использоваться. Также должен находиться строго между ключевыми словами <u class="stk-reset">begin</u> и <u class="stk-reset">end</u>. В конце программы надо поставить точку.</li></ul><p class="stk-reset stk-theme_26309__mb_15" data-ce-tag="paragraph">Из примеров выше можно заметить, что в качестве разделителя в конце строки надо ставить точку с запятой (<u class="stk-reset">;</u>). Это правило верно для всех случаев, кроме операторов <u class="stk-reset">else</u> и <u class="stk-reset">until</u>. Перед их объявлением точку с запятой ставить не нужно.</p><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Переменные и типы данных</strong></h3><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Pascal — язык со строгой типизацией. Это значит, что мы должны явно указывать тип данных для каждой переменной. Разработчики могут использовать следующие простые типы данных:</p><div class="stk-table-wrap"><table data-responsive-type="scroll" class="stk-table--zebra stk-theme_26309__style_small_text stk-reset stk-table" data-ce-tag="table"><colgroup><col class="stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkU52BW" data-stk-id="141"/><col class="stk-reset stk-reset stk-reset stk-reset" data-stk-css="stk99RAq" data-stk-id="142"/><col class="stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkQ5bxu" data-stk-id="143"/></colgroup><thead class="stk-reset"><tr class="stk-reset stk-table-row"><th class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="th"><strong class="stk-reset">Тип</strong></th><th class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="th"><strong class="stk-reset">Служебное слово</strong></th><th class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="th"><strong class="stk-reset">Пример</strong></th></tr></thead><tbody class="stk-reset"><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Тип">Целые числа</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Служебное слово">integer</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">345</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Тип">Числа с плавающей точкой</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Служебное слово">real</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">3,14</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Тип">Логический тип</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Служебное слово">boolean</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">true (истина) или false (ложь)</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Тип">Символы</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Служебное слово">char</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">'F'</td></tr></tbody></table></div><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Помимо простых типов, в Pascal используются структурные, которые объединяют несколько элементов в более сложную структуру:</p><ul class="stk-theme_26309__pad_hor_1 stk-theme_26309__mb_05 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Массив</strong> — это структура данных, которая хранит в себе несколько элементов одного типа. При объявлении надо обязательно указать имя, размер массива и используемый тип данных. В коде программы к элементам массива можно обращаться по индексу.</li></ul><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">var</span>
numbers: <span class="hljs-keyword" style="color: rgb(255, 255, 85);">array</span>[<span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>..<span class="hljs-number" style="color: rgb(255, 85, 255);">5</span>] <span class="hljs-keyword" style="color: rgb(255, 255, 85);">of</span> integer;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
numbers[<span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>] := <span class="hljs-number" style="color: rgb(255, 85, 255);">5</span>;
numbers[<span class="hljs-number" style="color: rgb(255, 85, 255);">2</span>] := <span class="hljs-number" style="color: rgb(255, 85, 255);">10</span>;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><ul class="stk-theme_26309__pad_hor_1 stk-theme_26309__mb_05 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><strong class="stk-reset">Множество</strong> — структурный тип данных, который хранит в себе коллекцию уникальных элементов одного и того же типа. С множествами можно производить операции, например объединение, пересечение и проверку принадлежности элемента к множеству.</li></ul><figure class="stk-reset stk-embed_rendered stk-theme_26309__mb_15" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);">var
numbers: <span class="hljs-keyword" style="color: rgb(255, 255, 85);">set</span> of <span class="hljs-comment" style="color: rgb(85, 255, 255);">1..10</span>;
vowels: <span class="hljs-keyword" style="color: rgb(255, 255, 85);">set</span> of <span class="hljs-comment" style="color: rgb(85, 255, 255);">char</span>;
begin
numbers := [<span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>, <span class="hljs-number" style="color: rgb(255, 85, 255);">2</span>, <span class="hljs-number" style="color: rgb(255, 85, 255);">3</span>, <span class="hljs-number" style="color: rgb(255, 85, 255);">4</span>, <span class="hljs-number" style="color: rgb(255, 85, 255);">5</span>];
vowels := [<span class="hljs-string" style="color: rgb(255, 85, 255);">'a'</span>, <span class="hljs-string" style="color: rgb(255, 85, 255);">'e'</span>, <span class="hljs-string" style="color: rgb(255, 85, 255);">'i'</span>, <span class="hljs-string" style="color: rgb(255, 85, 255);">'o'</span>, <span class="hljs-string" style="color: rgb(255, 85, 255);">'u'</span>];
end.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Операторы</strong></h3><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired10171822_255="1">Операторы</strong> — это небольшие команды, которые говорят компьютеру, что надо делать с переменными. Например, мы уже встречали оператор присвоения — <u class="stk-reset">:=</u>. Он сообщает, что значение справа нужно записать в переменную слева. Давайте посмотрим на другие операторы в Pascal.</p><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Чаще всего разработчики пользуются арифметическими операторами. Они выглядят и работают так же, как в математике, но есть и исключения:</p><div class="stk-table-wrap"><table data-responsive-type="scroll" class="stk-table--zebra stk-theme_26309__style_small_text stk-reset stk-table" data-ce-tag="table"><colgroup><col class="stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkD2huE" data-stk-id="177"/><col class="stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stk1Dg5q" data-stk-id="178"/><col class="stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkGktA9" data-stk-id="179"/></colgroup><thead class="stk-reset"><tr class="stk-reset stk-table-row"><th class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="th"><strong class="stk-reset">Оператор</strong></th><th class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="th"><strong class="stk-reset">Значение</strong></th><th class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="th"><strong class="stk-reset">Пример</strong></th></tr></thead><tbody class="stk-reset"><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор">+</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Значение">Сложение</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">a + b</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор">-</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Значение">Вычитание</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">a - b</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор">*</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Значение">Умножение</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">a * b</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор">/</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Значение">Деление</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">a / b</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор">div</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Значение">Целочисленное деление</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">a div b</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор">mod</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Значение">Остаток от деления</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">a mod b</td></tr></tbody></table></div><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">После идут операции сравнения. Они сравнивают значение слева со значением справа и возвращают <u class="stk-reset">true</u> (истина) или <u class="stk-reset">false</u> (ложь):</p><div class="stk-table-wrap"><table data-responsive-type="scroll" class="stk-table--zebra stk-theme_26309__style_small_text stk-reset stk-table" data-ce-tag="table"><colgroup><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stk-JxQN" data-stk-id="210"/><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stkfcYMR" data-stk-id="211"/><col class="stk-reset stk-reset stk-reset stk-reset stk-reset stk-reset" data-stk-css="stklSsmp" data-stk-id="212"/></colgroup><thead class="stk-reset"><tr class="stk-reset stk-table-row"><th class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="th"><strong class="stk-reset">Оператор</strong></th><th class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="th"><strong class="stk-reset">Значение</strong></th><th class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="th"><strong class="stk-reset">Пример</strong></th></tr></thead><tbody class="stk-reset"><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор">=</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Значение">Равно</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">a = b</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор"><></td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Значение">Не равно</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">a <> b</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор">></td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Значение">Больше</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">a > b</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор"><</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Значение">Меньше</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">a < b</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор">>=</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Значение">Больше или равно</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">a >= b</td></tr><tr class="stk-reset stk-table-row"><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Оператор"><=</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Значение">Меньше или равно</td><td class="stk-theme_26309__style_small_text stk-reset stk-table-cell" data-ce-tag="td" data-cell-header="Пример">a <= b</td></tr></tbody></table></div><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Логические операторы выполняют операции над логическими значениями:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">and</u> — логическое И;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">or</u> — логическое ИЛИ;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">not</u> — логическое НЕ.</li></ul><div class="stk-grid__layout_reverse stk-grid valign-middle" data-stk-css="stk6He0p" data-ce-tag="grid"><div data-col-width="4" class="stk-grid-col stk-grid-col_last valign-middle" data-ce-tag="grid-col" data-stk-css="" data-stk-css-m=""><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/02511511102024_32b3c193345357b98799ef493326c03d9b36174f.png" data-image-id="96523" data-image-name="rm5.png" class="stk-image stk-reset" width="372" height="200" loading="lazy"/></div></figure></div><div data-col-width="8" class="stk-grid-col valign-middle" data-ce-tag="grid-col"><p class="stk-reset stk-theme_26309__mb_05 stk-theme_26309__style_font_style-1629726727970" data-ce-tag="paragraph">Читайте также:</p><p class="stk-theme_26309__mb_15 stk-reset stk-theme_26309__style_font_style-1629786048064 stk-theme_26309__style_font_style-1629290372003 stk-theme_26309__color_26309_custom_color_1 article_incut" data-ce-tag="paragraph"><a href="https://skillbox.ru/media/code/osnovnye-logicheskie-bitovye-operatsii-chto-eto-i-kak-oni-rabotayut/" target="_blank" class="stk-reset">Основные логические (битовые) операции: что это и как они работают</a></p></div></div><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Также свои операторы есть у множеств. Они нужны для удобной работы со структурой данных, чтобы разработчику не надо было реализовывать всё с нуля:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">+</u> — объединение множеств;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">*</u> — пересечение множеств;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">-</u> — разность множеств;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><em class="stk-reset"><u class="stk-reset">in</u></em> — проверка принадлежности элемента множеству.</li></ul><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Например, вот так можно объединить множество <u class="stk-reset">[1, 2, 3]</u> с множеством <u class="stk-reset">[3, 4, 5]</u> и получить множество <u class="stk-reset">[1, 2, 3, 4, 5]</u>:</p><figure class="stk-reset stk-embed_rendered stk-theme_26309__mb_15" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);">var
<span class="hljs-built_in" style="color: rgb(255, 85, 255);">set</span>1, <span class="hljs-built_in" style="color: rgb(255, 85, 255);">set</span>2, <span class="hljs-built_in" style="color: rgb(255, 85, 255);">set</span>3: <span class="hljs-built_in" style="color: rgb(255, 85, 255);">set</span> of 1..10;
begin
<span class="hljs-built_in" style="color: rgb(255, 85, 255);">set</span>1 := [1, 2, 3];
<span class="hljs-built_in" style="color: rgb(255, 85, 255);">set</span>2 := [3, 4, 5];
<span class="hljs-built_in" style="color: rgb(255, 85, 255);">set</span>3 := <span class="hljs-built_in" style="color: rgb(255, 85, 255);">set</span>1 + <span class="hljs-built_in" style="color: rgb(255, 85, 255);">set</span>2;
end.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Условные операторы</strong></h3><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">С помощью условных операторов можно выполнять определённые действия только в том случае, если выполняются поставленные условия. Чаще всего используется конструкция<u class="stk-reset"> if … then … else</u>. В общем виде он выглядит так:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">if</span> условие <span class="hljs-keyword" style="color: rgb(255, 255, 85);">then</span>
код
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">else</span>
код</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Ключевое слово <u class="stk-reset">else</u> нужно для описания операций, которые программа должна выполнить, если окажется, что поставленное условие ложно. Это необязательное ключевое слово, поэтому от него можно отказаться, если оно не нужно в программе.</p><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Напишем код, который проверяет, чтобы содержимое переменной <u class="stk-reset" data-gtm-vis-has-fired10171822_255="1">x</u> было больше 3. Если условие соблюдается, то в консоли пользователь увидит сообщение <u class="stk-reset" data-gtm-vis-has-fired10171822_255="1">x > 3</u>, иначе появится сообщение <u class="stk-reset" data-gtm-vis-has-fired10171822_255="1">x <= 3</u>. Используем функцию <u class="stk-reset" data-gtm-vis-has-fired10171822_255="1">writeln()</u> для вывода текста в консоль:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">var</span>
x: integer;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
x := <span class="hljs-number" style="color: rgb(255, 85, 255);">2</span>;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">if</span> x > <span class="hljs-number" style="color: rgb(255, 85, 255);">3</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">then</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'x > 3'</span>)
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">else</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'x <= 3'</span>);
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Если нужно выбрать одно действие из нескольких заготовленных, то лучше воспользоваться оператором <u class="stk-reset">case … of</u>. В общем виде он выглядит так:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">case</span> выражение <span class="hljs-keyword" style="color: rgb(255, 255, 85);">of</span>
значение<span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>: оператор<span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>;
значение<span class="hljs-number" style="color: rgb(255, 85, 255);">2</span>: оператор<span class="hljs-number" style="color: rgb(255, 85, 255);">2</span>;
...
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">else</span> оператор<span class="hljs-number" style="color: rgb(255, 85, 255);">3</span>;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>;</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">В коде выше:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item">Выражение — переменная или выражение, результат которого Pascal будет проверять на соответствие значениям.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">Значения — возможные значения выражения.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">Оператор — действие, которое надо выполнить, если выражение равно соответствующему значению.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">else</u> обрабатывает случай, если ни одно из значений не подошло.</li></ul><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Напишем программу, которая будет выводить название дня недели, исходя из его порядкового номера:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">var</span>
day: integer;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
day := <span class="hljs-number" style="color: rgb(255, 85, 255);">4</span>;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">case</span> day <span class="hljs-keyword" style="color: rgb(255, 255, 85);">of</span>
<span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>: writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Понедельник'</span>);
<span class="hljs-number" style="color: rgb(255, 85, 255);">2</span>: writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Вторник'</span>);
<span class="hljs-number" style="color: rgb(255, 85, 255);">3</span>: writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Среда'</span>);
<span class="hljs-number" style="color: rgb(255, 85, 255);">4</span>: writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Четверг'</span>);
<span class="hljs-number" style="color: rgb(255, 85, 255);">5</span>: writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Пятница'</span>);
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">else</span> writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Сегодня выходной'</span>);
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset stk-theme_26309__mb_15" data-ce-tag="paragraph">Переменная <u class="stk-reset">day</u> равна 4, поэтому код выше выведет в консоль <u class="stk-reset">Четверг</u>.</p><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Циклы</strong></h3><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">С помощью циклов можно многократно выполнять блок кода, пока истинно указанное условие. В Pascal есть три вида циклов:</p><ul class="stk-theme_26309__pad_hor_1 stk-theme_26309__mb_05 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset" data-gtm-vis-has-fired10171822_255="1">for … to … do</u> используется, когда заранее известно количество итераций, а значение управляющей переменной увеличивается или уменьшается на каждом шаге.</li></ul><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">var</span>
i: integer;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">for</span> i := <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">to</span> <span class="hljs-number" style="color: rgb(255, 85, 255);">5</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">do</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Итерация: '</span>, i);
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><ul class="stk-theme_26309__pad_hor_1 stk-theme_26309__mb_05 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset" data-gtm-vis-has-fired10171822_255="1">while … do</u> выполняется до тех пор, пока условие цикла истинно. Количество итераций заранее не известно.</li></ul><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);">var
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">x</span>: integer<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
begin
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">x</span> := <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span><span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">while</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">x</span> <= <span class="hljs-number" style="color: rgb(255, 85, 255);">5</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">do</span>
begin
writeln('Итерация: ', <span class="hljs-keyword" style="color: rgb(255, 255, 85);">x</span>)<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">x</span> := <span class="hljs-keyword" style="color: rgb(255, 255, 85);">x</span> + <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span><span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
end<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
end.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><ul class="stk-theme_26309__pad_hor_1 stk-theme_26309__mb_05 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset" data-gtm-vis-has-fired10171822_255="1">repeat … until</u> также выполняется до тех пор, пока истинно поставленное условие.</li></ul><figure class="stk-reset stk-embed_rendered stk-theme_26309__mb_15" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);">var
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">x</span>: integer<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
begin
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">x</span> := <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span><span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
repeat
writeln('Итерация: ', <span class="hljs-keyword" style="color: rgb(255, 255, 85);">x</span>)<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">x</span> := <span class="hljs-keyword" style="color: rgb(255, 255, 85);">x</span> + <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span><span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
until <span class="hljs-keyword" style="color: rgb(255, 255, 85);">x</span> > <span class="hljs-number" style="color: rgb(255, 85, 255);">5</span><span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
end.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Комментарии</strong></h3><p class="stk-reset" data-ce-tag="paragraph">Для комментирования кода в Pascal есть два оператора: <u class="stk-reset">{ … }</u> и <u class="stk-reset">(* … *)</u>. С их помощью можно выделить код и текст, который проигнорирует компилятор. Например, чтобы добавить пояснения для сложной функции или объяснить работу алгоритма программисту, который будет работать после вас. Операторы различаются только синтаксисом, поэтому можно использовать любой, но важно помнить, что нельзя начать комментарий одним оператором, а закончить другим: <br><u class="stk-reset">{ … *)</u>.</p><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Комментарии могут быть однострочными и многострочными:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);">begin
{ Это однострочный комментарий }
{
Это многострочный комментарий.
Компилятор проигнорирует текст в скобках.
}
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph" id="stk-6"><strong class="stk-reset">Привет, Pascal: пишем игру «Камень, ножницы, бумага»</strong></h2><p class="stk-reset stk-theme_26309__mb_15" data-ce-tag="paragraph">Мы уже достаточно знаем для того, чтобы запрограммировать настоящую игру, которая будет работать в терминале. Напишем код для «Камень, ножницы, бумага» — простой детской игры. Для этого ещё познакомимся с модулем <u class="stk-reset">crt</u>, который нужен для работы с консолью, и генератором случайных чисел.</p><h3 class="stk-theme_26309__style_medium_header stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Настраиваем окружение</strong></h3><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Для разработки на Pascal нужен компилятор, совместимый с вашей операционной системой. Рассмотрим установку всего необходимого на примере реализации PascalABC.NET для Windows:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item">Перейдите на <a class="stk-reset" href="https://pascalabc.net" target="_blank">официальный сайт</a> проекта PascalABC.NET и откройте раздел <u class="stk-reset">Скачать</u>.</li></ul><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/02512111102024_08fda0244b5397e030ee401fd2bea5b24f78a72b.jpg" data-image-id="96527" data-image-name="2.jpg" width="1540" height="866" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description"><em class="stk-reset">Скриншот: <a class="stk-reset" href="http://pascalabc.net" target="_blank">PascalABC.NET</a> / Skillbox Media</em></figcaption></figure><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item">Выберите необходимую сборку (с задачником или без него) и нажмите кнопку <u class="stk-reset">Скачать</u>.</li></ul><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/02512011102024_6896a8696b8038f4fc8989ab005e4fccc3b90047.jpg" data-image-id="96526" data-image-name="3.jpg" width="1540" height="866" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description"><em class="stk-reset">Скриншот: <a class="stk-reset" href="http://pascalabc.net" target="_blank">PascalABC.NET</a> / Skillbox Media</em></figcaption></figure><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item">В загрузках найдите файл <u class="stk-reset">PascalABCNETSetup.exe</u>, запустите его и выполните шаги установки.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">Найдите приложение PascalABC.NET в меню <u class="stk-reset">Пуск</u> и запустите его.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">В этой среде разработки можно писать код на Pascal и выполнять его.</li></ul><figure class="stk-reset stk-image-figure stk-theme_26309__mb_15" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/02511311102024_c7c2d6650fe8dd3125b1541cb39af56649bd56fa.jpg" data-image-id="96519" data-image-name="4.jpg" width="1540" height="1155" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description"><em class="stk-reset">Скриншот: <a class="stk-reset" href="http://pascalabc.net" target="_blank">PascalABC.NET</a> / Skillbox Media</em></figcaption></figure><h3 class="stk-theme_26309__mb_05 stk-theme_26309__style_medium_header stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Пишем код</strong></h3><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Сперва зададим название программы, импортируем модуль <u class="stk-reset">crt</u> и объявим переменные. Сторонние модули в Pascal импортируются с помощью ключевого слова <u class="stk-reset">uses</u>. В коде игры будем использовать всего три переменные:</p><ul class="stk-theme_26309__pad_hor_1 stk-theme_26309__mb_05 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">playerChoice</u>, <u class="stk-reset">computerChoice</u> — для хранения ходов пользователя и компьютера.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">playAgain</u> — для взаимодействия с меню.</li></ul><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-function" style="color: rgb(255, 255, 85);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">program</span></span> RockPaperScissors;
uses crt; { Импортируем модуль для работы с консолью }
{ Объявляем переменные}
var
playerChoice, computerChoice: <span class="hljs-keyword" style="color: rgb(255, 255, 85);">integer</span>;
playAgain: <span class="hljs-built_in" style="color: rgb(255, 85, 255);">char</span>;</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Теперь напишем процедуру, которая будет выводить в консоль меню выбора хода. Назовём её <u class="stk-reset" data-gtm-vis-has-fired10171822_255="1">ShowChoices</u> и с помощью нескольких вызовов функции <u class="stk-reset" data-gtm-vis-has-fired10171822_255="1">writeln()</u> покажем пользователю возможные ходы:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Процедура для вывода в консоль меню}</span>
<span class="hljs-function" style="color: rgb(255, 255, 85);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">procedure</span> <span class="hljs-title" style="color: rgb(170, 170, 170);">ShowChoices</span>;</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Выберите:'</span>);
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'1 - Камень'</span>);
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'2 - Ножницы'</span>);
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'3 - Бумага'</span>);
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>;</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Ещё нам нужна процедура, которая будет выбирать победителя, исходя из выбора пользователя и компьютера. Назовём её <u class="stk-reset">DetermineWinner</u> и в скобках обязательно укажем параметры, которые ей нужны для работы. Для правильного определения победителя помним, что ножницы разрезают бумагу, бумага обезвреживает камень, а камень ломает ножницы:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-function" style="color: rgb(255, 255, 85);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">procedure</span> <span class="hljs-title" style="color: rgb(170, 170, 170);">DetermineWinner</span><span class="hljs-params" style="color: rgb(136, 136, 255);">(player, computer: integer)</span>;</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Выводим ход пользователя и компьютера }</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Вы выбрали: '</span>, playerChoice);
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Компьютер выбрал: '</span>, computerChoice);
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Если выбор равен, то ничья }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">if</span> player = computer <span class="hljs-keyword" style="color: rgb(255, 255, 85);">then</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Ничья!'</span>)
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Определяем победителя и выводим сообщение в консоль }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">else</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">if</span> ((player = <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">and</span> (computer = <span class="hljs-number" style="color: rgb(255, 85, 255);">2</span>)) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">or</span>
((player = <span class="hljs-number" style="color: rgb(255, 85, 255);">2</span>) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">and</span> (computer = <span class="hljs-number" style="color: rgb(255, 85, 255);">3</span>)) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">or</span>
((player = <span class="hljs-number" style="color: rgb(255, 85, 255);">3</span>) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">and</span> (computer = <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>)) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">then</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Вы победили!'</span>)
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">else</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Компьютер победил!'</span>);
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>;</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Всё готово для того, чтобы приступить к разработке главного цикла игры. Он будет повторяться до тех пор, пока пользователь не закроет игру, введя в консоль символ <u class="stk-reset">n</u> или <u class="stk-reset">N</u>. Общая логика игры выглядит так:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item">Инициализируем генератор случайных чисел.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">Очищаем экран с помощью функции <u class="stk-reset">clrscr</u> из модуля <u class="stk-reset">crt</u>, который мы экспортировали ранее, и выводим меню с помощью процедуры <u class="stk-reset">ShowChoices</u>.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">Получаем ход пользователя и проверяем, чтобы он ввёл только значения, которые есть в меню (числа от 1 до 3). Если ввёл что-то другое, то просим сделать выбор ещё раз.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">Генерируем случайный ход компьютера с помощью функции <u class="stk-reset">random ()</u> и выбираем победителя с помощью процедуры <u class="stk-reset">DetermineWinner</u>.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">Спрашиваем пользователя, хочет ли он сыграть ещё раз.</li></ul><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Код главного цикла игры выглядит так:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);">{ Основной код игры }
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin
</span> { Инициализируем генератор случайных чисел }
randomize<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
repeat
{ Очищаем экран для нового раунда }
clrscr<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
{ Выводим меню }
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">ShowChoices;
</span>
{ Получаем ход пользователя }
write(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Ваш ход (1-3): '</span>)<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
readln(playerChoice)<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
{ Проверяем, чтобы ввод пользователя соответствовал условию }
if (playerChoice < <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">or </span>(playerChoice > <span class="hljs-number" style="color: rgb(255, 85, 255);">3</span>) then
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin
</span> writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Неверный выбор. Попробуйте снова.'</span>)<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
continue<span class="hljs-comment" style="color: rgb(85, 255, 255);">; { Возвращаемся в начало цикла }</span>
end<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
{ Генерируем случайный ход компьютера: <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span> — камень, <span class="hljs-number" style="color: rgb(255, 85, 255);">2</span> — ножницы, <span class="hljs-number" style="color: rgb(255, 85, 255);">3</span> — бумага}
computerChoice := <span class="hljs-built_in" style="color: rgb(255, 85, 255);">random</span>(<span class="hljs-number" style="color: rgb(255, 85, 255);">3</span>) + <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span><span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
{ Определяем победителя}
DetermineWinner(playerChoice, computerChoice)<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
{ Спрашиваем, хочет ли пользователь сыграть ещё раз}
writeln<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
write(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Хотите сыграть ещё раз? (y/n): '</span>)<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
readln(playAgain)<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
{ Цикл игры повторяется до тех пор, пока пользователь не введёт n или N }
until (playAgain = <span class="hljs-string" style="color: rgb(255, 85, 255);">'n'</span>) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">or </span>(playAgain = <span class="hljs-string" style="color: rgb(255, 85, 255);">'N'</span>)<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
{ Благодарим пользователя и завершаем игру }
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Спасибо за игру!'</span>)<span class="hljs-comment" style="color: rgb(85, 255, 255);">;</span>
end.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">А так игра работает в консоли:</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/02511611102024_0ed1686442ac630326a48ddcef43684fa02b904b.jpg" data-image-id="96524" data-image-name="5.jpg" width="1540" height="1155" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description"><em class="stk-reset">Интерфейс игры в консоли<br>Скриншот: <a class="stk-reset" href="http://pascalabc.net" target="_blank">PascalABC.NET</a> / Skillbox Media</em></figcaption></figure><details class="stk-content-spoiler stk-container stk-reset" data-ce-tag="container" data-container-name="Спойлер"><summary class="stk-container stk-reset" data-ce-tag="container" data-container-name="Переключатель спойлера"><p class="stk-reset" data-ce-tag="paragraph">Полностью код игры выглядит так:</p></summary><div class="stk-container" data-ce-tag="container" data-container-name="Контент спойлера"><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(170, 170, 170);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">program</span> RockPaperScissors;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">uses</span> crt; <span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Импортируем модуль для работы с консолью }</span>
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Объявляем переменные}</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">var</span>
playerChoice, computerChoice: integer;
playAgain: char;
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Процедура для вывода в консоль меню}</span>
<span class="hljs-function" style="color: rgb(255, 255, 85);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">procedure</span> <span class="hljs-title" style="color: rgb(170, 170, 170);">ShowChoices</span>;</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Выберите:'</span>);
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'1 - Камень'</span>);
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'2 - Ножницы'</span>);
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'3 - Бумага'</span>);
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>;
<span class="hljs-function" style="color: rgb(255, 255, 85);"><span class="hljs-keyword" style="color: rgb(255, 255, 85);">procedure</span> <span class="hljs-title" style="color: rgb(170, 170, 170);">DetermineWinner</span><span class="hljs-params" style="color: rgb(136, 136, 255);">(player, computer: integer)</span>;</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Выводим ход пользователя и компьютера }</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Вы выбрали: '</span>, playerChoice);
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Компьютер выбрал: '</span>, computerChoice);
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Если выбор равен, то ничья }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">if</span> player = computer <span class="hljs-keyword" style="color: rgb(255, 255, 85);">then</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Ничья!'</span>)
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Определяем победителя и выводим сообщение в консоль }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">else</span> <span class="hljs-keyword" style="color: rgb(255, 255, 85);">if</span> ((player = <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">and</span> (computer = <span class="hljs-number" style="color: rgb(255, 85, 255);">2</span>)) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">or</span>
((player = <span class="hljs-number" style="color: rgb(255, 85, 255);">2</span>) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">and</span> (computer = <span class="hljs-number" style="color: rgb(255, 85, 255);">3</span>)) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">or</span>
((player = <span class="hljs-number" style="color: rgb(255, 85, 255);">3</span>) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">and</span> (computer = <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>)) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">then</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Вы победили!'</span>)
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">else</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Компьютер победил!'</span>);
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>;
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Основной код игры }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Инициализируем генератор случайных чисел }</span>
randomize;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">repeat</span>
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Очищаем экран для нового раунда }</span>
clrscr;
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Выводим меню }</span>
ShowChoices;
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Получаем ход пользователя }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">write</span>(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Ваш ход (1-3): '</span>);
readln(playerChoice);
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Проверяем, чтобы ввод пользователя соответствовал условию }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">if</span> (playerChoice < <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">or</span> (playerChoice > <span class="hljs-number" style="color: rgb(255, 85, 255);">3</span>) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">then</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">begin</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Неверный выбор. Попробуйте снова.'</span>);
continue; <span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Возвращаемся в начало цикла }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>;
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Генерируем случайный ход компьютера: 1 — камень, 2 — ножницы, 3 — бумага}</span>
computerChoice := random(<span class="hljs-number" style="color: rgb(255, 85, 255);">3</span>) + <span class="hljs-number" style="color: rgb(255, 85, 255);">1</span>;
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Определяем победителя}</span>
DetermineWinner(playerChoice, computerChoice);
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Спрашиваем, хочет ли пользователь сыграть ещё раз}</span>
writeln;
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">write</span>(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Хотите сыграть ещё раз? (y/n): '</span>);
readln(playAgain);
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Цикл игры повторяется до тех пор, пока пользователь не введёт n или N }</span>
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">until</span> (playAgain = <span class="hljs-string" style="color: rgb(255, 85, 255);">'n'</span>) <span class="hljs-keyword" style="color: rgb(255, 255, 85);">or</span> (playAgain = <span class="hljs-string" style="color: rgb(255, 85, 255);">'N'</span>);
<span class="hljs-comment" style="color: rgb(85, 255, 255);">{ Благодарим пользователя и завершаем игру }</span>
writeln(<span class="hljs-string" style="color: rgb(255, 85, 255);">'Спасибо за игру!'</span>);
<span class="hljs-keyword" style="color: rgb(255, 255, 85);">end</span>.</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure></div></details></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph"><strong class="stk-reset">Что дальше</strong></h2><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">В этой статье мы изучили только основы языка, если хотите погрузиться глубже в Pascal, то вот список полезных материалов:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://pascalabc.net/stepikcourse" target="_blank" class="stk-reset">Курсы по PascalABC.NET на Stepik</a> — коллекция бесплатных курсов как для школьников, так и для взрослых. Есть отдельные курсы для подготовки к программированию на ЕГЭ.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://pascalabc.net/books" target="_blank" class="stk-reset">Книги по PascalABC.NET</a> — книги Александра Осипова и Валерия Рубанцева подойдут для школьников и студентов первых курсов, а двухтомник Михаила Абрамяна — официальное руководство от Южного федерального университета по работе со структурами данных.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://learnpascal.ru" target="_blank" class="stk-reset">LearnPascal</a> — сайт с уроками по Pascal и решением задач.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://rosettacode.org/wiki/Category:Pascal" target="_blank" class="stk-reset">Rosetta Code</a> — сборник решений задач, в том числе на Pascal.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://www.codewars.com" target="_blank" class="stk-reset">Codewars</a> — сервис для практики решения алгоритмических задач. В списке языков программирования можно выбрать Pascal.</li></ul></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><div class="stk-grid stk-grid__layout_columns stk-theme_26309__mb_15" data-stk-css="stkHEHs9" data-ce-tag="grid"><div data-col-width="1" class="stk-grid-col align-left valign-top stk-mobile-hidden" data-ce-tag="grid-col" data-stk-css="" data-stk-css-m=""><a class="sklbx-link sklbx-link--fb stk-container stk-container-link stk-reset" data-ce-tag="container" data-container-name="Telegram" href="https://t.me/skillbox_media_code" target="_blank"><svg class="sklbx-link__icon" width="25" height="20" xmlns="http://www.w3.org/2000/svg">
<path d="m9.417 15.181-.397 5.584c.568 0 .814-.244 1.109-.537l2.663-2.545 5.518 4.041c1.012.564 1.725.267 1.998-.931l3.622-16.972.001-.001c.321-1.496-.541-2.081-1.527-1.714l-21.29 8.151c-1.453.564-1.431 1.374-.247 1.741l5.443 1.693 12.643-7.911c.595-.394 1.136-.176.691.218z" fill-rule="evenodd"></path>
</svg></a></div><div data-col-width="11" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><p class="stk-reset stk-theme_26309__mb_05 stk-theme_26309__style_font_style-1629786048064" data-ce-tag="paragraph" data-stk-css="stkW-pGG">Больше интересного про код — в нашем <a class="stk-reset" href="https://t.me/skillbox_media_code" target="_blank">телеграм-канале</a>. Подписывайтесь!</p></div></div><div class="stk-grid" data-ce-tag="grid" data-stk-css="stklKodl"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col" data-stk-css="" data-stk-css-m=""><p class="stk-reset stk-theme_26309__style_small_text stk-theme_26309__mb_05" data-ce-tag="paragraph"><strong class="stk-reset">Читайте также:</strong></p><ul class="stk-theme_26309__style_small_text stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-theme_26309__style_small_text stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://skillbox.ru/media/code/zakodiruysya_kak_vybrat_pervyy_yazyk_programmirovaniya/" target="_blank" class="stk-reset">С какого языка начать изучение программирования</a></li><li class="stk-theme_26309__style_small_text stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://skillbox.ru/media/code/test-kakoy-yazyk-sozdadite-vy-java-ili-python/" target="_blank" class="stk-reset">Тест. Какой язык создадите вы — Java или Python?</a></li><li class="stk-theme_26309__style_small_text stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://skillbox.ru/media/code/kak-izuchit-python-samostoyatelno-i-besplatno/" target="_blank" class="stk-reset">Как изучить Python самостоятельно и бесплатно: алгоритм</a></li></ul></div></div></div></div><style data-stk-css="stklKodl" media="all" class="">
[data-stk-css="stklKodl"]:not(#stk):not(#stk):not(style) {
padding: 20px;
background-color: rgba(254, 245, 224, 1)
}
</style><style data-stk-css="stkHEHs9" class="" media="all">
[data-stk-css="stkHEHs9"]:not(#stk):not(#stk):not(style) {
border-radius: 16px;
padding: 20px;
border: 1px solid;
border-color: #E4E4E4;
background-color: rgba(241, 242, 246, 1)
}
</style><style data-stk-css="stkW-pGG" class="" media="all">
[data-stk-css="stkW-pGG"]:not(#stk):not(#stk):not(style) {
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
-o-hyphens: none;
hyphens: none
}
</style><style data-stk-css="stk6He0p" class="" media="all">
[data-stk-css="stk6He0p"]:not(#stk):not(#stk):not(style) {
border-radius: 16px;
padding: 40px;
border: 1px solid;
background-color: rgba(255, 255, 255, 1);
border-color: #E4E4E4;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
</style><style data-stk-css="stk-JxQN" class="" media="all">[data-stk-css="stk-JxQN"]:not(#stk):not(#stk):not(style){border: 1px solid grey; width: 20%}</style><style data-stk-css="stkfcYMR" class="" media="all">[data-stk-css="stkfcYMR"]:not(#stk):not(#stk):not(style){border: 1px solid grey; width: 20%}</style><style data-stk-css="stklSsmp" class="" media="all">[data-stk-css="stklSsmp"]:not(#stk):not(#stk):not(style){border: 1px solid grey; width: 20%}</style><style data-stk-css="stkD2huE" class="" media="all">[data-stk-css="stkD2huE"]:not(#stk):not(#stk):not(style){border: 1px solid grey; width: 20%}</style><style data-stk-css="stk1Dg5q" class="" media="all">[data-stk-css="stk1Dg5q"]:not(#stk):not(#stk):not(style){border: 1px solid grey; width: 20%}</style><style data-stk-css="stkGktA9" class="" media="all">[data-stk-css="stkGktA9"]:not(#stk):not(#stk):not(style){border: 1px solid grey; width: 20%}</style><style data-stk-css="stkWhR7M" media="all" class="">
[data-stk-css="stkWhR7M"]:not(#stk):not(#stk):not(style) {
border-left: 4px solid #f5a74f;
padding: 20px;
background-color: rgba(254, 245, 224, 1)
}
</style><style data-stk-css="stknPZxP" class="" media="all">
[data-stk-css="stknPZxP"]:not(#stk):not(#stk):not(style) {
border-radius: 16px;
padding: 40px;
border: 1px solid;
background-color: rgba(255, 255, 255, 1);
border-color: #E4E4E4;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
</style><style data-stk-css="stkn_xyf" class="" media="all">
[data-stk-css="stkn_xyf"]:not(#stk):not(#stk):not(style) {
border-radius: 16px;
padding: 40px;
border: 1px solid;
background-color: rgba(255, 255, 255, 1);
border-color: #E4E4E4;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
</style><style data-stk-css="stk-Dnob" class="" media="all">
[data-stk-css="stk-Dnob"]:not(#stk):not(#stk):not(style) {
border-radius: 16px;
padding: 40px;
border: 1px solid;
background-color: rgba(255, 255, 255, 1);
border-color: #E4E4E4;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
</style><style data-stk-css="stkn_J0x" class="" media="all">
[data-stk-css="stkn_J0x"]:not(#stk):not(#stk):not(style) {
border-radius: 16px;
padding: 40px;
border: 1px solid;
background-color: rgba(255, 255, 255, 1);
border-color: #E4E4E4;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
</style><div class="stk-footnote stk-footnote--hide" data-stk-show="mouseover" data-stk-footnote-body="fnuKlrz" data-ce-tag="footnote" style="display:none"><div class="stk-footnote__close"></div><div class="stk-footnote__body"><p class="stk-theme_26309__style_small_text stk-reset" data-ce-tag="paragraph">Процедурным Pascal называется из-за того, что он основан на концепции вызова процедур и функций. Например, разработчик может написать небольшой скрипт и несколько раз вызывать его в коде, при этом не надо будет каждый раз перепечатывать сам скрипт.</p></div></div><div class="stk-footnote stk-footnote--hide" data-stk-show="mouseover" data-stk-footnote-body="fnkdTGX" data-ce-tag="footnote" style="display:none"><div class="stk-footnote__close"></div><div class="stk-footnote__body"><p class="stk-theme_26309__style_small_text stk-reset" data-ce-tag="paragraph">Структурное программирование — парадигма программирования, которая подразумевает, что код должен состоять из блоков, иметь иерархическую структуру и управляться последовательностями, ветвлением и циклами. К тому же структурный код выполняется последовательно сверху вниз.</p></div></div><div class="stk-footnote stk-footnote--hide" data-stk-show="mouseover" data-stk-footnote-body="fnU1sri" data-ce-tag="footnote" style="display:none"><div class="stk-footnote__close"></div><div class="stk-footnote__body"><p class="stk-theme_26309__style_small_text stk-reset" data-ce-tag="paragraph">Сотрудник культового <a class="stk-reset" href="https://skillbox.ru/media/code/parc-kompyuternogo-perioda/?ysclid=m21y3y0les309580738" target="_blank">Xerox PARC</a>, автор всеми любимой комбинации клавиш Ctrl + C, Ctrl + V ;)</p></div></div><style data-stk-css="stkU52BW" class="" media="all">[data-stk-css="stkU52BW"]:not(#stk):not(#stk):not(style){border: 1px solid grey; width: 20%}</style><style data-stk-css="stk99RAq" class="" media="all">[data-stk-css="stk99RAq"]:not(#stk):not(#stk):not(style){border: 1px solid grey; width: 20%}</style><style data-stk-css="stkQ5bxu" class="" media="all">[data-stk-css="stkQ5bxu"]:not(#stk):not(#stk):not(style){border: 1px solid grey; width: 20%}</style></div> </div>
</div>
</div>
</div>
<div class="col-xl-9 col-lg-8 col-poster">
<div class="article-preview-info">
</div>
</div>
<noindex>
<div class="share" data-nosnippet>
<button class="share__handler-btn ">
<span class="share__handler-icon">
<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 4.99902L6 0V2.99805C2.688 2.99805 0 5.68505 0 8.99805V11.498H0.0980225C0.765022 8.91205 3.107 6.99805 5.901 6.99805H6.00098V9.99805L11 4.99902Z" fill="currentColor"/>
</svg>
</span>
<span class="share__handler-text">Поделиться</span>
</button>
<div class="share__list">
<a href="#" class="share__item" data-code="vk">
<span class="share__item-icon share__item-icon--vk">
<svg width="9" height="5" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.04776 4.98054H4.53996C4.62377 4.97136 4.70279 4.9361 4.76621 4.87951C4.81226 4.81209 4.83594 4.73139 4.83369 4.64925C4.83369 4.64925 4.82574 3.94629 5.1314 3.84125C5.43701 3.73621 5.826 4.51998 6.23879 4.82297C6.39281 4.95308 6.59128 5.01558 6.79053 4.99669L7.89399 4.98054C7.89399 4.98054 8.47355 4.94415 8.19965 4.46339C7.98372 4.08315 7.70589 3.743 7.37799 3.45744C6.68338 2.77872 6.77865 2.8878 7.61219 1.71216C8.12024 0.997077 8.32269 0.556717 8.25918 0.370875C8.14651 0.254767 7.98299 0.205914 7.82655 0.241594L6.58018 0.249674C6.52565 0.241067 6.46984 0.251007 6.42141 0.277954C6.37298 0.314507 6.33466 0.363228 6.31025 0.419356C6.18259 0.772814 6.0287 1.11586 5.8498 1.44552C5.29807 2.43936 5.07579 2.49188 4.98451 2.43128C4.77416 2.28584 4.82574 1.85356 4.82574 1.54248C4.82574 0.580957 4.96468 0.176954 4.55979 0.0719133C4.36879 0.0254376 4.17259 0.00505841 3.97631 0.0113129C3.62834 -0.0214164 3.27745 0.017045 2.94429 0.124433C2.8014 0.197154 2.69423 0.358753 2.76171 0.370875C2.90334 0.385518 3.03406 0.454932 3.12688 0.564795C3.21268 0.750336 3.25481 0.953675 3.24993 1.15868C3.24993 1.15868 3.32535 2.29392 3.07925 2.43532C2.91254 2.53228 2.68232 2.33432 2.18616 1.4334C2.01958 1.11848 1.87243 0.793298 1.74557 0.459754C1.72231 0.404013 1.68704 0.354309 1.64236 0.314316C1.58589 0.272672 1.52066 0.245006 1.45184 0.233514L0.268986 0.241594C0.181167 0.241154 0.0958013 0.271066 0.0268587 0.326434C-0.00595087 0.396174 -0.00882613 0.476652 0.0189202 0.548633C0.0189202 0.548633 0.947737 2.83932 1.99563 3.99477C2.51 4.60651 3.2568 4.96526 4.04776 4.98054Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Vkontakte</span>
</a>
<a href="#" class="share__item" data-code="tw">
<span class="share__item-icon share__item-icon--tw">
<svg width="9" height="7" viewBox="0 0 9 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.52788 0.00144284V0H5.9158L6.05754 0.027414C6.15204 0.0452114 6.23783 0.068535 6.31491 0.0973918C6.39201 0.126249 6.46661 0.159917 6.53872 0.198391C6.61083 0.236864 6.67623 0.276066 6.73492 0.315982C6.79311 0.355422 6.84533 0.397265 6.89158 0.441509C6.93733 0.486237 7.0087 0.49778 7.10568 0.476138C7.20266 0.454495 7.3071 0.424433 7.419 0.38596C7.5309 0.347487 7.64156 0.304201 7.75097 0.256104C7.86039 0.208007 7.92703 0.177469 7.95091 0.164484C7.97428 0.151022 7.98671 0.143808 7.98821 0.142841L7.98969 0.140677L7.99715 0.13707L8.00461 0.133463L8.01207 0.129856L8.01953 0.126249L8.02102 0.124084L8.02326 0.122642L8.02551 0.121199L8.02699 0.119034L8.03445 0.11687L8.04191 0.115427L8.04043 0.126249L8.03818 0.13707L8.03445 0.147891L8.03072 0.158713L8.02699 0.165927L8.02326 0.173141L8.01953 0.183962C8.01705 0.191176 8.01456 0.200793 8.01207 0.212819C8.00959 0.224845 7.98596 0.272935 7.9412 0.357103C7.89644 0.441271 7.84049 0.526637 7.77335 0.613208C7.70621 0.699778 7.64604 0.765182 7.59283 0.809434C7.53911 0.854162 7.50355 0.885421 7.48614 0.903219C7.46874 0.921492 7.4476 0.938323 7.42273 0.953718L7.38543 0.977525L7.37797 0.981132L7.37051 0.984739L7.36902 0.986903L7.36678 0.988346L7.36454 0.989789L7.36305 0.991953L7.35559 0.99556L7.34813 0.999168L7.34664 1.00133L7.3444 1.00277L7.34216 1.00422L7.34067 1.00638L7.33918 1.00855L7.33694 1.00999L7.3347 1.01143L7.33321 1.0136H7.37051L7.57939 0.970311C7.71865 0.941454 7.85168 0.906588 7.9785 0.865705L8.17992 0.800777L8.2023 0.793563L8.21349 0.789956L8.22095 0.786348L8.22841 0.782741L8.23587 0.779134L8.24333 0.775527L8.25825 0.773363L8.27317 0.77192V0.786348L8.26944 0.787791L8.26571 0.789956L8.26423 0.79212L8.26198 0.793563L8.25974 0.795006L8.25825 0.79717L8.25677 0.799334L8.25452 0.800777L8.25228 0.80222L8.25079 0.804384L8.24931 0.806548L8.24706 0.807991L8.24333 0.815205L8.2396 0.82242L8.23736 0.823862C8.23637 0.825305 8.20479 0.866181 8.14262 0.946504C8.08046 1.0273 8.04689 1.06818 8.04191 1.06915C8.03694 1.07059 8.02997 1.0778 8.02102 1.09079C8.01257 1.10425 7.95985 1.15788 7.86287 1.25166C7.76589 1.34545 7.67091 1.42889 7.57791 1.502C7.48441 1.57558 7.43716 1.666 7.43616 1.77325C7.43467 1.88002 7.42895 2.00074 7.419 2.13541C7.40905 2.27007 7.3904 2.41555 7.36305 2.57186C7.3357 2.72817 7.29342 2.90492 7.23623 3.10211C7.17904 3.29929 7.10941 3.49168 7.02735 3.67925C6.94529 3.86681 6.8595 4.03514 6.76998 4.18424C6.68046 4.33334 6.5984 4.45958 6.5238 4.56299C6.4492 4.66639 6.37336 4.76378 6.29626 4.85516C6.21918 4.94654 6.12171 5.04947 6.00384 5.16393C5.88547 5.27791 5.82082 5.34044 5.80988 5.3515C5.79844 5.36208 5.74971 5.40152 5.66365 5.46981C5.57812 5.53858 5.48611 5.60736 5.38763 5.67614C5.28966 5.74443 5.19964 5.80143 5.11758 5.84711C5.03552 5.8928 4.93655 5.94498 4.82067 6.00366C4.70529 6.06282 4.58046 6.11765 4.44618 6.16815C4.3119 6.21865 4.17016 6.26554 4.02096 6.30882C3.87176 6.35211 3.72753 6.38578 3.58827 6.40982C3.44903 6.43387 3.29112 6.45431 3.11456 6.47114L2.84973 6.49639V6.5H2.36483V6.49639L2.30142 6.49279C2.25915 6.49038 2.22433 6.48797 2.19698 6.48557C2.16963 6.48317 2.06643 6.46994 1.88739 6.44589C1.70835 6.42185 1.56785 6.3978 1.4659 6.37375C1.36395 6.34971 1.21225 6.30401 1.01083 6.23668C0.809413 6.16935 0.637087 6.10129 0.493854 6.03252C0.351121 5.96422 0.261601 5.92094 0.225293 5.90266C0.189485 5.88487 0.149201 5.86275 0.10444 5.83629L0.0373001 5.79661L0.0358156 5.79445L0.0335701 5.79301L0.0313321 5.79156L0.0298401 5.7894L0.0223801 5.78579L0.0149201 5.78219L0.0134355 5.78002L0.01119 5.77858L0.00895204 5.77714L0.00746003 5.77497L0.00597548 5.77281L0.00373001 5.77137H0V5.75694L0.00746003 5.75838L0.0149201 5.76054L0.0484902 5.76415C0.0708703 5.76655 0.131796 5.77016 0.231261 5.77497C0.330733 5.77978 0.436412 5.77978 0.548312 5.77497C0.660213 5.77016 0.774605 5.75934 0.891474 5.74251C1.00835 5.72568 1.14636 5.69682 1.30551 5.65594C1.46466 5.61505 1.61087 5.56648 1.74416 5.51021C1.87695 5.45346 1.97144 5.41114 2.02764 5.38324C2.08334 5.35583 2.16838 5.30484 2.28277 5.2303L2.45435 5.11848L2.45584 5.11632L2.45808 5.11487L2.46033 5.11343L2.46181 5.11127L2.4633 5.1091L2.46554 5.10766L2.46779 5.10622L2.46927 5.10405L2.47673 5.10189L2.48419 5.10044L2.48568 5.09323L2.48792 5.08602L2.49017 5.08457L2.49165 5.08241L2.43197 5.0788C2.39219 5.0764 2.35364 5.07399 2.31634 5.07159C2.27904 5.06918 2.2206 5.05836 2.14103 5.03912C2.06146 5.01988 1.97567 4.99103 1.88366 4.95255C1.79165 4.91408 1.70213 4.86838 1.6151 4.81548C1.52807 4.76258 1.46515 4.71857 1.42636 4.68346C1.38807 4.64883 1.33833 4.59978 1.27716 4.53629C1.21648 4.47233 1.16376 4.40668 1.119 4.33934C1.07424 4.27202 1.03148 4.19433 0.990699 4.10633L0.928774 3.97503L0.925044 3.96421L0.921314 3.95339L0.919076 3.94617L0.917584 3.93896L0.928774 3.9404L0.939964 3.94256L1.02202 3.95339C1.07674 3.9606 1.16253 3.963 1.27939 3.9606C1.39627 3.9582 1.47709 3.95339 1.52185 3.94617C1.56661 3.93896 1.59396 3.93414 1.60391 3.93174L1.61883 3.92814L1.63748 3.92453L1.65613 3.92092L1.65762 3.91876L1.65986 3.91731L1.6621 3.91587L1.66359 3.91371L1.64867 3.9101L1.63375 3.90649L1.61883 3.90289L1.60391 3.89928L1.58899 3.89567C1.57904 3.89327 1.56164 3.88846 1.53677 3.88124C1.5119 3.87403 1.44476 3.84757 1.33535 3.80189C1.22594 3.7562 1.1389 3.71171 1.07424 3.66842C1.00943 3.62501 0.947626 3.57754 0.889235 3.5263C0.831047 3.47436 0.767145 3.40751 0.697513 3.32575C0.627888 3.24399 0.565724 3.149 0.511012 3.04079C0.456308 2.93257 0.415277 2.82917 0.387922 2.73058C0.360676 2.63256 0.3427 2.53235 0.334217 2.43119L0.320781 2.27969L0.328241 2.28113L0.335701 2.2833L0.343161 2.2869L0.350621 2.29051L0.358081 2.29412L0.365541 2.29772L0.481172 2.34822C0.558264 2.38189 0.653998 2.41075 0.768383 2.43479C0.882775 2.45884 0.951154 2.47207 0.973534 2.47447L1.0071 2.47808H1.07424L1.07276 2.47592L1.07051 2.47447L1.06828 2.47303L1.06678 2.47087L1.0653 2.4687L1.06305 2.46726L1.06082 2.46582L1.05932 2.46365L1.05186 2.46004L1.0444 2.45644L1.04292 2.45427L1.04067 2.45283L1.03844 2.45139L1.03694 2.44922L1.02948 2.44562L1.02202 2.44201L1.02054 2.43984C1.01905 2.43888 0.99766 2.42349 0.956376 2.39367C0.915592 2.36337 0.872823 2.32418 0.828063 2.27608C0.783303 2.22798 0.738543 2.17749 0.693783 2.12458C0.64894 2.07156 0.609 2.01483 0.574422 1.95505C0.539614 1.89493 0.502806 1.81846 0.464014 1.72564C0.425721 1.6333 0.396627 1.54023 0.376731 1.44645C0.356843 1.35266 0.345653 1.26008 0.343161 1.1687C0.340677 1.07732 0.343161 0.999168 0.350621 0.93424C0.358081 0.869312 0.373001 0.795965 0.395382 0.714206C0.417762 0.632448 0.450093 0.545877 0.492362 0.454495L0.555772 0.317425L0.559502 0.306604L0.563232 0.295782L0.565478 0.29434L0.566962 0.292175L0.568454 0.290011L0.570692 0.288568L0.572938 0.290011L0.574422 0.292175L0.575914 0.29434L0.578152 0.295782L0.580398 0.297225L0.581882 0.29939L0.583374 0.301554L0.585612 0.302997L0.589342 0.310211L0.593072 0.317425L0.595318 0.318868L0.596802 0.321032L0.697513 0.429245C0.764653 0.501387 0.844229 0.581948 0.936234 0.670921C1.02825 0.759894 1.07922 0.806065 1.08916 0.809434C1.09912 0.813279 1.11154 0.824338 1.12646 0.842619C1.14138 0.860417 1.19112 0.902981 1.27567 0.970311C1.36022 1.03764 1.47087 1.1158 1.60764 1.20477C1.74441 1.29375 1.89609 1.38152 2.0627 1.46809C2.22931 1.55466 2.40835 1.63281 2.59982 1.70255C2.7913 1.77229 2.92558 1.81798 3.00266 1.83962C3.07975 1.86127 3.21154 1.88892 3.39804 1.92259C3.58454 1.95625 3.72505 1.9779 3.81954 1.98751C3.91403 1.99713 3.97869 2.00266 4.0135 2.00411L4.06572 2.00555L4.06423 1.99473L4.06199 1.98391L4.04707 1.89373C4.03712 1.83361 4.03215 1.74944 4.03215 1.64123C4.03215 1.53302 4.04085 1.43322 4.05826 1.34184C4.07567 1.25046 4.10178 1.15788 4.13659 1.0641C4.1714 0.970311 4.20547 0.895038 4.23879 0.838291C4.27261 0.78202 4.31687 0.717814 4.37158 0.645671C4.42629 0.573529 4.49716 0.498985 4.58419 0.422031C4.67122 0.345077 4.77069 0.276542 4.88259 0.216426C4.99449 0.15631 5.09769 0.110615 5.19218 0.0793563C5.28668 0.0480971 5.36625 0.0276521 5.4309 0.0180355C5.49556 0.00841898 5.52788 0.00288568 5.52788 0.00144284Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Twitter</span>
</a>
<a href="#" class="share__item" data-code="tg">
<span class="share__item-icon share__item-icon--tg">
<svg width="10" height="7" viewBox="0 0 10 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.39589 3.04852C1.39589 3.04852 5.05491 1.51189 6.32392 0.9708C6.8104 0.754384 8.46012 0.0617918 8.46012 0.0617918C8.46012 0.0617918 9.22155 -0.241191 9.15809 0.494655C9.13692 0.797667 8.96773 1.85815 8.79854 3.00523C8.54472 4.62846 8.26976 6.40316 8.26976 6.40316C8.26976 6.40316 8.22746 6.90097 7.86791 6.98753C7.50836 7.0741 6.91613 6.68455 6.8104 6.59795C6.72577 6.53304 5.22411 5.5591 4.6742 5.08295C4.52614 4.9531 4.35695 4.6934 4.69533 4.39039C5.45676 3.67617 6.36622 2.78882 6.91613 2.2261C7.16995 1.96638 7.42374 1.36038 6.36622 2.09622C4.86456 3.15674 3.38403 4.15231 3.38403 4.15231C3.38403 4.15231 3.04561 4.36873 2.41111 4.17394C1.77657 3.97918 1.03631 3.71945 1.03631 3.71945C1.03631 3.71945 0.528726 3.39481 1.39589 3.04852Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Telegram</span>
</a>
<a href="#" class="share__item js-share-item-copy">
<span class="share__item-icon share__item-icon--copy">
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.19922 5.40327C4.37217 5.63449 4.59283 5.8258 4.84622 5.96425C5.09962 6.10269 5.37982 6.18501 5.66783 6.20564C5.95584 6.22627 6.24492 6.18471 6.51546 6.08379C6.78599 5.98287 7.03166 5.82495 7.2358 5.62074L8.44399 4.41255C8.81079 4.03277 9.01375 3.52412 9.00917 2.99615C9.00458 2.46818 8.79281 1.96313 8.41946 1.58978C8.04611 1.21644 7.54106 1.00466 7.01309 1.00008C6.48512 0.995488 5.97647 1.19845 5.59669 1.56525L4.904 2.25392" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.81002 4.59658C5.63707 4.36536 5.41641 4.17404 5.16302 4.0356C4.90962 3.89716 4.62942 3.81483 4.34141 3.79421C4.0534 3.77358 3.76432 3.81514 3.49379 3.91605C3.22325 4.01697 2.97758 4.17489 2.77344 4.3791L1.56525 5.58729C1.19845 5.96707 0.995488 6.47572 1.00008 7.0037C1.00466 7.53167 1.21644 8.03672 1.58978 8.41006C1.96313 8.78341 2.46818 8.99518 2.99615 8.99977C3.52412 9.00436 4.03277 8.80139 4.41255 8.43459L5.10122 7.74592" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="share__item-text">Скопировать ссылку</span>
</a>
</div>
</div>
</noindex>
</div>
<section class="container inset" data-banner="222587" data-source="220879" data-format="horizontal">
<section class="container inset" data-format="horizontal">
<div class="row">
<div class="col-lg-8 col-sm-12">
<a data-source="220879" data-banner="222587" target="_blank" href="https://skillbox.ru/course/profession-python/" class="article-advert-banner__link courseLink" data-format="horizontal" data-type="horizontal" data-courseid="3254">
<div class="inset__wrapper" style="background-color: #DEECE8;">
<div class="inset__content">
<h2 class="inset__header">Курс с помощью в трудоустройстве</h2>
<p class="inset__description">
Профессия Python-разработчик
</p>
<ul class="inset__text" style="color:#000!important; list-style:'\2022 ' outside; margin-left:20px;">
<li style="list-style:'\2022 '; padding-left:10px; margin-bottom:6px">
Практика, в том числе стажировки в крупных компаниях, таких как VK</li>
<li style="list-style:'\2022 '; padding-left:10px; margin-bottom:6px">
Сильное портфолио: чат-бот, маркетплейс, соцсеть и 3 сервиса</li>
<li style="list-style:'\2022 '; padding-left:10px; margin-bottom:6px">
Нейросети в программе, чтобы быстрее писать и проверять код</li>
</ul>
<p class="inset__button article-advert-banner__link">
Подробнее
</p>
</div>
<div class="inset__image">
<img width="250" src="https://cdn.skillbox.pro/landgen/blocks/start-screen/156946/lg/d42b4089-b306-4b88-ab2a-3f52057e6fbe.webp" height="250" alt="">
</div>
</div>
</a>
</div>
</div>
</section> </section>
<div style="align-content: center; background-color: black; overflow: hidden;">
<noindex>
<div style="display: flex; align-items: center; justify-content: center; background-color: black; height: 60px; color: white; text-align: center">
Листая дальше, вы перейдете на страницу <a style="text-decoration: underline;" data-type="scroll" href="https://bootcamp.skillbox.ru/osnovy/new/june/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_sbornik-888_all_scroll_skillbox">Получите 4 курса для старта работы в ИТ</a>
</div>
<div class="iframe-wrapper" style="height: 100vh; transform: scale(0.5);">
<iframe id="test_iframe" scrolling="no" style="overflow: hidden;margin: 0 auto;display: block; width: 100%; height: 100%" src="https://bootcamp.skillbox.ru/osnovy/new/june/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_sbornik-888_all_scroll_skillbox">
</iframe>
</div>
</noindex>
</div>
<script>
jQuery(document).ready(function($) {
$('footer.without-buttons').remove();
let iframeWrapper = $('.iframe-wrapper');
var check = false;
$(window).on('scroll', function() {
let iframeWrapperHeight = iframeWrapper.height();
let iframeWrapperOffset = iframeWrapper.offset().top - iframeWrapperHeight;
let scrollTop = $(window).scrollTop();
const {scrollHeight, clientHeight } = document.documentElement;
const maxScroll = scrollHeight - clientHeight;
const power = 1
const scale = (scrollTop / maxScroll) * power;
iframeWrapper.css('height', `${clientHeight}`)
if (scrollTop > iframeWrapperOffset) {
if(!check) {
document.dispatchEvent(new CustomEvent('articleAdvertBanner', {
detail: {
event: 'show',
id: 225806,
sourceId: 220879,
format: "new_banner"
}
}));
}
check = true;
iframeWrapper.css({'transform': `scale(${scale})`})
if (maxScroll === scrollTop || maxScroll === iframeWrapper.offset().top) {
redirect();
} else if (maxScroll <= scrollTop + 1 ) {
redirect();
}
}
function isNeedAddUtm(url)
{
if (typeof url !== 'string') {
return false;
}
var externalLinks = [
'freelancer.skillbox.ru',
'sale.skillbox.ru',
'course.skillbox.ru',
'interiordesign.skillbox.ru',
'iamwebdev.skillbox.ru',
'iammarketer.skillbox.ru',
'iamdesigner.skillbox.ru',
'live.skillbox.ru',
'b2b.skillbox.ru',
'highereducation.skillbox.ru',
'skillbox.ru/courses',
'skillbox.ru/sale',
'skillbox.ru/media'
];
for (var i = 0; i < externalLinks.length; i++) {
externalLinks[i] = escapeRegExp(externalLinks[i]);
}
var regexp = new RegExp('^http[s]?:\/\/(skillbox\.ru|' + escapeRegExp(window.location.host) + '|' + externalLinks.join('|') + ')\/(?!media/)[a-zA-Z0-9-_/]*');
return !!url.match(regexp);
}
function escapeRegExp(string) {
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
function redirect() {
document.dispatchEvent(new CustomEvent('articleAdvertBanner', {
detail: {
event: 'click',
id: 225806,
sourceId: 220879,
format: "new_banner"
}
}));
var page = window.location.href;
var $article = $('section[data-article-text]');
var pageId = $article.data('articleid');
if(pageId === undefined)
{
pageId = 0;
}
window.dataLayer.push({
'event': 'go_to_course',
'courseID': 225806,
'page': page,
'pageID': pageId
});
var link = "https://bootcamp.skillbox.ru/osnovy/new/june/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_sbornik-888_all_scroll_skillbox";
if(isNeedAddUtm(link)) {
var urlSplit = link.split('?');
var urlBase = urlSplit[0] ? urlSplit[0] : '';
link = urlBase + '?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_banners_scroll_all_all_skillbox';
}
window.location.assign(link);
// var iframe = document.getElementById("test_iframe");
// var src = iframe.src;
// var document_frame = iframe.contentWindow.document.documentElement;
// var body = window.document.body.innerHTML;
// var title = iframe.contentWindow.document.head.title;
//
// window.history.pushState({
// "html": body,
// "pageTitle": title,
// "src": document.location.href
// }, '', src);
// window.addEventListener("popstate", function(e) {
// window.location.href = document.location;
// });
//
// document.documentElement.replaceWith(document_frame);
}
});
});
</script> </section>
<div class="article-banner" data-banner="219298" data-source="220879" data-format="vertical" data-type="vertical">
<div class="row">
<div class="col-sm-4 col-sm-12">
<div class="inset__wrapper" style="background-color:#f2eeff;">
<div class="inset__content" >
<div class="inset__image" style="text-align: top;">
<img src="https://skillbox.ru/upload/setka_images/math-side.png" width="150" height="150" alt="">
</div>
<p class="inset__description" style="color:#000!important; padding-bottom:13px;">
Изучайте IT на практике — бесплатно</p>
<p class="inset__text" style="color:#000!important">
Курсы за <del>2990</del> 0 р. </p>
<ul class="inset__content" style="color:#007bff!important; list-style:'\2713 ' outside; margin-left:13px;">
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a data-source="220879" data-banner="219298" href="https://bootcamp.skillbox.ru/python-short/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-617_all_code_skillbox" target="_blank">Python</a>
</li>
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a href="https://bootcamp.skillbox.ru/qa-start/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-655_all_code_skillbox" target="_blank">Тестирование</a>
</li>
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a href="https://bootcamp.skillbox.ru/data-science/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-675_all_code_skillbox" target="_blank">Data Science</a>
</li>
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a href="https://bootcamp.skillbox.ru/java/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-682_all_code_skillbox" target="_blank">Java</a>
</li>
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a href="https://bootcamp.skillbox.ru/sql/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-695_all_code_skillbox" target="_blank">SQL и работа с данными</a>
</li>
</ul>
<a href="https://bootcamp.skillbox.ru/it-jobs/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-759_all_code_skillbox" class="inset__button article-advert-banner__link" target="_blank" style="color:#000; background-color:#ffafff">Я не знаю, с чего начать</a>
</div>
</div>
</div>
</div> </div>
<a data-source="220879" data-banner="219826" target="_blank" href="https://bootcamp.skillbox.ru/python-short/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-617_all_top_skillbox" class="article-banner article-advert-banner__link" style="background-color: #f2eeff!important;" data-format="top" data-type="top">
<div class="article-banner__img">
<img src="https://skillbox.ru/upload/setka_images/code_common.png" alt="">
</div>
<span class="article-banner__title"><b>Бесплатный курс по Python ➞</b><br>
Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе.
</span>
<span class="article-banner__link">Смотреть программу</span> </a>
<div class="question">
<div class="container">
<div class="question__inner">
<div class="question__title">Понравилась статья?</div>
<a href="#" data-cur-url="/media/code/pascal-chto-eto-za-yazyk-chem-on-khorosh-i-pochemu-ego-do-sikh-por-prepodayut-v-shkolakh/"
class="question__btn js-modalLink" data-mfp-src="#modalAuth">Да</a>
</div>
</div>
</div>
</div>
<span
data-area="article-bottom"
data-current-url="/media/code/pascal-chto-eto-za-yazyk-chem-on-khorosh-i-pochemu-ego-do-sikh-por-prepodayut-v-shkolakh/"
data-id="220879">
</span>
</div>
<script type="application/ld+json">
{"@context":"http:\/\/schema.org","@type":"Article","url":"https:\/\/skillbox.ru\/media\/code\/pascal-chto-eto-za-yazyk-chem-on-khorosh-i-pochemu-ego-do-sikh-por-prepodayut-v-shkolakh\/","headline":"Pascal\u00a0\u2014 \u0447\u0442\u043e \u044d\u0442\u043e \u0437\u0430\u00a0\u044f\u0437\u044b\u043a, \u0447\u0435\u043c \u043e\u043d\u00a0\u0445\u043e\u0440\u043e\u0448 \u0438\u00a0\u043f\u043e\u0447\u0435\u043c\u0443 \u0435\u0433\u043e \u0434\u043e\u00a0\u0441\u0438\u0445 \u043f\u043e\u0440 \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u044e\u0442 \u0432\u00a0\u0448\u043a\u043e\u043b\u0430\u0445","articleSection":"\u041a\u043e\u0434","articleBody":"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u043b\u0438 \u0448\u043a\u043e\u043b\u044c\u043d\u044b\u0435 \u0443\u0440\u043e\u043a\u0438 \r\n\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0438, \u0441\u043b\u043e\u0432\u043e Pascal \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0443 \u0432\u0430\u0441 \u043b\u0451\u0433\u043a\u0438\u0439 \u0442\u0440\u0435\u043f\u0435\u0442. \u041f\u0443\u0441\u043a\u0430\u0439 \u043d\u0430 \u044d\u0442\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0434\u0430\u0432\u043d\u043e \u0443\u0436\u0435 \u043d\u0435 \u043f\u0438\u0448\u0443\u0442 \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0439 \u0441\u043e\u0444\u0442, \u0437\u0430\u0442\u043e \u043e\u043d \u0438\u0434\u0435\u0430\u043b\u0435\u043d \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u044b\u0445 \u0448\u0430\u0433\u043e\u0432 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438.\r\n\r\n\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Pascal, \r\n\u043a\u0430\u043a \u043e\u043d \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f, \u0438\u0437 \u0447\u0435\u0433\u043e \u0441\u0434\u0435\u043b\u0430\u043d, \u0438 \u0437\u0430 \u0447\u0442\u043e \u0435\u0433\u043e \u0442\u0430\u043a \u043b\u044e\u0431\u044f\u0442 \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u0438. \u0410 \u0431\u043e\u043d\u0443\u0441\u043e\u043c \u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430 Pascal \u043f\u0435\u0440\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u2014 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u0443\u044e \u0438\u0433\u0440\u0443 \u00ab\u041a\u0430\u043c\u0435\u043d\u044c, \u043d\u043e\u0436\u043d\u0438\u0446\u044b, \u0431\u0443\u043c\u0430\u0433\u0430\u00bb.\r\n\r\n\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\r\n\r\n- \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Pascal [ #stk-1 ] \r\n- \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u043e\u043d \u043d\u0443\u0436\u0435\u043d [ #stk-2 ] \r\n- \u041a\u0430\u043a\u0438\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 Pascal [ #stk-3 ] \r\n- \u041f\u043e\u0447\u0435\u043c\u0443 Pascal \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0432 \u0448\u043a\u043e\u043b\u0430\u0445 \u0438 \u0432\u0443\u0437\u0430\u0445 \r\n[ #stk-4 ] \r\n- \u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 Pascal [ #stk-5 ] \r\n- \u041f\u0438\u0448\u0435\u043c \u0438\u0433\u0440\u0443 \u00ab\u041a\u0430\u043c\u0435\u043d\u044c, \u043d\u043e\u0436\u043d\u0438\u0446\u044b, \u0431\u0443\u043c\u0430\u0433\u0430\u00bb [ #stk-6 ]\r\n \r\n\r\n\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Pascal\r\n\r\nPascal \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \r\n\u043d\u0430\u0437\u0432\u0430\u043d\u043d\u044b\u0439 \u0432 \u0447\u0435\u0441\u0442\u044c \u0444\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u0438 \u0444\u0438\u0437\u0438\u043a\u0430 \u0411\u043b\u0435\u0437\u0430 \u041f\u0430\u0441\u043a\u0430\u043b\u044f. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u044f\u0437\u044b\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0441\u044f \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u2014 \u043d\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0442\u0430\u043a \u0445\u043e\u0440\u043e\u0448, \u0447\u0442\u043e \u0432 \u043a\u043e\u043d\u0446\u0435 XX \u0432\u0435\u043a\u0430 \u0441\u0442\u0430\u043b \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432 \u043c\u0438\u0440\u0435.\r\n\r\n\u042f\u0437\u044b\u043a \u0441\u043e\u0437\u0434\u0430\u043b \u041d\u0438\u043a\u043b\u0430\u0443\u0441 \u0412\u0438\u0440\u0442, \u0432\u0441\u0435\u043c\u0438\u0440\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \r\n\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a. \u0418\u0434\u0435\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c Pascal \u0435\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 Algol-60, \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u0442\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0412\u0438\u0440\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435\u043c Algol \u2014 \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0433\u043e \u043f\u0440\u043e\u0449\u0435, \u043b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u0435\u0435 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0435\u0435. \u0422\u0430\u043a \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0434\u0438\u0430\u043b\u0435\u043a\u0442 Algol W, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438 \u0438 \u043b\u0451\u0433 \u0432 \u043e\u0441\u043d\u043e\u0432\u0443 Pascal. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0441\u044f \u044f\u0437\u044b\u043a, \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0432 \u043d\u0430\u0448\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u043e \u041d\u0438\u043a\u043b\u0430\u0443\u0441\u0430 \u0412\u0438\u0440\u0442\u0430.\r\n\r\n\r\n\r\n \r\n\r\n\r\n\u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435:\r\n\r\n\u041d\u0438\u043a\u043b\u0430\u0443\u0441 \u0412\u0438\u0440\u0442: \u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0437\u0434\u0430\u043b Pascal \r\n\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0433\u043e \r\n\r\n\u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0446\u0435\u043b\u0435\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Pascal \u0431\u044b\u043b\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \r\n\u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0437 \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 Algol \u0443\u0431\u0440\u0430\u043b\u0438 \u0432\u0441\u0451 \u043b\u0438\u0448\u043d\u0435\u0435, \u0447\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u043b\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0437\u0438\u0442\u044c \u043f\u043e\u0440\u043e\u0433 \u0432\u0445\u043e\u0434\u0430.\r\n\r\n\u0412\u043e\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0438\u0448\u043a\u0438 \u044f\u0437\u044b\u043a\u0430:\r\n\r\n- \u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441. \u0418\u0437 \u0410\u043b\u0433\u043e\u043b\u0430 \u0443\u0431\u0440\u0430\u043b\u0438 \r\n\u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430, \u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 for, if \u0438 while \u0441\u0442\u0430\u043b\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435 \u0441\u0442\u0440\u043e\u043a.\r\n- \u0421\u0442\u0440\u043e\u0433\u0430\u044f \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u044f. \u0412 \u0410\u043b\u0433\u043e\u043b\u0435 \u0431\u044b\u043b\u0430 \u043c\u043e\u0449\u043d\u0430\u044f \r\n\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0438\u043f\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u043d\u043e\u0432\u0438\u0447\u043a\u0443 \u0441 \u043d\u0435\u0439 \u0431\u044b\u043b\u043e \u0441\u043b\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f Pascal \u0412\u0438\u0440\u0442 \u0432\u044b\u0431\u0440\u0430\u043b \u0441\u0442\u0440\u043e\u0433\u0443\u044e \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u044e , \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043d\u0430\u0434\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c \u0441 \u044f\u0432\u043d\u044b\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0442\u0438\u043f\u0430.\r\n- \u0421\u0442\u0440\u043e\u0433\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \r\n\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0418\u0437 Pascal \u044d\u0442\u0443 \u0444\u0438\u0447\u0443 \u0443\u0431\u0440\u0430\u043b\u0438, \u0447\u0442\u043e\u0431\u044b \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443.\r\n- \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430. \u0412\u0438\u0440\u0442 \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0432 Pascal \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \r\n\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432 \u2014 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0438 \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f. \u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u043e \u0432 1970 \u0433\u043e\u0434\u0443 \u044d\u0442\u043e \u0431\u044b\u043b \u043d\u043e\u0432\u0430\u0442\u043e\u0440\u0441\u043a\u0438\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442.\r\n- \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u0430\u044f \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c. \u0412 Algol \u043c\u043e\u0436\u043d\u043e \r\n\u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0434\u0440\u0443\u0433 \u0432 \u0434\u0440\u0443\u0433\u0430 \u0431\u043b\u043e\u043a\u0438 \u043a\u043e\u0434\u0430. \u042d\u0442\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u043d\u043e \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0444\u0438\u0447\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0451 \u0442\u043e\u0436\u0435 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0432 Pascal.\r\n- \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 Pascal \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \r\n\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443. \u0414\u043b\u044f \u0438\u0445 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0412\u0438\u0440\u0442 \u0432\u0432\u0451\u043b \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e record. \u041f\u043e\u0437\u0436\u0435 \u044d\u0442\u0443 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0434\u043b\u044f C\/C++.\r\n\r\n\u0412\u0441\u0435\u0433\u043e \u0437\u0430 20 \u043b\u0435\u0442 Pascal \u0441\u0442\u0430\u043b \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \r\n\u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041a\u0440\u0443\u043f\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0442\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430\u0447\u0430\u043b\u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 \u0438 \u0434\u0430\u0436\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 Pascal, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u0432 \u044f\u0437\u044b\u043a \u0442\u043e, \u0447\u0442\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0422\u0430\u043a \u043d\u0430 \u0441\u0432\u0435\u0442 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c Object Pascal, Turbo Pascal, Free Pascal, PascalABC.NET \u0438 Delphi.\r\n\r\n\u0414\u043b\u044f \u0447\u0435\u0433\u043e \u043d\u0443\u0436\u0435\u043d \u044f\u0437\u044b\u043a Pascal\r\n\r\nPascal \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0441\u044f \u0412\u0438\u0440\u0442\u043e\u043c \u043a\u0430\u043a \u044f\u0437\u044b\u043a \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \r\n\u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u0430\u0437\u0430\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u2014 \u0438 \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u043c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435. \u042f\u0437\u044b\u043a \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u044e\u0442 \u0432 \u0448\u043a\u043e\u043b\u0430\u0445 \u0438 \u0432\u0443\u0437\u0430\u0445 \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043c\u0438\u0440\u0443, \u043d\u0430 \u043d\u0451\u043c \u0436\u0435 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043a\u043e\u0434\u0430 \u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u043b\u044f \u0433\u043e\u0441\u044d\u043a\u0437\u0430\u043c\u0435\u043d\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u043d\u0430 \u041e\u0413\u042d \u0448\u043a\u043e\u043b\u044c\u043d\u0438\u043a\u0430\u043c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 Pascal.\r\n\r\n\u0421\u0435\u0439\u0447\u0430\u0441 Pascal \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \r\n\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c \u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0447\u0435\u043b\u043e\u0432\u0435\u043a. \u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u043e\u0442\u0434\u0430\u044e\u0442 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u043c \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u0430\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Java , Python \u0438\u043b\u0438 JavaScript .\r\n\r\n\u041e\u0434\u043d\u0430\u043a\u043e \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c Pascal \u0432\u044b\u0431\u0438\u0440\u0430\u043b\u0438 \u0438 \u043a\u0440\u0443\u043f\u043d\u044b\u0435 \r\n\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u043d\u0451\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 Apple Lisa. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 1980-\u0435 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b Apple \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 Object Pascal \u2014 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u0434\u043e \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u044b 1990-\u0445 \u0433\u043e\u0434\u043e\u0432.\r\n \r\n\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 Apple Lisa\r\n\u0424\u043e\u0442\u043e: Maximilian Sch\u00f6nherr [ https:\/\/commons.wikimedia.org\/wiki\/File:Apple_Lisa.jpg ] \r\n\/ Wikimedia Commons\r\n\r\n\u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0435 \u0441\u0435\u0431\u044f \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \r\nWindows, \u0442\u043e \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0445\u043e\u0442\u044f \u0431\u044b \u0440\u0430\u0437 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u043c \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u043e\u043c Total Commander. \u041c\u043d\u043e\u0433\u0438\u0435 \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430 Pascal.\r\n\r\n\r\n\r\n \r\n\r\n\r\n\u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435:\r\n\r\nWindows vs macOS: \u0437\u0430 \u0447\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0440\u0443\u0433\u0430\u044e\u0442 \r\n\u0438 \u0445\u0432\u0430\u043b\u044f\u0442 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \r\n\r\nPascal \u0434\u043b\u044f \u043e\u0441\u043d\u043e\u0432\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432\u0451\u0440\u0441\u0442\u043a\u0438 TeX \u0432\u044b\u0431\u0440\u0430\u043b \r\n\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a \u0414\u043e\u043d\u0430\u043b\u044c\u0434 \u041a\u043d\u0443\u0442. \u041e\u0434\u043d\u0430 \u0438\u0437 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u044d\u0442\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, LaTeX, \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0444\u043e\u0440\u043c\u0443\u043b \u0432 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u043d\u0430 \u00ab\u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438\u00bb \u0438\u043b\u0438 \u0434\u043b\u044f \u0432\u0451\u0440\u0441\u0442\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u043d\u0430\u0443\u0447\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0442.\r\n\r\n\u0415\u0449\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043e\u0444\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \r\nDelphi, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 \u0431\u0430\u0437\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044f\u0437\u044b\u043a\u0430, \u2014 Object Pascal. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0434\u043b\u044f Skype, \u0440\u0430\u043d\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430 Unreal Engine, \u0430\u0440\u0445\u0438\u0432\u0430\u0442\u043e\u0440\u0430 WinRAR, \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043c\u0443\u0437\u044b\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438 FL Studio \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 macOS.\r\n\r\n\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Pascal\r\n\r\n\u0414\u0435\u0442\u0438\u0449\u0435 \u0412\u0438\u0440\u0442\u0430 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430\u043c, \r\n\u043d\u043e \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u043d\u0430\u0447\u0430\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Pascal, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u0432 \u043d\u0435\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0434\u0438\u0430\u043b\u0435\u043a\u0442\u044b \u0438 \u044f\u0437\u044b\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0431\u0430\u0437\u0435 Pascal.Object Pascal\r\n\r\n\u0412 1986 \u0433\u043e\u0434\u0443 \u0433\u0440\u0443\u043f\u043f\u0430 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u043c \r\n\u041b\u0430\u0440\u0440\u0438 \u0422\u0435\u0441\u043b\u0435\u0440\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0434\u043b\u044f Apple \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u044f\u0437\u044b\u043a\u0430 Pascal \u2014 Object Pascal. \u0412 \u044f\u0437\u044b\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043a\u043b\u0430\u0441\u0441\u044b, \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435, \u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043e\u0442\u043a\u0440\u044b\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0442\u0430\u043b\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0444\u0438\u0447\u0438.\r\n\r\n\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u043c\u0443 \u044f\u0437\u044b\u043a \u0441\u0442\u0430\u043b \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u044b\u043c \u0434\u043b\u044f \r\n\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. \u041f\u043e\u0437\u0436\u0435 \u0435\u0433\u043e \u0435\u0449\u0451 \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437 \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b Borland \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0432 \u043d\u0435\u0433\u043e \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u044e \u2014 \u044d\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u043e\u0434\u043d\u0430 \u0438 \u0442\u0430 \u0436\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0447\u0430\u0441\u0442\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.\r\n\r\n\r\n\r\n \r\n\r\n\r\n\u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435:\r\n\r\n\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438 \u043a\u043b\u0430\u0441\u0441\u044b: 1\u2011\u044f \u0447\u0430\u0441\u0442\u044c \r\n\u0433\u0430\u0439\u0434\u0430 \u043f\u043e \u041e\u041e\u041f Turbo Pascal\r\n\r\nTurbo Pascal \u2014 \u0441\u0440\u0435\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0434\u0438\u0430\u043b\u0435\u043a\u0442 \r\n\u044f\u0437\u044b\u043a\u0430 Pascal, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043d\u0435\u0439. \u041f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0443 Turbo \u043e\u043d \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0438\u0437-\u0437\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043a\u043e\u0434\u0430. \u041e\u0431\u044b\u0447\u043d\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u043f\u043e \u043a\u043e\u0434\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u0430 \u043f\u043e\u0442\u043e\u043c \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u044f \u0438\u0445. Turbo Pascal \u0431\u044b\u043b\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043f\u0440\u043e\u0439\u0442\u0438\u0441\u044c \u043f\u043e \u043a\u043e\u0434\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0441\u0440\u0430\u0437\u0443 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b. \u0410 \u0435\u0449\u0451 \u0434\u0438\u0430\u043b\u0435\u043a\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u043d\u0430\u0433\u0440\u0443\u0436\u0430\u043b \u043f\u0430\u043c\u044f\u0442\u044c \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430.\r\n\r\n\r\n\r\n \r\n\r\n\r\n\u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435:\r\n\r\n\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0438 \u043a\u0430\u043a \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \r\n \r\n\r\n\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0438\u0441\u044c \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b \r\n\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Borland, \u0430 \u0437\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u043e\u043d\u0438 \u0432\u0437\u044f\u043b\u0438 UCSD Pascal, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u0445 Apple II.Free Pascal\r\n\r\n\u0412 1997 \u0433\u043e\u0434\u0443 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f Free Pascal \u2014 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \r\n\u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0437\u044f\u043b\u0430 \u0432 \u0441\u0435\u0431\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Pascal \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u041e\u041e\u041f. \u0414\u043b\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0441\u0442\u044c \u0431\u044b\u043b\u0430 \u0432\u0430\u0436\u043d\u043e\u0439 \u0444\u0438\u0448\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c Pascal \u043d\u0430 \u043b\u044e\u0431\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0421\u0435\u0439\u0447\u0430\u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Free Pascal \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 30 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c, \u0432\u043a\u043b\u044e\u0447\u0430\u044f Windows, Linux, macOS, Android, MS-DOS, FreeBSD, Game Boy Advance \u0438 Nintendo DS.Delphi\r\n\r\nDelphi \u2014 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \r\nBorland, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0440\u043e\u0441 \u0438\u0437 Object Pascal. \u0415\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u041f\u041a \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.\r\n\r\n\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 Pascal Delphi \u0443\u043c\u0435\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \r\n\u0432 \u043a\u0440\u043e\u0441\u0441-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u2014 \u0434\u043b\u044f Windows, macOS, Linux, Android \u0438 iOS. \u0422\u0430\u043a\u0436\u0435 \u044f\u0437\u044b\u043a \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u0443\u0434\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0435\u0442\u044c\u044e \u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0439.PascalABC.NET\r\n\r\n\u0412 2007 \u0433\u043e\u0434\u0443 \u042e\u0436\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442 \r\n(\u042e\u0424\u0423) \u0432 \u0420\u043e\u0441\u0442\u043e\u0432\u0435-\u043d\u0430-\u0414\u043e\u043d\u0443 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b PascalABC.NET \u2014 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u043e\u0431\u0440\u0430\u043b\u0430 \u0432 \u0441\u0435\u0431\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Delphi, \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b .NET.\r\n\r\n\u041f\u043e\u0447\u0435\u043c\u0443 Pascal \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0434\u043b\u044f \r\n\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0448\u043a\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u0432\r\n\r\n\u0421 \u0440\u0435\u043b\u0438\u0437\u0430 Pascal \u043f\u0440\u043e\u0448\u043b\u043e \u0431\u043e\u043b\u044c\u0448\u0435 50 \u043b\u0435\u0442, \u0438 \u044f\u0437\u044b\u043a \r\n\u0432\u043e\u0441\u043f\u0438\u0442\u0430\u043b \u043d\u0435 \u043e\u0434\u043d\u043e \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u0435\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, Pascal \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0448\u043a\u043e\u043b\u0430\u0445 \u0438 \u043d\u0430 \u043c\u043b\u0430\u0434\u0448\u0438\u0445 \u043a\u0443\u0440\u0441\u0430\u0445 \u0432\u0443\u0437\u043e\u0432. \u041d\u0430 \u044d\u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u0447\u0438\u043d:\r\n\r\n\u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441. \u041a\u043e\u0434 \u043d\u0430 Pascal \u043b\u0435\u0433\u043a\u043e \u043f\u0438\u0441\u0430\u0442\u044c \r\n\u0438 \u0447\u0438\u0442\u0430\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u0444\u043e\u043a\u0443\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438, \u0430 \u043d\u0435 \u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u044f\u0437\u044b\u043a\u0430.\r\n\r\n\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 Pascal \r\n\u0441\u043e\u0441\u0442\u043e\u044f\u0442 \u0438\u0437 \u0431\u043b\u043e\u043a\u043e\u0432 \u043a\u043e\u0434\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0448\u043a\u043e\u043b\u044c\u043d\u0438\u043a\u0438 \u043f\u0440\u0438\u0432\u044b\u043a\u0430\u044e\u0442 \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u0442\u0440\u043e\u0433\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 \u043a\u043e\u0434\u0430: \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b PrintNumbers.\r\n\r\nprogram StructuredProgram; { \u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0441 \r\n\u0438\u043c\u0435\u043d\u0435\u043c StructuredProgram } var i: integer; { \u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 i \u0442\u0438\u043f\u0430 integer } procedure PrintNumbers; { \u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b PrintNumbers } begin for i := 1 to 10 do { \u0426\u0438\u043a\u043b \u043e\u0442 1 \u0434\u043e 10 } writeln(i); { \u0412\u044b\u0432\u043e\u0434 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f i \u043d\u0430 \u044d\u043a\u0440\u0430\u043d } end; begin PrintNumbers; { \u0412\u044b\u0437\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b PrintNumbers } end.\r\n\r\n\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c. \u0421\u0442\u0440\u043e\u0433\u0430\u044f \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u044f Pascal \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \r\n\u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0415\u0441\u043b\u0438 \u0442\u0438\u043f\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0437\u0430\u043c\u0435\u0442\u0438\u0442 \u043e\u0448\u0438\u0431\u043a\u0443 \u0438 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u00ab\u0432\u044b\u0441\u0442\u0440\u0435\u043b\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u0432 \u043d\u043e\u0433\u0443\u00bb.\r\n\r\nprogram TypeSafety; var a: integer; b: real; begin a := 10; b := 5.5; { \r\n\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u0442\u0438\u043f\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 } { a := b; } end.\r\n\r\n\u041b\u0451\u0433\u043a\u0438\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434. \u0412 Pascal \u0435\u0441\u0442\u044c \u0432\u0441\u0451, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \r\n\u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 Python, Java \u0438\u043b\u0438 C++. \u0414\u043b\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0441\u043d\u043e\u0432\u0430 \u043f\u043e\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438.\r\n\r\n\u0412\u043e\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \r\n\u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0447\u0438\u0441\u0435\u043b \u043d\u0430 \u044d\u043a\u0440\u0430\u043d, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u043d\u0430 Pascal \u0438 Java. \u0421\u0440\u0430\u0437\u0443 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u044f\u0437\u044b\u043a\u043e\u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u2014 \u043e\u0434\u043d\u0430\u043a\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0442\u0435\u043c\u0438 \u0436\u0435: \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0446\u0438\u043a\u043b\u044b, \u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u0438 \u0441\u0430\u043c\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.\r\n\r\n\r\n\r\nPascal\r\n\r\n\r\nJava\r\n\r\n\r\n\r\n{ Pascal } program PascalExample; var i: integer; begin for i := 1 to 5 \r\ndo writeln('Pascal: ', i); end.\r\n\r\n\r\n# Java public class JavaExample { public static void main(String[] args) \r\n{ for (int i = 1; i <= 5; i++) { System.out.println(\"Java: \" + i); } } }\r\n\r\n\u0422\u0440\u0430\u0434\u0438\u0446\u0438\u0438. \u0412 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \r\n\u043c\u043d\u043e\u0433\u0438\u0445 \u0441\u0442\u0440\u0430\u043d \u043c\u0438\u0440\u0430 Pascal \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044f\u043c\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043a\u043e\u043f\u0438\u043b\u043e\u0441\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0443\u0447\u0435\u0431\u043d\u0438\u043a\u043e\u0432 \u0438 \u043f\u043e\u0441\u043e\u0431\u0438\u0439, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u0438 \u0441 \u043e\u043f\u044b\u0442\u043e\u043c \u0432 Pascal. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0443\u0447\u0435\u0431\u043d\u044b\u0435 \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u043a\u043e\u043f\u0438\u0432\u0448\u0438\u0439\u0441\u044f \u043e\u043f\u044b\u0442 \u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Python.\r\n\r\n\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 Pascal\r\n\r\n\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 Pascal \r\n\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e. \u0427\u0442\u043e\u0431\u044b \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043d\u043b\u0430\u0439\u043d-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 GDB \u0438 JDoodle .\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b\r\n\r\n\u041a\u043e\u0434 \u043b\u044e\u0431\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 Pascal \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \r\n\u0447\u0451\u0442\u043a\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435. \u0415\u0441\u043b\u0438 \u0435\u0439 \u043f\u0440\u0435\u043d\u0435\u0431\u0440\u0435\u0447\u044c, \u0442\u043e \u043a\u043e\u0434 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f. \u0422\u0430\u043a \u0432 \u043e\u0431\u0449\u0435\u043c \u0432\u0438\u0434\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0448\u0430\u0431\u043b\u043e\u043d \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b:\r\n\r\nprogram ProgramName; const ConstantName = value; var VariableName: type; \r\nprocedure ProcedureName; begin end; function FunctionName: returnType; begin end; begin end.\r\n\r\n\u041f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c \u0435\u0451:\r\n\r\n- program MyFirstProgram \u2014 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \r\n\u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435. \u042d\u0442\u043e\u0442 \u0431\u043b\u043e\u043a \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0438 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u0444\u0430\u0439\u043b\u0430.\r\n- const \u2014 \u0431\u043b\u043e\u043a \u0441 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \r\n\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 (\u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e \u0445\u043e\u0434\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.\r\n\r\nconst Pi = 3.14;\r\n\r\n- var \u2014 \u0431\u043b\u043e\u043a \u0441 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445. \r\n\u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0438\u043c \u043d\u0435 \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0438\u043f.\r\n\r\nvar x, y: integer; count: integer; name: string;\r\n\r\n- procedure ProcedureName; \u2014 \u0431\u043b\u043e\u043a \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440. \r\n\u0412\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u0434 \u0441\u0430\u043c\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 begin \u0438 end.\r\n- function FunctionName: returnType; \u2014 \u0431\u043b\u043e\u043a \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \r\n\u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0422\u0443\u0442 \u0432\u0441\u0451 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0447\u0442\u043e \u0438 \u0441 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430\u043c\u0438, \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0434\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0438\u043f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f.\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435:\r\n\r\n\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 (\u0431\u0438\u0442\u043e\u0432\u044b\u0435) \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438: \r\n\u0447\u0442\u043e \u044d\u0442\u043e \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \r\n\r\n\u0422\u0430\u043a\u0436\u0435 \u0441\u0432\u043e\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0435\u0441\u0442\u044c \u0443 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432. \r\n\u041e\u043d\u0438 \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0435 \u043d\u0430\u0434\u043e \u0431\u044b\u043b\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0451 \u0441 \u043d\u0443\u043b\u044f:\r\n\r\n- + \u2014 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432;\r\n- * \u2014 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432;\r\n- - \u2014 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432;\r\n- in \u2014 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \r\n\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0443.\r\n\r\n\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0442 \u0442\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \r\n[1, 2, 3] \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e\u043c [3, 4, 5] \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e [1, 2, 3, 4, 5]:\r\n\r\nvar set1, set2, set3: set of 1..10; begin set1 := [1, 2, 3]; set2 := [3, \r\n4, 5]; set3 := set1 + set2; end.\u0423\u0441\u043b\u043e\u0432\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b\r\n\r\n\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \r\n\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f. \u0427\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f if \u2026 then \u2026 else. \u0412 \u043e\u0431\u0449\u0435\u043c \u0432\u0438\u0434\u0435 \u043e\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:\r\n\r\nif \u0443\u0441\u043b\u043e\u0432\u0438\u0435 then \u043a\u043e\u0434 else \u043a\u043e\u0434\r\n\r\n\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e else \u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \r\n\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c, \u0435\u0441\u043b\u0438 \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043b\u043e\u0436\u043d\u043e. \u042d\u0442\u043e \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0442 \u043d\u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u043e\u043d\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435.\r\n\r\n\u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \r\n\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 x \u0431\u044b\u043b\u043e \u0431\u043e\u043b\u044c\u0448\u0435 3. \u0415\u0441\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0441\u043e\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f, \u0442\u043e \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0443\u0432\u0438\u0434\u0438\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 x > 3, \u0438\u043d\u0430\u0447\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 x <= 3. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e writeln() \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c:\r\n\r\nvar x: integer; begin x := 2; if x > 3 then writeln('x > 3') else \r\nwriteln('x <= 3'); end.\r\n\r\n\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0434\u043d\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \r\n\u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445, \u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c case \u2026 of. \u0412 \u043e\u0431\u0449\u0435\u043c \u0432\u0438\u0434\u0435 \u043e\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:\r\n\r\ncase \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 of \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u04351: \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u04401; \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u04352: \r\n\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u04402; ... else \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u04403; end;\r\n\r\n\u0412 \u043a\u043e\u0434\u0435 \u0432\u044b\u0448\u0435:\r\n\r\n- \u0412\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u2014 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0438\u043b\u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \r\n\u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e Pascal \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c.\r\n- \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u2014 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f.\r\n- \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u2014 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u0434\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c, \r\n\u0435\u0441\u043b\u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0432\u043d\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e.\r\n- else \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043b\u0443\u0447\u0430\u0439, \u0435\u0441\u043b\u0438 \u043d\u0438 \u043e\u0434\u043d\u043e \r\n\u0438\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0435 \u043f\u043e\u0434\u043e\u0448\u043b\u043e.\r\n\r\n\u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \r\n\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u043d\u044f \u043d\u0435\u0434\u0435\u043b\u0438, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0435\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430:\r\n\r\nvar day: integer; begin day := 4; case day of 1: writeln('\u041f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a'); \r\n2: writeln('\u0412\u0442\u043e\u0440\u043d\u0438\u043a'); 3: writeln('\u0421\u0440\u0435\u0434\u0430'); 4: writeln('\u0427\u0435\u0442\u0432\u0435\u0440\u0433'); 5: writeln('\u041f\u044f\u0442\u043d\u0438\u0446\u0430'); else writeln('\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439'); end; end.\r\n\r\n\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f day \u0440\u0430\u0432\u043d\u0430 4, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u0434 \u0432\u044b\u0448\u0435 \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \r\n\u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0427\u0435\u0442\u0432\u0435\u0440\u0433.\u0426\u0438\u043a\u043b\u044b\r\n\r\n\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0446\u0438\u043a\u043b\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \r\n\u0431\u043b\u043e\u043a \u043a\u043e\u0434\u0430, \u043f\u043e\u043a\u0430 \u0438\u0441\u0442\u0438\u043d\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435. \u0412 Pascal \u0435\u0441\u0442\u044c \u0442\u0440\u0438 \u0432\u0438\u0434\u0430 \u0446\u0438\u043a\u043b\u043e\u0432:\r\n\r\n- for \u2026 to \u2026 do \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \r\n\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439, \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u043b\u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435.\r\n\r\nvar i: integer; begin for i := 1 to 5 do writeln('\u0418\u0442\u0435\u0440\u0430\u0446\u0438\u044f: ', \r\ni); end.\r\n\r\n- while \u2026 do \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \r\n\u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0446\u0438\u043a\u043b\u0430 \u0438\u0441\u0442\u0438\u043d\u043d\u043e. \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e.\r\n\r\nvar x: integer; begin x := 1; while x <= 5 do begin writeln('\u0418\u0442\u0435\u0440\u0430\u0446\u0438\u044f: \r\n', x); x := x + 1; end; end.\r\n\r\n- repeat \u2026 until \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \r\n\u043f\u043e\u043a\u0430 \u0438\u0441\u0442\u0438\u043d\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.\r\n\r\nvar x: integer; begin x := 1; repeat writeln('\u0418\u0442\u0435\u0440\u0430\u0446\u0438\u044f: ', x); \r\nx := x + 1; until x > 5; end.\u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438\r\n\r\n\u0414\u043b\u044f \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0432 Pascal \u0435\u0441\u0442\u044c \r\n\u0434\u0432\u0430 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430: { \u2026 } \u0438 (* \u2026 *). \u0421 \u0438\u0445 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u043e\u0434 \u0438 \u0442\u0435\u043a\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043b\u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u0432\u0430\u0441. \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u043e\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439, \u043d\u043e \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043d\u0430\u0447\u0430\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043e\u0434\u043d\u0438\u043c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c, \u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c: \r\n{ \u2026 *).\r\n\r\n\u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043e\u0434\u043d\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u044b\u043c\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u044b\u043c\u0438:\r\n\r\nbegin { \u042d\u0442\u043e \u043e\u0434\u043d\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 } { \u042d\u0442\u043e \r\n\u043c\u043d\u043e\u0433\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 \u0432 \u0441\u043a\u043e\u0431\u043a\u0430\u0445. } end.\r\n\r\n\u041f\u0440\u0438\u0432\u0435\u0442, Pascal: \u043f\u0438\u0448\u0435\u043c \u0438\u0433\u0440\u0443 \u00ab\u041a\u0430\u043c\u0435\u043d\u044c, \u043d\u043e\u0436\u043d\u0438\u0446\u044b, \r\n\u0431\u0443\u043c\u0430\u0433\u0430\u00bb\r\n\r\n\u041c\u044b \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0437\u043d\u0430\u0435\u043c \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \r\n\u0437\u0430\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0443\u044e \u0438\u0433\u0440\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435. \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043a\u043e\u0434 \u0434\u043b\u044f \u00ab\u041a\u0430\u043c\u0435\u043d\u044c, \u043d\u043e\u0436\u043d\u0438\u0446\u044b, \u0431\u0443\u043c\u0430\u0433\u0430\u00bb \u2014 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0434\u0435\u0442\u0441\u043a\u043e\u0439 \u0438\u0433\u0440\u044b. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0449\u0451 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043c\u0441\u044f \u0441 \u043c\u043e\u0434\u0443\u043b\u0435\u043c crt, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u044e, \u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b.\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435\r\n\r\n\u0414\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 Pascal \u043d\u0443\u0436\u0435\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \r\n\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u0441 \u0432\u0430\u0448\u0435\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0432\u0441\u0435\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 PascalABC.NET \u0434\u043b\u044f Windows:\r\n\r\n- \u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442 \r\n\u043f\u0440\u043e\u0435\u043a\u0442\u0430 PascalABC.NET \u0438 \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b \u0421\u043a\u0430\u0447\u0430\u0442\u044c.\r\n \r\n\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442: PascalABC.NET \/ Skillbox Media\r\n\r\n- \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443 (\u0441 \u0437\u0430\u0434\u0430\u0447\u043d\u0438\u043a\u043e\u043c \r\n\u0438\u043b\u0438 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e) \u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u0421\u043a\u0430\u0447\u0430\u0442\u044c.\r\n \r\n\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442: PascalABC.NET \/ Skillbox Media\r\n\r\n- \u0412 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u0445 \u043d\u0430\u0439\u0434\u0438\u0442\u0435 \u0444\u0430\u0439\u043b PascalABCNETSetup.exe, \r\n\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0435\u0433\u043e \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0448\u0430\u0433\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438.\r\n- \u041d\u0430\u0439\u0434\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 PascalABC.NET \u0432 \u043c\u0435\u043d\u044e \u041f\u0443\u0441\u043a \r\n\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0435\u0433\u043e.\r\n- \u0412 \u044d\u0442\u043e\u0439 \u0441\u0440\u0435\u0434\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \r\n\u043a\u043e\u0434 \u043d\u0430 Pascal \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0435\u0433\u043e.\r\n \r\n\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442: PascalABC.NET \/ Skillbox Media\u041f\u0438\u0448\u0435\u043c \u043a\u043e\u0434\r\n\r\n\u0421\u043f\u0435\u0440\u0432\u0430 \u0437\u0430\u0434\u0430\u0434\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \r\n\u043c\u043e\u0434\u0443\u043b\u044c crt \u0438 \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435. \u0421\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0432 Pascal \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 uses. \u0412 \u043a\u043e\u0434\u0435 \u0438\u0433\u0440\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435\u0433\u043e \u0442\u0440\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435:\r\n\r\n- playerChoice, computerChoice \u2014 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0445\u043e\u0434\u043e\u0432 \r\n\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430.\r\n- playAgain \u2014 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u043c\u0435\u043d\u044e.\r\n\r\nprogram RockPaperScissors; uses crt; { \u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044c \r\n\u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u044e } { \u041e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435} var playerChoice, computerChoice: integer; playAgain: char;\r\n\r\n\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \r\n\u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u043e\u0440\u0430 \u0445\u043e\u0434\u0430. \u041d\u0430\u0437\u043e\u0432\u0451\u043c \u0435\u0451 ShowChoices \u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 writeln() \u043f\u043e\u043a\u0430\u0436\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0445\u043e\u0434\u044b:\r\n\r\n{ \u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u043c\u0435\u043d\u044e} procedure \r\nShowChoices; begin writeln('\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435:'); writeln('1 - \u041a\u0430\u043c\u0435\u043d\u044c'); writeln('2 - \u041d\u043e\u0436\u043d\u0438\u0446\u044b'); writeln('3 - \u0411\u0443\u043c\u0430\u0433\u0430'); end;\r\n\r\n\u0415\u0449\u0451 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \r\n\u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044f, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0432\u044b\u0431\u043e\u0440\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430. \u041d\u0430\u0437\u043e\u0432\u0451\u043c \u0435\u0451 DetermineWinner \u0438 \u0432 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043a\u0430\u0436\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0439 \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b. \u0414\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044f \u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u043d\u043e\u0436\u043d\u0438\u0446\u044b \u0440\u0430\u0437\u0440\u0435\u0437\u0430\u044e\u0442 \u0431\u0443\u043c\u0430\u0433\u0443, \u0431\u0443\u043c\u0430\u0433\u0430 \u043e\u0431\u0435\u0437\u0432\u0440\u0435\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u0430\u043c\u0435\u043d\u044c, \u0430 \u043a\u0430\u043c\u0435\u043d\u044c \u043b\u043e\u043c\u0430\u0435\u0442 \u043d\u043e\u0436\u043d\u0438\u0446\u044b:\r\n\r\nprocedure DetermineWinner(player, computer: integer); begin { \u0412\u044b\u0432\u043e\u0434\u0438\u043c \r\n\u0445\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 } writeln('\u0412\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438: ', playerChoice); writeln('\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0432\u044b\u0431\u0440\u0430\u043b: ', computerChoice); { \u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u043e\u0440 \u0440\u0430\u0432\u0435\u043d, \u0442\u043e \u043d\u0438\u0447\u044c\u044f } if player = computer then writeln('\u041d\u0438\u0447\u044c\u044f!') { \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044f \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c } else if ((player = 1) and (computer = 2)) or ((player = 2) and (computer = 3)) or ((player = 3) and (computer = 1)) then writeln('\u0412\u044b \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438!') else writeln('\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u043f\u043e\u0431\u0435\u0434\u0438\u043b!'); end;\r\n\r\n\u0412\u0441\u0451 \u0433\u043e\u0442\u043e\u0432\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \r\n\u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u0438\u0433\u0440\u044b. \u041e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c\u0441\u044f \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u0437\u0430\u043a\u0440\u043e\u0435\u0442 \u0438\u0433\u0440\u0443, \u0432\u0432\u0435\u0434\u044f \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0441\u0438\u043c\u0432\u043e\u043b n \u0438\u043b\u0438 N. \u041e\u0431\u0449\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u0438\u0433\u0440\u044b \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:\r\n\r\n- \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b.\r\n- \u041e\u0447\u0438\u0449\u0430\u0435\u043c \u044d\u043a\u0440\u0430\u043d \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 clrscr \r\n\u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u044f crt, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0440\u0430\u043d\u0435\u0435, \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043c\u0435\u043d\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b ShowChoices.\r\n- \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0445\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \r\n\u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0432\u0432\u0451\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0432 \u043c\u0435\u043d\u044e (\u0447\u0438\u0441\u043b\u0430 \u043e\u0442 1 \u0434\u043e 3). \u0415\u0441\u043b\u0438 \u0432\u0432\u0451\u043b \u0447\u0442\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0435, \u0442\u043e \u043f\u0440\u043e\u0441\u0438\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0431\u043e\u0440 \u0435\u0449\u0451 \u0440\u0430\u0437.\r\n- \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u0445\u043e\u0434 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \r\n\u0444\u0443\u043d\u043a\u0446\u0438\u0438 random () \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b DetermineWinner.\r\n- \u0421\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0445\u043e\u0447\u0435\u0442 \u043b\u0438 \u043e\u043d \u0441\u044b\u0433\u0440\u0430\u0442\u044c \r\n\u0435\u0449\u0451 \u0440\u0430\u0437.\r\n\r\n\u041a\u043e\u0434 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u0438\u0433\u0440\u044b \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:\r\n\r\n{ \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u0434 \u0438\u0433\u0440\u044b } begin { \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \r\n\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b } randomize; repeat { \u041e\u0447\u0438\u0449\u0430\u0435\u043c \u044d\u043a\u0440\u0430\u043d \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0430\u0443\u043d\u0434\u0430 } clrscr; { \u0412\u044b\u0432\u043e\u0434\u0438\u043c \u043c\u0435\u043d\u044e } ShowChoices; { \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0445\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f } write('\u0412\u0430\u0448 \u0445\u043e\u0434 (1-3): '); readln(playerChoice); { \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u0432\u0432\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u0443\u0441\u043b\u043e\u0432\u0438\u044e } if (playerChoice < 1) or (playerChoice > 3) then begin writeln('\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430.'); continue; { \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0446\u0438\u043a\u043b\u0430 } end; { \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u0445\u043e\u0434 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430: 1 \u2014 \u043a\u0430\u043c\u0435\u043d\u044c, 2 \u2014 \u043d\u043e\u0436\u043d\u0438\u0446\u044b, 3 \u2014 \u0431\u0443\u043c\u0430\u0433\u0430} computerChoice := random(3) + 1; { \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044f} DetermineWinner(playerChoice, computerChoice); { \u0421\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c, \u0445\u043e\u0447\u0435\u0442 \u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u044b\u0433\u0440\u0430\u0442\u044c \u0435\u0449\u0451 \u0440\u0430\u0437} writeln; write('\u0425\u043e\u0442\u0438\u0442\u0435 \u0441\u044b\u0433\u0440\u0430\u0442\u044c \u0435\u0449\u0451 \u0440\u0430\u0437? (y\/n): '); readln(playAgain); { \u0426\u0438\u043a\u043b \u0438\u0433\u0440\u044b \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u0432\u0432\u0435\u0434\u0451\u0442 n \u0438\u043b\u0438 N } until (playAgain = 'n') or (playAgain = 'N'); { \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0438\u0433\u0440\u0443 } writeln('\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0438\u0433\u0440\u0443!'); end.\r\n\r\n\u0410 \u0442\u0430\u043a \u0438\u0433\u0440\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438:\r\n \r\n\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438\u0433\u0440\u044b \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438\r\n\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442: PascalABC.NET \/ Skillbox Media\r\n\r\n\u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043a\u043e\u0434 \u0438\u0433\u0440\u044b \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:\r\n\r\n\r\nprogram RockPaperScissors; uses crt; { \u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044c \r\n\u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u044e } { \u041e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435} var playerChoice, computerChoice: integer; playAgain: char; { \u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u043c\u0435\u043d\u044e} procedure ShowChoices; begin writeln('\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435:'); writeln('1 - \u041a\u0430\u043c\u0435\u043d\u044c'); writeln('2 - \u041d\u043e\u0436\u043d\u0438\u0446\u044b'); writeln('3 - \u0411\u0443\u043c\u0430\u0433\u0430'); end; procedure DetermineWinner(player, computer: integer); begin { \u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0445\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 } writeln('\u0412\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438: ', playerChoice); writeln('\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0432\u044b\u0431\u0440\u0430\u043b: ', computerChoice); { \u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u043e\u0440 \u0440\u0430\u0432\u0435\u043d, \u0442\u043e \u043d\u0438\u0447\u044c\u044f } if player = computer then writeln('\u041d\u0438\u0447\u044c\u044f!') { \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044f \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c } else if ((player = 1) and (computer = 2)) or ((player = 2) and (computer = 3)) or ((player = 3) and (computer = 1)) then writeln('\u0412\u044b \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438!') else writeln('\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u043f\u043e\u0431\u0435\u0434\u0438\u043b!'); end; { \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u0434 \u0438\u0433\u0440\u044b } begin { \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b } randomize; repeat { \u041e\u0447\u0438\u0449\u0430\u0435\u043c \u044d\u043a\u0440\u0430\u043d \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0430\u0443\u043d\u0434\u0430 } clrscr; { \u0412\u044b\u0432\u043e\u0434\u0438\u043c \u043c\u0435\u043d\u044e } ShowChoices; { \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0445\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f } write('\u0412\u0430\u0448 \u0445\u043e\u0434 (1-3): '); readln(playerChoice); { \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u0432\u0432\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u0443\u0441\u043b\u043e\u0432\u0438\u044e } if (playerChoice < 1) or (playerChoice > 3) then begin writeln('\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430.'); continue; { \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0446\u0438\u043a\u043b\u0430 } end; { \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u0445\u043e\u0434 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430: 1 \u2014 \u043a\u0430\u043c\u0435\u043d\u044c, 2 \u2014 \u043d\u043e\u0436\u043d\u0438\u0446\u044b, 3 \u2014 \u0431\u0443\u043c\u0430\u0433\u0430} computerChoice := random(3) + 1; { \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044f} DetermineWinner(playerChoice, computerChoice); { \u0421\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c, \u0445\u043e\u0447\u0435\u0442 \u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u044b\u0433\u0440\u0430\u0442\u044c \u0435\u0449\u0451 \u0440\u0430\u0437} writeln; write('\u0425\u043e\u0442\u0438\u0442\u0435 \u0441\u044b\u0433\u0440\u0430\u0442\u044c \u0435\u0449\u0451 \u0440\u0430\u0437? (y\/n): '); readln(playAgain); { \u0426\u0438\u043a\u043b \u0438\u0433\u0440\u044b \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u0432\u0432\u0435\u0434\u0451\u0442 n \u0438\u043b\u0438 N } until (playAgain = 'n') or (playAgain = 'N'); { \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0438\u0433\u0440\u0443 } writeln('\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0438\u0433\u0440\u0443!'); end.\r\n\r\n\u0427\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435\r\n\r\n\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0438\u0437\u0443\u0447\u0438\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0441\u043d\u043e\u0432\u044b \r\n\u044f\u0437\u044b\u043a\u0430, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u0433\u0440\u0443\u0437\u0438\u0442\u044c\u0441\u044f \u0433\u043b\u0443\u0431\u0436\u0435 \u0432 Pascal, \u0442\u043e \u0432\u043e\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432:\r\n\r\n- \u041a\u0443\u0440\u0441\u044b \u043f\u043e PascalABC.NET \u043d\u0430 Stepik \r\n \u2014 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043a\u0443\u0440\u0441\u043e\u0432 \u043a\u0430\u043a \u0434\u043b\u044f \u0448\u043a\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u0432, \u0442\u0430\u043a \u0438 \u0434\u043b\u044f \u0432\u0437\u0440\u043e\u0441\u043b\u044b\u0445. \u0415\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043d\u0430 \u0415\u0413\u042d.\r\n- \u041a\u043d\u0438\u0433\u0438 \u043f\u043e PascalABC.NET \u2014 \r\n\u043a\u043d\u0438\u0433\u0438 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u041e\u0441\u0438\u043f\u043e\u0432\u0430 \u0438 \u0412\u0430\u043b\u0435\u0440\u0438\u044f \u0420\u0443\u0431\u0430\u043d\u0446\u0435\u0432\u0430 \u043f\u043e\u0434\u043e\u0439\u0434\u0443\u0442 \u0434\u043b\u044f \u0448\u043a\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u0432 \u0438 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043f\u0435\u0440\u0432\u044b\u0445 \u043a\u0443\u0440\u0441\u043e\u0432, \u0430 \u0434\u0432\u0443\u0445\u0442\u043e\u043c\u043d\u0438\u043a \u041c\u0438\u0445\u0430\u0438\u043b\u0430 \u0410\u0431\u0440\u0430\u043c\u044f\u043d\u0430 \u2014 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043e\u0442 \u042e\u0436\u043d\u043e\u0433\u043e \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0430 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.\r\n- LearnPascal \u2014 \u0441\u0430\u0439\u0442 \u0441 \u0443\u0440\u043e\u043a\u0430\u043c\u0438 \r\n\u043f\u043e Pascal \u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0437\u0430\u0434\u0430\u0447.\r\n- Rosetta Code [ https:\/\/rosettacode.org\/wiki\/Category:Pascal ] \u2014 \r\n\u0441\u0431\u043e\u0440\u043d\u0438\u043a \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0437\u0430\u0434\u0430\u0447, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043d\u0430 Pascal.\r\n- Codewars \u2014 \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \r\n\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u0434\u0430\u0447. \u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c Pascal.\r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n\r\n\u0411\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e \u043a\u043e\u0434 \u2014 \u0432 \u043d\u0430\u0448\u0435\u043c \r\n\u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c-\u043a\u0430\u043d\u0430\u043b\u0435 . \u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c!\r\n\r\n\r\n\r\n\u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435:\r\n\r\n- \u0421 \u043a\u0430\u043a\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043d\u0430\u0447\u0430\u0442\u044c \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \r\n \r\n- \u0422\u0435\u0441\u0442. \u041a\u0430\u043a\u043e\u0439 \u044f\u0437\u044b\u043a \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u0442\u0435 \u0432\u044b \u2014 Java \u0438\u043b\u0438 \r\nPython? \r\n- \u041a\u0430\u043a \u0438\u0437\u0443\u0447\u0438\u0442\u044c Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e: \r\n\u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \r\n\r\n\r\n\r\n\r\n\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u043d\u044b\u043c Pascal \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \r\n\u0447\u0442\u043e \u043e\u043d \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u0432\u044b\u0437\u043e\u0432\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u043a\u043e\u0434\u0435, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0435\u0440\u0435\u043f\u0435\u0447\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0430\u043c \u0441\u043a\u0440\u0438\u043f\u0442.\r\n\r\n\r\n\r\n\r\n\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u2014 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0430 \r\n\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043a\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 \u0431\u043b\u043e\u043a\u043e\u0432, \u0438\u043c\u0435\u0442\u044c \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0438 \u0446\u0438\u043a\u043b\u0430\u043c\u0438. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0432\u0435\u0440\u0445\u0443 \u0432\u043d\u0438\u0437.\r\n\r\n\r\n\r\n\r\n\u0421\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a \u043a\u0443\u043b\u044c\u0442\u043e\u0432\u043e\u0433\u043e Xerox PARC [ https:\/\/skillbox.ru\/media\/code\/parc-kompyuternogo-perioda\/?ysclid=m21y3y0les309580738 ] \r\n, \u0430\u0432\u0442\u043e\u0440 \u0432\u0441\u0435\u043c\u0438 \u043b\u044e\u0431\u0438\u043c\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043a\u043b\u0430\u0432\u0438\u0448 Ctrl + C, Ctrl + V ;)","author":{"@type":"Person","name":"\u0420\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u00ab\u041a\u043e\u0434\u00bb Skillbox\u00a0Media","url":"https:\/\/skillbox.ru\/media\/authors\/code-skillbox-media\/"},"publisher":{"@type":"Organization","name":"Skillbox","logo":{"@type":"ImageObject","url":"https:\/\/skillbox.ru\/static\/images\/skillbox.png"}},"mainEntityOfPage":{"@type":"WebPage","url":"https:\/\/skillbox.ru\/media\/code\/pascal-chto-eto-za-yazyk-chem-on-khorosh-i-pochemu-ego-do-sikh-por-prepodayut-v-shkolakh\/"},"datePublished":"2024-10-11T07:53:00Z","dateModified":"2024-10-11T14:40:52Z","image":{"@type":"ImageObject","url":["https:\/\/248006.selcdn.ru\/main\/iblock\/6a7\/6a701703846873adce0e9dc4e4714ac9\/524d741fbb79e7a96dcf996692ee9f96.png"]},"description":"\u0418\u0437\u0443\u0447\u0430\u0435\u043c \u044f\u0437\u044b\u043a \u043f\u0440\u0435\u0434\u043a\u043e\u0432 \u0438 \u043f\u0438\u0448\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u2014 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u0443\u044e \u0438\u0433\u0440\u0443."}
</script><script data-skip-moving="true" id="FiMjZmipVK5U4ODg">if (window.relap) window.relap.ar('FiMjZmipVK5U4ODg');</script> </div>
<script>
window.Section_id = 10;
</script>
</div>
</main>
<footer class="without-buttons">
<div class="footer__wrapper container">
<div class="footer__firstgroup">
<section class="footer__contactbox">
<address class="footer__contacts">
<p class="footer__contacts-block">
<a class="footer__phone link" href="tel:+74951540915">8 (800) 500-05-22</a>
<span class="footer__phone-caption">Контактный центр</span>
</p>
<p class="footer__contacts-block">
<a class="footer__phone link" href="tel:+74952915987">+7(495) 291-59-87</a>
<span class="footer__phone-caption">Отдел заботы о пользователях</span>
</p>
<p class="footer__address"> Москва, Ленинский проспект, дом 6, строение 20</p>
</address>
<ul class="social-contacts footer__social">
<li>
<a class="social-contacts__item" href="https://vk.com/skillbox_education"
aria-label="Вконтакте">
<img src="/static/images/footer/soc_vk.svg"/>
</a>
</li>
<li>
<a class="social-contacts__item"
href="https://www.youtube.com/channel/UC2FJq-Rr7v4SlKAoM7x0ZhA" aria-label="YouTube">
<img src="/static/images/footer/soc_tube.svg"/>
</a>
</li>
<li>
<a class="social-contacts__item" href="tg://resolve?domain=skillboxru"
aria-label="Telegram">
<img src="/static/images/footer/soc_tg.svg"/>
</a>
</li>
</ul>
<div class="footer__age-limit">
16+
</div>
</section>
<section class="footer__rewardbox">
<ul class="rewards footer__rewards">
<li>
<span class="rewards__item">
<img src="/static/images/footer/footer_runet.svg" alt=""/>
<span>Премии Рунета</span>
<span>2018, 2019, 2020</span>
</span>
</li>
</ul>
</section>
</div>
<section class="footer__linksbox">
<ul class="links__list links__list--courses">
<li class="links__item links__item--header">Все направления</li>
<li class="links__item"><a href="/code/?utm_source=media&utm_medium=button&utm_campaign=footerlink_code&utm_term=footer">Программирование</a></li>
<li class="links__item"><a href="/design/?utm_source=media&utm_medium=button&utm_campaign=footerlink_design&utm_term=footer">Дизайн</a></li>
<li class="links__item"><a href="/marketing/?utm_source=media&utm_medium=button&utm_campaign=footerlink_marketing&utm_term=footer">Маркетинг</a></li>
<li class="links__item"><a href="/management/?utm_source=media&utm_medium=button&utm_campaign=footerlink_management&utm_term=footer">Управление</a></li>
<li class="links__item"><a href="/games/?utm_source=media&utm_medium=button&utm_campaign=footerlink_gamedev&utm_term=footer">Игры</a></li>
<li class="links__item"><a href="/multimedia/?utm_source=media&utm_medium=button&utm_campaign=footerlink_multimedia&utm_term=footer">Мультимедиа</a></li>
<li class="links__item"><a href="/psychology/?utm_source=media&utm_medium=button&utm_campaign=footerlink_psychology&utm_term=footer">Психология</a></li>
<li class="links__item"><a href="/general-development/?utm_source=media&utm_medium=button&utm_campaign=footerlink_general-development&utm_term=footer">Общее развитие</a></li>
<li class="links__item"><a href="/engineering/?utm_source=media&utm_medium=button&utm_campaign=footerlink_engineering&utm_term=footer">Инженерия</a></li>
<li class="links__item"><a href="/english/?utm_source=media&utm_medium=button&utm_campaign=footerlink_english&utm_term=footer">Английский язык</a></li>
<li class="links__item"><a href="/other/?utm_source=media&utm_medium=button&utm_campaign=footerlink_other&utm_term=footer">Другое</a></li>
</ul>
<ul class="links__list links__list--about">
<li class="links__item links__item--header">О Skillbox</li>
<li class="links__item"><a href="/company/?utm_source=media&utm_medium=button&utm_campaign=footerlink_aboutskillbox&utm_term=footer">О Платформе</a></li>
<li class="links__item"><a href="/career/?utm_source=media&utm_medium=button&utm_campaign=footerlink_careercentr&utm_term=footer"> Центр карьеры</a></li>
<li class="links__item"><a href="/otzyvy/?utm_source=media&utm_medium=button&utm_campaign=footerlink_testimonials&utm_term=footer">Отзывы</a></li>
<li class="links__item"><a href="/contacts/?utm_source=media&utm_medium=button&utm_campaign=footerlink_skillboxcontacts&utm_term=footer">Контакты</a></li>
<li class="links__item"><a href="/jobs/?utm_source=media&utm_medium=button&utm_campaign=footerlink_jobs&utm_term=footer">Вакансии</a></li>
<li class="links__item"><a href="/teachers/?utm_source=media&utm_medium=button&utm_campaign=footerlink_school&utm_term=footer">Школа кураторов</a></li>
<li class="links__item"><a href="/sale/free/?utm_source=media&utm_medium=button&utm_campaign=footerlink_free&utm_term=footer">Бесплатно</a></li>
<li class="links__item"><a href="/media/topic/tests/?utm_source=media&utm_medium=button&utm_campaign=footerlink_tests&utm_term=footer">Онлайн-тесты</a></li>
</ul>
<ul class="links__list links__list--webinar">
<li class="links__item links__item--header">Вебинары</li>
<li class="links__item"><a href="https://live.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_webinars&utm_term=footer" target="_blank" rel="noopener">Все вебинары</a></li>
<li class="links__item"><a href="https://live.skillbox.ru/playlists/?utm_source=media&utm_medium=button&utm_campaign=footerlink_playlists&utm_term=footer" target="_blank" rel="noopener">Плейлисты</a></li>
<li class="links__item"><a href="https://live.skillbox.ru/calendar/?utm_source=media&utm_medium=button&utm_campaign=footerlink_schedule&utm_term=footer" target="_blank" rel="noopener">Расписание</a></li>
</ul>
<ul class="links__list links__list--last">
<li class="links__item links__journal"><a href="/media/" target="_blank" rel="noopener">Медиа</a></li>
<li class="links__item"><a href="https://partners.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_partners&utm_term=footer" target="_blank" rel="noopener">Партнерская программа</a></li>
<li class="links__item"><a href="https://b2b.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_b2b&utm_term=footer" target="_blank" rel="noopener">Корпоративным клиентам</a></li>
<li class="links__item"><a href="https://career.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_employees&utm_term=footer" target="_blank" rel="noopener">Для работодателей</a></li>
</ul>
</section>
</div>
<div class="footer__underline container">
<span class="footer__copy">
© Skillbox, 2026 </span>
<div>
<span class="footer__oferta">
<a href="/oferta.pdf" target="_blank">Договор оферты</a>
</span>
<span class="footer__payment">
<a href="/payments/" target="_blank">Оплата</a>
</span>
<span class="footer__use-policy">
<a href="/terms_of_use.pdf" target="_blank">Правила пользования Платформой</a>
<a href="/privacy_policy.pdf" target="_blank">Политика конфиденциальности</a>
</span>
</div>
</div>
</footer>
<div class="cookies">
<p class="cookies__desc">
Пользуясь нашим сайтом, вы соглашаетесь с тем, что
<a href="https://skillbox.ru/privacy_policy.pdf" target="_blank" rel="noopener"
type="application/pdf">мы используем cookies</a> 🍪
</p>
<button type="button" class="cookies__button">
Окей
</button>
</div>
<div class="subscribe-popup subscribe">
<div class="subscribe-popup__spacer-mobile"></div>
<div class="subscribe-popup__row-content ">
<button class="subscribe__close"></button>
<div class="subscribe__content">
<div data-subscribe-popup-success class="hidden">
<h2 class="subscribe__header-success">Спасибо за подписку! Забирайте 5 бесплатных курсов:</h2>
<ul class="subscribe__list-block">
<li>Найти себя в IT за 5 дней</li>
<li>Как найти себя в дизайне в 2025 году</li>
<li>Интерьеры, мебель, ландшафт и декорирование</li>
<li>Интернет-маркетинг на практике</li>
<li>Бизнес-аналитик, продакт- и проджект-менеджер</li>
</ul>
<div class="subscribe__btns-el">
<a
target="_blank"
href="https://refer.id/?bot=skillbox_main_bot&platform=telegram&verbose_name=Skillbox&bot_avatar=https://designer.ftrcdn.com/uploads/bot_avatars/medium_54ab1ce8c393eb3df1474846ce0a0e2c.png&n=137050&c=9209&bc_number=890&?utm_source=media&utm_medium=&utm_campaign=all_all_media_banners_invite_sbornik-890_all_bot_skillbox"
class="subscribe__el-btn">Получить доступ</a>
</div>
</div>
<div data-subscribe-popup-content>
<h2 class="subscribe__header">У нас есть классные рассылки!</h2>
<form action="/media/code/pascal-chto-eto-za-yazyk-chem-on-khorosh-i-pochemu-ego-do-sikh-por-prepodayut-v-shkolakh/" class="newsletter-form page-subscription__form3" data-type="popup">
<input type="hidden" name="action" value="subscribe">
<div class="subscribe__checkboxes"></div>
<div class="subscribe__email email_popup">
<input class="subscribe-form__input" type="text" name="email" placeholder="Email" >
<span class="subscribe-form__label-name">Электронная почта</span>
<button type="submit" class="popup-btn-click">Подписаться</button>
<span class="email__error">Поле необходимо заполнить</span>
</div>
<div class="subscribe-popup__checkbox-end">
<div class="subscribe-popup__checkbox-item" data-checkbox-personal-data>
<div class="subscribe__checkbox">
<input type="checkbox" name="agreements[PERS]" id="isCheckTrue" value="1" data-checkbox-personal-data-input>
<label for="isCheckTrue"><span>Я согласен на <a target="_blank" href="https://skillbox.ru/legal-docs/chou/file/privacy_policy/version-290425.pdf">обработку персональных данных</a></span></label>
</div>
<span class="email__error">Нужно ваше согласие</span>
</div>
<div class="subscribe__bottom">
<span>Нажимая на кнопку, я соглашаюсь с <a target="_blank" href="https://skillbox.ru/legal-docs/skillbox/file/terms_of_use/version-300824.pdf">правилами пользования Платформой</a></span>
</div>
<div class="subscribe-popup__checkbox-item" data-checkbox-personal-data-two>
<div class="subscribe__checkbox subscribe__checkbox--end" >
<input type="checkbox" name="agreements[ADS]" id="isAdsCalls" value="1" checked="" data-checkbox-personal-data-input-two>
<label for="isAdsCalls">Я согласен <a target="_blank" href="https://skillbox.ru/legal-docs/chou/file/soglasie-na-poluchenie-reklamy.pdf">получать рекламу и звонки</a></label>
</div>
<span class="email__error">Нужно ваше согласие</span>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- src="/static/images/articles/subscribe-popup-img.png" -->
</div>
<div class="bg-modal-overlay bg-modal-overlay--transparent"></div>
<script data-skip-moving="true" id="popup__data--formatted">
$(".popup-btn-click").on("click" , function (){
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
let input = $(this).closest(".subscribe__email").find(".subscribe-form__input");
let inputValue = input.val();
if(emailPattern.test(inputValue)) {
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() { rrApi.setEmail(inputValue);});
}
});
/*
window.popupData = {
"8": {
header: 'У нас есть классные рассылки про дизайн!!!',
category: 'Дизайн',
checkboxes: [
'Лучшие статьи про Дизайн',
'«Типографика без боли»'
]
},
"10": {
header: 'У нас есть классные рассылки про код',
category: 'Код',
checkboxes: [
'Лучшие статьи про Код и Людей кода',
'«Жизнь без багов»'
]
},
"18": {
category: 'Геймдев',
checkboxes: []
},
"21": {
header: 'У нас есть классные рассылки про бизнес',
category: 'Бизнес',
checkboxes: [
'Лучшие статьи про Бизнес',
'«Цифровая жизнь»',
'«EdTech по полочкам»'
]
},
"9": {
header: 'У нас есть классные рассылки про бизнес',
category: 'Маркетинг',
checkboxes: [
'Лучшие статьи про Бизнес',
'«Цифровая жизнь»',
'«EdTech по полочкам»'
]
},
"11": {
header: 'У нас есть классные рассылки про бизнес',
category: 'Управление',
checkboxes: [
'Лучшие статьи про Бизнес',
'«Цифровая жизнь»',
'«EdTech по полочкам»'
]
},
"17": {
category: 'Развитие',
checkboxes: []
},
"22": {
header: 'У нас есть классные рассылки про образование',
category: 'Образование',
checkboxes: [
'Лучшие статьи про Образование',
'«EdTech по полочкам»',
'«Мой успешный онлайн-курс»'
]
},
}
*/
window.popupData = {"header":"\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 - \u043d\u0430 \u043f\u043e\u0447\u0442\u0443!\u003Cbr\/\u003E\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u043c\u0443 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438\u003Cbr\/\u003E\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 5 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043a\u0443\u0440\u0441\u043e\u0432:","category":"\u041a\u043e\u0434","checkboxes":{"23":"\u041c\u0435\u043d\u0435\u0434\u0436\u043c\u0435\u043d\u0442","24":"\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433","26":"\u041a\u043e\u0440\u043f. \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435","13":"\u0414\u0438\u0437\u0430\u0439\u043d","16":"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435","15":"\u041e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","17":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u0433\u0440","18":"\u041f\u0441\u0438\u0445\u043e\u043b\u043e\u0433\u0438\u044f, \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e"},"code":"code","scroll":true};
window.subscribePopupShow = 1;
</script>
<div class="copied">
<img src="/static/images/articles/done-circle.svg" alt="" class="copied__icon">
<p class="copied__text">
Ссылка скопирована
</p>
</div>
<!-- <style>@font-face{font-display:swap;font-family:Graphik;font-weight:500;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Medium.woff2) format("woff2")}@font-face{font-display:swap;font-family:Graphik;font-weight:700;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Bold.woff2) format("woff2")}.universal-notice{box-sizing:border-box;text-decoration:none;display:none;min-height:48px;color:var(--banner-color);background-color:var(--banner-bg);overflow:hidden;font-family:Graphik,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:opacity .25s ease-in-out;transition:opacity .25s ease-in-out}.universal-notice *{box-sizing:inherit}.universal-notice.universal-notice--active{display:block}.universal-notice--bitrix{z-index:1000}.universal-notice__wrapper{position:relative;-webkit-box-pack:start;justify-content:flex-start;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;margin-left:12px;padding:4px 0}.universal-notice__title{position:relative;flex-shrink:0;width:132px;margin-right:27px;font-size:14px;line-height:20px;text-transform:uppercase}.universal-notice__timer{display:none;margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.universal-notice__button{flex-shrink:0;min-width:120px;padding:8px 12px;border-radius:25px;font-weight:500;font-size:12px;line-height:16px;color:#3925b7;text-align:center;text-transform:uppercase;background-color:#ffa6a6}@media (min-width:768px){.universal-notice{min-height:72px}.universal-notice__wrapper{-webkit-box-pack:center;justify-content:center;height:72px;margin:0}.universal-notice__title{width:252px;margin-right:32px;margin-left:20px;font-size:24px;line-height:32px}.universal-notice__button{min-width:200px;margin-right:20px;padding:14px 36px;font-size:16px;line-height:20px}}@media (min-width:768px) and (max-width:0px){.universal-notice{min-height:72px}.universal-notice__wrapper{-webkit-box-pack:center;justify-content:center;height:72px;margin:0}.universal-notice__title{width:252px;margin-right:32px;margin-left:20px;font-size:24px;line-height:32px}.universal-notice__button{min-width:200px;margin-right:20px;padding:14px 36px;font-size:16px;line-height:20px}}@media (min-width:1280px) and (max-width:0px){.universal-notice__wrapper{padding:0}.universal-notice__title{width:unset;margin-right:76px}.universal-notice__timer{flex-shrink:0;margin-right:32px;font-weight:700;font-size:24px;line-height:32px}.universal-notice__timer.js-universal-notice-active{display:-webkit-box;display:flex}.universal-notice__days{margin-right:5px}}@media (min-width:1280px){.universal-notice__wrapper{padding:0}.universal-notice__title{width:unset;margin-right:76px}.universal-notice__timer{flex-shrink:0;margin-right:32px;font-weight:700;font-size:24px;line-height:32px}.universal-notice__timer.js-universal-notice-active{display:-webkit-box;display:flex}.universal-notice__days{margin-right:5px}}</style>-->
</body>
</html>