| ||||||||||||||||||||||||||
|
1. Простые операторы. Программирование алгоритмов линейной структурыОператор - предписание в языке программирования, предназначенное для задания некоторого завершенного действия в процессе переработки информации на ПЭВМ. Основная часть программы на языке Паскаль представляет собой последовательность операторов, каждый из которых производит некоторое действие над данными. Операторы выполняются последовательно в том порядке, в котором они записаны в тексте программы. Разделителем операторов служит точка с запятой. Все операторы языка Паскаль подразделяются на три
группы: простые, ввода-вывода и структурные. Фактически операторы ввода-вывода
являются обращением к стандартным процедурам, так как в Паскале нет специальных
операторов ввода-вывода. Однако по установившейся традиции такие обращения
называют операторами. 1.1. Простые операторы.Операторы, не содержащие в себе никаких других операторов, называются простыми. К ним относятся операторы присваивания, безусловного перехода, вызов процедуры и пустой оператор. 1.1.1. Оператор присваивания. Оператор присваивания (:=) предписывает выполнить
выражение, заданное в его правой части, и присвоить результат переменной,
идентификатор которой расположен в левой части. Переменная и выражение должны
иметь один и тот же тип. Исключение представляет случай, когда переменная имеет
вещественный тип, а выражение - целочисленный. Допустимо присваивание любых
типов данных, кроме файловых. 1.1.2. Оператор безусловного перехода (goto). Исполняемая часть программы является некоторым
составным оператором, в котором составляющие его операторы выполняются в той
последовательности, в которой они записаны. Если нужно изменить такую
последовательность, пользуются оператором перехода. Оператор безусловного
перехода (goto) означает "перейти к..." и применяется в случаях, когда после
выполнения некоторого оператора надо выполнить не следующий по порядку, а
какой-либо другой, отмеченный меткой оператор. Т.е. передать управление
оператору, перед которым стоит метка, указанная в операторе goto. Метка представляет собой идентификатор или любое
целое число без знака в диапазоне от 0 до 9999. Метка должна быть описана в
разделе label и записывается перед помечаемым оператором, от которого отделяется
двоеточием. Между меткой и данным можно включать один или несколько
пробелов. При записи оператора goto необходимо отметить
следующее: Следует помнить, что в соответствии с правилами
структурного программирования оператор goto следует применять как можно реже,
т.к. считается, что его частое употребление резко усложняет понимание логики
программы, усложняет ее отладку. В крайнем случае он может использоваться для
преждевременного выхода из оператора повтора. 1.1.3. Оператор вызова процедуры. Оператор вызова процедуры служит для активизации
предварительно определенной пользователем или стандартной
процедуры. 1.1.4. Пустой оператор. Пустой оператор не содержит никаких символов и не
выполняет никаких действий. Он может быть расположен в любом месте программы,
где синтаксис языка допускает наличие оператора. Как и все другие операторы,
пустой оператор может быть помечен меткой. Чаще всего пустой оператор
используется для организации выхода из середины программы или составного
оператора: Пустому оператору соответствует символ ";" на том
месте, где по правилам должен быть какой-либо оператор. 1.1.5. Операторы ввода-вывода.В любом языке программирования предусмотрена возможность обмена или пересылки информации между ОЗУ (оперативным запоминающим устройством) и внешними устройствами (принтер, дисплей, дисководы и т.д.). Для ввода в ОЗУ (чтения) и вывода из ОЗУ (записи) данных в Турбо Паскале существуют стандартные (встроенные) процедуры ввода-вывода, вызываемые соответственно, операторами Read и Write. Ввод данных. Для организации процедуры чтения данных с клавиатуры в ОЗУ используются три оператора:
Значения вводимых переменных должны соответствовать типам переменных из списка ввода. В Турбо Паскале допускается вводить значения следующих данных: целых (integer), вещественных (real), символьных (char), а также строковых переменных (string). С клавиатуры нельзя ввести:
Вывод данных. Вывод данных обычно принимает форму, которая зависит от выходного устройства: на экран, на запоминающие устройства, в порты ввода/вывода. Для организации процедуры чтения данных из ОЗУ и записи на экран используются три оператора:
В Турбо Паскале допустим вывод значений следующих данных:
С помощью оператора вывода нельзя вывести:
program Pr; var I: integer; R: real; C: char; B: boolean; ................ Write('ПРИМЕР'); WriteLn; WriteLn(' I =',I,' R =',R); WriteLn(' Символ - ',C); Write(' B =',B); В результате выводимые значения будут такими: ПРИМЕР I =-5 R = 3.5200000000E+00 Символ - + B =TRUE В Турбо Паскале предусмотрен вывод данных в определенном пользователем форматом (форматированный вывод). В общем случае формат имеет следующий вид: P:M, где P - имя переменной, M - целая константа, указывающая на число позиций, необходимых для выводимой величины P (в качестве параметра M может указываться не число, а имя константы, описанное в разделе const). Для вещественных переменных формат может быть задан
в таком виде: P:M:N (элемент : длина : количество цифр), где M - общее число
позиций для выводимой переменной P, включая знак числа, целую часть, точку и
дробную часть; N - число позиций дробной части. В этом случае переменная P
выводится в виде константы с фиксированной точкой. 1.2. Примеры программ линейной структуры.Пример: Осуществить вывод на принтер таблицы, в которой записаны значения сторон прямоугольника и его площадь.Program DemoWriteln; Uses CRT; Var { A, B - стороны, Area - площадь } A, B, Area : integer; Begin A := 8; B := 4; Area := A * B; { Lst указывает, что вывод производится на принтер } WriteLn(Lst, '-----------------------------------'); WriteLn(Lst, '| Сторона A | Сторона B | Площадь |'); WriteLn(Lst, '-----------------------------------'); WriteLn(Lst, '|', A:6, '|':6, B:6, '|':6, Area:6, '|':4); WriteLn(Lst, '-----------------------------------'); End. В результате работы программы получим таблицу: ---------------------------------------- | Сторона A | Сторона B | Площадь | ---------------------------------------- | 8 | 4 | 32 | ---------------------------------------- каждая строка которой будет печататься с первой позиции новой строки печатающего устройства. Пример: Программа, пересчитывающая расстояние, выраженное в милях, в расстояние, выраженное в километрах. program MilToKm; uses CRT; var Mil : real; { Расстояние в милях } Km : real; { Расстояние в километрах } Begin ClrScr; Write('Задайте расстояние в милях: '); ReadLn(Mil); Km := Mil * 1.6; WriteLn(Mil:5:2, ' миль это ', Km:5:2, ' километров'); ReadLn End. Примечание: Оператор ReadLn можно применить для задержки вывода результата работы программы на экране до нажатия на клавишу Enter. |
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||||
© Copyright(c) 2004 Amro Group. All rights reserved |
|