Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Билет №3
СРЕДСТВА ОПИСАНИЯ ДЕЙСТВИЙ
Выражения и операторы действия
Простейшие средства описания действий, которые вычисляют единственное значение, не изменяя состояния вычислений, - выражения. Они образуются из констант, переменных и других объектов данных, а также знаков операций и скобок. Операнды выражений должны быть того типа, который требуется в данном контексте.
Хотя нет ограничений на сложность выражений, однако выражения, содержащие более 7 операндов, трудны для чтения и понимания и поэтому такие выражения не рекомендуется использовать.
Операторы действия – это средства языка, позволяющие изменять в процессе выполнения программы состояние вычислений. Самый простой оператор действия – оператор присваивания. Оператор присваивания, несмотря на кажущуюся простоту, имеет очень важное алгоритмическое значение, поэтому приведем еще раз объяснения, изложенные в первой части.
Еще один оператор действия, хотя его можно лишь условно назвать таковым: он не выполняет никакого действия, это – пустой оператор ( в Паскале он обознается знаком ‘;’). Последний из простейших операторов действия – оператор останова, который прерывает работу программы (в Паскале это оператор halt).
Операторы управления
Операторы управления – это средства языка, позволяющие управлять ходом выполнения программы. Фундаментальными структурами для описания алгоритмов являются последовательное, условное и циклическое выполнение. Операторы управления служат для выражения этих структур на языке программирования.
Простейшее средство управления – последовательное расположение операторов в тексте программы, что определяет последовательное выполнение их в порядке расположения.
Условные операторы
Условные операторы позволяют выбирать для выполнения те или иные части программы в зависимости от некоторых условий. В разветвляющихся вычислительных процессах отдельные этапы вычислений (операторы) выполняются не всегда в одном и том же порядке, а в зависимости от некоторых условий, проверяемых уже по ходу вычислений.
Для задания подобного рода разветвляющихся вычислительных процессов в языках программирования существуют условные операторы. Рассмотрим полный условный оператор:
<полный условный оператор>::= if <логическое выражение>
then <оператор> else <оператор>
Здесь if (если), then (то) и else (иначе) являются служебными словами.
Таким образом, структуру полного условного оператора можно представить в виде
if B then S1 else S2,
где В – логическое выражение, а S1 и S2 – операторы.
Выполнение такого условного оператора сводится к выполнению одного из входящих в него операторов S1 или S2: если заданное в операторе условие выполняется (логическое выражение В принимает значение true), то выполняется оператор S1, в противном случае выполняется оператор S2.
удобна сокращенная форма записи условного оператора:
<сокращенный условный оператор>::= if <логическое выражение>
then <оператор>
Правило выполнения сокращенного условного оператора, имеющего вид:
if B then S
достаточно очевидно: если значение логического выражения В есть true, то выполняется оператор S; в противном случае никаких иных действий, кроме вычисления значения выражения В, не производится.
Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора – выражение любого порядкового типа.
Структура оператора выбора в Паскале такова:
Case <ключ_выбора> of <список_выбора> [else <операторы>] end
Здесь case, of, else, end – зарезервированные слова (случай, из, иначе, конец);
Оператор выбора работает следующим образом. Вначале вычисляется значение выражения <ключ_выбора>, а затем в последовательности <список_выбора> отыскивается константа, равная вычисленному значению. Выполняется оператор, который следует за найденной константой, после чего оператор выбора завершает работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается операторам, стоящим за словом else. Часть else <операторы> можно опустить, тогда при отсутствии в списке выбора нужной константы не будет выполнено никаких действий, и оператор выбора просто завершит свою работу.
Циклы
Простой арифметический цикл (цикл с параметром)
Чаще всего используется следующий вид оператора:
For V:= E1 to E2 do S,
где for (для), to (увеличиваясь к) и do (выполнять, делать) – служебные слова, V – переменная порядкового типа, называемая параметром цикла, Е1 и Е2 – выражения того же типа, что и параметр цикла, S – оператор, который и выполняется многократно в цикле, называемый телом цикла.
Заметим, что в Паскале после do должен стоять один оператор, если необходимо выполнить несколько действий, то они должны быть объединены в один составной оператор путем заключения в операторные скобки.
Этот оператор цикла предусматривает присваивание параметру цикла V последовательных значений от начального значения, равного значению выражения Е1, до конечного значения, равного значению выражения Е2, т. е. при каждом повторении выполняется оператор присваивания V:=succ(V), и выполнение оператора S при каждом значении параметра цикла V. При этом значения выражений Е1 и Е2 вычисляются один раз, при входе в оператор цикла, а значение параметра цикла V не должно изменяться в результате выполнения оператора S. Если заданное конечное значение меньше начального значения (что допустимо), то оператор S не выполняется ни разу.
Оператор цикла с параметром следующего вида:
For V:=E1 downto E2 do S,
где downto (уменьшаясь к) – служебное слово, а все остальные слова и выражения имеют прежний смысл. Изменение параметра цикла от большего значения к меньшему происходит при выполнении присваивания V:=pred(V). Заметим, что начальное значение может быть меньше конечного значения. В этом случае оператор S не выполнится ни разу. Значение параметра цикла по завершении выполнения такого цикла так же считается неопределенным.
Следует запомнить и то, что для обоих вариантов записи цикла с параметром справедливо: если начальное и конечное значения равны, то тело цикла (оператор S) выполнится один раз.
Арифметический цикл с произвольным шагом
Естественным усложнением простого арифметического цикла является цикл, в котором параметр цикла изменяется не на 1, а на произвольную величину – шаг приращения. При этом в процессе выполнения цикла шаг изменяется по заданному закону. Стандартные операторы для реализации такого цикла есть в Форте, в других языках их приходится организовывать из простейшего арифметического цикла.
Оператор цикла с постусловием
Для задания таких вычислительных процессов в Паскале и служит оператор цикла с постусловием. Этот оператор имеет вид:
Repeat S1; S2;…;Si until B,
где repeat (повторять) и until (до) – служебные слова, через Si обозначен любой оператор Паскаля, а через В – логическое выражение.
При выполнении этого оператора цикла последовательность операторов, находящихся между словами repeat и until, выполнится один или более раз. Этот процесс завершается, когда после очередного выполнения заданной последовательности операторов логическое выражение В примет (впервые) значение true. Таким образом, с помощью логического выражения В задается условие завершения выполнения оператора цикла. Поскольку в данном случае проверка условия производится после выполнения последовательности операторов (тела цикла), этот оператор цикла и называется оператором цикла с постусловием.
Оператор цикла с предусловием
В случае оператора цикла с постусловием входящая в него последовательность операторов заведомо будет выполняться хотя бы один раз. Между тем довольно часто встречаются такие циклические процессы, когда число повторений цикла тоже неизвестно заранее, но при некоторых значениях исходных данных предусмотренные в цикле действия вообще не должны выполняться, и даже однократное выполнение этих действий может привести к неверным или неопределенным результатам.
Для задания подобного рода вычислительных процессов, когда число повторений цикла заранее неизвестно и действия, предусмотренные в цикле, могут вообще не выполняться, и служит оператор цикла с предусловием. Этот оператор цикла имеет в Паскале следующий вид:
While B do S,
где while (пока), do (делать, выполнять) – служебные слова, В – логическое выражение, S – оператор. Здесь оператор S выполняется ноль или более раз, но перед каждым очередным его выполнением вычисляется значение выражения В, и оператор S выполняется только в том случае, когда значение выражения В true. Выполнение оператора цикла завершается, когда выражение В впервые принимает значение false. Если это значение выражение В принимает при первом же его вычислении, то оператор S не выполнится ни разу.
Процедуры и функции
Паскаль позволяет структурировать программу, отделив ее функционально независимые части. Отдельные, функционально независимые части программы называют подпрограммами (процедурами и функциями).
Название подпрограммы означает, что она подобна и подчинена программе.
Подпрограммы решают очень важные задачи, значительно облегчая программирование:
1) избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |


