Главная Учебники - Разные Лекции (разные) - часть 33
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 1.ОСНОВНЫЕ ОПЕРАТОРЫ ЯЗЫКА TURBO-PASCAL 1.1Оператор присваивания 1.2Составной оператор 1.3Оператор безусловного перехода 1.4Условные операторы 1.5Оператор выбора Case 1.6Операторы цикла 2. Процедуры и функции 2.1Описание функции 2.2Формальное описание функции 2.3 Вызов функции 2.4 Формальное описание процедуры 2.5Вызов процедуры ВЫВОДЫ ЛИТЕРАТУРА ВВЕДЕНИЕ Тема а «Основные операторы языка Turbo-Paskal. Процедуры и функции» по дисциплине «Вычислительная техника и основы программирования». Цель выполнения работы – ознакомиться с основными операторами языка Turbo-Paskal, процедурами и функциями. Описание действий, которые должны быть выполнены над данными - основная часть любой программы. Единицей действия в программе является оператор. Обобщенная структура оператора в программе имеет вид: <метка>:<оператор> 1.1 Оператор присваивания
<переменная>:=<выражение>; Выполнение оператора заключается в вычислении значения выражения и присваивании его переменной, стоящей в правой части. Следует учитывать, что переменная и выражение должны быть совместимы по типу. Пример: var I,J:integer;
A,B:real;
Lon:boolean;
...
I:=12; J:=I+10;A:=0.25; B:=Sin(A);Lon:=A<>B;
1.2 Составной оператор Begin
<
оператор 1>;<оператор 2>;...;<оператор N> end
;
Составной операторпозволяет объединить несколько операторов в один. Здесь Begin
и end
представляют собой операторные скобки. Пример: Begin
X
:=0.5;
Y
:=
Sin
(
X
);
write
(
X
,
Y
)
{вывод результата вычислений}end
;
1.3 Оператор безусловного перехода
Goto
<метка>; Обеспечивается безусловный переход к оператору, помеченному меткой. Существует ряд ограничений на использование данного оператора, суть которых сводится к тому, что нельзя передавать управление внутрь другого оператора, минуя его начало. Пример: Примечание:Безусловные переходы в программе могут обеспечиваться также с помощью процедур Exit
и Halt
.
Выполнение процедуры Exit
заключается в безусловном выходе из текущей подпрограммы (процедуры или функции), а в основной программе в ее завершении. Выполнение процедуры Halt
безусловно прекращает выполнение программы. Пример: 1.4 Условные операторы Условные операторы используются для организации разветвлений в программах. Пример: Пример: if
X
mod
2=0
then
{подсчет количества четных чисел} begin
Kol
:=
Kol
+1;
writeln
(‘
Четное’
)end
{составной оператор} else
writeln
(‘
Нечетное’
); Case
<
выражение> of
<список константных значений 1 > : <оператор 1>; <список константных значений 2 > : <оператор 2>; {else
<оператор 0>} end
;
Выражение относится к ординальному типу (т.е. любому простому кроме Real). Список константных значений содержит перечисленные через запятую различные константы, совместимые с типом выражения. Выполнение оператора заключается в следующем: - вычисляется значение выражения; - если полученное значение указано в каком-либо списке констант - выполняется соответствующий оператор 1,2,...; - если полученное значение не указано ни в одном списке констант - выполняется оператор 0; - { } необязательная часть оператора. Пример: Case CHIS
of
0
: Writeln
(‘Ноль’); 1,3,5,7,9
: Writeln
(‘Нечетное’); 2,4,6,8
: Writeln
(‘Четное’) else
Writeln
(‘Нецифра’) end
;
1.6 Операторы цикла
Оператор цикла с предусловием: Выполнение оператора заключается в следующем: - пока значение логического выражения истинно - выполняется оператор в теле цикла; - в случае ложного значения логического выражения осуществляется выход из цикла. Так как истинность логического выражения проверяется в начале каждой итерации, цикл может не выполниться ни разу. Пример: X
:=1;
{Y
=0.256
SinX
,
While
X
<=10
do
для всех X
=1..10
с шагом 1
} begin Y:=0.256*Sin(X);
X
:=
X
+1
end
;
{два оператора в теле цикла объединены с помощью составного} Оператор цикла с постусловием: Выполнение оператора заключается в следующем: - если значение логического выражения ложно, то выполняется группа операторов внутри цикла; - в случае истинного значения логического выражения осуществляется выход из цикла. Поскольку проверка условия осуществляется в конце цикла, то цикл выполняется хотя бы один раз. Пример: X
:=1;
{Y
=0.256
SinX
,
Repeat
для всех X
=1..10
с шагом 1
} Y:=0.256*Sin(X);
X:=X+1
until X>10;
Оператор цикла с параметром Оператор цикла с параметром организует выполнение одного оператора в теле цикла заранее известное число раз. Существуют два варианта оператора. For
I
:=
N
to
M
do
<оператор>; For I:=N downto M do
<оператор>; где I
- параметр цикла, являющийся ординальной переменной; N
- выражение, определяющее начальное значение параметра цикла; M
- выражение, определяющее конечное значение параметра цикла. Выполнение оператора
заключается в следующем: - пока параметр цикла не больше (в первом варианте) или не меньше (во втором варианте) конечного значения - выполняется очередная итерация; - в противном случае осуществляется выход из цикла. Следует отметить, что после выхода из цикла параметр цикла становится неопределенным, за исключением случая, когда выход из цикла был осуществлен с помощью оператора Goto
. Пример: For X:=1 to 10 doFor X:=10 downto 1 do
Y:=0.256*Sin(X);
илиY:=0.256*Sin(X);
{При необходимости размещения нескольких операторов в телецикла, их объединяют с помощью составного оператора} For X:=1 to 10 do
begin Y:=0.256*Sin(X);
Writeln
(
X
,
Y
)
{вывод таблицы результатов} end
;
2.Процедуры и функции 2.1 Описание функции
В среде Turbo-Pascal имеются две разновидности подпрограмм - процедуры и функции. Структура подпрограммы аналогична структуре программы в целом. Подпрограмма должна быть описана до того, как она будет использована в основной программе или другой подпрограмме. Все параметры, которые использует подпрограмма, можно разбить на две категории: локальные параметры, объявленные внутри подпрограммы и доступные только ей самой, и глобальные - объявленные в основной программе и доступные как основной программе, так и всем ее подпрограммам. 2.2 Формальное описание функции
function
<имя функции> (
<список формальных параметров>):
<тип функции>; <секция описаний локальных переменных>; begin
<секция операторов> где <имя функции> - идентификатор, к которому предъявляются те же требования,как к любому идентификатору в среде Turbo-Pascal; <список формальных параметров> - все параметры в списке указываются вместе со своим типом (одного типа через запятую; различные типы через точку с запятой). Тип параметров в списке может быть любой. Как частный случай, функция может быть без параметров. <тип функции> - задается обычным способом и может быть любым простым или String
.
. 2.3 Вызов функции
Вызов функции может осуществляться из основной программы или другой подпрограммы. < имя переменной>:= <имя функции>(
<список фактических параметров>);
или в операторе вывода Write
(
<имя функции>(
<список фактических параметров>));
<
список фактических параметров> - представляет собой, перечисленные через запятую значения, которые при обращении заменяют соответствующие формальные параметры в описании функции. Следует обратить внимание на то, что количество, тип и порядок расположения фактических параметров в обращении к функции обязательно должен совпадать с количеством, типом и порядком расположения формальных параметров в описании функции. Пример: Как ранее указывалось, тип формальных параметров может быть любым, однако в заголовке подпрограммы нельзя вводить новый тип, так нельзя писать: function Max(A : array [1..50] of real): real;
Правильно в основной программе ввести новый тип, а затем использовать его в заголовке подпрограммы: Type MASS = array [1..50] of real;
function Max(A : MASS) : real;
оператор язык программирование 2.4 Формальное описание процедуры
procedure
<имя процедуры>(
<список формальных параметров>);
<секция описания локальных переменных>; begin
<секция операторов> end
;
В отличие от формального описания функции, в заголовке процедурыотсутствует понятие <тип>, так как имя процедуры не является носителем формального результата. Результаты выполнения процедуры могут быть множественны и указываются в списке формальных параметров в качестве параметров-переменных. В качестве формальных параметров наиболее часто встречаются параметры-значения и параметры-переменные. Параметры-значения передаются основной программой в подпрограмму через стек в виде их копий и, следовательно, собственный параметр программы подпрограммой изменится не может. При передаче параметров-переменных в подпрограмму фактически через стек передаются их адреса в порядке, объявленном в заголовке подпрограммы. Следовательно, подпрограмма имеет доступ к этим параметрам и может их изменять, поэтому результаты выполнения процедуры должны указываться в списке формальных параметров именно в качестве параметров-переменных. Параметр-переменная указывается в заголовке процедуры аналогично параметру-значению, но только перед именем параметра записывается ключевое слово Var
.
procedure MaxMin(A:MASS; Var Max,Min:real);
здесь A
- параметр-значение; Max
,
Min
- параметры-переменные. 2.5Вызов процедуры Для вызова процедуры из основной программы или другой подпрограммы используется отдельный оператор следующего вида: <имя процедуры>(
<список фактических параметров>);
Требования к списку фактических параметров в процедуре предъявляются те же, что и в подпрограмме-функции. Пример: ВЫВОДЫ
В процессе выполнения работы мы ознакомились с темами: «Основными операторы языка Turbo-Paskal. Процедуры и функции». ЛИТЕРАТУРА
1. Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. - М.: Наука, 1987; 2. Довгаль С.И., Литвинов Б.Ю., Сбитнев А.И. Персональные ЭВМ: Турбо-Паскаль V7.0, Объектное программирование, Локальные сети. (Учебное пособие).- Киев, «Информсистема сервис», 1993; 3. Епанешников А.М., Епанешников В.А. Программирование в среде Turbo-Pascal 7.0 .- М.:, Диалог МИФИ, 1993; 4. Поляков Д.Б., Круглов Н.Ю. Программирование в среде Турбо-Паскаля. - изд.МАИ., М.:, 1992; 5. Фаронов В.В. Турбо-Паскаль. Начальный курс – 1 кн. Практика программирования –2 кн. Учебное пособие. - М.: «Нолидж»,1997; 6. Эрбс Х.-Э., Штольц О. Введение в программирование на языке Паскаль./Пер. с нем. - М.:, Мир, 1989;
|