Pascal – язык программирования, используемый новичками. Он подходит для изучения основ алгоритмизации. Практическое применение языка Паскаль в обыденной жизни сильно ограничено. В своем «чистом» виде он используется крайне редко, в основном, для обучения. В основном встречаются различные диалекты этого ЯП.
Pascal является достаточно простым для изучения языком. В его основе лежат операторы и функции. Далее предстоит рассмотреть их более подробно. Также необходимо изучить структуру программы, написанной на Паскале. Эта информация больше подойдет новичкам, которые ранее не имели дел с разработкой программного обеспечения.
Паскаль – это…
Pascal – универсальное средство программирования со строгой структурой программ, а также типизацией. У него интуитивно понятный синтаксис, основанный на ABC. Она напоминает английский.
Паскаль разработан в 1970-х годах. Он базируется на Algol-68. Никлаус Вирт, швейцарский ученый, решил представить Pascal студентам. С его помощью ученикам предлагалось вникнуть в суть структурного программирования.
Pascal – императивный алгоритмический язык. Имеет множество диалектов:
- UCSD;
- Object;
- Turbo – один из самых популярных вариантов;
- Midlet;
- PascalABC.NET – основанный на платформе .NET.
Также можно встретить диалекты Free, TMT и GNU.
Особенности работы
Пас каль – императивный язык. Он позволяет представлять программы в качестве набора операторов (команд), которые выполняются последовательно. Здесь необходимо запомнить следующие правила:
- операторы обрабатываются друг за другом;
- каждая следующая команда использует данные, полученные на предыдущем этапе обработки исходного кода;
- результаты выполнения операторов будут записаны программой непосредственно в память устройства.
Pascal – это язык с сильной (строгой) типизацией. За счет этого различные элементы и конструкции программы (функции, операторы, переменные, модули и так далее) получают конкретные, заранее определенные свойства. Такой прием помогает понять системе, какие операции можно выполнять с каждым записанным выражением. Это способствует избавлению от большинства ошибок компиляции. Программы, написанные на рассматриваемом ЯП, являются более устойчивыми к аварийным отказам.
Плюсы и минусы
Паскаль – язык, который изучается на уроках под названием «Информатика» в старших классах общеобразовательных учреждениях. В своем первоначальном виде он практически не встречается, но некоторые его диалекты до сих пор пользуются спросом в некоторых областях. Паскаль обладает преимуществами и недостатками, которые необходимо знать. Эта информация поможет выяснить, стоит ли изучать ЯП более подробно, или лучше отдать предпочтение другому.
Сильные стороны языка
Паскаль имеет следующие преимущества:
- Простой и понятный синтаксис. За счет этого его сможет быстро освоить даже новичок.
- Изучение в школьной программе на уроке «Информатика». Pascal служит базовым языком разработки, помогающий разобраться в принципах создания программного обеспечения.
- Компилируемость. Программа, написанная на рассматриваемом языке, может быть переведена в машинный код без дополнительного обеспечения. Пользователю не придется устанавливать ни виртуальные машины, ни интерпретаторы. Скрипт будет работать «по умолчанию».
- Строгая типизация. С ее помощью удается свести ошибки в итоговой программе к минимуму. Также это помогает оптимизировать работу с памятью устройства.
- Структурированность программ. Код получается читабельным и понятным. Найти в нем даже неочевидные ошибки оказывается намного проще, чем в случае с другими языками разработки.
- Множество диалектов.
- Работа программ, написанных на Паскале, базируется на последовательном выполнении операторов и функций. Никаких сложных связей и объектов.
Это – неплохой вариант для тех, кто только учится программировать. Более опытным разработчикам Паскаль не нужен. А вот на уроке «Информатика» в школе или при самостоятельном погружении в азы разработки программного обеспечения, он более чем пригодится. На основе элементарных операций данный ЯП объяснит достаточно сложные процессы.
Слабые стороны
Pascal имеет такие недостатки:
- Сильная ограниченность взаимодействия с компонентами, написанными на других языках программирования.
- Меньшая приспособленность для решения некоторых узкоспециализированных задач.
- Ограниченные возможности работы с динамической памятью, а также массивами с переменной длиной.
- Относительно небольшая функциональность – для большинства современных приложений и игр встроенных возможностей Паскаля будет не хватать.
Все это приводит к тому, что упомянутый язык имеет в реальной жизни сильную ограниченность. Программ на нем, имеющих практическое применение, очень мало. Диалекты Pascal используются для некоторых узкоспециализированных задач.
Этот язык сложно назвать стремительно развивающимся и современным. Он устаревает, но не теряет своей популярности из-за структурированности и дружелюбности. Учить его рекомендуется преимущественно новичкам.
Области применения
Pascal подойдет для написания первых программ при погружении в основы разработки. Он используется в следующих сферах жизни:
- Промышленность. В основном подразумевается написание программ на диалектах Object и Turbo. На них создаются программы для оборудования с микроконтроллерами.
- Бизнес. В современных бизнес-приложениях используется в единичных случаях. Паскаль пользовался спросом в 2000-х годах в соответствующем направлении. Некоторые компании до сих пор используют написанные тогда программы для решения отдельных задач. Новое программное обеспечение на Паскале для бизнеса не пишется.
- Разработка новых ЯП. Pascal – это язык, который залег в основу большинства современных популярных средств разработки. Некоторые производители придумывают собственные диалекты для ТВ-приставок, а также бытовой техники и электроники.
- Школа. В России и других странах мира данный ЯП применяется для обучения основам разработки «с нуля».
Это – неплохой вариант, чтобы понять, как работают программы, а также обрабатываются функции и операторы. Для полноценной разработки современного ПО он не подойдет.
Терминология
Перед изучением структуры приложений, а также команд и операторов Паскаля, каждый разработчик должен запомнить несколько терминов и понятий. Они пригодятся всем, независимо от выбранного для дальнейшего применения ЯП:
- Алгоритм – набор инструкций и команд. Они используются для решения поставленной задачи.
- Переменная – место хранения информации и памяти. Поддерживает некоторые операции – удаление, считывание и запись, корректировку.
- Указатель – переменная, которая включает в себя адрес места в памяти. С его помощью удается обращаться к конкретному элементу массива.
- Массив – список или группа схожих типов значений данных, которые ранее прошли группировку. Все значения в пределах упомянутого элемента будут обладать одним и тем же типом данных. Отличаются они исключительно по положению в массиве.
- Символ – элементарная единица отображения данных в программе. Равняется одной символьной или буквенной записи.
- Класс – набор связанных объектов с общими свойствами. Этот термин применим к объектно-ориентированному программированию.
- Константа – значение, которое всегда остается неизменным. Оно не изменяется на протяжении всего периода работы приложения.
- Тип данных – классификация информации определенного типа.
- Цикл – петля. Последовательность инструкций, которые будут повторять один и тот же процесс многократно. Делается это или до достижения ранее указанного в коде условия, или до получения команды на остановку.
- Итерация – проход через заданный набор операций, работающих с программным кодом.
- Ключевое слово – слово, зарезервированное синтаксисом языка. Используется для описания команд, функций, а также иных инструментов/возможностей ЯП.
Также стоит обратить внимание на определения «операнд» — объект, которым можно управлять через разные операторы. Оператор – это элемент кода, способный манипулировать через специальные команды имеющимися операндами. Далее этот момент будет изучен более подробно.
Структура программы
Паскаль – язык, в котором программы обладают строго определенной структурой. Они делятся на «смысловые» блоки, называемые «разделы». Каждый вариант отвечает за определенные возможности и информацию:
Как называются разделыОсобенности и описаниеProgramНеобязательный блок. Служит для формирования имени программы. Выводит на экран при обработке исходного кода имя проекта.Uses crt, graphПодключаемые модули. Ctr – блок, который используется для очистки экрана после выполнения тех или иных операций. Работает при помощи команды clrscr. Graph отвечает за внедрение в исходный код приложения возможностей работы с графикой.LabelМетки. Раздел, в котором используется команда Goto. Он помогает перейти к элементам, помеченным в качестве «закладок». Служит безусловным переходом.ConstРаздел, отвечающий за постоянные величины – константы. Поддерживает фиксированный тип значений. Здесь записываются имена констант и их параметры. Тип определяется автоматически.VarБлок переменных. Соответствующий идентификатор получает тип информации, которая будет записываться.Function/ProduceБлок вспомогательных подпрограмм и функций. Используются для быстрой разработки приложений с минимальными трудностями.BeginНачало тела программы. Правила синтаксиса рассматриваемого ЯП указывают на то, что после слова begin необходимо указывать операторы, команды и функции, которые должны быть выполнены. Раздел представлен последовательностью команд. Он поддерживает значения и величины для выполнения обозначенного спектра задач.EndКонец тела приложения. Все, что указано после end, не является часть исходной программы.
Данная таблица поможет разобраться в основах составления структуры исходного кода на Паскале. Для нормальной работы программы достаточно несколько блоков. Остальные являются необязательными. Основные разделы – это тело, включающее в себя begin и end. Без него ни один написанный код не будет обрабатываться.
Типизация данных
Правила синтаксиса Pascal поддерживают строгую типизацию данных. Это указывает на то, что все переменные исходного кода будут иметь определенный заранее тип. Приложению напрямую указывают, какой именно вид данных использовать для дальнейшего хранения значений. Это помогает устройству понять, какие операции разрешено выполнять с имеющимися элементами.
Условно типы данных можно разделить на две крупные категории: структурированные и простые. Каждый вариант имеет подтипы, зная о которых, удается создать оптимально функционирующий программный код.
Простые типы
Перед изучением операторов Паскаля, рекомендуется хорошенько разобраться с типами данных. Простые виды делятся на порядковые и ограниченные. Они являются элементарными и встречаются в программных кодах чаще остальных.
Целочисленные
К данной категории относятся целые числа. Она является наиболее популярной среди всех встроенных. Всего в Паскале поддерживаются пять его разновидностей:
Как называетсяДиапазон принимаемых значенийФормат записиInteger-32 768…32 76716 bitShort int-128…+1278 bitlongInt-2 147 483 648…+2 147 483 64732 bitWord0…65 53516 bit без учета знакаByte0…2558bit без учета знака
Операнды целочисленного характера поддерживают выполнение арифметических действий. Для этого потребуется соблюдать такие правила:
- Тип целой константы определяется как встроенный целочисленный тип с наименьшим диапазоном, включающим значение соответствующей целой константы.
- Если используется бинарная операция (в выражении участвуют два операнда), оба операнда будут преобразованы к общему типу. Арифметические действия до этого момента не выполняются.
- Выражения, написанные в операторах присваивания с правой стороны, будут вычисляться независимо от того, какая переменная расположена с левой.
Чтобы описать целочисленную переменную, необходимо воспользоваться ключевым словом var. Формат записи: var <перечень используемых переменных><тип>. Угловые скобки во время составления программного кода ставить не требуется.
Вещественные
Следующий вариант – это вещественный тип информации. Сюда можно отнести числа с плавающими запятыми. Они имеют фиксированной количество цифр.
Для данного вида переменных используется ключевое слово real. Форма записи: var <перечень переменных:=> real.
Символьные
Символьный тип значений и переменных используется для того, чтобы работать с различными записями. Каждый символ имеет:
Сформировать символьный вид переменных можно при помощи формы: <тип><название_переменной(‘значение’)>. Апостроф тоже может стать символом в программе. Для этого его необходимо заключить в соответствующие «кавычки».
Перечисляемые
Это – перечисление констант в строго определенном порядке, а также количестве. Представлен данный вид переменных списком неизменных элементов кода. Они будут принимать значения из заданного спектра констант.
Форма записи:
<список констант> – специальный вид констант. Они задаются в программном коде через запятую. Имеют собственный порядковый номер, начинающийся с 0.
Ограниченные
Ограниченные переменные – переменные, принимающие не все значения в пределах заданного типа. Они будут определяться в некотором ограниченном диапазоне. Каждый такой вариант задается при помощи наложения ограничений на базовые переменные.
Записывается в коде программы так:
Здесь необходимо запомнить такие правила составления:
- Обе ограниченные константы имеют один и тот же тип.
- В качестве базового типа допускается использование любого простого. Исключение всего одно – это действительные переменные (real).
- Начальные значения при определении ограниченного типа не могут быть больше, чем итоговые.
А вот – пример блока кода, позволяющий составить ограниченный тип переменных в Паскале.
Структурированные
К данной категории относятся типы, определяющие наборы однотипных или разнотипных элементов. Они могут быть образованы из других видов информации. Представляются различными элементами. Могут выступать:
- Массивами. Они бывают одномерными и многомерными. Так называется определенное и известное количество однотипных компонентов, прошедшие процедуру индексации.
- Записями. Поддерживают несколько полей в составе разного характера. Пример – описание продукции, хранимой на складе в магазине.
- Строками. Так называется последовательность символов кодовых таблиц устройства. Включают в себя от 0 до 255 компонентов.
- Множествами. Это – набор взаимосвязанных по установленным признакам элементов программного кода. Во множестве не может быть более 255 составляющих.
- Файлами. Файл представляет собой последовательность однотипных компонентов, которые записаны на внешнем носителе под установленным заранее именем. Их вид может быть любым, исключая непосредственно file. Размер программистом не указывается.
Далее предстоит более подробно изучить основы программирования на Паскале при помощи операторов.
Оператор – средство, при помощи которого в приложении описываются действия (команды) в рамках действующего алгоритма для решения изначально поставленной задачи. Элементы такого плана могут быть помеченными или нет. Их можно разделить на несколько категорий:
- простые операторы;
- структурные.
Оператор в Pascal используется для того, чтобы описать действия. Других целей применения он не имеет. Отделяются на письме операторы при помощи специального разделителя – символа «точка с запятой». Его можно не ставить, если оператор ставится перед until, else или end.
Простой оператор состоит из:
- оператора присваивания;
- оператора вызова процедуры;
- оператора перехода.
Структурные операторы поддерживают условные операторы, циклы и составные.
Присваивание
Присваивание в исходном коде программы – это базовая операция. Она используется для того, чтобы вычислить значение выражения, написанного в правой части. После необходимых подсчетов записывает результат слева. Тип переменной должен быть совместимым с видом заданного выражения.
Совместимость поддерживается, если:
- переменные записаны через один и тот же описатель;
- порядковый тип поддерживает значения типа-диапазона;
- вещественные переменные (real, single, double) могут работать с целочисленными значениями.
Оператор присваивания выглядит как «:=» (без кавычек). Форма записи будет такой:
, используемое выражение a может включать в себя скобки, знаки арифметических операций, а также константы, переменные и имена функций.
Все действия здесь выполняются в направлении «слева-направо» с учетом действующих правил приоритета:
- not;
- умножение, деление, mod, and, div;
- сложение, вычитание, or;
- сравнивание и in.
Приоритет обработки исходным кодом программы можно изменить. Для этого используются круглые скобки. То, что написано в них, будет рассчитываться в первую очередь. Присваивание работает со всеми видами переменных и информации, исключая файлы.
Вызов
Команда вызова – одна из базовых составляющих исходного кода программного обеспечения. Она приводит к непосредственному обращению к указанному разработчиком алгоритму. Состоит из:
- имени процедуры;
- списка аргументов, указываемых в круглых скобках.
Аргумент – необязательный элемент. Он может отсутствовать при использовании команды вызова. При ее обработке происходит активация действий, написанных в теле процедуры или в описании.
Переходы
Изучая разделы языка Паскаль, было упомянуто о метках. Они пригодятся при работе с командой перехода. Она задается служебным словом Goto. Используется для передачи управления приложением оператору, отмеченному той или иной меткой.
Метки могут быть использованы только после того, как программист опишет их в разделе Label. Goto необходимо задействовать очень осторожно из-за безусловности перехода. Эта команда противоречит всем принципам структурного программирования. Неправильное использование Goto может привести к ошибкам и выходу приложения из строя.
Пустой
Пустой оператор не выполняет никаких действий. Он никак не будет проявлять себя при запуске исходного кода программного обеспечения. Обычно в этом случае печатает метки, а также точки с запятыми. Используется для безусловного перехода на него.
Составной
Operator, который используется для выполнения некоторого спектра команд, определяемых разработчиком. Он указывается в теле приложения – между begin и end.
Составные operators помогают выполнять некоторую последовательность инструкций. Они задаются ключевым словом begin, заканчиваются end. Между этими элементами вставляются операции, необходимые для дальнейшей реализации.
Рассматривается соответствующий компонент как единое целое. Расположение допустимо в любой части исходного кода.
Условные
Поддерживают выбор одного или нескольких действий в зависимости от установленного разработчиком критерия. Условием выборки станет значение логического выражения – true или false.
Всего условных «команд» в Паскале два: if и case.
IF помогает организовывать вычисления в зависимости от логического условия. Имеет полную и краткую формы записи. Может быть вложенным. В этом случае рекомендуется пользоваться такой формой представления:
Для вложенных If действует правило – else связано с ближайшим if, которое до этого не было привязано к другим else.
Выбор
Запись case…of…end – это определение альтернативных действий из произвольного спектра изначально заданных условий. Состоит из селектора и списка постоянных параметров, каждому из которых предшествует список констант выбора.
Выглядит так:
Здесь:
- <выражение-селектор> – порядковое выражение. От его значения будут приниматься решения относительно дальнейших операций.
- <список1>…<списокN> – значения, с которыми будет сравниваться селектор.
- <оператор1>…<операторN> – выражения, среди которых выбирается операция для дальнейшей реализации. Таким станет элемент, с константой которого впервые совпадет селектор.
Ветка с условием else – необязательный элемент. Условие If указывается всегда. Если действия для нескольких селекторов окажутся одинаковыми, разработчик сможет перечислить соответствующие константы через запятую перед двоеточием. Правила синтаксиса допускают установку диапазона значений по верхним и нижним границам.
Циклы
Цикл – это выполнение некоторых алгоритмов друг за другом несколько раз. Программирование поддерживает несколько их видов: итерационные и с параметром.
Цикл с параметром всегда требует использования операторов цикла. Иногда такой вариант называется регулярным циклом. Его характерной чертой является то, что количество повторений команд известно заранее.
Итерационный цикл таких возможностей не предусматривает. В нем количество повторений не определяется заранее. Операции будут выполнять до тех пор, пока выполняется условие продолжения «петлей».
Паскаль поддерживает несколько видов циклических структур:
- Счетный operator – for. Он используется для реализации циклов с параметрами. Для итерационной петли не подходит.
- С предусловием – while.
- С постусловием – repeat.
While и repeat поддерживают реализацию итерационного цикла. Они также могут быть использованы для циклических структур с параметрами.
For
Как выглядит структура программы на языке Паскаль, понятно. Зная ее, можно с легкостью освоить циклы и использовать их на практике. Первый вариант – это for. Выглядит он так:
Начальные и конечные значения здесь должны быть точно такого же типа, что и имеющийся параметр.
Сначала параметр цикла принимает начальное значение. После этого происходит проверка: соответствующее значение меньше или равно итоговому. Данное условие выступает условием продолжения цикла. Если оно выполнено, петля продолжает функционирование. Выполняется необходимая команда, после чего параметр цикла уменьшается на единицу. Условие реализации заданной операции снова сравнивается – уже с новым значением.
While
Цикл с постусловием работает так:
- Сначала проводится проверка результата логического условия.
- Если итог – true, происходит выполнение операции. Далее система возвращается на проверку условия с новым значением параметров в логическом выражении условия.
- Если результатом служит ложь (false), система завершает цикл.
Выше – форма представления соответствующей петли. Здесь необходимо запомнить следующие правила:
- условия, написанные в while – это требования, при которых цикл будет продолжаться;
- в теле цикла всегда меняется значение параметра входящего в выражение условия;
- while может не выполниться ни разу.
Предложенный пример – это обработка записей формы. Она будет выполняться, пока не достигнуто окончания набор данных.
Repeat
Repeat работает так:
- Сначала выполняются команды тела цикла.
- Результат проверяется с логическим условием. Если он является ложью, то происходит возврат к выполнению операторов очередного тела цикла.
- Когда результат сравнения – истина, система прекращает работу с циклической структурой.
Форма записи:
В repeat проверяются условия завершения цикла. Если оно выполняется, петля перестает работать. Тело циклической структуры будет реализовано хотя бы один раз. Параметры для проверки условия изменяются в теле петли.
Здесь можно узнать больше интересного о Паскале.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!
<!DOCTYPE html>
<html dir="ltr" lang="ru-RU">
<head>
<meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<title>Pascal: операторы и команды OTUS</title>
<!-- All in One SEO 4.5.2.1 - aioseo.com -->
<meta name="description" content="Pascal – язык программирования, используемый новичками. Он подходит для изучения основ алгоритмизации. Практическое применение языка Паскаль в обыденной жизни сильно ограничено. В своем «чистом» виде он используется крайне редко, в основном, для обучения. В основном встречаются различные диалекты этого ЯП. Pascal является достаточно простым для изучения языком. В его основе лежат операторы и функции. Далее" />
<meta name="robots" content="max-image-preview:large" />
<link rel="canonical" href="https://otus.ru/journal/pascal-operatory-i-komandy/" />
<meta name="generator" content="All in One SEO (AIOSEO) 4.5.2.1" />
<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/otus.ru\/journal\/pascal-operatory-i-komandy\/#article","name":"Pascal: \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b OTUS","headline":"Pascal: \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b","author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2023\/03\/oj-1080x720-10.jpg","width":2245,"height":1587},"datePublished":"2023-03-04T16:53:55+00:00","dateModified":"2023-03-04T16:53:56+00:00","inLanguage":"ru-RU","mainEntityOfPage":{"@id":"https:\/\/otus.ru\/journal\/pascal-operatory-i-komandy\/#webpage"},"isPartOf":{"@id":"https:\/\/otus.ru\/journal\/pascal-operatory-i-komandy\/#webpage"},"articleSection":"\u041f\u043e\u043b\u0435\u0437\u043d\u043e\u0435, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435"},{"@type":"BreadcrumbList","@id":"https:\/\/otus.ru\/journal\/pascal-operatory-i-komandy\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/#listItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/otus.ru\/journal\/","nextItem":"https:\/\/otus.ru\/journal\/pascal-operatory-i-komandy\/#listItem"},{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/pascal-operatory-i-komandy\/#listItem","position":2,"name":"Pascal: \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b","previousItem":"https:\/\/otus.ru\/journal\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/otus.ru\/journal\/#organization","name":"\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","url":"https:\/\/otus.ru\/journal\/","sameAs":["https:\/\/www.youtube.com\/channel\/UCetgtvy93o3i3CvyGXKFU3g"],"contactPoint":{"@type":"ContactPoint","telephone":"+74999389202","contactType":"Customer Support"}},{"@type":"Person","@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author","url":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/","name":"A. Pavlenko","image":{"@type":"ImageObject","@id":"https:\/\/otus.ru\/journal\/pascal-operatory-i-komandy\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d4c499a104d7c2522fa41f89e6819499?s=96&d=mm&r=g","width":96,"height":96,"caption":"A. Pavlenko"}},{"@type":"WebPage","@id":"https:\/\/otus.ru\/journal\/pascal-operatory-i-komandy\/#webpage","url":"https:\/\/otus.ru\/journal\/pascal-operatory-i-komandy\/","name":"Pascal: \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b OTUS","description":"Pascal \u2013 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u043d\u043e\u0432\u0438\u0447\u043a\u0430\u043c\u0438. \u041e\u043d \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043e\u0441\u043d\u043e\u0432 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 \u041f\u0430\u0441\u043a\u0430\u043b\u044c \u0432 \u043e\u0431\u044b\u0434\u0435\u043d\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e. \u0412 \u0441\u0432\u043e\u0435\u043c \u00ab\u0447\u0438\u0441\u0442\u043e\u043c\u00bb \u0432\u0438\u0434\u0435 \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0440\u0430\u0439\u043d\u0435 \u0440\u0435\u0434\u043a\u043e, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c, \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0434\u0438\u0430\u043b\u0435\u043a\u0442\u044b \u044d\u0442\u043e\u0433\u043e \u042f\u041f. Pascal \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u043e\u043c. \u0412 \u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0435 \u043b\u0435\u0436\u0430\u0442 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0414\u0430\u043b\u0435\u0435","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/otus.ru\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/otus.ru\/journal\/pascal-operatory-i-komandy\/#breadcrumblist"},"author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"creator":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2023\/03\/oj-1080x720-10.jpg","@id":"https:\/\/otus.ru\/journal\/pascal-operatory-i-komandy\/#mainImage","width":2245,"height":1587},"primaryImageOfPage":{"@id":"https:\/\/otus.ru\/journal\/pascal-operatory-i-komandy\/#mainImage"},"datePublished":"2023-03-04T16:53:55+00:00","dateModified":"2023-03-04T16:53:56+00:00"},{"@type":"WebSite","@id":"https:\/\/otus.ru\/journal\/#website","url":"https:\/\/otus.ru\/journal\/","name":"OTUS JOURNAL","description":"Blog about IT","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"}}]}
</script>
<!-- All in One SEO -->
<link rel='dns-prefetch' href='//otus.ru' />
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='stylesheet' id='wp-block-library-css' href='https://otus.ru/journal/wp-includes/css/dist/block-library/style.min.css?ver=6.4.7' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='wbcr-comments-plus-url-span-css' href='https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/css/url-span.css?ver=2.2.0' type='text/css' media='all' />
<link rel='stylesheet' id='wpel-style-css' href='https://otus.ru/journal/wp-content/plugins/wp-external-links/public/css/wpel.css?ver=2.59' type='text/css' media='all' />
<link rel='stylesheet' id='ez-toc-css' href='https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.61' type='text/css' media='all' />
<style id='ez-toc-inline-css' type='text/css'>
div#ez-toc-container .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li {font-size: 95%;}div#ez-toc-container nav ul ul li {font-size: 90%;}
.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
</style>
<link rel='stylesheet' id='contentberg-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C500%2C700%7CPT+Serif%3A400%2C400i%2C600%7CIBM+Plex+Serif%3A500' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-core-css' href='https://otus.ru/journal/wp-content/themes/contentberg/style.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-lightbox-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/lightbox.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/fontawesome/css/font-awesome.min.css?ver=1.8.3' type='text/css' media='all' />
<script type="text/javascript" id="breeze-prefetch-js-extra">
/* <![CDATA[ */
var breeze_prefetch = {"local_url":"https:\/\/otus.ru\/journal","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js" id="breeze-prefetch-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/lazysizes.js" id="lazysizes-js"></script>
<link rel="https://api.w.org/" href="https://otus.ru/journal/wp-json/" /><link rel="alternate" type="application/json" href="https://otus.ru/journal/wp-json/wp/v2/posts/5662" /><link rel='shortlink' href='https://otus.ru/journal/?p=5662' />
<link rel="alternate" type="application/json+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fpascal-operatory-i-komandy%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fpascal-operatory-i-komandy%2F&format=xml" />
<script>var Sphere_Plugin = {"ajaxurl":"https:\/\/otus.ru\/journal\/wp-admin\/admin-ajax.php"};</script><link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-270x270.png" />
<style type="text/css" id="wp-custom-css">
#menu-item-10406 .wpel-icon {
display: none;
}
#menu-item-10407 .wpel-icon {
display: none;
}
.otus-login-site a .wpel-icon {
display: none;
}
.menu-menju-navykov-container a .wpel-icon {
display: none;
}
.otus-login-site a
{
background: #ffd709;
border-radius: 12px;
color: #0f0f10;
font-size: 14px;
font-weight: 700;
line-height: 20px;
display: block;
text-align: center;
padding: 8px 25px;
}
.main-footer.dark {
background: linear-gradient(90deg, #a64fc5, #4f54e6);
border-color: transparent;
}
.main-footer.bold .copyright {
color: #fff;
}
.main-footer.bold .to-top i {
color: #fff;
}
.main-footer.bold .back-to-top {
color: #fff;
}
.nav__scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.scrollable-menu .menu {
display: flex;
}
.nav__scroll
{
background: linear-gradient(90deg, #a64fc5, #4f54e6);
}
.scrollable-menu .menu .menu-item {
flex: 0 0 auto;
padding: 15px 15px;
}
.scrollable-menu .menu .menu-item a {
color: #fff;
}
.nav__scroll::-webkit-scrollbar{background-color:#fff;height:5px;}
.nav__scroll::-webkit-scrollbar-thumb{background-color:#dcdcdc;}
.nav__scroll::-webkit-scrollbar-track{-webkit-border-radius:0;border-radius:0;background-color:#fff;}/
body {
min-width: 320px;
}
.banner-click img {
margin: 0 auto;
display: block;
}
.banner-click {
cursor: pointer;
}
.banner-footer-area {
margin-bottom: 20px;
}
.banner-left-area {
margin-top: 40px;
} </style>
<!--Start VDZ Yandex Metrika Plugin-->
<!-- Yandex.Metrika counter --><script type="text/javascript" >(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(34531570, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true, ecommerce:"dataLayer"});</script>
<noscript><div><img src="https://mc.yandex.ru/watch/34531570" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><!--START ADD EVENTS FROM CF7--><script type='text/javascript'>document.addEventListener( 'wpcf7submit', function( event ) {
//event.detail.contactFormId;
if(ym){
//console.log(event.detail);
ym(34531570, 'reachGoal', 'VDZ_SEND_CONTACT_FORM_7');
ym(34531570, 'params', {
page_url: window.location.href,
status: event.detail.status,
locale: event.detail.contactFormLocale,
form_id: event.detail.contactFormId,
});
}
}, false );
</script><!--END ADD EVENTS FROM CF7-->
<!--End VDZ Yandex Metrika Plugin-->
</head>
<body class="post-template-default single single-post postid-5662 single-format-standard right-sidebar lazy-normal has-lb">
<div class="main-wrap">
<header id="main-head" class="main-head head-nav-below has-search-modal simple simple-boxed">
<div class="inner inner-head" data-sticky-bar="0">
<div class="wrap cf wrap-head">
<div class="left-contain">
<span class="mobile-nav"><i class="fa fa-bars"></i></span>
<div class="title">
<a href="https://otus.ru/journal/" title="OTUS JOURNAL" rel="home" data-wpel-link="internal">
<span class="text-logo"><img src="/journal/wp-content/themes/contentberg/img/logo_site.svg" alt="OTUS JOURNAL"></span>
</a>
</div>
</div>
<div class="navigation-wrap inline">
<nav class="navigation inline simple light" data-sticky-bar="0">
<div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"><li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-1 menu-item-109"><a href="https://otus.ru/journal/category/pro-it/" data-wpel-link="internal"><span>Про IT</span></a></li>
<li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-cat-4 menu-item-113"><a href="https://otus.ru/journal/category/polza/" data-wpel-link="internal"><span>Полезное</span></a></li>
<li id="menu-item-114" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-3 menu-item-114"><a href="https://otus.ru/journal/category/lifestyle/" data-wpel-link="internal"><span>Лайфстайл</span></a></li>
<li id="menu-item-10406" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10406"><a href="https://otus.ru/catalog/courses" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Обучение</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10407"><a href="https://otus.ru/about" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Информация</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </nav>
</div>
<div class="actions">
<div class="otus-login-site">
<a href="https://otus.ru/login/" target="_blank" data-wpel-link="external" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Войти<span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
<a href="#" title="Search" class="search-link"><i class="fa fa-search"></i></a>
</div>
</div>
</div>
</header> <!-- .main-head -->
<div class="nav nav_disable nav_colored nav_transparent course-categories__nav nav__scroll ">
<div class="container wrap">
<div class="links inline simple light scrollable-menu">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov" class="menu"><li id="menu-item-10413" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
</div>
</div>
<div class="main wrap">
<div class="ts-row cf">
<div class="col-8 main-content cf">
<article id="post-5662" class="the-post post-5662 post type-post status-publish format-standard has-post-thumbnail category-polza tag-programmirovanie">
<header class="post-header the-post-header cf">
<div class="post-meta the-post-meta">
<span class="post-cat">
<a href="https://otus.ru/journal/category/polza/" class="category" data-wpel-link="internal">Полезное</a>
</span>
<h1 class="post-title">
Pascal: операторы и команды
</h1>
<a href="https://otus.ru/journal/pascal-operatory-i-komandy/" class="date-link" data-wpel-link="internal"><time class="post-date">4 марта, 2023</time></a>
</div>
<div class="featured">
<a href="https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-10.jpg" class="image-link" data-wpel-link="internal"><img width="770" height="515" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20770%20515%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-contentberg-main size-contentberg-main lazyload wp-post-image" alt="Pascal: операторы и команды" title="Pascal: операторы и команды" decoding="async" fetchpriority="high" data-srcset="https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-10-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-10-270x180.jpg 270w" data-src="https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-10-770x515.jpg" data-sizes="(max-width: 770px) 100vw, 770px" /> </a>
</div>
</header><!-- .post-header -->
<div class="post-content description cf entry-content content-normal">
<div id="ez-toc-container" class="ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title " >Содержание</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#%D0%9F%D0%B0%D1%81%D0%BA%D0%B0%D0%BB%D1%8C_%E2%80%93_%D1%8D%D1%82%D0%BE%E2%80%A6" title="Паскаль – это…">Паскаль – это…</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="#%D0%9E%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B" title="Особенности работы">Особенности работы</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="#%D0%9F%D0%BB%D1%8E%D1%81%D1%8B_%D0%B8_%D0%BC%D0%B8%D0%BD%D1%83%D1%81%D1%8B" title="Плюсы и минусы">Плюсы и минусы</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-4" href="#%D0%A1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D1%8B_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0" title="Сильные стороны языка">Сильные стороны языка</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-5" href="#%D0%A1%D0%BB%D0%B0%D0%B1%D1%8B%D0%B5_%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D1%8B" title="Слабые стороны">Слабые стороны</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="#%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F" title="Области применения">Области применения</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-7" href="#%D0%A2%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F" title="Терминология">Терминология</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="#%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B" title="Структура программы">Структура программы</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="#%D0%A2%D0%B8%D0%BF%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85" title="Типизация данных">Типизация данных</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-10" href="#%D0%9F%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D1%82%D0%B8%D0%BF%D1%8B" title="Простые типы">Простые типы</a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-11" href="#%D0%A6%D0%B5%D0%BB%D0%BE%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5" title="Целочисленные">Целочисленные</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-12" href="#%D0%92%D0%B5%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5" title="Вещественные">Вещественные</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-13" href="#%D0%A1%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5" title="Символьные">Символьные</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-14" href="#%D0%9F%D0%B5%D1%80%D0%B5%D1%87%D0%B8%D1%81%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%B5" title="Перечисляемые">Перечисляемые</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-15" href="#%D0%9E%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5" title="Ограниченные">Ограниченные</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-16" href="#%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5" title="Структурированные">Структурированные</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-17" href="#%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B_%D0%B2_Pascal" title="Операторы в Pascal">Операторы в Pascal</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-18" href="#%D0%9F%D1%80%D0%B8%D1%81%D0%B2%D0%B0%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Присваивание">Присваивание</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-19" href="#%D0%92%D1%8B%D0%B7%D0%BE%D0%B2" title="Вызов">Вызов</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-20" href="#%D0%9F%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D1%8B" title="Переходы">Переходы</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-21" href="#%D0%9F%D1%83%D1%81%D1%82%D0%BE%D0%B9" title="Пустой">Пустой</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-22" href="#%D0%A1%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BD%D0%BE%D0%B9" title="Составной">Составной</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-23" href="#%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5" title="Условные">Условные</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-24" href="#%D0%92%D1%8B%D0%B1%D0%BE%D1%80" title="Выбор">Выбор</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-25" href="#%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B" title="Циклы">Циклы</a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-26" href="#For" title="For">For</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-27" href="#While" title="While">While</a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-28" href="#Repeat" title="Repeat">Repeat</a></li></ul></li></ul></li></ul></nav></div>
<p>Pascal – язык программирования, используемый новичками. Он подходит для изучения основ алгоритмизации. Практическое применение языка Паскаль в обыденной жизни сильно ограничено. В своем «чистом» виде он используется крайне редко, в основном, для обучения. В основном встречаются различные диалекты этого ЯП.</p>
<p>Pascal является достаточно простым для изучения языком. В его основе лежат операторы и функции. Далее предстоит рассмотреть их более подробно. Также необходимо изучить структуру программы, написанной на Паскале. Эта информация больше подойдет новичкам, которые ранее не имели дел с разработкой программного обеспечения.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D0%B0%D1%81%D0%BA%D0%B0%D0%BB%D1%8C_%E2%80%93_%D1%8D%D1%82%D0%BE%E2%80%A6"></span>Паскаль – это…<span class="ez-toc-section-end"></span></h2>
<p>Pascal – универсальное средство программирования со строгой структурой программ, а также типизацией. У него интуитивно понятный синтаксис, основанный на ABC. Она напоминает английский.</p>
<p>Паскаль разработан в 1970-х годах. Он базируется на Algol-68. Никлаус Вирт, швейцарский ученый, решил представить Pascal студентам. С его помощью ученикам предлагалось вникнуть в суть структурного программирования.</p>
<p>Pascal – императивный алгоритмический язык. Имеет множество диалектов:</p>
<ul>
<li>UCSD;</li>
<li>Object;</li>
<li>Turbo – один из самых популярных вариантов;</li>
<li>Midlet;</li>
<li>PascalABC.NET – основанный на платформе .NET.</li>
</ul>
<p>Также можно встретить диалекты Free, TMT и GNU.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B"></span>Особенности работы<span class="ez-toc-section-end"></span></h2>
<p>Пас каль – императивный язык. Он позволяет представлять программы в качестве набора операторов (команд), которые выполняются последовательно. Здесь необходимо запомнить следующие правила:</p>
<ul>
<li>операторы обрабатываются друг за другом;</li>
<li>каждая следующая команда использует данные, полученные на предыдущем этапе обработки исходного кода;</li>
<li>результаты выполнения операторов будут записаны программой непосредственно в память устройства.</li>
</ul>
<p>Pascal – это язык с сильной (строгой) типизацией. За счет этого различные элементы и конструкции программы (функции, операторы, переменные, модули и так далее) получают конкретные, заранее определенные свойства. Такой прием помогает понять системе, какие операции можно выполнять с каждым записанным выражением. Это способствует избавлению от большинства ошибок компиляции. Программы, написанные на рассматриваемом ЯП, являются более устойчивыми к аварийным отказам.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D0%BB%D1%8E%D1%81%D1%8B_%D0%B8_%D0%BC%D0%B8%D0%BD%D1%83%D1%81%D1%8B"></span>Плюсы и минусы<span class="ez-toc-section-end"></span></h2>
<p>Паскаль – язык, который изучается на уроках под названием «Информатика» в старших классах общеобразовательных учреждениях. В своем первоначальном виде он практически не встречается, но некоторые его диалекты до сих пор пользуются спросом в некоторых областях. Паскаль обладает преимуществами и недостатками, которые необходимо знать. Эта информация поможет выяснить, стоит ли изучать ЯП более подробно, или лучше отдать предпочтение другому.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D1%8B_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0"></span>Сильные стороны языка<span class="ez-toc-section-end"></span></h3>
<p>Паскаль имеет следующие преимущества:</p>
<ol>
<li>Простой и понятный синтаксис. За счет этого его сможет быстро освоить даже новичок.</li>
<li>Изучение в школьной программе на уроке «Информатика». Pascal служит базовым языком разработки, помогающий разобраться в принципах создания программного обеспечения.</li>
<li>Компилируемость. Программа, написанная на рассматриваемом языке, может быть переведена в машинный код без дополнительного обеспечения. Пользователю не придется устанавливать ни виртуальные машины, ни интерпретаторы. Скрипт будет работать «по умолчанию».</li>
<li>Строгая типизация. С ее помощью удается свести ошибки в итоговой программе к минимуму. Также это помогает оптимизировать работу с памятью устройства.</li>
<li>Структурированность программ. Код получается читабельным и понятным. Найти в нем даже неочевидные ошибки оказывается намного проще, чем в случае с другими языками разработки.</li>
<li>Множество диалектов.</li>
<li>Работа программ, написанных на Паскале, базируется на последовательном выполнении операторов и функций. Никаких сложных связей и объектов.</li>
</ol>
<p>Это – неплохой вариант для тех, кто только учится программировать. Более опытным разработчикам Паскаль не нужен. А вот на уроке «Информатика» в школе или при самостоятельном погружении в азы разработки программного обеспечения, он более чем пригодится. На основе элементарных операций данный ЯП объяснит достаточно сложные процессы.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%BB%D0%B0%D0%B1%D1%8B%D0%B5_%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D1%8B"></span>Слабые стороны<span class="ez-toc-section-end"></span></h3>
<p>Pascal имеет такие недостатки:</p>
<ol>
<li>Сильная ограниченность взаимодействия с компонентами, написанными на других языках программирования.</li>
<li>Меньшая приспособленность для решения некоторых узкоспециализированных задач.</li>
<li>Ограниченные возможности работы с динамической памятью, а также массивами с переменной длиной.</li>
<li>Относительно небольшая функциональность – для большинства современных приложений и игр встроенных возможностей Паскаля будет не хватать.</li>
</ol>
<p>Все это приводит к тому, что упомянутый язык имеет в реальной жизни сильную ограниченность. Программ на нем, имеющих практическое применение, очень мало. Диалекты Pascal используются для некоторых узкоспециализированных задач.</p>
<p>Этот язык сложно назвать стремительно развивающимся и современным. Он устаревает, но не теряет своей популярности из-за структурированности и дружелюбности. Учить его рекомендуется преимущественно новичкам.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F"></span>Области применения<span class="ez-toc-section-end"></span></h2>
<p>Pascal подойдет для написания первых программ при погружении в основы разработки. Он используется в следующих сферах жизни:</p>
<ol>
<li>Промышленность. В основном подразумевается написание программ на диалектах Object и Turbo. На них создаются программы для оборудования с микроконтроллерами.</li>
<li>Бизнес. В современных бизнес-приложениях используется в единичных случаях. Паскаль пользовался спросом в 2000-х годах в соответствующем направлении. Некоторые компании до сих пор используют написанные тогда программы для решения отдельных задач. Новое программное обеспечение на Паскале для бизнеса не пишется.</li>
<li>Разработка новых ЯП. Pascal – это язык, который залег в основу большинства современных популярных средств разработки. Некоторые производители придумывают собственные диалекты для ТВ-приставок, а также бытовой техники и электроники.</li>
<li>Школа. В России и других странах мира данный ЯП применяется для обучения основам разработки «с нуля».</li>
</ol>
<p>Это – неплохой вариант, чтобы понять, как работают программы, а также обрабатываются функции и операторы. Для полноценной разработки современного ПО он не подойдет.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A2%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F"></span>Терминология<span class="ez-toc-section-end"></span></h2>
<p>Перед изучением структуры приложений, а также команд и операторов Паскаля, каждый разработчик должен запомнить несколько терминов и понятий. Они пригодятся всем, независимо от выбранного для дальнейшего применения ЯП:</p>
<ol>
<li>Алгоритм – набор инструкций и команд. Они используются для решения поставленной задачи.</li>
<li>Переменная – место хранения информации и памяти. Поддерживает некоторые операции – удаление, считывание и запись, корректировку.</li>
<li>Указатель – переменная, которая включает в себя адрес места в памяти. С его помощью удается обращаться к конкретному элементу массива.</li>
<li>Массив – список или группа схожих типов значений данных, которые ранее прошли группировку. Все значения в пределах упомянутого элемента будут обладать одним и тем же типом данных. Отличаются они исключительно по положению в массиве.</li>
<li>Символ – элементарная единица отображения данных в программе. Равняется одной символьной или буквенной записи.</li>
<li>Класс – набор связанных объектов с общими свойствами. Этот термин применим к объектно-ориентированному программированию.</li>
<li>Константа – значение, которое всегда остается неизменным. Оно не изменяется на протяжении всего периода работы приложения.</li>
<li>Тип данных – классификация информации определенного типа.</li>
<li>Цикл – петля. Последовательность инструкций, которые будут повторять один и тот же процесс многократно. Делается это или до достижения ранее указанного в коде условия, или до получения команды на остановку.</li>
<li>Итерация – проход через заданный набор операций, работающих с программным кодом.</li>
<li>Ключевое слово – слово, зарезервированное синтаксисом языка. Используется для описания команд, функций, а также иных инструментов/возможностей ЯП.</li>
</ol>
<p>Также стоит обратить внимание на определения «операнд» — объект, которым можно управлять через разные операторы. Оператор – это элемент кода, способный манипулировать через специальные команды имеющимися операндами. Далее этот момент будет изучен более подробно.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B"></span>Структура программы<span class="ez-toc-section-end"></span></h2>
<p>Паскаль – язык, в котором программы обладают строго определенной структурой. Они делятся на «смысловые» блоки, называемые «разделы». Каждый вариант отвечает за определенные возможности и информацию:</p>
<figure class="wp-block-table"><table><tbody><tr><td>Как называются разделы</td><td>Особенности и описание</td></tr><tr><td>Program</td><td>Необязательный блок. Служит для формирования имени программы. Выводит на экран при обработке исходного кода имя проекта.</td></tr><tr><td>Uses crt, graph</td><td>Подключаемые модули. Ctr – блок, который используется для очистки экрана после выполнения тех или иных операций. Работает при помощи команды clrscr. Graph отвечает за внедрение в исходный код приложения возможностей работы с графикой.</td></tr><tr><td>Label</td><td>Метки. Раздел, в котором используется команда Goto. Он помогает перейти к элементам, помеченным в качестве «закладок». Служит безусловным переходом.</td></tr><tr><td>Const</td><td>Раздел, отвечающий за постоянные величины – константы. Поддерживает фиксированный тип значений. Здесь записываются имена констант и их параметры. Тип определяется автоматически.</td></tr><tr><td>Var</td><td>Блок переменных. Соответствующий идентификатор получает тип информации, которая будет записываться.</td></tr><tr><td>Function/Produce</td><td>Блок вспомогательных подпрограмм и функций. Используются для быстрой разработки приложений с минимальными трудностями.</td></tr><tr><td>Begin</td><td>Начало тела программы. Правила синтаксиса рассматриваемого ЯП указывают на то, что после слова begin необходимо указывать операторы, команды и функции, которые должны быть выполнены. Раздел представлен последовательностью команд. Он поддерживает значения и величины для выполнения обозначенного спектра задач.</td></tr><tr><td>End</td><td>Конец тела приложения. Все, что указано после end, не является часть исходной программы.</td></tr></tbody></table></figure>
<p>Данная таблица поможет разобраться в основах составления структуры исходного кода на Паскале. Для нормальной работы программы достаточно несколько блоков. Остальные являются необязательными. Основные разделы – это тело, включающее в себя begin и end. Без него ни один написанный код не будет обрабатываться.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A2%D0%B8%D0%BF%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85"></span>Типизация данных<span class="ez-toc-section-end"></span></h2>
<p>Правила синтаксиса Pascal поддерживают строгую типизацию данных. Это указывает на то, что все переменные исходного кода будут иметь определенный заранее тип. Приложению напрямую указывают, какой именно вид данных использовать для дальнейшего хранения значений. Это помогает устройству понять, какие операции разрешено выполнять с имеющимися элементами.</p>
<p>Условно типы данных можно разделить на две крупные категории: структурированные и простые. Каждый вариант имеет подтипы, зная о которых, удается создать оптимально функционирующий программный код.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D1%82%D0%B8%D0%BF%D1%8B"></span>Простые типы<span class="ez-toc-section-end"></span></h3>
<p>Перед изучением операторов Паскаля, рекомендуется хорошенько разобраться с типами данных. Простые виды делятся на порядковые и ограниченные. Они являются элементарными и встречаются в программных кодах чаще остальных.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A6%D0%B5%D0%BB%D0%BE%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5"></span><em>Целочисленные</em><span class="ez-toc-section-end"></span></h4>
<p>К данной категории относятся целые числа. Она является наиболее популярной среди всех встроенных. Всего в Паскале поддерживаются пять его разновидностей:</p>
<figure class="wp-block-table"><table><tbody><tr><td>Как называется</td><td>Диапазон принимаемых значений</td><td>Формат записи</td></tr><tr><td>Integer</td><td>-32 768…32 767</td><td>16 bit</td></tr><tr><td>Short int</td><td>-128…+127</td><td>8 bit</td></tr><tr><td>longInt</td><td>-2 147 483 648…+2 147 483 647</td><td>32 bit</td></tr><tr><td>Word</td><td>0…65 535</td><td>16 bit без учета знака</td></tr><tr><td>Byte</td><td>0…255</td><td>8bit без учета знака</td></tr></tbody></table></figure>
<p>Операнды целочисленного характера поддерживают выполнение арифметических действий. Для этого потребуется соблюдать такие правила:</p>
<ol>
<li>Тип целой константы определяется как встроенный целочисленный тип с наименьшим диапазоном, включающим значение соответствующей целой константы.</li>
<li>Если используется бинарная операция (в выражении участвуют два операнда), оба операнда будут преобразованы к общему типу. Арифметические действия до этого момента не выполняются.</li>
<li>Выражения, написанные в операторах присваивания с правой стороны, будут вычисляться независимо от того, какая переменная расположена с левой.</li>
</ol>
<p>Чтобы описать целочисленную переменную, необходимо воспользоваться ключевым словом var. Формат записи: var <перечень используемых переменных><тип>. Угловые скобки во время составления программного кода ставить не требуется.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%92%D0%B5%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5"></span>Вещественные<span class="ez-toc-section-end"></span></h3>
<p>Следующий вариант – это вещественный тип информации. Сюда можно отнести числа с плавающими запятыми. Они имеют фиксированной количество цифр.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/pLSAI_k_kkLJk2np1VZagRTWUmtYmOpSf0WIk_GLXLZwAVDA3JZV0oVCP8sC2sVB6QKQpmasmX9MhRgTrL6xN7JsL_EKsCpurqHXZ2qEtJfkX2obUmK1VzMes1tjr-d608rulUW6nsh0KGN_DF3a6A" alt="Pascal: операторы и команды"/></figure>
<p>Для данного вида переменных используется ключевое слово real. Форма записи: var <перечень переменных:=> real.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5"></span>Символьные<span class="ez-toc-section-end"></span></h3>
<p>Символьный тип значений и переменных используется для того, чтобы работать с различными записями. Каждый символ имеет:</p>
<ul>
<li>собственный код;</li>
<li>номер.</li>
</ul>
<p>Сформировать символьный вид переменных можно при помощи формы: <тип><название_переменной(‘значение’)>. Апостроф тоже может стать символом в программе. Для этого его необходимо заключить в соответствующие «кавычки».</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D0%B5%D1%80%D0%B5%D1%87%D0%B8%D1%81%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%B5"></span>Перечисляемые<span class="ez-toc-section-end"></span></h3>
<p>Это – перечисление констант в строго определенном порядке, а также количестве. Представлен данный вид переменных списком неизменных элементов кода. Они будут принимать значения из заданного спектра констант.</p>
<p>Форма записи:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/MdZhWJCb9o8O6YDLFMxFCZlsJFoWAqDi1_CiD6cjxUR164YGjVfZk5VEl2Q8S7ZAyuCqnCmGqcSuR6Vhekmdezv0x2-ywagWRTolNcqmDbbSSRCazmxA-cieFmWZF8-W6jx-yDXnk5gMOCYcIhwdqQ" alt="Pascal: операторы и команды"/></figure>
<p><список констант> – специальный вид констант. Они задаются в программном коде через запятую. Имеют собственный порядковый номер, начинающийся с 0.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5"></span>Ограниченные<span class="ez-toc-section-end"></span></h3>
<p>Ограниченные переменные – переменные, принимающие не все значения в пределах заданного типа. Они будут определяться в некотором ограниченном диапазоне. Каждый такой вариант задается при помощи наложения ограничений на базовые переменные.</p>
<p>Записывается в коде программы так:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh6.googleusercontent.com/eZX7uMN6eTKWRUCWo8ptlI8_T9YXCel3ELMXpjjPx8XkvoeW6VcLojdNAqgqmSM8fkgHQJyRPaUmt66LaEf6M3LljZHukljGkouLFDPZ515L4sEfnbs-oB2se_jyjIBujOdX9Hx1a4eBVu2s6YQI7Q" alt="Pascal: операторы и команды"/></figure>
<p>Здесь необходимо запомнить такие правила составления:</p>
<ol>
<li>Обе ограниченные константы имеют один и тот же тип.</li>
<li>В качестве базового типа допускается использование любого простого. Исключение всего одно – это действительные переменные (real).</li>
<li>Начальные значения при определении ограниченного типа не могут быть больше, чем итоговые.</li>
</ol>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/IqjlwcupTnd_nwlpN7rR8Oug0MWNBIGHe1xdChXq5GYk_WsTTOgd3Wmfwu5KH9M0rcLI3hn7faCFugmNcw5pFAhRhiaM9uwoHGbhgvv7xOH1XD6BR-TtXeh7OUcpto1xRGesEPkZq9qYRnOM6oaEIQ" alt="Pascal: операторы и команды"/></figure>
<p>А вот – пример блока кода, позволяющий составить ограниченный тип переменных в Паскале.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5"></span>Структурированные<span class="ez-toc-section-end"></span></h3>
<p>К данной категории относятся типы, определяющие наборы однотипных или разнотипных элементов. Они могут быть образованы из других видов информации. Представляются различными элементами. Могут выступать:</p>
<ol>
<li>Массивами. Они бывают одномерными и многомерными. Так называется определенное и известное количество однотипных компонентов, прошедшие процедуру индексации.</li>
<li>Записями. Поддерживают несколько полей в составе разного характера. Пример – описание продукции, хранимой на складе в магазине.</li>
<li>Строками. Так называется последовательность символов кодовых таблиц устройства. Включают в себя от 0 до 255 компонентов.</li>
<li>Множествами. Это – набор взаимосвязанных по установленным признакам элементов программного кода. Во множестве не может быть более 255 составляющих.</li>
<li>Файлами. Файл представляет собой последовательность однотипных компонентов, которые записаны на внешнем носителе под установленным заранее именем. Их вид может быть любым, исключая непосредственно file. Размер программистом не указывается.</li>
</ol>
<p>Далее предстоит более подробно изучить основы программирования на Паскале при помощи операторов.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B_%D0%B2_Pascal"></span>Операторы в Pascal<span class="ez-toc-section-end"></span></h2>
<p>Оператор – средство, при помощи которого в приложении описываются действия (команды) в рамках действующего алгоритма для решения изначально поставленной задачи. Элементы такого плана могут быть помеченными или нет. Их можно разделить на несколько категорий:</p>
<ul>
<li>простые операторы;</li>
<li>структурные.</li>
</ul>
<p>Оператор в Pascal используется для того, чтобы описать действия. Других целей применения он не имеет. Отделяются на письме операторы при помощи специального разделителя – символа «точка с запятой». Его можно не ставить, если оператор ставится перед until, else или end.</p>
<p>Простой оператор состоит из:</p>
<ul>
<li>оператора присваивания;</li>
<li>оператора вызова процедуры;</li>
<li>оператора перехода.</li>
</ul>
<p>Структурные операторы поддерживают условные операторы, циклы и составные.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D1%80%D0%B8%D1%81%D0%B2%D0%B0%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5"></span>Присваивание<span class="ez-toc-section-end"></span></h3>
<p>Присваивание в исходном коде программы – это базовая операция. Она используется для того, чтобы вычислить значение выражения, написанного в правой части. После необходимых подсчетов записывает результат слева. Тип переменной должен быть совместимым с видом заданного выражения.</p>
<p>Совместимость поддерживается, если:</p>
<ul>
<li>переменные записаны через один и тот же описатель;</li>
<li>порядковый тип поддерживает значения типа-диапазона;</li>
<li>вещественные переменные (real, single, double) могут работать с целочисленными значениями.</li>
</ul>
<p>Оператор присваивания выглядит как «:=» (без кавычек). Форма записи будет такой:</p>
<p><img alt="Pascal: операторы и команды" decoding="async" src="https://lh3.googleusercontent.com/ygRGHZkWMmiMIto4X55rME5o63US3c3v6rlE1j9AnrL73ujJQ2doauhSrju5nSBz-ryOHPZP_jRYe6OG_R5RIZZufZcW3SODjNDdHp6AgsXf5eEKWLzfoG75I0WS4vu197TTg7IN3OjSlDZz0Gud_A" width="111" height="36">, используемое выражение a может включать в себя скобки, знаки арифметических операций, а также константы, переменные и имена функций.</p>
<p>Все действия здесь выполняются в направлении «слева-направо» с учетом действующих правил приоритета:</p>
<ul>
<li>not;</li>
<li>умножение, деление, mod, and, div;</li>
<li>сложение, вычитание, or;</li>
<li>сравнивание и in.</li>
</ul>
<p>Приоритет обработки исходным кодом программы можно изменить. Для этого используются круглые скобки. То, что написано в них, будет рассчитываться в первую очередь. Присваивание работает со всеми видами переменных и информации, исключая файлы.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%92%D1%8B%D0%B7%D0%BE%D0%B2"></span>Вызов<span class="ez-toc-section-end"></span></h3>
<p>Команда вызова – одна из базовых составляющих исходного кода программного обеспечения. Она приводит к непосредственному обращению к указанному разработчиком алгоритму. Состоит из:</p>
<ul>
<li>имени процедуры;</li>
<li>списка аргументов, указываемых в круглых скобках.</li>
</ul>
<p>Аргумент – необязательный элемент. Он может отсутствовать при использовании команды вызова. При ее обработке происходит активация действий, написанных в теле процедуры или в описании.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D1%8B"></span>Переходы<span class="ez-toc-section-end"></span></h3>
<p>Изучая разделы языка Паскаль, было упомянуто о метках. Они пригодятся при работе с командой перехода. Она задается служебным словом Goto. Используется для передачи управления приложением оператору, отмеченному той или иной меткой.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/uo-lybMP1Lii8Am-xwNPKehY4asZWtuCycw-IpS0x3UGwgR26pQdL4VO1cwkxRpBYnbk-_IngQys_orNmJOAAV--q5tk0hXNvSojX2y29VZlmBvXqXbTxsHCRm3ZhQG-b-mjdMKr3DNyx8bODMsj6g" alt="Pascal: операторы и команды"/></figure>
<p>Метки могут быть использованы только после того, как программист опишет их в разделе Label. Goto необходимо задействовать очень осторожно из-за безусловности перехода. Эта команда противоречит всем принципам структурного программирования. Неправильное использование Goto может привести к ошибкам и выходу приложения из строя.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D1%83%D1%81%D1%82%D0%BE%D0%B9"></span>Пустой<span class="ez-toc-section-end"></span></h3>
<p>Пустой оператор не выполняет никаких действий. Он никак не будет проявлять себя при запуске исходного кода программного обеспечения. Обычно в этом случае печатает метки, а также точки с запятыми. Используется для безусловного перехода на него.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BD%D0%BE%D0%B9"></span>Составной<span class="ez-toc-section-end"></span></h3>
<p>Operator, который используется для выполнения некоторого спектра команд, определяемых разработчиком. Он указывается в теле приложения – между begin и end.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/tD2NGGecUAsVdJWi-3cI5YrIdDbTN69p_VsM2YV-LGTzdHR0fKpJqpEs7I78ocGvPtx2skMwRt8Sf_qP8jbUgIhVuNgpVVUBLuNvoumJagcFMTwlqXrALUGWfW_Z3w3Mfb1GXRgO4HTFq1c7hYcNqA" alt="Pascal: операторы и команды"/></figure>
<p>Составные operators помогают выполнять некоторую последовательность инструкций. Они задаются ключевым словом begin, заканчиваются end. Между этими элементами вставляются операции, необходимые для дальнейшей реализации.</p>
<p>Рассматривается соответствующий компонент как единое целое. Расположение допустимо в любой части исходного кода.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5"></span>Условные<span class="ez-toc-section-end"></span></h3>
<p>Поддерживают выбор одного или нескольких действий в зависимости от установленного разработчиком критерия. Условием выборки станет значение логического выражения – true или false.</p>
<p>Всего условных «команд» в Паскале два: if и case.</p>
<p>IF помогает организовывать вычисления в зависимости от логического условия. Имеет полную и краткую формы записи. Может быть вложенным. В этом случае рекомендуется пользоваться такой формой представления:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/elpbyVPmJ4FCqEGrZ9KgUYpM0wFks63zzNStfHyeJDEeF5V-Jkhd0dl0kJq_HzWvk7RyfYRTZoHl285fOCMAJy-YTkY9_NSpsCfKUr7HVOpj-GbK22w2LOgY6sl_rg7yen-GSX87qqbKE0Jw03B_xw" alt="Pascal: операторы и команды"/></figure>
<p>Для вложенных If действует правило – else связано с ближайшим if, которое до этого не было привязано к другим else.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%92%D1%8B%D0%B1%D0%BE%D1%80"></span>Выбор<span class="ez-toc-section-end"></span></h3>
<p>Запись case…of…end – это определение альтернативных действий из произвольного спектра изначально заданных условий. Состоит из селектора и списка постоянных параметров, каждому из которых предшествует список констант выбора.</p>
<p>Выглядит так:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/i9n1GVYrih8eGOVdJamI1K_cxqDP3n6lOzR7NkZUKsesh1uFY95dMU6AGFkExj9gB6AhlCqofCaHpBsDaYCuZpl0MAJng5Tght2b7_ucBjcgIPiT16jBDbMeJt4t4aP3WneIn_yXQi7tpqcz_ttg2A" alt="Pascal: операторы и команды"/></figure>
<p>Здесь:</p>
<ol>
<li><выражение-селектор> – порядковое выражение. От его значения будут приниматься решения относительно дальнейших операций.</li>
<li><список1>…<списокN> – значения, с которыми будет сравниваться селектор.</li>
<li><оператор1>…<операторN> – выражения, среди которых выбирается операция для дальнейшей реализации. Таким станет элемент, с константой которого впервые совпадет селектор.</li>
</ol>
<p>Ветка с условием else – необязательный элемент. Условие If указывается всегда. Если действия для нескольких селекторов окажутся одинаковыми, разработчик сможет перечислить соответствующие константы через запятую перед двоеточием. Правила синтаксиса допускают установку диапазона значений по верхним и нижним границам.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B"></span>Циклы<span class="ez-toc-section-end"></span></h3>
<p>Цикл – это выполнение некоторых алгоритмов друг за другом несколько раз. Программирование поддерживает несколько их видов: итерационные и с параметром.</p>
<p>Цикл с параметром всегда требует использования операторов цикла. Иногда такой вариант называется регулярным циклом. Его характерной чертой является то, что количество повторений команд известно заранее.</p>
<p>Итерационный цикл таких возможностей не предусматривает. В нем количество повторений не определяется заранее. Операции будут выполнять до тех пор, пока выполняется условие продолжения «петлей».</p>
<p>Паскаль поддерживает несколько видов циклических структур:</p>
<ol>
<li>Счетный operator – for. Он используется для реализации циклов с параметрами. Для итерационной петли не подходит.</li>
<li>С предусловием – while.</li>
<li>С постусловием – repeat.</li>
</ol>
<p>While и repeat поддерживают реализацию итерационного цикла. Они также могут быть использованы для циклических структур с параметрами.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="For"></span><em>For</em><span class="ez-toc-section-end"></span></h4>
<p>Как выглядит структура программы на языке Паскаль, понятно. Зная ее, можно с легкостью освоить циклы и использовать их на практике. Первый вариант – это for. Выглядит он так:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/5hAS5IjW0eRuF-ld_VthSHAWqwTqQkMM41CsTbxDPDoDColJ-ZzZ-3ruoHKVgU4_2Fm8Uh7yzfkq_P9xWjfwXndksUv9huypTSDZKv1wy6KtPusor-YAWcNXcSm6IT5NZuV04CvCZUFUc4iSd2eWxQ" alt="Pascal: операторы и команды"/></figure>
<p>Начальные и конечные значения здесь должны быть точно такого же типа, что и имеющийся параметр.</p>
<p>Сначала параметр цикла принимает начальное значение. После этого происходит проверка: соответствующее значение меньше или равно итоговому. Данное условие выступает условием продолжения цикла. Если оно выполнено, петля продолжает функционирование. Выполняется необходимая команда, после чего параметр цикла уменьшается на единицу. Условие реализации заданной операции снова сравнивается – уже с новым значением.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="While"></span>While<span class="ez-toc-section-end"></span></h3>
<p>Цикл с постусловием работает так:</p>
<ol>
<li>Сначала проводится проверка результата логического условия.</li>
<li>Если итог – true, происходит выполнение операции. Далее система возвращается на проверку условия с новым значением параметров в логическом выражении условия.</li>
<li>Если результатом служит ложь (false), система завершает цикл.</li>
</ol>
<figure class="wp-block-image"><img decoding="async" src="https://lh6.googleusercontent.com/u0x47NFj_3BQiojRmfNxTh-RyA5ju6Sh2ZtSfWCWdRPwjBckZ_DO84qD-NL0S_zIHQ1gWpQ3R2ezF65vmtgXFXftrQ4SA5wuvLt8X0z9vabpB8CfreNFKglHoRbus57ZJT91s_wkk2qmLUSil60dyQ" alt="Pascal: операторы и команды"/></figure>
<p>Выше – форма представления соответствующей петли. Здесь необходимо запомнить следующие правила:</p>
<ul>
<li>условия, написанные в while – это требования, при которых цикл будет продолжаться;</li>
<li>в теле цикла всегда меняется значение параметра входящего в выражение условия;</li>
<li>while может не выполниться ни разу.</li>
</ul>
<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/hUV11pBvm1j81xtbZnX4i4RrAelXoZeZxUJajL7I5QrKU-rLKpjUQR7nYo-23eUQAzCCCd_nAiZxGVrX1VRZr62iR027nQfgQOgl0BNj1yUMWeoOYWSE_LNVGMzB3_6MSt_buU8DcnAMF4pkTsvq_Q" alt="Pascal: операторы и команды"/></figure>
<p>Предложенный пример – это обработка записей формы. Она будет выполняться, пока не достигнуто окончания набор данных.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="Repeat"></span><em>Repeat</em><span class="ez-toc-section-end"></span></h4>
<p>Repeat работает так:</p>
<ol>
<li>Сначала выполняются команды тела цикла.</li>
<li>Результат проверяется с логическим условием. Если он является ложью, то происходит возврат к выполнению операторов очередного тела цикла.</li>
<li>Когда результат сравнения – истина, система прекращает работу с циклической структурой.</li>
</ol>
<p>Форма записи:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/JZk88ObDEXx2ZA08HS_9OQOzJHRZWTXqswPETaoRTuVFuuSIl9mgTSjBwHEEx4ngsNURObCszPJIO9WhnOYIF4On4sdutEOHbYu6yW8HJXKssgbvr0tI--2gyhEbhU3LRxZ2csp_lMdXi71Ogoc-rw" alt="Pascal: операторы и команды"/></figure>
<p>В repeat проверяются условия завершения цикла. Если оно выполняется, петля перестает работать. Тело циклической структуры будет реализовано хотя бы один раз. Параметры для проверки условия изменяются в теле петли.</p>
<p><a href="https://pascalabc.net/downloads/pabcnethelp/index.htm?page=LangGuide/Operators/index_statements.html" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Здесь<span class="wpel-icon wpel-image wpel-icon-6"></span></a> можно узнать больше интересного о Паскале. </p>
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в </em><a href="https://otus.ru/?utm_source=oj" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><em>Otus</em><span class="wpel-icon wpel-image wpel-icon-6"></span></a><em>!</em> </p>
</div><!-- .post-content -->
<div class="the-post-foot cf">
<div class="tag-share cf">
<div class="post-tags"><a href="https://otus.ru/journal/tag/programmirovanie/" rel="tag" data-wpel-link="internal">программирование</a></div>
<div class="post-share">
<div class="post-share-icons cf">
<span class="counters">
</span>
<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fotus.ru%2Fjournal%2Fpascal-operatory-i-komandy%2F" class="link facebook wpel-icon-right" target="_blank" title="Share on Facebook" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-facebook"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fpascal-operatory-i-komandy%2F&text=Pascal%3A%20%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B%20%D0%B8%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B" class="link twitter wpel-icon-right" target="_blank" title="Share on Twitter" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-twitter"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fotus.ru%2Fjournal%2Fpascal-operatory-i-komandy%2F" class="link linkedin wpel-icon-right" target="_blank" title="LinkedIn" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-linkedin"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fpascal-operatory-i-komandy%2F&media=https%3A%2F%2Fotus.ru%2Fjournal%2Fwp-content%2Fuploads%2F2023%2F03%2Foj-1080x720-10.jpg&description=Pascal%3A%20%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B%20%D0%B8%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B" class="link pinterest wpel-icon-right" target="_blank" title="Pinterest" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-pinterest-p"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
</div>
</div>
</div>
<div class="post-nav">
<div class="post previous cf">
<a href="https://otus.ru/journal/chto-nuzhno-znat-o-perl/" title="Prev Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-left"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/chto-nuzhno-znat-o-perl/" class="image-link" rel="previous" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Что нужно знать о Perl" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-8-150x106.jpg 150w, https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-8-300x212.jpg 300w, https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-8-1024x724.jpg 1024w, https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-8-768x543.jpg 768w, https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-8-1536x1086.jpg 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-8-150x106.jpg" data-sizes="(max-width: 150px) 100vw, 150px" title="Что нужно знать о Perl" /> </a>
<div class="post-meta">
<span class="label">Prev Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/chto-nuzhno-znat-o-perl/" data-wpel-link="internal">Что нужно знать о Perl</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/chto-nuzhno-znat-o-perl/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2023-03-04T16:30:30+00:00">4 марта, 2023</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">7 Mins Read</span>
</div>
</div> </div>
</span>
</div>
<div class="post next cf">
<a href="https://otus.ru/journal/paskal-i-class-chto-nuzhno-znat-razrabotchiku/" title="Next Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-right"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/paskal-i-class-chto-nuzhno-znat-razrabotchiku/" class="image-link" rel="next" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Паскаль и Class: что нужно знать разработчику" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-11-150x106.jpg 150w, https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-11-300x212.jpg 300w, https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-11-1024x724.jpg 1024w, https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-11-768x543.jpg 768w, https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-11-1536x1086.jpg 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2023/03/oj-1080x720-11-150x106.jpg" data-sizes="(max-width: 150px) 100vw, 150px" title="Паскаль и Class: что нужно знать разработчику" /> </a>
<div class="post-meta">
<span class="label">Next Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/paskal-i-class-chto-nuzhno-znat-razrabotchiku/" data-wpel-link="internal">Паскаль и Class: что нужно знать разработчику</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/paskal-i-class-chto-nuzhno-znat-razrabotchiku/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2023-03-04T17:17:39+00:00">4 марта, 2023</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">4 Mins Read</span>
</div>
</div> </div>
</span>
</div>
</div>
<section class="related-posts grid-3">
<h4 class="section-head"><span class="title">Читать ещё</span></h4>
<div class="ts-row posts cf">
<article class="post col-4">
<a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" title="Уровень готовности CTO к 2026" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Уровень готовности CTO к 2026" title="Уровень готовности CTO к 2026" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" class="post-link" data-wpel-link="internal">Уровень готовности CTO к 2026</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-16T19:50:59+00:00">16 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" title="Новые уроки ноября: только топ-темы по программированию" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Новые уроки ноября: только топ-темы по программированию" title="Новые уроки ноября: только топ-темы по программированию" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" class="post-link" data-wpel-link="internal">Новые уроки ноября: только топ-темы по программированию</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-09T23:24:11+00:00">9 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/schjot-idjot-na-chasy/" title="Счёт идёт на часы" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Счёт идёт на часы" title="Счёт идёт на часы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-370x245.png 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/schjot-idjot-na-chasy/" class="post-link" data-wpel-link="internal">Счёт идёт на часы</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-10-30T15:04:59+00:00">30 октября, 2025</time>
</div>
</div>
</article >
</div>
</section>
</article> <!-- .the-post -->
</div>
<aside class="col-4 sidebar">
<div class="inner">
<ul>
<li id="search-2" class="widget widget_search"><h5 class="widget-title"><span>Поиск по блогу</span></h5>
<form method="get" class="search-form" action="https://otus.ru/journal/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Введите запрос и нажмите Enter" value="" name="s" title="Search for:" />
</label>
<button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
</form>
</li>
<li id="tag_cloud-5" class="widget widget_tag_cloud"><h5 class="widget-title"><span>Метки</span></h5><div class="tagcloud"><a href="https://otus.ru/journal/tag/android-2/" class="tag-cloud-link tag-link-74 tag-link-position-1" style="font-size: 12.472222222222pt;" aria-label="Android (34 элемента)" data-wpel-link="internal">Android</a>
<a href="https://otus.ru/journal/tag/c-3/" class="tag-cloud-link tag-link-91 tag-link-position-2" style="font-size: 10.916666666667pt;" aria-label="C (23 элемента)" data-wpel-link="internal">C</a>
<a href="https://otus.ru/journal/tag/c-2/" class="tag-cloud-link tag-link-81 tag-link-position-3" style="font-size: 12.666666666667pt;" aria-label="C# (35 элементов)" data-wpel-link="internal">C#</a>
<a href="https://otus.ru/journal/tag/c/" class="tag-cloud-link tag-link-20 tag-link-position-4" style="font-size: 12.472222222222pt;" aria-label="c++ (34 элемента)" data-wpel-link="internal">c++</a>
<a href="https://otus.ru/journal/tag/computer-science/" class="tag-cloud-link tag-link-209 tag-link-position-5" style="font-size: 15.972222222222pt;" aria-label="computer science (78 элементов)" data-wpel-link="internal">computer science</a>
<a href="https://otus.ru/journal/tag/css/" class="tag-cloud-link tag-link-288 tag-link-position-6" style="font-size: 8.6805555555556pt;" aria-label="CSS (13 элементов)" data-wpel-link="internal">CSS</a>
<a href="https://otus.ru/journal/tag/data-science/" class="tag-cloud-link tag-link-151 tag-link-position-7" style="font-size: 8pt;" aria-label="Data Science (11 элементов)" data-wpel-link="internal">Data Science</a>
<a href="https://otus.ru/journal/tag/devops/" class="tag-cloud-link tag-link-98 tag-link-position-8" style="font-size: 10.138888888889pt;" aria-label="devops (19 элементов)" data-wpel-link="internal">devops</a>
<a href="https://otus.ru/journal/tag/docker/" class="tag-cloud-link tag-link-143 tag-link-position-9" style="font-size: 8.2916666666667pt;" aria-label="Docker (12 элементов)" data-wpel-link="internal">Docker</a>
<a href="https://otus.ru/journal/tag/gamedev/" class="tag-cloud-link tag-link-25 tag-link-position-10" style="font-size: 11.694444444444pt;" aria-label="gamedev (28 элементов)" data-wpel-link="internal">gamedev</a>
<a href="https://otus.ru/journal/tag/hr/" class="tag-cloud-link tag-link-103 tag-link-position-11" style="font-size: 8pt;" aria-label="hr (11 элементов)" data-wpel-link="internal">hr</a>
<a href="https://otus.ru/journal/tag/html/" class="tag-cloud-link tag-link-217 tag-link-position-12" style="font-size: 11.208333333333pt;" aria-label="HTML (25 элементов)" data-wpel-link="internal">HTML</a>
<a href="https://otus.ru/journal/tag/ios/" class="tag-cloud-link tag-link-101 tag-link-position-13" style="font-size: 8.9722222222222pt;" aria-label="iOS (14 элементов)" data-wpel-link="internal">iOS</a>
<a href="https://otus.ru/journal/tag/it/" class="tag-cloud-link tag-link-50 tag-link-position-14" style="font-size: 10.527777777778pt;" aria-label="IT (21 элемент)" data-wpel-link="internal">IT</a>
<a href="https://otus.ru/journal/tag/java/" class="tag-cloud-link tag-link-75 tag-link-position-15" style="font-size: 15.680555555556pt;" aria-label="Java (73 элемента)" data-wpel-link="internal">Java</a>
<a href="https://otus.ru/journal/tag/javascript/" class="tag-cloud-link tag-link-83 tag-link-position-16" style="font-size: 14.319444444444pt;" aria-label="JavaScript (53 элемента)" data-wpel-link="internal">JavaScript</a>
<a href="https://otus.ru/journal/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-17" style="font-size: 11.888888888889pt;" aria-label="Linux (29 элементов)" data-wpel-link="internal">Linux</a>
<a href="https://otus.ru/journal/tag/machine-learning/" class="tag-cloud-link tag-link-167 tag-link-position-18" style="font-size: 8.6805555555556pt;" aria-label="Machine Learning (13 элементов)" data-wpel-link="internal">Machine Learning</a>
<a href="https://otus.ru/journal/tag/otus-book/" class="tag-cloud-link tag-link-261 tag-link-position-19" style="font-size: 9.9444444444444pt;" aria-label="otus book (18 элементов)" data-wpel-link="internal">otus book</a>
<a href="https://otus.ru/journal/tag/php/" class="tag-cloud-link tag-link-45 tag-link-position-20" style="font-size: 10.527777777778pt;" aria-label="PHP (21 элемент)" data-wpel-link="internal">PHP</a>
<a href="https://otus.ru/journal/tag/python/" class="tag-cloud-link tag-link-27 tag-link-position-21" style="font-size: 16.944444444444pt;" aria-label="Python (99 элементов)" data-wpel-link="internal">Python</a>
<a href="https://otus.ru/journal/tag/qa/" class="tag-cloud-link tag-link-155 tag-link-position-22" style="font-size: 11.402777777778pt;" aria-label="qa (26 элементов)" data-wpel-link="internal">qa</a>
<a href="https://otus.ru/journal/tag/sql/" class="tag-cloud-link tag-link-38 tag-link-position-23" style="font-size: 12.861111111111pt;" aria-label="SQL (37 элементов)" data-wpel-link="internal">SQL</a>
<a href="https://otus.ru/journal/tag/team-lead/" class="tag-cloud-link tag-link-364 tag-link-position-24" style="font-size: 9.9444444444444pt;" aria-label="team lead (18 элементов)" data-wpel-link="internal">team lead</a>
<a href="https://otus.ru/journal/tag/unity/" class="tag-cloud-link tag-link-24 tag-link-position-25" style="font-size: 8pt;" aria-label="unity (11 элементов)" data-wpel-link="internal">unity</a>
<a href="https://otus.ru/journal/tag/algoritmy/" class="tag-cloud-link tag-link-30 tag-link-position-26" style="font-size: 9.9444444444444pt;" aria-label="Алгоритмы (18 элементов)" data-wpel-link="internal">Алгоритмы</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh/" class="tag-cloud-link tag-link-40 tag-link-position-27" style="font-size: 10.138888888889pt;" aria-label="Базы данных (19 элементов)" data-wpel-link="internal">Базы данных</a>
<a href="https://otus.ru/journal/tag/matematika/" class="tag-cloud-link tag-link-44 tag-link-position-28" style="font-size: 10.916666666667pt;" aria-label="Математика (23 элемента)" data-wpel-link="internal">Математика</a>
<a href="https://otus.ru/journal/tag/arhitektura-po/" class="tag-cloud-link tag-link-10 tag-link-position-29" style="font-size: 9.4583333333333pt;" aria-label="архитектура ПО (16 элементов)" data-wpel-link="internal">архитектура ПО</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh-2/" class="tag-cloud-link tag-link-251 tag-link-position-30" style="font-size: 10.138888888889pt;" aria-label="базы данных (19 элементов)" data-wpel-link="internal">базы данных</a>
<a href="https://otus.ru/journal/tag/vebinar/" class="tag-cloud-link tag-link-201 tag-link-position-31" style="font-size: 13.930555555556pt;" aria-label="вебинар (48 элементов)" data-wpel-link="internal">вебинар</a>
<a href="https://otus.ru/journal/tag/dajdzhest/" class="tag-cloud-link tag-link-308 tag-link-position-32" style="font-size: 10.722222222222pt;" aria-label="дайджест (22 элемента)" data-wpel-link="internal">дайджест</a>
<a href="https://otus.ru/journal/tag/zapis-vebinara/" class="tag-cloud-link tag-link-226 tag-link-position-33" style="font-size: 14.902777777778pt;" aria-label="запись вебинара (61 элемент)" data-wpel-link="internal">запись вебинара</a>
<a href="https://otus.ru/journal/tag/zapis-uroka/" class="tag-cloud-link tag-link-272 tag-link-position-34" style="font-size: 16.069444444444pt;" aria-label="запись урока (80 элементов)" data-wpel-link="internal">запись урока</a>
<a href="https://otus.ru/journal/tag/informacionnaya-bezopasnost/" class="tag-cloud-link tag-link-232 tag-link-position-35" style="font-size: 10.138888888889pt;" aria-label="информационная безопасность (19 элементов)" data-wpel-link="internal">информационная безопасность</a>
<a href="https://otus.ru/journal/tag/karera-v-it/" class="tag-cloud-link tag-link-292 tag-link-position-36" style="font-size: 9.9444444444444pt;" aria-label="карьера в IT (18 элементов)" data-wpel-link="internal">карьера в IT</a>
<a href="https://otus.ru/journal/tag/podborka/" class="tag-cloud-link tag-link-7 tag-link-position-37" style="font-size: 12.666666666667pt;" aria-label="подборка (35 элементов)" data-wpel-link="internal">подборка</a>
<a href="https://otus.ru/journal/tag/podborka-statej/" class="tag-cloud-link tag-link-219 tag-link-position-38" style="font-size: 15.777777777778pt;" aria-label="подборка статей (75 элементов)" data-wpel-link="internal">подборка статей</a>
<a href="https://otus.ru/journal/tag/programmirovanie/" class="tag-cloud-link tag-link-65 tag-link-position-39" style="font-size: 22pt;" aria-label="программирование (332 элемента)" data-wpel-link="internal">программирование</a>
<a href="https://otus.ru/journal/tag/proekt/" class="tag-cloud-link tag-link-321 tag-link-position-40" style="font-size: 11.888888888889pt;" aria-label="проект (29 элементов)" data-wpel-link="internal">проект</a>
<a href="https://otus.ru/journal/tag/proektnaya-rabota/" class="tag-cloud-link tag-link-310 tag-link-position-41" style="font-size: 11.597222222222pt;" aria-label="проектная работа (27 элементов)" data-wpel-link="internal">проектная работа</a>
<a href="https://otus.ru/journal/tag/seti/" class="tag-cloud-link tag-link-181 tag-link-position-42" style="font-size: 12.958333333333pt;" aria-label="сети (38 элементов)" data-wpel-link="internal">сети</a>
<a href="https://otus.ru/journal/tag/testirovanie/" class="tag-cloud-link tag-link-69 tag-link-position-43" style="font-size: 13.930555555556pt;" aria-label="тестирование (48 элементов)" data-wpel-link="internal">тестирование</a>
<a href="https://otus.ru/journal/tag/upravlenie-komandoj/" class="tag-cloud-link tag-link-63 tag-link-position-44" style="font-size: 11.694444444444pt;" aria-label="управление командой (28 элементов)" data-wpel-link="internal">управление командой</a>
<a href="https://otus.ru/journal/tag/habr-2/" class="tag-cloud-link tag-link-203 tag-link-position-45" style="font-size: 13.930555555556pt;" aria-label="хабр (48 элементов)" data-wpel-link="internal">хабр</a></div>
</li>
</ul>
</div>
</aside>
</div> <!-- .ts-row -->
</div> <!-- .main -->
<footer class="main-footer dark bold">
<section class="lower-footer cf">
<div class="wrap">
<div class="links">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
<p class="copyright"> © 2015-2026 OTUS </p>
<div class="to-top">
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i> Top</a>
</div>
</div>
</section>
</footer>
</div> <!-- .main-wrap -->
<div class="mobile-menu-container off-canvas" id="mobile-menu">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<div class="logo">
</div>
<ul class="mobile-menu"></ul>
</div>
<div class="search-modal-wrap">
<div class="search-modal-box" role="dialog" aria-modal="true">
<form method="get" class="search-form" action="https://otus.ru/journal/">
<input type="search" class="search-field" name="s" placeholder="Search..." value="" required />
<button type="submit" class="search-submit visuallyhidden">Submit</button>
<p class="message">
Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel. </p>
</form>
</div>
</div>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/js/url-span.js" id="wbcr-comments-plus-url-span-js"></script>
<script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra">
/* <![CDATA[ */
var eztoc_smooth_local = {"scroll_offset":"30"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js" id="ez-toc-scroll-scriptjs-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js" id="ez-toc-js-cookie-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js" id="ez-toc-jquery-sticky-kit-js"></script>
<script type="text/javascript" id="ez-toc-js-js-extra">
/* <![CDATA[ */
var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js" id="ez-toc-js-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/custom-script.js" id="custom-script-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/magnific-popup.js" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.fitvids.js" id="jquery-fitvids-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/imagesloaded.min.js" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/object-fit-images.js" id="object-fit-images-js"></script>
<script type="text/javascript" id="contentberg-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"custom_ajax_url":"\/journal\/pascal-operatory-i-komandy\/"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theme.js" id="contentberg-theme-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theia-sticky-sidebar.js" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.slick.js" id="jquery-slick-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jarallax.js" id="jarallax-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/masonry.min.js" id="masonry-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.masonry.min.js" id="jquery-masonry-js"></script>
</body>
</html>
<!-- Cache served by breeze CACHE - Last modified: Mon, 09 Mar 2026 14:48:09 GMT -->