Читайте также:
|
|
Инструкции присваивания и ввода/вы вода.
Пустая инструкция
Общий вид программы:
program Имя_программы;
Разделы описаний
Begin
Основной блок программы
End.
Здесь, кроме ключевых слов, обозначающих начало и конец основного блока, остальные конструкции являются необязательными. Поэтому самая короткая программа выглядит так:
Begin
End.
Не только переменные, но и все именованные объекты программы должны быть предварительно описаны в соответствующем разделе. Каждый раздел начинается со своего ключевого слова и заканчивается с началом следующего раздела или на слове begin основного блока. Возможны объявления разделов: модулей – ключевое слово uses, меток – label, констант – const, типов – type, переменных – var; определение очередной процедуры – procedure, определение очередной функции – function. В Турбо Паскале разделы могут размещаться в любом порядке и быть не в единственном числе. Исключение составляет раздел uses: если он есть, то должен быть единственным и самым первым.
Основной блок содержит инструкции (операторы) программы. Инструкции – это законченные предложения языка, выполняющие некоторые действия над данными. Их условно можно разделить на простые и структурные (сложные, структурированные). Простые инструкции не содержат в себе других инструкций. Структурные инструкции содержат в себе хотя бы одну простую инструкцию и могут содержать другие структурные инструкции. К простым инструкциям относятся: присваивание (:=), обращение к процедуре, безусловный переход (goto), пустая инструкция. К структурным инструкциям относятся: составная инструкция или блок (begin … end), ветвления (if … then … else, case … of … else … end), циклы (while … do, repeat … until, for … to/downto … do), присоединение (with … do). Последовательно размещаемые инструкции разделяются символом "; ".
Формат записи программы – свободный. Но с точки зрения ясности и читаемости программы желательно придерживаться структурного стиля записи: выделять отступами описания объектов программы и вложения структурных инструкций.
Кроме рассмотренных конструкций в любом месте программы могут размещаться комментарии, заключаемые в фигурные скобки, например: { это комментарий }. Компилятор игнорирует комментарии, за исключением случая директив компилятору.
Директивы позволяют управлять режимами компиляции и компоновки. Они имеют вид комментария, но вслед за левой фигурной скобкой, без пробелов располагается символ "$" и буква, соответствующая режиму.
Инструкция присваивания имеет вид
X := Expr
где X – переменная, Expr – выражение, значение которого после вычисления присваивается переменной X. Типы X и Expr должны соответствовать друг другу, как и при бинарных операциях (см. выше Тему "Операции"). При различии типов разрешается присваивание вещественной переменной X целого значения Expr, строковой X – символьного значения Expr, но не наоборот. В ситуации, когда X – целая и Expr – вещественное, необходимо явное преобразование типа с помощью стандартной функции Trunc или Round. Для преобразования из символьного типа в целый и обратно используются стандартные функции Ord и Chr.
В языке Паскаль отсутствуют инструкции ввода/вывода – вместо них используются инструкции обращения к стандартным процедурам. Общий вид обращения аналогичен уже рассмотренному обращению к функции: P(S1, S2, …, SN). Здесь P – имя процедуры, а в скобках – список из одного или более фактических параметров. Через эти параметры в процедуру передаются значения, и значения могут возвращаться. В отличие от обращения к функции обращение к процедуре является простой инструкцией языка.
Инструкции ввода с клавиатуры: Read – потоковый ввод, несколько таких инструкций последовательно вводят все символы из единого потока, не теряя ни одного из них; ReadLn – построчный ввод, несколько таких инструкций вводят данные каждый раз с новой строки, игнорируя избыточные символы в строке. Вводиться могут данные только целых, вещественных, символьного и строкового типов. Целые и вещественные значения разделяются пробелами или признаками "конец строки". Строковые данные желательно вводить инструкцией ReadLn.
Инструкции вывода на экран: Write – потоковый вывод, несколько таких инструкций выводят все символы в единый поток, в одну строку экрана; WriteLn – построчный вывод, несколько таких инструкций выводят данные каждый раз с новой строки, включая в её конец обычно невидимый признак "конец строки". Значение каждого из элементов списка вывода по отдельности можно форматировать, организуя более красивую и понятную печать. Выводиться могут данные тех же типов, что и при вводе, а также булевские данные.
Пустая инструкция – это просто пустое место. Несколько символов "; " подряд задают несколько пустых инструкций. Пустая инструкция может быть помечена, и тогда на неё можно передавать управление инструкцией goto.
Лекция 4. Блок. Ветвление.
Инструкции альтернативы и варианта
Составная инструкция (блок) – это последовательность любых инструкций, заключённая в инструктивные (операторные) скобки begin и end. Таким образом, блок позволяет свести цепочку инструкций в одну структурную инструкцию.
Простейшее альтернативное ветвление представлено инструкцией if, общий вид которой на языке Паскаль и на псевдокоде:
if L then S1 else S2 | если L то S1 иначе S2 конец_если |
Возможен и сокращённый вариант инструкции: if L then S1
В любом из вариантов S1 и S2 – это инструкции (каждая в единственном числе), но зато они могут быть простыми или структурными, что позволяет вкладывать в if любые инструкции.
Если в качестве S1 или S2 вкладываются другие альтернативы, то здесь самое главное – не запутаться в вариантах сочетания условий. Всегда действует правило: ветвь else соответствует ближайшей предшествующей ветви then, ещё не имеющей парной ей ветви else.
Инструкция варианта обычно необходима тогда, когда в алгоритме в зависимости от какого-то условия надо выбрать одну ветвь не из двух, а из большего числа ветвей. Её общий вид на языке Паскаль и на псевдокоде:
case C of C1: S1; … CN: SN; else S end | выбор C из C1: S1; … CN: SN; иначе S конец_выбора |
где условие C – выражение порядкового типа; C1, …, CN – группы констант, однотипных с C; S1, …, SN, S – инструкции (каждая в единственном числе), но зато они могут быть простыми или структурными. Символ "; " после инструкции SN является необязательным. Любая из групп констант CK может быть списком одной или более констант: D1, D2, …, DM, – либо списком диапазонов (одного или более) констант: E1 .. E2, E3 .. E4, …, E2M-1 .. E2M. Если инструкция S – пустая, то можно опустить и ключевое слово else.
Инструкция case выполняется в два этапа: сначала вычисляется выражение C; затем, если полученное значение C принадлежит какому-то набору CK, то выполняется инструкция SK и управление передаётся за слово end, если же полученное значение C не принадлежит никакому набору CK, то выполняется инструкция S (если она есть) и управление также передаётся за слово end.
Лекция 5. Циклы. Инструкция
Дата добавления: 2015-07-15; просмотров: 171 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Операции. Выражения | | | Безусловного перехода, |