Основные операторы языка паскаль кратко

Обновлено: 02.07.2024

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

Алфавит языка Паскаль включает:

Для описания величин в языке Паскаль используются константы и переменные.

Константы – величины, не изменяющие своего значения в процессе выполнения программы.

Переменные – величины, в ходе выполнения программы могут быть неоднократно переопределены.

Типы констант и переменных

Паскаль позволяет использовать следующие типы констант и переменных:

  • Простые
    • целочисленный тип (integer);
    • логический (boolean);
    • символьный (char);
    • перечисляемый (задается перечислением всех возможных значений переменной);
    • интервальный (задается с указанием наибольшего и наименьшего значений);
    • вещественный (real);
    • строка (string);
    • массивы (array);
    • записи (record);
    • множества (set);
    • файл (file);

    Каждому из перечисленных типов соответствует свой набор операций по обработке данных. Так, для целочисленного и вещественного типов используются операции арифметических действий (сложение, вычитание, умножение, деление). Для логического типа выполняются операции and – логическое и, or – логическое или, xor – логическое исключающее или, not – логическое не.

    Кроме того, Паскаль предусматривает возможность вычисления для каждого типа данных значений стандартных функций.

    В данной таблице приведены стандартные арифметические функции.

    Вычисление косинуса числа

    Вычисление синуса числа

    Вычисление абсолютного значения числа

    Вычисление квадрата числа

    Вычисление квадратного корня числа

    Вычисление арктангенса числа

    Вычисление экспоненты числа

    Вычисление натурального логарифма числа

    Вычисление четности числа

    Вычисление целой части числа

    Примечание: Во всех тригонометрических функциях число x указывают в радианах.

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

    • Not;
    • *, /, mod, div, and;
    • +, -, or;
    • , >=, <>, =.

    Операции одного и того же старшинства выполняются слева направо в порядке их появления в выражении. Выражения в круглых скобках вычисляются в первую очередь.

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

    • Объявления и соглашения;
    • Тексты процедур и функций;
    • Основной блок программы.

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

    Раздел объявлений и соглашений

    Кроме того, в программе могут использоваться комментарии – любой текст, ограниченный (*…*) или . Комментарий может быть помещен в любом месте программы.

    Рассмотрим более подробно назначение каждой части программы.

    Заголовок программы состоит из зарезервированного слова Program и идентификатора – имени программы.

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

    • System – системный модуль низкоуровневых программ поддержки языка Паскаль; подключается автоматически, даже при отсутствии ссылки на него в строке uses;
    • Dos и WinDos – модули поддержки часто используемых функций MS DOS и Windows;
    • Crt – модуль управления режимами вывода информации на экран;
    • Printer – модуль управления выводом информации на печать;
    • Overlay – модуль управления оверлеями языка Паскаль; позволяет выполнять программы, которым требуются большие объемы памяти;
    • Strings – используется при написании программ, совместимых с Windows;
    • Graph – модуль для работы с графикой.

    В разделе описания меток содержатся сведения об используемых в программе метках. Переход по ним выполняется оператором goto. Метки отделяются от помечаемого оператора знаком “:”, должны быть описаны, могут быть целочисленными (от 0 до 9999) или идентификаторами. Каждая описанная метка обязательно должна появиться в программе.

    Для описания констант используется ключевое слово const, имя константы, знак “=” и значение константы:

    В разделе описания типов Type программист может задавать свои типы, сформированные на основе определенных правил с использованием стандартных типов.

    В разделе Var описываются переменные, используемые в программе:

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

    В разделе текстов процедур и функций в соответствии с определенными правилами производится описание процедур и функций.

    Процедура

    Процедура имеет следующую структуру:

    Функция

    Описание функций отличается по структуре от описания процедур только заголовком:

    Функция – это особый вид процедуры, результатом разботы которой является единственное значение. С этим значением связывается имя функции, в то время как име процедуры служит только для ее вызова.

    Допускается перенос с одной строки на другую частей операторов (но без разделения ключевых слов).

    Как было указано выше, основной блок программы представляет собой некоторый набор операторов.

    Оператор – неделимый элемент программы, который позволяет выполнить определенные действия.

    Операторы должны записываться строго в соответствии с правилами, установленными для данного языка программирования. Рассмотрим основные операторы языка Паскаль.

    Оператор присваивания

    Общий вид оператора:

    Операторы ввода/вывода

    Немногие программы обходятся без ввода данных и совсем нет таких, которые не выводят полученные результаты. Ввод данных с клавиатуры дисплея выполняется операторами:

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

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

    Вывод данных на экран дисплея выполняется операторами:

    Выражения в списке разделяются запятыми. Значения выражений сначала вычисляются, а затем выводятся на экран. Буквы ln имеют то же значение, что и в операторе readln.

    Вслед за выражением через двоеточие можно указать ширину поля экрана, в котором разместится выводимое значение.

    займет для вывода числа 10 три позиции, а для вывода числа 55 – шесть позиций на экране.

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

    Если х =3,14159, то оператор

    займет для вывода переменной х шесть позиций, две из которых будут использованы для дробной части х (т.е. значение х будет округлено до 3,14).

    Для того, чтобы прокомментировать выводимые значения, в список ввода можно помещать строки любых символов, заключенные в одинарные кавычки – апострофы.

    При выполнении фрагмента программы

    На экран будет выведено:

    Приведем пример Паскаль-программы.

    Задача – составить программу для подсчета суммы двух заданных чисел. Для этого необходимо ввести текст в память компьютера и сохранить на диске под именем pr1. Далее запустить программу на выполнение. При наличии ошибок внести соответствующие исправления. Получить результаты работы программы.

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

    Язык Турбо Паскаль является классическим языком программирования, широко применяемым в инженерных расчётах. Его изучение позволяет сформировать у студентов особый вид мышления – алгоритмический. Студентам, успешно овладевшим этим языком, не составит особого труда в будущей своей трудовой деятельности применять свои знания и составлять программы не только на языке Паскаль, но и на других языках программирования. Особенно важным является то, что знание языка Паскаль нужно для составления программ в среде Windows при помощи прикладного пакета Delphi, всё более популярного в последнее время.

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

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

    1. ОСНОВНЫЕ ПОНЯТИЯ СИСТЕМЫ ПРОГРАММИРОВАНИЯ ТУРБО ПАСКАЛЬ

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

    • Как ввести информацию в память (ввод).
    • Как хранить информацию в памяти (данные).
    • Как указать правильные команды для обработки данных (операции).
    • Как передать данные из программы пользователю (вывод).

    Необходимо также уметь упорядочивать команды так, чтобы:

    • некоторые из них выполнялись только в случае, если соблюдается некоторое условие или ряд условий (условное выполнение);
    • другие выполнялись повторно некоторое число раз (циклы);
    • третьи выделялись в отдельные части, которые могут быть неоднократно выполнены в разных местах программы (подпрограммы).

    Таким образом, нужно уметь использовать семь основных элементов программирования – ввод, данные, операции, вывод, условное выполнение, циклы и подпрограммы – и на их основе строить программы.

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

    Основные файлы пакета Турбо Паскаль:

    • Turbo.exe – интегрированная среда программирования;
    • Turbo.hlp – файл, содержащий данные для оперативной подсказки;
    • Turbo.tp – файл конфигурационной системы;
    • Turbo.tpl – библиотека стандартных модулей Турбо Паскаля.

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

    В рабочем окне осуществляется набор текста программы, запуск же происходит следующим образом: выход в меню, выбор пункта Run – Run.

    Для того чтобы сохранить программу, необходимо: выйти в меню, выбрать File – Save (Save as …), в появившемся окне ввести имя файла и нажать клавишу Enter.

    Выход из системы программирования: выход в меню, пункт File – Exit.

    1.1. Алфавит и словарь языка Паскаль

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

    Алфавит Паскаля составляют:

    • прописные и строчные буквы латинского алфавита:

    A, B, C…Y, Z, a, b, c…y, z;

    • десятичные цифры: 0, 1, 2…9;
    • специальные символы:

    Неделимые последовательности знаков алфавита образуют слова, отделенные друг от друга разделителями. Ими могут быть пробел, комментарий или символ конца строки. Словарь Паскаля можно разделить на три группы слов: зарезервированные слова, стандартные идентификаторы и идентификаторы пользователя.

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

    Идентификатор – имя (identification – установление соответствия объекта некоторому набору символов). Для обозначения определенных разработчиками языка функций, констант и т. д. служат стандартные идентификаторы, например, Sqr, Sqrt и т. д. В этом примере Sqr вызывает функцию, которая возводит в квадрат данное число, а Sqrt – корень квадратный из заданного числа. Пользователь может переопределить любой стандартный идентификатор, но чаще всего это приводит к ошибкам, поэтому на практике их используют без изменения. Идентификаторы пользователя – это те имена, которые дает сам программист. При записи программ нужно соблюдать общие правила написания идентификаторов:

    Под операторами в языке Паскаль подразумевают только описание действий. Операторы отделяются друг от друга только точкой с запятой. Если оператор стоит перед end, until или else, то в этом случае точка с запятой не ставится.

    Оператор присваивания

    здесь v – переменная, a – выражение, := - операция присваивания. Выражение a может содержать константы, переменные, названия функций, знаки операций и скобки.

    Пример . f := 3 * C + 2 * sin(x);

    Вид выражения однозначно определяет правила его вычисления: действия выполняются слева направо с соблюдением следующего старшинства (в порядке убывания):

    1. not;
    2. *, /, div, mod, and;
    3. +, -, or;
    4. =, , <>, =, in.

    Любое выражение в скобках вычисляется раньше, чем выполняется операция, предшествующая скобкам.

    Присваивание допускается для переменных всех типов, за исключением типа файл.

    В операции v := a переменная v и выражение a должны иметь один и тот же тип, а для интервального типа – одно и то же подмножество значений.

    Примечания. Разрешается присваивать переменной типа real выражение типа integer. Нельзя присваивать переменной типа integer выражение типа real.

    Составной оператор

    Если при некотором условии надо выполнить определенную последовательность операторов, то их объединяют в один составной оператор.

    Составной оператор начинается ключевым словом begin и заканчивается словом end. Между этими словами помещаются составляющие операторы, которые выполняются в порядке их следования. После end ставится точка с запятой, а после begin – только пробелы (либо комментарий).

    Слова begin и end играют роль операторных скобок. Тело самой программы также имеет вид составного оператора. После последнего end программы ставится точка. Нельзя извне составного оператора передавать управление внутрь него.

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

    Простые операторы – это операторы, не содержащие в себе других операторов. К ним относятся:

    Структурированные операторы – это операторы, которые содержат в себе другие операторы. К ним относятся:

    Оператор присваивания

    С помощью этого оператора переменной или функции присваивается значение выражения. Для этого используется знак присваивания := , слева от которого записывается имя переменной, которой присваивается значение, а справа – выражение, значение которого вычисляется перед присваиванием. Пример:

    Оператор безусловного перехода

    Goto – зарезервированное слово в языке Паскаль. [метка] – это произвольный идентификатор, который позволяет пометить некий оператор программы и в дальнейшем сослаться на него. Метка располагается перед помеченным оператором и отделяется от него двоеточием : . Один оператор можно помечать несколькими метками. Они так же отделяются друг от друга : . Перед тем как использовать метку в разделе оператора ее необходимо описать в разделе label (раздел описания). Пример:

    Действие goto передает управление соответствующему помеченному оператору. При использовании меток нужно руководствоваться следующими правилом: метка должна быть описана в разделе описаний и все метки должны быть использованы. Оператор goto противоречит принципам технологии структурного программирования. Современные языки программирования не имеют в своем составе такого оператора, и в его использовании нет необходимости. Использовать оператор goto следует крайне осторожно. Широкое его применение без особых на то оснований ухудшает понимание логики работы программы. Безусловный переход можно осуществлять далеко не из каждого места программы и не в любое место программы. Так, нельзя с помощью этого оператора перейти из основной программы в подпрограмму или выйти из подпрограммы, не рекомендуется осуществлять переход внутрь структурированного оператора, т. к. он может дать неправильный результат, и т. д.

    Пустой оператор

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

    Составной оператор

    Составной оператор – это последовательность произвольных операций в программе, заключенная в так называемые операторные скобки Begin-End . Синтаксис:

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

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

    Отдельные операторы внутри составного оператора отделяются друг от друга точкой с запятой.

    Условный оператор IF

    Условный оператор IF позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условный оператор - это средство ветвления вычислительного процесса. Структура условного оператора имеет следующий вид:

    где if, then, else - зарезервированные слова (если, то, иначе);

    Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение [условие]. Если результат есть True (истина), то выполняется [оператор1], а [оператор2] пропускается; если результат есть False (ложь), наоборот, [оператор1] пропускается, а выполняется [оператор2]. Например:

    При выполнении этого фрагмента переменная Y получит значение переменной X, если только это значение не превышает Mах, в противном случае Y станет равно Mах.

    Обратите внимание, что перед else не должно быть точки с запятой.

    Условными называются выражения, имеющие одно из двух возможных значений: истина или ложь. Такие выражения чаще всего получаются при сравнении переменных с помощью операций отношения =, <>, >, >=, . Сложные логические выражения составляются с использованием логических операций and (логическое И), or (логическое ИЛИ) и not (логическое НЕ). Например:

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

    Например, такая запись предыдущего оператора будет неверной:

    С учетом приоритета операций компилятор будет транслировать такую строку как:

    Часть else [оператор2] условного оператора может быть опущена. Тогда при значении True условного выражения выполняется [оператор1], в противном случае этот оператор пропускается:

    В этом примере переменная Y всегда будет иметь значение переменной X, а в Mах запоминается максимальное значение X. Вслед за else может идти другой оператор if. Таким образом, можно составить множественное ветвление:

    Оператор выбора CASE

    Оператор реализует множественное ветвление. В определенных ситуациях case использовать удобнее, чем if. Синтаксис оператора:

    Выполнение операторов зависит, будет ли [выражение] равно [выражение_1], [выражение_2] или [выражение_N]. Например, [оператор_2] будет выполнен только в случае, когда [выражение]=[выражение_2]. Если ни одно из условий не выполняется, то будет выполнен [оператор], следующий за блоком else. Если блока else нет, то оператор case просто пропускается. Оператор case эквивалентен следующему оператору if:

    Операторы цикла

    Циклической алгоритмической структурой считается такая структура, в которой некоторые действия выполняются несколько раз. В программировании имеются два вида циклических структур: цикл с параметром и итерационный цикл.

    В цикле с параметром всегда имеются так называемые параметры цикла. Иногда цикл с параметром называют регулярным циклом. Характерной чертой является то, что число циклов и повторений можно определить до выполнения цикла.

    В итерационном цикле невозможно определить число циклов до его выполнения. Он выполняется до тех пор, пока выполняется условие продолжение цикла.

    В языке Паскаль имеются три оператора, реализующих циклические вычислительные структуры:

    счетный оператор for. Он предназначен для реализации цикла с параметром и не может быть использован для реализации итерационного цикла;

    Последние два ориентированы на реализацию итерационного цикла, однако их можно использовать и для реализации цикла с параметром.

    Оператор FOR

    Начальное и конечное значения должны быть того же типа, что и параметр.

    На первом шаге параметр цикла принимает начальное значение затем осуществляется проверка: параметр цикла меньше или равен конечному значению. Это условие является условием продолжения цикла. Если выполнено, то цикл продолжает свою работу и выполняется [оператор], после чего параметр цикла увеличивается (уменьшается) на единицу. Затем с новым значением параметр цикла, проверяется условие продолжения цикла. Если оно выполняется, то действия повторяются. Если условие не выполняется, то цикл прекращает свою работу.

    Оператор for существенно отличается от аналогичных операторов в других языках программирования. Отличия следующие:

    Оператор может не выполниться ни разу, поскольку проверка условия продолжения цикла выполняется до тела цикла;

    Тело цикла в операторе for представлено одним оператором. В том случае, если действие тела цикла требует более одного простого оператора, то эти операторы необходимо превратить в один составной оператор посредством операторных скобок (BEGIN-END);

    Цикл for может уменьшать параметр. В этом случае синтаксис следующий:

    Оператор WHILE (цикл с предусловием)

    Оператор while работает следующим образом: вначале работы проверяется результат логического условия. Если результат истина, то выполняется оператор, после которого осуществляется возврат на проверку условия с новым значением параметров в логическом выражении условия. Если результат ложь, то осуществляется завершение цикла.

    При работе с while надо обратить внимание на его свойства:

    цикл while может не выполняться ни разу, поскольку проверка условия в продолжение цикла выполняется до тела цикла.

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

    Оператор REPEAT (цикл с постусловием)

    Оператор repeat работает следующим образом: сначала выполняются операторы тела цикла, после чего результат проверяется логического условия. Если результат ложь, то осуществляется возврат к выполнению операторов очередного тела цикла. Если результат истина, то оператор завершает работу.

    Оператор repeat имеет следующие особенности:

    операторы тела цикла не надо заключать в операторские скобки (BEGIN-END), при этом роль операторных скобок выполняют repeat и until.

    В этом уроке мы познакомимся с основными определениями и операторами в Turbo Pascal.

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

    • а) идентификатор может состоять только из букв, включая символ подчеркивания, и цифр (пп.1-3 алфавита языка). Использование пробела недопустимо;
    • б) первым символом должна быть буква;
    • в) строчные и прописные буквы считаются компилятором эквивалентными;
    • г) максимальная длина идентификатора - 126 символов. Однако компилятор различает только первые 63 символа.

    1.1 Типы данных в Turbo Pascal

    Вам будет интересно: 1.1 Типы данных в Turbo Pascal

    Примеры идентификаторов: a, x1, alpha, ALPHA, Mass_of_Sun, speed

    Служебные (зарезервированные слова). Это ограниченная группа слов (чуть более 50-ти), построенных из букв. Смысл каждого служебного слова четко фиксирован в языке. Служебные слова НЕЛЬЗЯ использовать в качетве идентификаторов вводимых программистом.

    Примеры служебных слов: begin, end, for, to, if, else, array, in, mod, var, unit и т.д.

    Неименованные константы (изображения). Группа лексем обозначающая числа, символы, строки и некоторые другие значения. Например, 'a' - символ "а"; 'Турбо Паскаль' - текстовая строка, 123 - целое число, 123.5 или 1.235Е2 - вещественное число.

    1. Turbo Pascal Введение теория и основы.

    Вам будет интересно: 1. Turbo Pascal Введение теория и основы.

    Знаки операций. Формируются из одного или нескольких специальных символов и предназначены для задания действий по преобразованию данных и вычислению значений. Коментарии - произвольная последовательность символов заключенная в фигурные скобки < >или в разделители вида (* *). Коментарии используются для размещения в программе фрагментов пояснительного характера. Например, < Это строка коментария >

    Кроме этого с помощью символов < >можно верменно исключить из программы определенную группу операторов, поскольку все, что является текстом коментария полностью игнорируется компилятором.

    Ключи компиляции (дерективы компилятора) - спициальные конструкции позволяющие управлять режимом компиляции: включать или выключать контроль ошибок, производить или нет проверку диапазонов массивов, изменять распределение памяти и т.д. Ключ компиляции представояет собой специфический коментарий, содержащий символ "$" и букву-ключ с последующим знаком "+" (включить режим) или "-" (выключить). Например, - отключить проверку диапазонов индексов массивов; - включить обработку ошибок ввода-вывода и т.д.

    Некоторые ключи задают не режим, а компоновку программы из внешних составных частей. Таков, например, ключ называемый командой включения в программу внешнего текстового файла. Эта команда заставляет компилятор считать заданный файл частью обрабатываемой программы.

    Операторы языка в Turbo Pascal

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

    Все операторы языка Паскаль можно разбить на две группы: простые и структурированные.

    Простые операторы. Простыми являются те операторы, которые не содержат в себе других операторов. К ним относятся:

    • оператор присваивания;
    • обращение к процедуре;
    • оператор безусловного перехода GOTO;
    • пустой оператор.

    Оператор присваивания С помощью этого оператора переменной или функции присваивается значение выражения. Для этого используется знак присваивания := , слева от которого записывается имя переменной или функции, которой присваивается значение, а справа - выражение, значение которого вычисляется перед присваиванием.

    Допустимо присваивание значений переменным и функциям любого типа, за исключением типа файл. Тип выражения и тип переменной (или функции) должны быть совместимы для присваивания Пример. X := Y; Z :=А + В; Res := (I>0) and (I begin ; ; . . . end; Он может потребоваться в тех случаях, когда в соответствии с правилам! построения конструкций языка можно использовать один оператор, а выполнить нужно несколько действий. В такой составной оператор входит ряд операторов выполняющих требуемые действия.

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

    Отдельные операторы внутри составного оператора отделяются друг от друга точкой с запятой. Так как завершающее составной оператор слово end не является отдельным предложением, то перед ним точку с запятой можно не ставить, в противном случае компилятор будет считать, что перед словом end стоит пустой оператор.

    Можно считать, что и само тело программы, т. к. оно заключено в операторные скобки begin и end, тоже является составным оператором.

    Условный оператор IF

    Оператор IF реализует алгоритмическую конструкцию РАЗВИЛКА и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия. Существует два варианта оператора:

    if S then A else В; и if S then А;

    В этих операторах:

    • S - некоторое логическое выражение, истинность которого проверяется;
    • А - оператор, который выполняется, если выражение S истинно;
    • В - оператор, который выполняется, если выражение S ложно.

    Так как условный оператор IF является единым предложением, ни перед then, ни перед else точку с запятой ставить нельзя. Примеры использования оператора:

    Условный оператор CASE С помощью этого оператора можно выбрать вариант из любого количества вариантов. Структура этого оператора в Turbo Pascal: case S of C1:Instruction1; C2:Instruction2; CN: InstructionN; else Instruction end;

    В этой структуре: S - выражение порядкового типа, значение которого вычисляется; C1, C2, . CN - константы, с которыми сравнивается значение выражения S; Instruction1, Instruction2, . InstructionN - операторы, из которых выполняется ТОТ, с константой которого совпадает значение выражения S; Instruction - оператор, который выполняется, если значение выражения S не совпадает ни с одной из констант С1, . CN. Ветвь оператора else является необязательной. Если она отсутствует и значение выражения S не совпадет ни с одной из перечисленных констант, весь оператор рассматривается как пустой. В отличие от оператора IF перед словом else точку с запятой можно ставить.

    Если для нескольких констант нужно выполнять один и тот же оператор, их можно перечислить через запятую (или даже указать диапазон, если возможно), сопроводив их одним оператором.

    Оператор цикла REPEAT Оператор цикла REPEAT организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход из цикла осуществляется при истинности некоторого логического выражения. Структура этого оператора: repeat Instruction1; Instruction2; . . . InstructionN until S;

    В этой структуре: Instruction1, Instruction2, . InstructionN - выполняемые операторы, составляющие тело цикла; S - логическое выражение, истинность которого проверяется в конце каждой итерации. Так как слова repeat и until являются своеобразными операторными скобками, точку с запятой перед словом until ставить не обязательно. Оператор цикла REPEAT Оператор цикла REPEAT организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход из цикла осуществляется при истинности некоторого логического выражения. Структура этого оператора: repeat Instruction1; Instruction2; . . . InstructionN until S;

    В этой структуре: Instruction1, Instruction2, . InstructionN - выполняемые операторы, составляющие тело цикла; S - логическое выражение, истинность которого проверяется в конце каждой итерации. Так как слова repeat и until являются своеобразными операторными скобками, точку с запятой перед словом until ставить не обязательно.

    Оператор цикла WHILE Оператор цикла WHILE организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале каждой итерации, тело цикла может не выполняться ни разу. Структура оператора цикла имеет вид: while S do Instruction;

    В этой структуре: S - логическое выражение, истинность которого проверяется в начале каждой итерации; Instruction - выполняемый оператор цикла.

    Оператор цикла FOR Оператор цикла FOR организует выполнение одного оператора заранее известное число раз. Существует два варианта оператора: For Param:=Start to Finish do Instruction; For Param:=Start downto Finish do Instruction; В этих операторах:

    • Param - параметр цикла, являющийся переменной порядкового типа;
    • Start - выражение, определяющее начальное значение параметра цикла;
    • Finish - выражение, определяющее конечное значение параметра цикла;
    • Instruction - выполняемый оператор.

    Start и Finish должны быть совместимы для присваивания с параметром цикла (см. п. 9.3). Цикл действует таким образом. Сначала вычисляются и запоминаются начальное - Start и конечное - Finish значения параметра цикла. Далее параметру цикла Param присваивается начальное значение Start. Затем значение параметра цикла сравнивается со значением Finish. Далее, пока параметр цикла меньше или равен конечному значению (в первом варианте оператора) или больше или равен конечному значению (во втором варианте), выполняется очередная итерация цикла; в противном случае происходит выход из цикла. Выполнение очередной итерации включает в себя сначала выполнение оператора Instruction, а затем присваивание параметру цикла следующего большего значения (в первом варианте оператора) или следующего меньшего значения (во втором варианте).

    Естественно, что, если в первом варианте значение Start больше Finish или во втором варианте меньше Finish, оператор не выполняется ни разу.

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

    Использование стандартных процедур Break и Continue в операторах циклов REPEAT, WHILE и FOR В циклах REPEAT, WHILE и FOR можно использовать две новые стандартные процедуры - Break и Continue. Процедура Break позволяет досрочно выйти из цикла, не дожидаясь выполнения условия выхода. Процедура Continue позволяет начать новую итерацию цикла, даже если предыдущая не завершена.

    Операторы ввода – вывода

    Оператор WriteLn можно применить и без параметров. В этом случае курсор просто будет переведен в начало следующей строки. Это иногда нам нужно для лучшего восприятия ввода данных.

    Операторы Read и ReadLn. Этими операторами вводится информация с клавиатуры. Общий вид: Read(переменная, переменная. ) ReadLn(переменная, переменная. )

    При выполнении процедуры Read ожидается ввод перечисленных в скобках значений. Вводимые данные нужно отделить друг от друга пробелами. Присваивание значений идет по очереди. Например, если вводятся значения 53 и Х, то при выполнении оператора Read(a,b) переменной а будет присвоено число 53, а переменной b - буква Х. Причем, отметим, чтобы не было аварийной ситуации, нужно правильно определить тип данных в разделе Var; в нашем случае а:integer, а b:char.

    Особых различий при чтении и записи в использовании операторов Read и ReadLn нет. Часто процедуру ReadLn без параметров применяют в конце программы для задержки: до нажатия на клавишу результат выполнения программы остается на экране. Это очень полезно делать для анализа результатов.

    Читайте также: