Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
• глобальная переменная известна во всех вложенных процедурах
• локальная переменная НЕизвестна ни в каких внешних процедурах;
• одноименные переменные, описанные в разных процедурах, - это РАЗНЫЕ переменные.
Задания к § 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!