46016 (VAX и Berceley Pascal), страница 2
Описание файла
Документ из архива "VAX и Berceley Pascal", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "46016"
Текст 2 страницы из документа "46016"
Отдельные инструкции, входящие в программу, в Паскале при-
нято называть операторами.
Оператор присваивания состоит из имени, идентифицирующего
переменную, символа присваивания и выражения. В области описа-
ния функции должен быть по крайней мере один оператор присваи-
вания, в котором именем, идентифицирующим переменную, является
идентификатор функции.
Выполнение оператора присваивания приводит к вычислению
значения, представляемого выражением, и присваиванию значения
переменной, идентифицированный именем, стоящим слева от символа
присваивания. В случае рассмотренного выше присвоения, происхо-
дящего в области описания функции, осуществляется определение
.
результата функции, т.е. величины, возвращаемой в месте вызова
функции.
Необходимо, чтобы тип выражения и тип переменной соответс-
твовали друг другу. Это соответствие обеспечивается, если пере-
менная и выражение принадлежат к одному типу, а так же в том
случае, когда переменная типа real, а выражение целого типа.
Синтаксис
оператор-присваивания:
переменная:=выражение
Примеры
i:=i+1;
select:=true;
Оператор процедуры состоит из идентификатора процедуры,
непосредственно за которым следует заключенный в круглые скобки
список параметров вызова. Оператор процедуры без параметров
состоит только из идентификатора процедуры.
Выполнение оператора процедуры приводит к выполнению дейс-
твий, перечисленных в описании этой процедуры. Прежде всего чем
это произойдет, происходит идентификация переменных, являющихся
параметрами вызова процедуры, и определение значений выражений.
Синтаксис
оператор-процедуры:
название-процедуры(список параметров)
название- процедуры
название-процедуры:
идентификатор
Примеры
Insert(InputFile)
ColLin(inputstr,col)
Exit
.
Оператор перехода состоит из ключевого слова goto, после
которого следует ссылка на метку.
Выполнение оператора перехода приводит к выполнению после-
довательности операторов, начинающихся с оператора, отмеченного
меткой. Необходимо, чтобы оператор перехода находился в преде-
лах блока, в котором определена метка, указанная в операторе.
Недопустимо, чтобы оператор перехода передавал управление
внутрь сложного оператора или программы.
Синтаксис
оператор-перехода:
goto метка
метка:
идентификатор
Примеры
goto 345
goto finish
Составной оператор состоит из ключевого слова begin, после
которого идет последовательность операторов и ключевое слово
end. Составной оператор используется там, где синтаксис языка
требует использования одного оператора, а необходимо выполнение
последовательности операторов.
Выполнение составного оператора приводит к выполнению зак-
люченной в нем последовательности операторов.
Синтаксис
составной-оператор:
begin последовательность-операторов end
Примеры
begin
i:=1;
j:=0;
.
end;
begin
Writeln(out);
read(in);
end;
Условный оператор состоит из ключевого слова if, после ко-
торого идет логическое выражение, ключевое слово then и опера-
тор. После оператора может следовать ключевое слово else и сно-
ва оператор.
Выполнение условного оператора заключается в вычислении
значения выражения, а затем, если его результатом будет величи-
на со значением true, в выполнении оператора, идущего после
ключевого слова then. Если результатом будет величина со значе-
нием false, а условный оператор не содержит ключевого слова el-
se, то выполнение оператора заканчивается. Если есть ключевое
слово else, то выполняется следующий после него оператор.
Если оператор, заключенный в условном операторе if, также
является условным, то в нем должно быть ключевое слово else.
Синтаксис
Условный-оператор
if логическое-выражение then оператор;
if логическое-выражение then оператор
else оператор;
Примеры
if a=b then a:=5 else a:=6;
if a=b then begin
a:=6;
b:=6
end;
if a=b then
.
if a=5 then
b:=6
else
a:=1
else
a:=10;
Оператор варианта состоит из ключевого слова case,после которо-
го идет индекс варианта, ключевое слово of, список операторов
выбора, каждому из которых предшествует метка выбора, а после
него ключевое слово end.
Список меток выбора состоит из списка констант, после ко-
торого следует двоеточие. Каждая из констант этого списка долж-
на быть одного типа с индексом варианта. Если некоторая часть
списка констант является последовательностью элементов перечис-
ляемого типа, она может заменяться конструкцией :
первый..последний
выделяющей первый и последний элементы последовательности.
Вместо меток выбора перед последним оператором выбора может ис-
пользоваться ключевое слово else. После такой "метки" двоеточие
не ставится.
Синтаксис
оператор-варианта:
case индекс-варианта of
последовательность-операторов-выбора end
Выполнение оператора выбора заключается в определении зна-
чения индекса варианта и выполнении того оператора, перед кото-
рым стоит метка выбора со значением, равным значению индекса
варианта. Если такого оператора нет, то выполняется оператор
после ключевого слова else, если и такого оператора нет, то вы-
полняется пустой оператор.
.
Примеры
case a=b of
false: i:=1;
true: j:=2
end;
case a=b of
false: i:=1
else j:=2
end;
ЦИКЛИЧЕСКИЕ ОПЕРАТОРЫ.
Оператор for состоит из ключевого слова for, за которым
следует идентификатор параметра цикла, символ присваивания, вы-
ражение, определяющее начальное значение параметра цикла, клю-
чевое слово to или downto, ключевое слово do и произвольный
оператор.
Параметр цикла и оба выражения должны быть одинакового пе-
речисляемого типа.
Синтаксис
оператор-for:
for переменная:=выражение 4a 0 to выражение 4b 0 do оператор
Выполнение оператора for приводит к выполнению содержащегося в
нем оператора для всех значений параметра цикла, которые нахо-
дятся в диапазоне значений выражение 4a 0 и выражение 4b 0.
Примеры
for i:=1 to 4 do writeln(i);
Оператор while состоит из ключевого слова while, посте ко-
торого идут логическое выражение, ключевое слово do и любой
оператор.
Синтаксис
оператор-while:
.
while выражение do оператор
Оператор while выполняется по следующему алгоритму:
1. Определяется значение выражения.
2. Если это значение false, то выполнение оператора считается
оконченным.
3. Если получено значение true, то выполняется оператор, следу-
ющий после ключевого слова do, а потом описанные действия пов-
торяются сначала.
Пример
while i<>0 do begin
i:=i-1;
writeln(i)
end;
Оператор repeat состоит из ключевого слова repeat и идущих
за ним произвольного оператора, ключевого слова until и логи-
ческого выражения.
Синтаксис
оператор-repeat:
repeat оператор until выражение
Оператор repeat выполняется по следующему алгоритму:
1. Выполняются операторы, идущие после ключевого слова repeat.
2. Вычисляется значение выражения после ключевого слова until.
3. Если получено значение true, то выполнение оператора счита-
ется оконченным.
4. Если получено значение false, то описанные действия повторя-
ются сначала.
Пример
i:=10;
repeat
writeln(i);
.
i:=i-1;
until i=0;
Стандартные типы Паскаля
Понятие тип связано с фиксированным набором данных. Переменная
относится к определенному типу, если ей можно присвоить данные, при-
надлежащие к набору определяющему этот тип. В языке Паскаль необходи-
мое явное определение типа каждой из переменных в программе.
Связь имени переменной с выбранным типом происходит при описании
переменной. Типы переменных делятся на простые и составные. К простым
типам относятся порядковые, вещественные и перечисляемые, к составным
- строковый, массивовый, записной, множественный и файловый. Среди
упомянутых типов можно выделить следующие стандартные типы: integer
(целый), byte (байтовый), char (символьный), boolean (логический), re-
al (вещественный). Первые четыре называются порядковыми. Они характер-
ны не только тем, что элементы их упорядочены, они также образуют
счетное множество.
Стандартные скалярные типы определены по умолчанию, т.е. опреде-
лять их не надо. Их неявное определение действительно во всей програм-
ме, за исключением тех фрагментов, в которых они явно переопределяются.
Массивовый тип
Массивовый тип является составным типом данных. Массив состоит из
определенного количества компонентов одинакового типа. Доступ к компо-
нентам (элементам) массива, осуществляется с помощью индексирования.
Индексом может быть произвольное выражение порядкового типа, заключен-
ные в квадратные скобки. Допустимый диапазон индексов определяется в
описании массива.
Описание массивового типа состоит из ключевого слова array, после
которого следует заключенное в квадратные скобки описание типа индек-
сов, ключевое слово of, а после него описание типа элементов.
Синтаксис:
.
описание-массива:
array[тип-индексов] of тип-элементов
тип-индексов:
описание-порядкового-типа
тип-элементов:
описание-типа
Пирмеры:
type
str = array [1..250] of char;
var
inputstr: str;
Множественный тип
Множественный тип является составным типом. Множество -
это переменная, которой может быть присвоено выбранное подмно-
жество множества всех подмножеств. Базовым множеством последне-
го может быть произвольное множество элементов порядкового ти-
па. Каждый элемент рассматриваемого типа является одним из та-
ких элементов.
Два множества равны тогда и только тогда, если они состоят
из одинаковых элементов. Если все элементы одного множества яв-
ляются элементами другого, то говорят, что первое множество со-
держится во втором.
Описание множественного типа состоит из ключевого слова
set, после которого идет ключевое слово of и описание базового
типа. Необходимо, чтобы порядковый тип, выполняющий роль базо-
вого, содержал не более 256 элементов и чтобы результат функции
ord для каждого элемента находился в интервале [0;255].
Синтаксис
описание-множественного-типа
set of базовый-тип
.
основной-тип:
порядковый-тип
Примеры
type
Mnojestvo=set of char;
Функции и процедуры языка Паскаль
Функции и процедуры являются объектами, описывающими опре-
деленные фрагменты алгоритма, реализуемого программой, поэтому
они называются подпрограммами.
В отличие от других сложных объектов, например оператора
варианта, подпрограмма выполняется только после её вызова, т.е.
в зависимости от ситуации: после использования оператора проце-
дуры или вызова функции. Оператор процедуры может находиться в
любом месте программы, в котором может использоваться, напри-
мер, пустой оператор, а вызов функции может осуществляться
только в выражении в виде обозначения функции.
Подпрограммы, как и переменные, должны быть описаны. Опи-
сание подпрограммы может находиться в декларативной части бло-
ка. Описание подпрограммы, называемое иногда определением, сос-
тоит из заголовка и блока, являющегося телом подпрограммы. За-
головок процедуры состоит из ключевого слова procedure, за ко-
торым следуют имя процедуры, заключенный в круглые скобки пере-
чень параметров и точка с запятой. Заголовок функции состоит из
ключевого слова function, за которым следует заключенный в
круглые скобки перечень параметров функции, двоеточие, опреде-
ление типа результата функции и точка с запятой. Если перечень
параметров под программы пустой, то он опускается вместе со
скобками.
Необходимо, чтобы при выполнении функции был выполнен опе-
ратор присваивания, в котором слева от оператора присваивания
.
находится имя функции, а справа выражение, соответствующее типу
результата функции. Могут измениться некоторые параметры вызова.
Синтаксис
описание-подпрограммы:
описание-процедуры