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


Подпрограммы в ABCP ascal

Содержание

Подпрограмма- это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих местах программы обеспечивается лишь обращение к ней по имени.

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

Слайд 1Подпрограммы в ABCPascal

Подпрограммы в ABCPascal

Слайд 2 Подпрограмма- это повторяющаяся группа операторов, оформленная в виде самостоятельной

программной единицы.
Она записывается однократно, а в соответствующих местах программы

обеспечивается лишь обращение к ней по имени.

Подпрограмма- это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в

Слайд 3Причины использования подпрограмм
упростить разработку больших программ методом декомпозиции (разделения) задачи

на несколько подзадач;
большая наглядность программы;
экономия памяти.


Причины использования подпрограммупростить разработку больших программ методом декомпозиции (разделения) задачи на несколько подзадач;  большая наглядность программы;экономия

Слайд 4Подпрограммы применяются когда:
часть алгоритма неоднократно повторяется в программе;
можно использовать фрагменты

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

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

Слайд 5Виды подпрограмм
Процедура – это независимая именованная часть программы, предназначенная

для выполнения конкретных действий.
процедуры
функции

Виды подпрограмм Процедура – это независимая именованная часть программы, предназначенная для выполнения конкретных действий.процедурыфункции

Слайд 6Процедуры без параметров
Формат записи:

procedure

процедуры>;
begin
<тело процедуры>;
end;
Все переменные, которые используются в процедурах без параметров, описываются в основной программе (в модуле Var).
Процедуры без параметров Формат записи:

Слайд 7Пример. Составить программу нахождения объёма цилиндра.
Program cylinder;
Const

PI=3.14;
Var R, H, V: real;

Procedure Input; { процедура ввода данных }
Begin
Writeln (’введите значение радиуса’);
Readln (R);
writeln (’введите значение высоты’);
readln (H);
end;
Procedure formula; { процедура вычисления объёма }
begin
V: =PI*sqr(R)*H;
end;
Procedure Output; { процедура вывода результатов }
begin
writeln (’V=’,V);
end;
BEGIN
Input;
formula;
Output;
END.
Пример. Составить программу нахождения объёма цилиндра.Program cylinder;   Const PI=3.14;   Var R, H, V:

Слайд 8Процедуры c параметрами
В процедурах можно описывать константы, переменные, другие процедуры.


Раздел описания в процедурах имеет такую же структуру, как и

в основной программе.
Локальные переменные – это переменные, описанные внутри процедуры.
Локальные переменные недоступны за пределами процедуры.
Изменения, происходящие с локальными переменными внутри процедуры, не влияют на значения переменных с такими же именами, но описанными вне данной процедуры.
Процедуры c параметрамиВ процедурах можно описывать константы, переменные, другие процедуры. Раздел описания в процедурах имеет такую же

Слайд 9Процедуры c параметрами
Глобальные переменные – переменные, которые используются в процедуре,

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

изменяют значения этих переменных вне данной процедуры.
Процедуры c параметрамиГлобальные переменные – переменные, которые используются в процедуре, но описаны вне её.Изменения, происходящие с глобальными

Слайд 10Пример.
Program zadacha;
Var a, b: integer;

Procedure lokal;
Var a, x: char;

Для процедуры lokal:
begin переменная x – локальная переменная
a:=’! ’; (программа не может изменить её значение)
x:=’ : ’;
b:=b+1; переменная b – глобальная переменная
end; (все изменения значения этой переменной в процедуре
BEGIN сохраняются и после выхода из процедуры)
a:=0;
b:=100; переменная a в основной программе – целого типа,
lokal; а в процедуре – символьного типа. Переменная а
writeln (’a =’, a); целого типа недоступна в процедуре lokal.
writeln (’b=’,b);
END.
Результат выполнения программы: а=0; b=101.
Пример.Program zadacha;    Var a, b: integer;  Procedure lokal;    Var a,

Слайд 11Передача параметров в Pascal
1. Передача параметров по значению
Параметры-значения – переменные,

описанные после имени процедуры в круглых скобках. Перед ними отсутствует

служебное слово Var.
Формат записи:
procedure <имя процедуры> (<имя переменной>:<тип
переменной>);
begin
<тело процедуры>;
end;
Передача параметров в Pascal1. Передача параметров по значениюПараметры-значения – переменные, описанные после имени процедуры в круглых скобках.

Слайд 12Переменные, описанные в заголовке процедуры, наз. формальными параметрами.
Переменные или константы,

которые описаны в команде процедуры при её вызове, наз. фактическими

параметрами.
При обращении к процедуре с параметрами все формальные параметры заменяются фактическими в порядке их перечисления.
Переменные, описанные в заголовке процедуры, наз. формальными параметрами.Переменные или константы, которые описаны в команде процедуры при её

Слайд 13Пример.
Program parametr;
Var m, n: integer;

Procedure summa (a, b: integer);

Var S: integer;
Begin
S:=0;
S:=a+b;
writeln ('S=',S);
end;
BEGIN
writeln ('Введите М');
readln (m);
writeln ('Введите N');
readln (n);
summa (m,n);
END.

Переменные a и b являются формальными параметрами, а переменные m и n - фактическими. Значения фактических параметров m=100 и n=10 передаются формальным параметрам a и b.
Изменения фактических параметров происходит только внутри процедуры и не влияют на них вне данной процедуры.

Пример.Program parametr;    Var m, n: integer;   Procedure summa (a, b: integer);

Слайд 14Передача параметров в Pascal
2. Передача параметров по ссылке (по имени)
Параметры-переменные

– переменные, описанные после имени процедуры в круглых скобках

и перед которыми записано служебное слово Var.
Формат записи:
procedure <имя> (<имя переменной>:<тип
переменной>; Var <имя
переменной>:<тип переменной>);
begin
<тело процедуры>;
end;
Передача параметров в Pascal2. Передача параметров по ссылке (по имени)Параметры-переменные –  переменные, описанные после имени процедуры

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

формального параметра-переменной приводят к изменению значения фактического параметра-переменной.
С помощью

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

Слайд 16Program primer;
Var a1,b1,c1,a2,b2,c2, min1, min2, S:

real;
Procedure minimum (a,b,c: real; Var min: real);

Begin
min:=a;
if min > b then min:= b;
if min > c then min:= c;
end;
BEGIN
writeln (‘введите три числа’);
readln (a1, b1, c1);
writeln (’введите три числа’);
readln (a2,b2,c2);
minimum (a1,b1,c1, min1);
minimum (a2,b2,c2, min2);
S:= min1 + min 2;
writeln (’S=’, S);
END.

Пример. Даны две тройки чисел: a1,b1,c1 и a2,b2,c2. Найти значение суммы: S=min (a1, b1, c1) + min (a2, b2, c2)

Program primer;    Var a1,b1,c1,a2,b2,c2, min1, min2, S: real;   Procedure minimum (a,b,c: real;

Слайд 17Функция – это подпрограмма, результатом работы которой является некоторое значение.
Формат

записи:
function (:

<тип параметров>): <тип результата>;
begin
<тело функции>;
end;
В теле функции имени функции необходимо присвоить результат её выполнения.
При вызове функции её имя с указанием списка фактических параметров должно быть включено в выражение как операнд.
Функция – это подпрограмма, результатом работы которой является некоторое значение.Формат записи:   function  (:

Слайд 18Пример. Вычислить значение выражения: y = | x-3 | +

| x+6 |
Program vyrazenie;
Var x, y:

real;
function modul (a: real) : real;
Begin
if a < 0 then a:= -a;
modul:=a;
end;
BEGIN
writeln (’введите значение переменной’);
readln (x);
y:= modul (x-3) + modul (x+6);
writeln (’y=’, y);
END.
Пример. Вычислить значение выражения: y = | x-3 | +  | x+6 |Program vyrazenie;

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

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

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

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



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

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

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

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

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

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

Слайд 22 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 вершины');

Слайд 23Функция расчета длины отрезка
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;

Слайд 24Функция расчета площади треугольника по формуле Герона
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;Формальные параметры

Слайд 25Основная программа
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);      {вызов

Слайд 26Окончательный текст программы
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

Слайд 27Тестовое задание и результаты теста
Δ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

Слайд 28Домашнее задание
1. Составить подпрограмму вычисления площади трапеции по
основаниям и высоте.

Используя эту подпрограмму, найти площади заданных трапеций:
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. Составить подпрограмму вычисления площади трапеции пооснованиям и высоте. Используя эту подпрограмму, найти площади заданных трапеций:a=6,5

Слайд 29Решение задачи
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. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


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

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