Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Знай! ! !



• глобальная переменная известна во всех вложенных процедурах

• локальная переменная НЕизвестна ни в каких внешних процедурах;

• одноименные переменные, описанные в разных процедурах, - это РАЗНЫЕ переменные.

Задания к § 32

1. Написать процедуры рисования горизонтальной линии, вертикальной линии и диагонали.

2. Используя написанные процедуры нарисовать по заказу преподавателя какую-нибудь картинку, например, зеленый дом с красной крышей, черный корабль с синим парусом, куб и т.д.

3. Усовершенствовать процедуры так, чтобы можно было заказывать символ, которым рисуются линии.

§ 33Процедуры с параметрами-переменными

Часто в при написании процедур возникает необходимость передать некоторые результаты во ВНЕ, например, в основную программу. В этом случае используют процедуры с параметрами-переменными. Параметры-переменные используются для определения результатов выполнения процедуры и в списке формальных параметров перечисляются после слова VAR.

Описание процедуры с параметрами-переменными начинается с такого заголовка:

Procedure (список параметров-значений; VAR список параметров-переменных);

Var

Описание локальных переменных

Begin

……………

………………

End;


Например,

Procedure EXAM(m,n:INTEGER;VAR y:Real);

Procedure XAM(VAR y,t:Real);

Procedure AM(VAR y:Real; L:Integer);

Переменные, описанные в процедуре после слова VAR, называются параметрами-переменными. С их помощью в процедуру можно и передавать исходные данные в процедуру (как через параметры-значения), так и возвращать результаты в вызывающую программу(чего нельзя делать через параметры-значения).

Пример.

PROCEDURE Line(a,b:Real;VAR c:real);

Begin

C:=a/b;

End;

В основной программе должны быть описаны переменные:

Var T,A:Real;

И вызов процедуры может быть таким:

Line(5,3,T);

Line(4+2,7,А);

Line(T,A,T);

Можно вызывать Line (5+A,6+B,T);

НЕЛЬЗЯ: Line(5,6,A+B);

Запомните!!! При передаче информации в процедуру в качестве параметра-значения может быть любое выражение. В качестве параметра-переменной может быть только переменная.

Задача. Треугольник задан координатами своих вершин. Определить сумму длин его сторон. Вычисление длины стороны оформить процедурой.

Что передавать в процедуру? - координаты двух точек (4 числа).

Что передавать в программу? - длину стороны (1 число).


VAR

X1,X2,X3,Y1,Y2,Y3:REAL;

way,way1,way2:real;

PROCEDURE RASS(X_ONE,Y_ONE,X_TWO,Y_TWO:REAL;VAR R:REAL);

BEGIN

R:=SQRT(SQR(X_ONE-X_TWO)+SQR(Y_ONE-Y_TWO));

END;

begin

readln (x1,y1,x2,y2,x3,y3);

rass(x1,y1,x2,y2,way);

rass(x2,y2,x3,y3,way1);

rass(x1,y1,x3,y3,way2);

write(way+way1+way2);

end.

Задание § 33

Написать программу, определяющую является ли слово полиндромом. Программа должна включать две процедуры:

одна из которых удаляет из строк пробелы, а вторая записывает строку в обратном порядке.





Дата публикования: 2014-11-03; Прочитано: 317 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...