Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика / Лекции / Лекции(2 семестр) / Лекция2 №8-Подпрограммы.pptx
Скачиваний:
46
Добавлен:
09.04.2015
Размер:
151.99 Кб
Скачать

Задание 2. Вычислить периметр Р треугольника

ABC с использованием процедуры.

Оформление подпрограммы-процедуры

Блок-схема

Псевдокод

ДЛИНА(вх. перем: x1, y1,

Процедура ДЛИНА (вх. перем: x1, y1, x2, y2;

x2, y2; вых. перем: d )

вых. перем: d )

d (x2 x1)2 (y2 y1)2

Конец процедуры

Конец

Турбо-Паскаль

Procedure Dlina (x1, y1, x2, y2: real; var d:real);

процедуры

begin

 

 

d:=sqrt(sqr(x2 – x1) + sqr(y2 – y1));

 

end;

Обращение к подпрограмме-процедуре

Обращение к процедуре из основной программы осуществляется с помощью специального оператора

вызова процедурыБлок-схема. основной программы

Три блока вызова процедуры

Начало

Ввод координат вершин xA,yA,xB,yB,xC,yC

ДЛИНА(xA, yA, xB, yB, AB)

ДЛИНА(xB, yB, xC, yC, BC)

ДЛИНА(xC, yC, xA, yA, CA)

P := AB + BC + CA

Вывод P

Конец

Программирование основной программы с использованием процедуры

Псевдокод

Начало программы

Процедура ДЛИНА (вх. перем: x1, y1, x2, y2; вых. перем: d )

Конец процедуры

Ввод координат вершин xA, yA, xB, yB, xC, yC ДЛИНА(xA, yA, xB, yB, AB)

ДЛИНА(xB, yB, xC, yC, BC) ДЛИНА(xC, yC, xA, yA, CA)

P := AB + ВC + CA

Вывод P

Конец программы

Программирование основной программы с

использованием процедуры

Турбо-Паскаль

Program PP_P;

Var

xA, yA, xB, yB, xC, yC, AB, BC, CA, P: real;

Procedure Dlina (x1, y1, x2, y2: real; var d:real);

begin

d:=sqrt(sqr(x2 – x1) + sqr(y2 – y1)); end;

Begin

writeln (‘ Введите координаты вершин’); read (xA, yA, xB, yB, xC, yC);

Dlina(xA, yA, xB, yB, AB);

Dlina (xB, yB, xC, yC, BC);

Dlina (xC, yC, xA, yA, CA); P := AB + BC + CA;

writeln (‘Периметр P=’, P:6:2); End.

Задание 3. Начинающим программистом была разработана следующая подпрограмма-функция Graphic.

Переменная Analiz в основной программе после выполнения

оператора присваивания:

Analiz := Graphic(x,0) – Graphic(x,1) + Graphic(x,2);

при x=0 примет значение ?

Ответ:

Analiz = –1