Операторы описывают те алгоритмические действия, которые должны выполняться. Операторам могут предшествовать метки, которые можно использовать для ссылок в операторах перехода. Операторы бывают простыми и структурными.
Простым оператором является такой оператор, который не содержит в себе других операторов. Таковыми являются оператор присваивания, оператор процедуры и оператор перехода.
1. Оператор присваивания заменяет текущее значение переменной новым значением, которое определяется выражением, или определяет выражение, значение которого должно возвращаться функцией.
Оператор присваивания представляет собой выражение «:=».
Выражение должно быть совместимо по присваиванию с типом переменной или типом значения, возвращаемого функцией в качестве результата. Следует отличать оператор присваивания от знака равенства. Например, выражение a:=5 означает, что переменной a присваивается значение 5, в то время как, а =5 является логическим выражением, принимающим значение истина, если значение переменной а равно пяти и ложь в противном случае.
Урок 7. Операторы вывода write/writeln. Простая программа. Программирование на Pascal / Паскаль
2. Оператор процедуры определяет активизацию процедуры, обозначенную с помощью идентификатора процедуры. Если соответствующее описание процедуры содержит список формальных параметров, то оператор процедуры должен содержать в себе соответствующий ему список фактических параметров (параметры, список которых приводится в определении, являются формальными параметрами, а в операторе вызова процедуры они являются фактическими параметрами). При вызове происходит передача фактических параметров формальным параметрам.
3. Оператор перехода goto вызывает передачу управления оператору, которому предшествует метка, указанная в данном операторе перехода.
Синтаксическая схема оператора перехода имеет следующий вид:
gоtо
При использовании оператора перехода должны соблюдаться следующие правила:
а. Метка, которая указывается в операторе перехода, должна находиться в том же блоке или модуле, что и сам оператор перехода. Другими словами, не допускаются переходы из процедуры или функции или внутрь нее.
б. Переход извне внутрь структурного оператора (то есть переход на более глубокий уровень вложенности) может вызвать непредсказуемые эффекты, хотя компилятор не выдает сообщения об ошибке.
Структурные операторы строятся из других операторов, порядок выполнения которых должен быть последовательным (составные операторы и операторы над записями), определяемым условной передачей управления (условные операторы) или повторяющимся (операторы цикла).
4. Составные операторы задают порядок выполнения операторов, являющихся их элементами. Они должны выполняться в том порядке, в котором они записаны. Составные операторы обрабатываются, как один оператор, что имеет решающее значение там, где синтаксис Паскаля допускает использование только одного оператора. Операторы заключаются в ограничители begin и end и отделяются друг от друга точкой с запятой.
Информатика. Язык Pascal: Условный оператор в Pascal. Центр онлайн-обучения «Фоксфорд»
Составной оператор используется следующим образом:
Begin
end;
Заметим, что составной оператор является аналогом базовой алгоритмической структуры «следование».
5. Условные операторы позволяют выбрать для выполнения один из составных операторов (или не выбрать ни одного). Существует два вида составных операторов: if и case.
Синтаксис оператора if можно представить следующим образом:
if then else
В выражении должен получаться результат, имеющий стандартный булевский тип. Если результатом выражения является истинное значение (True), то выполняется оператор, следующий за ключевым словом then. Если результатом выражения является значение False и присутствует ключевое слово else, то выполнятся оператор, следующий за ключевым словом else. Если ключевое слово else отсутствует, то никакой оператор не выполняется. Подчеркнем, что данный оператор является аналогом базовой алгоритмической структуры «логическое условие».
Оператор варианта (case) состоит из выражения (переключателя) и списка операторов, каждому из которых предшествует одна или более констант (они называются константами выбора) или ключевое слово else. Переключатель должен иметь перечислимый тип, и перечислимые значения верхней и нижней границы этого типа должны лежать в диапазоне от -32768 до 32767. Таким образом, строковый тип и длинный целый тип являются недопустимыми типами переключателя. Все константы выбора должны быть уникальными и иметь перечислимый тип, совместимый с типом переключателя.
case оf
else
Оператор варианта приводит к выполнению оператора, которому предшествует константа выбора, равная значению переключателя или диапазону выбора, в котором находится значение переключателя. Если такой константы выбора или такого диапазона выбора не существует и присутствует ветвь else, то выполнятся оператор, следующий за ключевым словом else. Если же ветвь else отсутствует, то никакой оператор не выполняется.
6. Оператор цикла задает повторное выполнение определенных операторов. В Паскале существует три вида циклов:
· цикл с предусловием – while;
· цикл с постусловием – repeat;
· цикл с фиксированным числом шагов – for.
Если число повторений заранее известно, то подходящей конструкцией является оператор for. В противном случае следует использовать операторы while или repeat.
В операторе цикла с постусловием (начинающимся со слова repeat) выражение, которое управляет повторным выполнением последовательности операторов, содержится внутри оператора repeat.
Repeat
Until
Результатом выражения должен быть результат булевского типа. Операторы, заключенные между ключевыми словами repeat и until, выполняются последовательно до тех пор, пока результат выражения не примет значение True. Последовательность операторов выполнится, по крайней мере, один раз, поскольку вычисление выражения производится после каждого выполнения последовательности операторов. Заметим, что служебные слова repeat и until выполняют одновременно роль составного оператора, что позволяет между ними размещать любое конечное число операторов.
Оператор цикла с предусловием (начинающийся со слова while) содержит в себе выражение, которое управляет повторным выполнением оператора (который может быть составным оператором).
while dо
Выражение, с помощью которого осуществляется управление повторением оператора, должно иметь булевский тип. Вычисление его производится до того, как внутренний оператор будет выполнен. Внутренний оператор выполняется повторно до тех пор, пока выражение принимает значение True. Если выражение с самого начала принимает значение False, то оператор, содержащийся внутри оператора цикла с предусловием, не выполняется.
Оператор цикла с параметром (который начинается со слова for) вызывает повторяющееся выполнение оператора (который может быть составным оператором), пока управляющей переменной присваивается возрастающая последовательность значений.
For
tо
dо /(downto)
В качестве управляющей переменной должен использоваться идентификатор переменной, который обозначает переменную, объявленную локальной в блоке, в котором содержится оператор for. Управляющая переменная должна иметь перечислимый тип. Начальное и конечное значения должны иметь тип, совместимый по присваиванию с перечислимым типом.
Когда начинает выполняться оператор for, начальное и конечное значения определяются один раз, и эти значения сохраняются на протяжении всего выполнения оператора for.
Оператор, который содержится в теле оператора for, выполняется один раз для каждого значения в диапазоне между начальным и конечным значением. Управляющая переменная всегда инициализируется начальным значением. Когда работает оператор for, значение управляющей переменной (счетчика) увеличивается при каждом повторении на единицу.
Если начальное значение превышает конечное значение, то содержащийся в теле цикла оператор не выполняется. Когда в операторе цикла используется ключевое слово downto, значение управляющей переменной уменьшается при каждом повторении на единицу. Если начальное значение в таком операторе меньше, чем конечное значение, то содержащийся в теле цикла оператор не выполняется.
Если оператор, содержащийся в теле оператора for, изменяет значение управляющей переменной, то это является ошибкой. После выполнения оператора for значение управляющей переменной становится неопределенным, если только выполнение оператора for не было прервано с помощью оператора перехода.
7. Оператор присоединения. В операциях над записями оператор присоединения (оператор with) удобно использовать для краткого обращения к полям записи. В операторе присоединения к полям одной или более конкретных переменных типа запись можно обращаться, используя только идентификаторы полей. Оператор присоединения имеет следующий синтаксис:
8. Операторы ввода/вывода. Для ввода значений с клавиатуры используют специальные процедуры Read и ReadLn. Эти процедуры позволяют вводить значения стандартных типов, кроме boolean, и строки (string).
Вводимые значения (кроме значений символов и строк) разделяют пробелами или записывают на разных строках. Отдельные символы и строки символов при вводе записывают подряд, так как пробел в этом случае также считается символом.
Физически операции ввода выполняются с использованием буфера, т.е. вводимая с клавиатуры последовательность символов сначала помещается в память, а затем, уже из памяти, читается программой. Последовательность передается в буфер ввода по нажатию клавиши Enter. При этом в буфер вместе с кодами введенных символов помещается и код Enter, состоящий из двух символов «#13, #10».
Если ввод осуществляется процедурой ReadLn, то буфер ввода после выполнения операции очищается, причем символы, оставшиеся не обработанными, игнорируются. Если ввод осуществляется процедурой Read, то очистка не выполняется и, следовательно, следующий оператор ввода начнет читать символы из той же строки. Последнее существенно только, если вводятся значения типа char (или string), так как при вводе чисел пробелы и переход на следующую строку игнорируются.
Заметим, что оператор readln в ряде случаев используют без скобок и указания имен переменных. Самостоятельное использование оператора применяют для организации задержки выполнения программы до нажатия клавиши enter.
Для вывода значений на экран используют процедуры Write и WriteLn.
Эти процедуры предназначены для вывода значений стандартных типов и строк (напомним, что строковое выражение заключается в апострофы).
Логические значения выводятся как TRUE или FALSE. Символы и строки выводятся без изменения, но дополняются пробелами, если ширина поля вывода больше, чем необходимо.
После вывода значений процедурой Writeln курсор переводится на следующую строку.
Таблица основных функций и процедур:
abs(x:integer):integer | Возвращает модуль аргумента (абсолютное значение) |
abs(x:real):real | Возвращает модуль аргумента (абсолютное значение) |
arctan(x:real):real | Возвращает арктангенс аргумента |
chr(i:integer):char | Возвращает i-й символ таблицы символов |
cos(x:real):real | Возвращает косинус аргумента |
dec(var i [; di:longint]) | Уменьшает значение i на di единиц |
exp(x:real):real | Возвращает значение e x |
frac(x:real):real | Возвращает дробную часть аргумента |
inc(var i [; di:longint]) | Увеличивает значение i на di единиц |
int(x:real):real | Возвращает целую часть аргумента |
ln(x:real):real | Возвращает значение натурального логарифма |
ord(x):longint | Возвращает номер значения порядкового типа |
pi:real | Возвращает значение Пи |
pred(x):х > | Возвращает значение, предшествующее аргументу |
random:real | Возвращает случайное число 0 < R |
random(i:integer):integer | Возвращает случайное число 0 < n < i |
randomise | Инициализирует датчик случайных чисел |
round(x:real):integer | Округляет аргумент до ближайшего целого числа |
sin(x:real):real | Возвращает sin х |
sqr(x:real):real | Возвращают х 2 |
sqrt(x:real):real | Возвращает корень квадратный из аргумента |
succ(x): тип x> | Возвращает значение, следующее за аргументом |
trunc(x:real):integer | Возвращает целое, полученноеотбрасыванием дробной части |
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Паскаль — Урок 26: Операторы в языке программирования Pascal
Pascal — это процедурный язык программирования, разработанный в начале 1970-х годов для обучения программированию и обладающий строгой типизацией данных и ясным синтаксисом. Один из основных компонентов любого языка программирования — операторы. В данной статье рассмотрим операторы языка программирования Pascal и представим примеры их использования. Операторы присваивания и арифметические операторы Оператор присваивания (:=) используется для передачи значения выражения переменной. Пример:
var a, b: Integer;
begin
a := 10;
b := 20;
a := a + b;
WriteLn(a); // Выводит 30
end.
Арифметические операторы Арифметические операторы включают сложение (+), вычитание (-), умножение (*), деление (/) и оператор целочисленного деления (div). Пример:
var x, y: Integer;
begin
x := 10;
y := 20;
WriteLn(x + y); // Выводит 30
WriteLn(x — y); // Выводит -10
WriteLn(x * y); // Выводит 200
WriteLn(x / y); // Выводит 0.5 (результат вещественный!)
WriteLn(x div y); // Выводит 0 (результат целочисленный)
end.
Источник: zedpost.ru
Операторы языка Паскаль
Оператором называется предложение языка программирования, задающее полное описание некоторого действия, которое необходимо выполнить. Основная часть программы на языке Турбо Паскаль представляет собой последовательность операторов. Разделителем операторов служит точка с запятой. Все операторы языка Турбо Паскаль можно разделить на две группы: простые и структурные.
Операторы, не содержащие никаких других операторов, называются простыми. К ним относятся операторы присваивания, безусловного перехода, вызова процедуры и пустой оператор.
Оператор присваивания
Оператор присваивания (:=) предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, идентификатор которой расположен в левой части. Переменная и выражение должны быть совместимы по типу.
Оператор присваивания выполняется следующим образом: сначала вычисляется выражение в правой части присваивания, а затем его значение присваивается переменной, указанной в левой части оператора.
Например, для оператора
Rezult:=A div В;
сначала выполняется целочисленное деление значения переменной А на значение переменной В, а затем результат присваивается переменной Rezult.
Примеры применения оператора присваивания:
S:= A * В;
Ostatok := A mod B;
Ratio := A / B;
Оператор безусловного перехода (go to)
Оператор безусловного перехода (go to) означает «перейти к» и применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой-либо другой, отмеченный меткой оператор.
Напомним, что метка объявляется в разделе описания меток и может содержать как цифровые, так и буквенные символы.
При использовании оператора go to необходимо помнить, что областью действия метки является только тот блок, в котором она описана. Передача управления в другой блок запрещена.
Правила использования оператора безусловного перехода. Использование безусловных передач управления в программе считается теоретически избыточным и подвергается серьезной критике, так как способствует созданию малопонятных и трудно модифицируемых программ, которые вызывают большие сложности при отладке и сопровождении. Поэтому рекомендуется минимальное использование оператора go to с соблюдением следующих правил:
• следует стремиться применять операторы перехода (если кажется невозможным обойтись без них) для передачи управления только вниз (вперед) по тексту программы; при необходимости передачи управления назад следует использовать операторы цикла;
• расстояние между меткой и оператором перехода на нее не должно превышать одной страницы текста (или высоты экрана дисплея).
Пример применения оператора безусловного перехода:
Порядок выполнения работы
- Изучить теоретические сведения по теме: “ Написание программы на Паскале с использованием операторов присваивания и безусловного перехода ”.
- Получить индивидуальное задание у преподавателя и разработать программу в соответствии с поставленной задачей.
- Показать работающую программу преподавателю.
- Ответить на контрольные вопросы.
- Основные элементы программирования.
- Основные характеристики программы. Понятия языка, оверлеев, глобальных и локальных блоков.
- Операторы языка программирования Паскаль. Оператор присваивания. Формат, примеры.
- Оператор безусловного перехода. Формат, примеры. Основные правила использования
- if then
- if then ;
Источник: studfile.net