Основные операторы языка Turbo-Paskal. Процедуры и функции

Принцип работы основных операторов языка программирования Turbo-Paskal: оператор присваивания, выбора Case, безусловного перехода, цикла, уловный, составной. Формальное описание и вызов функции и процедуры. Требования к списку фактических параметров.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

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.ОСНОВНЫЕ ОПЕРАТОРЫ ЯЗЫКА TURBO-PASCAL

Описание действий, которые должны быть выполнены над данными - основная часть любой программы. Единицей действия в программе является оператор. Обобщенная структура оператора в программе имеет вид:

<метка>:<оператор>

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 ( Нечетное );

1.5 Оператор выбора Case

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;