Разделы презентаций


Процедуры и функции в Паскале

Содержание

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

Слайды и текст этой презентации

Слайд 1Язык программирования Pascal Процедуры и функции
А. Жидков

Язык программирования Pascal   Процедуры и функцииА. Жидков

Слайд 2Вспомогательный алгоритм - подпрограмма
Подпрограммы применяются когда:
часть алгоритма неоднократно повторяется в

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

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

Слайд 3Процедуры и функции
Процедура( функция) представляет собой последовательность операторов, которая имеет

имя, список параметров и может быть вызвана из различных частей

программы.
Имя процедуры в тексте программы называется вызовом.
Вызов активирует процедуру (функцию) - начинают выполняться её операторы.
После выполнения процедуры программа продолжается с оператора стоящего за вызовом.
Отличие процедур от функций в том, что функции возвращают значение.
Процедуры и функцииПроцедура( функция) представляет собой последовательность операторов, которая имеет имя, список параметров и может быть вызвана

Слайд 4Описание процедур и функций
Все процедуры или функции должны быть описаны

в разделе описаний основной программы.
Описание процедуры имеет вид:

procedure имя (список

формальных параметров); раздел описаний локальных параметров begin   операторы тела процедуры end;

Описание функции имеет вид:

function имя (список формальных параметров): тип значения функции; раздел описаний локальных параметров begin   операторы тела функции end;

Описание процедур и функцийВсе процедуры или функции должны быть описаны в разделе описаний основной программы.Описание процедуры имеет

Слайд 5Параметры процедур и функций
Список формальных параметров состоит из одной или

нескольких секций, разделенных символом " ; ".

Секция состоит из

списка переменных, перечисляемых через запятую, знака “:” и типа.

Секция может предваряться служебным словом var - тогда параметры передаются по ссылке, (экономия памяти и времени).

Если var отсутствует параметры передаются значениями.

Список формальных параметров вместе с окружающими скобками может отсутствовать.
Параметры процедур и функцийСписок формальных параметров состоит из одной или нескольких секций, разделенных символом

Слайд 6Раздел описаний локальных параметров
Раздел описаний процедуры или функции устроен так

же, как и раздел описаний программы.
Здесь описываются локальные переменные,

константы и вложенные процедуры и функции.
Все такие локальные объекты доступны лишь внутри данной подпрограммы и не видны извне.
Раздел описаний локальных параметровРаздел описаний процедуры или функции устроен так же, как и раздел описаний программы. Здесь

Слайд 7Локальные и глобальные параметры
Глобальными называются переменные, объявленные в основной программе

и доступные как программе, так и всем ее подпрограммам.
Локальными называются

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

Подпрограмма может использовать любые глобальные переменные кроме тех, которые имеют те же имена, что и ее локальные переменные. Если в подпрограмме описана локальная переменная, имя которой совпадает с именем некоторой глобальной переменной, то данная глобальная переменная становится недоступной в этой подпрограмме, и при указании идентификатора переменной произойдет обращение к локальной переменой подпрограммы, а не одноименной глобальной переменной.
Память для локальных (т.е. описанных в подпрограмме) переменных выделяется на время исполнения данной подпрограммы в специальной области, называемой стеком.
При завершении работы подпрограммы память освобождается, поэтому все внутренние результаты работы подпрограммы не сохраняются от одного обращения к другому.
Локальные и глобальные параметрыГлобальными называются переменные, объявленные в основной программе и доступные как программе, так и всем

Слайд 8Решение задач с использованием подпрограмм
Заданы координаты вершин двух треугольников на

плоскости. Определить какой из треугольников имеет большую площадь.
Дано:
Координаты ABC
(Xa, Ya)

(Xb,Yb) (Xc,Yc)
Координаты DEF
(Xd, Yd) (Xe,Ye) (Xf,Yf)
Найти:
Smax=max(Sabc,Sdef)
Решение задач с использованием подпрограммЗаданы координаты вершин двух треугольников на плоскости. Определить какой из треугольников имеет большую

Слайд 9Формулы для решения задачи
Решение:
Формула длинны отрезка по координатам концов



Формула площади

треугольника по трем сторонам
(Формула Герона)

Формулы для решения задачиРешение:Формула длинны отрезка по координатам концовФормула площади треугольника по трем сторонам(Формула Герона)

Слайд 10Схема программы
Предлагается
Разделить алгоритм на процедуры:
Ввод координат вершин треугольника
Определение

длины сторон
Определение площади треугольника.

Схема программыПредлагается Разделить алгоритм на процедуры:Ввод координат вершин треугольникаОпределение длины сторонОпределение площади треугольника.

Слайд 11 program input;
var x1,y1,x2,y2,x3,y3:real;
begin
writeln ('--------------------------');
writeln ('ввод координат

вершин треугольника');
writeln ('введите координаты 1 вершины');
write ('x1=');

read (x1);
write ('y1='); read (y1);
writeln ('введите координаты 2 вершины');
write ('x2='); read (x2);
write ('y2='); read (y2);
writeln ('введите координаты 3 вершины');
write ('x3='); read (x3);
write ('y3='); read (y3);
end;

Процедура ввода данных

procedure input (var x1,y1,x2,y2,x3,y3:real);
begin
writeln ('--------------------------');
writeln ('ввод координат вершин треугольника');
writeln ('введите координаты 1 вершины');
write ('x1='); read (x1);
write ('y1='); read (y1);
writeln ('введите координаты 2 вершины');
write ('x2='); read (x2);
write ('y2='); read (y2);
writeln ('введите координаты 3 вершины');
write ('x3='); read (x3);
write ('y3='); read (y3);
end;

program input;var x1,y1,x2,y2,x3,y3:real; begin writeln ('--------------------------'); writeln ('ввод координат вершин треугольника'); writeln ('введите координаты 1 вершины');

Слайд 12Функция расчета длины отрезка
function dline (var x1,y1,x2,y2:real):real;
begin
dline:=sqrt(sqr(x2-x1)+sqr(y2-y1));
end;

Функция расчета длины отрезкаfunction dline (var x1,y1,x2,y2:real):real;begindline:=sqrt(sqr(x2-x1)+sqr(y2-y1));end;

Слайд 13Функция расчета площади треугольника по формуле Герона
function geron (var a,b,c:real):real;

var p:real;
begin
p:=(a+b+c)/2;
geron:=sqrt(abs(p*(p-a)*(p-b)*(p-c)));
end;
Формальные параметры функции и их тип
Локальный параметр

и его тип

Тип функции

Имя функции

Функция расчета площади треугольника по формуле Геронаfunction geron (var a,b,c:real):real; var p:real; begin p:=(a+b+c)/2; geron:=sqrt(abs(p*(p-a)*(p-b)*(p-c))); end;Формальные параметры

Слайд 14Основная программа
begin
input (xa,ya,xb,yb,xc,yc); {вызов процедуры}
input (xd,yd,xe,ye,xf,yf);

a:=dline(xb,yb,xc,yc); {вызов функции}
b:=dline(xa,ya,xc,yc);
c:=dline(xb,yb,xa,ya);

d:=dline(xe,ye,xf,yf);
e:=dline(xd,yd,xf,yf);
f:=dline(xd,yd,xe,ye);
Sabc:=geron(a,b,c); {вызов функции}
Sdef:=geron(d,e,f);
writeln ('Sabc=',Sabc,'Sdef=',Sdef);
Smax:=Sabc;
if Sdef>Sabc then Smax:=Sdef;
writeln ('Smax=',Smax);
end.
Основная программа begin input (xa,ya,xb,yb,xc,yc);  {вызов процедуры} input (xd,yd,xe,ye,xf,yf); a:=dline(xb,yb,xc,yc);      {вызов

Слайд 15Окончательный текст программы
program Smaxtr;
Var xa,ya,xb,yb,xc,yc,a,b,c,Sabc: real;
xd,yd,xe,ye,xf,yf,d,e,f,Sdef:

real;
Smax:real;
procedure input (var x1,y1,x2,y2,x3,y3:real);
begin
writeln

('ввод координат вершин треугольника');
writeln ('введите координаты 1 вершины');
write ('x1='); read (x1); write ('y1='); read (y1);
writeln ('введите координаты 2 вершины');
write ('x2='); read (x2); write ('y2='); read (y2);
writeln ('введите координаты 3 вершины');
write ('x3='); read (x3); write ('y3='); read (y3);
end;
function dline (var x1,y1,x2,y2:real):real;
begin
dline:=sqrt(sqr(x2-x1)+sqr(y2-y1));
end;
function geron (var a,b,c:real):real;
var p:real;
begin
p:=(a+b+c)/2;
geron:=sqrt(abs(p*(p-a)*(p-b)*(p-c)));
end;

begin
input (xa,ya,xb,yb,xc,yc);
input (xd,yd,xe,ye,xf,yf);
a:=dline(xb,yb,xc,yc);
b:=dline(xa,ya,xc,yc);
c:=dline(xb,yb,xa,ya);
d:=dline(xe,ye,xf,yf);
e:=dline(xd,yd,xf,yf);
f:=dline(xd,yd,xe,ye);
Sabc:=geron(a,b,c);
Sdef:=geron(d,e,f);
writeln ('Sabc=',Sabc,'Sdef=',Sdef);
Smax:=Sabc;
if Sdef>Sabc then Smax:=Sdef;
writeln ('Smax=',Smax);
end.

Окончательный текст программыprogram Smaxtr;Var xa,ya,xb,yb,xc,yc,a,b,c,Sabc: real;    xd,yd,xe,ye,xf,yf,d,e,f,Sdef: real;    Smax:real; procedure input

Слайд 16Тестовое задание и результаты теста
ΔABC
A(0,0)
B(-1,1)
C(1,1)
Sabc=1

ΔDEF
D(-1,1)
E(1,1)
F(1,-1)
Sdef=2

Тестовое задание и результаты тестаΔABCA(0,0)B(-1,1)C(1,1)Sabc=1ΔDEFD(-1,1)E(1,1)F(1,-1)Sdef=2

Слайд 17Задание на самоподготовку
1. Составить программу для вычисления высот треугольника со

сторонами а, b, c по формулам:
2. Составить подпрограмму вычисления площади

трапеции по
основаниям и высоте. Используя эту подпрограмму, найти площади заданных трапеций:
a=6,5 b=3,4 h=2,5
a=13,4 b=8,3 h=5,7
a=15,5 b=8,4 h=6,5
Задание на самоподготовку1. Составить программу для вычисления высот треугольника со сторонами а, b, c по формулам:2. Составить

Слайд 18Решение задачи на самоподготовку
2. Составить подпрограмму вычисления площади трапеции по

основаниям и высоте. Используя эту подпрограмму, найти площади заданных трапеций:
1.

a=6,5 b=3,4 h=2,5
2. a=13,4 b=8,3 h=5,7
3. a=15,5 b=8,4 h=6,5

PROGRAM Trapec;
Const N=3;
var i:integer;
a,b,h,s: array[1..N] of real;
Procedure STR(a, b, h: real ; var s: real);
begin
s:=(a+b)/2*h;
end;
BEGIN
for i:=1 to N Do
begin
writeln('a=',' b=',' h=');
readln(a[i],b[i],h[i]);
end;
for i:=1 to N Do
begin
STR (a[i],b[i],h[i],s[i]);
Writeln (' a=', a[i]:6:2,' b=', b[i]:6:2,' h=', h[i]:6:2);
Writeln ( ' s=', s [i]:7:3);
end;
END.

Решение задачи на самоподготовку2. Составить подпрограмму вычисления площади трапеции по основаниям и высоте. Используя эту подпрограмму, найти

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика