В презентации описывается понятие «подпрограммы» и для чего они используются, в таблице представлены функции и процедуры языка Паскаль , приведены примеры подпрограмм и блок-схемы к ним. Презентацию можно использовать по теме «Подпрограммы».Она является ярким , наглядным примером общего понятия и облегчает усвоение данной темы учащимися.После знакомства учеников со структурой функции, даются понятия локальных и глобальных переменных, указывается то место, в котором они описываются.
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Просмотр содержимого документа
«презентация на тему "Подпрограммы" »
Разработка: Барбаровой А.Л. – учителя информатики
теор. лицея п.Светлый
«Ум заключается не только в знании, но и в умении прилагать знания на деле.»
Аристотель.
Тема :
Субкомпетенции:
Обработка данных с помощью стандартных подпрограмм и подпрограмм, определённых пользователем.
Организация передачи данных между вызывающей программой\подпрограммой и вызываемой подпрограммой. .
Структурное проектирование алгоритма и программы.
В программах часто приходится повторять некоторые аналогичные действия многократно.
Используя подпрограммы, можно единожды описать действия в подпрограмме, а затем лишь только вызывать ее.
Такой принцип дефрагментации программы называется нисходящим программированием и соответствует принципам структурного программирования, в основу которого и положено понятие подпрограммы.
Что такое подпрограмма?
Подпрограмма — повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы.
Записывается однократно, а в соответствующих местах программы обеспечивается обращение к ней (ссылка).
Для чего используют подпрограммы?
Подпрограммы используют, чтобы сократить объем и улучшить структуру программы с точки зрения наглядности и читаемости, уменьшить вероятность ошибок и облегчить процесс отладки программы.
Принцип нисходящего программирования
При создании программы для решения сложной задачи выполняется разделение этой задачи на подзадачи, этих подзадач – на более мелкие подзадачи и так далее до тех пор, пока подзадачи не станут легко программируемыми.
Для такой организации используются подпрограммы .
В языке Паскаль подпрограммы реализуются в виде процедур и функций.
При вызове процедуры или функции формальные параметры, указанные в заголовке, …
заменяются фактическими параметрами в порядке их следования.
Формальные параметры — это
переменные, формально присутствующие в процедуре и определяющие тип и место подстановки фактических параметров.
Фактические параметры — это
реальные объекты программы , заменяющие в теле процедуры при ее вызове формальные параметры.
Соответствие между фактическими и формальными параметрами должно быть следующим:
число фактических параметров должно быть равно числу формальных параметров;
соответствующие фактические и формальные параметры должны совпадать по порядку следования и по типу.
Процедуры
Без параметров
С параметрами
Параметры –
переменные
Параметры –
значения
Параметры - значения в основной программе не меняются.
Используются для передачи исходных данных в подпрограмму (отсутствует слово var ).
Параметры - переменные подпрограмма может изменить в основной программе.
Используются для определения результатов выполнения процедуры (обязательно var ).
program primer1;
procedure okl;
begin
writeln (‘ Это подпрограмма. ’);
end;
procedure ok2;
begin
writeln (' Еще одна подпрограмма. ');
end;
begin
writeln (‘ Привет !’);
okl ;
writeln ('Снова привет!');
okl ;
writeln ('А это что такое?');
ok 2;
end .
Привет!
Это подпрограмма.
Снова привет!
Это подпрограмма.
А это что такое?
Еще одна подпрограмма.
y z:=y z:=x max(m1,c,m) Вывод m выход ( z ) x, y, z - Формальные параметры конец a, b, c - Фактические параметры" width="640"
Найти большее из трех данных чисел, используя подпрограмму нахождения большего из двух.
Основной алгоритм
I.Используем процедуру
начало
Вспомогательный алгоритм
Ввод
a, b, c
max(x, y)
нет
да
max(a,b,m1)
xy
z:=y
z:=x
max(m1,c,m)
Вывод
m
выход (z)
x, y, z -Формальные параметры
конец
a, b, c -Фактические параметры
y then z:=x else z:=y end; begin w riteln( ‘a=’ ); readln ( a ); w riteln( ‘b=’ ); readln ( b ); w riteln( ‘c=’ ); readln ( c ); max ( a, b, m1 ); max ( m1, c, m ); w riteln (‘ max= ', m ); end. параметры переменные параметры значения m1 – большее из a и b m – большее из m1 и c x, y, z – локальные переменные, a, b, c, m, m1 - глобальные переменные" width="640"
Используем процедуру
programpr2;
vara, b, c, m, m1: real;
proceduremax(x,y: real; var z : real);
begin
if xy then z:=x else z:=y
end;
begin
writeln(‘a=’); readln (a);
writeln(‘b=’); readln (b);
writeln(‘c=’); readln (c);
max(a, b, m1);
max(m1, c, m);
writeln (‘max=',m);
end.
параметры переменные
параметры значения
m1 –большее изaиb
m –большее изm1иc
x, y, z –локальные переменные,
a, b, c, m, m1- глобальные переменные
y m:=max(max(a,b),c) max:=y max:=x Вывод m Выход ( max ) конец x, y, z - Формальные параметры a, b, c - Фактические параметры" width="640"
Найти большее из трех данных чисел, используя подпрограмму нахождения большего из двух.
II.Используем функцию
Основной алгоритм
Вспомогательный алгоритм
начало
Вход (x, y)
Ввод
a, b, c
нет
да
xy
m:=max(max(a,b),c)
max:=y
max:=x
Вывод
m
Выход
(max)
конец
x, y, z -Формальные параметры
a, b, c -Фактические параметры
y then max:=x else max:=y end; begin w riteln( ‘a=’ ); readln ( a ); w riteln( ‘b=’ ); readln ( b ); w riteln( ‘c=’ ); readln ( c ); m:=max ( max(a, b), c ); w riteln (‘ max= ', m ); end." width="640"
II.Используем функцию
programpr2;
vara, b, c, m, m1: real;
functionmax(x,y: real): real;
begin
if xy then max:=x else max:=y
end;
begin
writeln(‘a=’); readln (a);
writeln(‘b=’); readln (b);
writeln(‘c=’); readln (c);
m:=max(max(a, b), c);
writeln (‘max=',m);
end.
B
C
Составить программу для вычисления площади выпуклого 4-угольника, заданного длинами его сторон и диагональю.
A
D
Диагональ делит 4-угольник на два 3-угольника, к которым применима формула Герона:
program Prog1;
uses CRT;
var AB, BC, CD, DA, AC, S1, S2, S, a, b, c,p: real;
Procedure Ploshad1;
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
end;
begin
Clrscr;
Writeln('Задайте стороны 4-х угольника ABCD и его диагональ AC');
readln (AB, BC, CD, DA, AC);
a:=AB; b:=BC; c:=AC;
Ploshad1;
S1:=s;
a:=DA; b:=AC; c:=CD;
Ploshad1;
S2:=s;
Writeln ('Площадь ABCD= ', S1+S2:8:2);
readln;
end.
B
C
Связь процедурыPloshad1с остальными операторами происходит с помощью переменныхa, b, cиs. Переменнаяpиспользуется только внутри процедуры. Ее можно и описать в этой процедуре.
A
D
2 обращения к процедуре
Команды присваивания, задающие значения a, b, c перед каждым вызовом процедуры
Команды присваивания для сохранения результатов
y x max:=x max:=y min:=x min:=y Выход ( max ) Выход ( min )" width="640"
Найти,используя подпрограммы нахождения большего и меньшего из двух чисел.
Вспомогательные алгоритмы
Вход (x, y)
Вход (x, y)
нет
да
нет
да
xy
x
max:=x
max:=y
min:=x
min:=y
Выход
(max)
Выход
(min)
y then max:=x else max:=y end; function min(x , y : real ) : real; begin if x end; begin w riteln( ‘a=’ ); readln ( a ); w riteln( ‘b=’ ); readln ( b ); w riteln( ‘c=’ ); readln ( c ); m:=(2*max ( a, b)+min(a+3,b))/min(c,a-b ); w riteln (‘ max= ', m ); end. начало Ввод a, b, c Вывод m конец" width="640"
Основной алгоритм
programpr2;
vara, b, c, m: real;
functionmax(x,y: real): real;
begin
if xy then max:=x else max:=y
end;
functionmin(x,y: real): real;
begin
if x
end;
begin
writeln(‘a=’); readln (a);
writeln(‘b=’); readln (b);
writeln(‘c=’); readln (c);
m:=(2*max(a, b)+min(a+3,b))/min(c,a-b);
writeln (‘max=',m);
end.
начало
Ввод
a, b, c
Вывод
m
конец
Объявление переменных
Глобальные переменные - переменные, объявленные в основной программе, доступны всем операторам программы, а так же операторам процедур и функций.
Локальныепеременные - переменные, объявленные в процедуре или функции. Они доступны только операторам процедур или функций .
( параметры ): тип результата ; const …; … .. var … ; Begin операторы имя:= выражение ; End; Блок описания локальных переменных В разделе операторов должен находится, хотя бы один оператор, присваивающий имени функции значение." width="640"
Структура функции
Function имя(параметры):тип результата;
const …;
…..
var … ;
Begin
операторы
имя:= выражение;
End;
Блок описания локальных переменных
В разделе операторов должен находится, хотя бы один оператор, присваивающий имени функции значение.
object(ArrayObject)#864 (1) {
["storage":"ArrayObject":private] => array(6) {
["title"] => string(166) "«Мюзикл как одна из форм работы по повышению гражданской активности сельского населения» "
["seo_title"] => string(97) "miuzikl-kak-odna-iz-form-raboty-po-povyshieniiu-ghrazhdanskoi-aktivnosti-siel-skogho-nasielieniia"
["file_id"] => string(6) "182183"
["category_seo"] => string(10) "vneurochka"
["subcategory_seo"] => string(7) "prochee"
["date"] => string(10) "1425475436"
}
}