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


Підпрограми

Содержание

Підпрограми При розробці програм іноді з’являються повторювані групи дій або виникає необхідність поділити програму на окремі модулі. Для цього існують підпрограми. Підпрограма – це іменована, логічно

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

Слайд 1Підпрограми

Підпрограми

Слайд 2Підпрограми
При розробці програм іноді з’являються повторювані групи

дій або виникає необхідність поділити програму на окремі модулі. Для

цього існують підпрограми.
Підпрограма – це іменована, логічно закінчена група операторів, яку можна викликати для виконання будь-яку кількість разів із різних місць програми.
Підпрограми мають структуру, аналогічну до структури головної програми на Паскалі.
Кожна підпрограма – це міні-програма в програмі. В ній діють всі закони, що притаманні будь-якій програмі.
Підпрограми   При розробці програм іноді з’являються повторювані групи дій або виникає необхідність поділити програму на

Слайд 3Виконання підпрограм
Програма Підпрограма
; ;
; ;

;
;



Виконання підпрограмПрограма				Підпрограма;			;;			 ;;;

Слайд 4Види підпрограм
У Паскалі розрізняють два види підпрограм:


функції (function) та процедури (procedure).
Функція –

це підпрограма для проведення математичного обчислення виразу чи функції. Результат її виконання – певне числове значення, яке повертається у програму.
При використанні підпрограм змінні бувають: локальні – описані в підпрограмах, глобальні – описані в основній програмі.
Види підпрограм   У Паскалі розрізняють два види підпрограм: 	функції (function) та процедури (procedure).

Слайд 5Локальні і глобальні змінні

Локальні і глобальні змінні

Слайд 6Місце описання підпрограм
Всі підпрограми описуються перед

командами основної програми.

Заголовок основної
програми
Описання
підпрограми
Тіло основної
програми

Місце описання підпрограм    Всі підпрограми описуються перед командами основної програми.    Заголовок

Слайд 7Підпрограма-процедура
Загальний вигляд описання підпрограми-процедури:

Procedure

ім’я (формальні параметри);
Var

описання локальних змінних;
Begin
Команди процедури (виконувана частина);
End;
Формальних параметрів може і не бути, якщо процедура не отримує даних із головної програми для їх обробки (процедура без параметрів)

Ім’я буде потрібне для виклику процедури у програмі!

Підпрограма-процедура   Загальний вигляд описання підпрограми-процедури:   Procedure ім’я (формальні параметри);   Var

Слайд 8Підпрограма-процедура
Формальні параметри: вхідні і вихідні

Procedure ім’я (вхідні п.: типи; var вихідні п. :

типи);
Var
описання локальних змінних;
Begin
Команди процедури (виконувана частина);
End;

Підпрограма-процедура   Формальні параметри:  вхідні і вихідні   Procedure ім’я (вхідні п.: типи; var

Слайд 9Існують багато ситуацій, коли необхідно одні й ті ж дії

виконувати в програмі не один раз. Але не підряд!

Задача: Розрахувати кінетичну енергію тіла. При кожному введенні чи виведені даних програвати звуковий фрагмент.
Для створення звуку в Паскалі існує оператор Sound(частота) та оператор NoSound. Також знадобиться оператор тривалості Delay(час в мілісекундах).
Наприклад такий набір команд:
Sound(200); Delay(50); Sound(400); Delay(50); NoSound;
пропищить звук із двох фрагментів 200 Гц і 400 Гц.

Підпрограма-процедура

Існують багато ситуацій, коли необхідно одні й ті ж дії виконувати в програмі не один раз. Але

Слайд 10Program Energy;
Uses Crt;
Var m,v,e:real;
Procedure Zvuk;
Begin

Sound(200); Delay(50); Sound(400); Delay(50); NoSound;

End;
Begin
Zvuk;
Readln(m);
Zvuk;
Readln(v);
e:=m*v*v/2;
Zvuk;
Writeln(‘Енергія= ’,e:3:2);
Readkey;
End.

Підпрограма-процедура

Program Energy;Uses Crt;Var m,v,e:real;Procedure Zvuk;   Begin     Sound(200); Delay(50); Sound(400); Delay(50); NoSound;

Слайд 11Підпрограма-функція
Існують багато функцій, які вбудовані у

мову Паскаль. Наприклад sin(x), сos(x), abs(x), sqrt(x) та інші.

Та бувають випадки, коли при розрахунках потрібно багато разів розраховувати вираз для якого готової функції Паскаля немає.

Наприклад:


Тут було б добре порахувати відношення синуса до косинуса окремо, та такої готової функції немає. Створимо її самі!
Підпрограма-функція    Існують багато функцій, які вбудовані у мову Паскаль. Наприклад sin(x), сos(x), abs(x), sqrt(x)

Слайд 12Підпрограма-функція
Загальний вигляд описання підпрограми-функції:

Function ім’я (формальні величини):тип результату;
Var описання локальних

змінних;
Begin
Команди функції (виконувана частина);
ім’я : = змінна-результат обчислень;
End;

Обов’язкова команда перед кінцем функції

Підпрограма-функція    Загальний вигляд описання підпрограми-функції:   Function ім’я (формальні величини):тип результату;

Слайд 13Підпрограма-функція
Загальний вигляд описання підпрограми-функції:

Function ім’я (вхідні п.: типи; var вихідні п. : типи):тип

результату;
Var описання локальних змінних;
Begin
Команди функції (виконувана частина);
ім’я : = змінна-результат обчислень;
End;

Підпрограма-функція    Загальний вигляд описання підпрограми-функції:   Function ім’я (вхідні п.: типи; var вихідні

Слайд 14Задача

Знайти значення

виразу.
Величини а та b

вводить користувач.


Задача       Знайти значення виразу.     Величини а та

Слайд 15Розв’язок задачі
Program FFF;
Uses Crt;
Var a,b,y:real;
Function SB(s,n:real):real;
Var s,n,z:real;

Begin
z:=sin(s)/cos(n);

SB:=z;
End;
Begin
Readln(a,b);
y:=SB(a,b)/sqr(SB(a,b))-sqrt(SB(a,b))+(sqr(SB(a,b))*SB(a,b));
Writeln(y:3:2);
Readkey;
End.


Підпрограма-функція

Обчислення за
допомогою функції

Розв’язок задачіProgram FFF;Uses Crt;Var a,b,y:real;Function SB(s,n:real):real;   Var s,n,z:real;    Begin

Слайд 16Підпрограми
Виклик процедури
ім’я (фактичні

параметри)


Виклик функції
y:=вираз;
Всередині виразу стоїть виклик функції

y:= ім’я (фактичні параметри)

Підпрограми    Виклик процедури   ім’я (фактичні параметри)	Виклик функції y:=вираз;Всередині виразу стоїть виклик функції

Слайд 17Формальні і фактичні параметри
параметрів може не бути взагалі (процедури без

параметрів);
параметри поділяються на вхідні і вихідні;
під час виклику підпрограми фактичні

параметри необхідно задавати у тому ж порядку, в якому перелічені формальні; (необхідно дотримуватись суворої відповідності типів форм. і факт. параметрів)


Формальні і фактичні параметрипараметрів може не бути взагалі (процедури без параметрів);параметри поділяються на вхідні і вихідні;під час

Слайд 18Формальні і фактичні параметри
якщо формальний параметр є результатом роботи підпрограми,

то його необхідно описувати як параметр-змінну (var …)
якщо формальний

параметр є тільки аргументом (вхідним п.), то його описують як параметр-значення;
параметрами процедури можуть слугувати процедури і ф-ції (процедурний тип даних);
імена фактичних параметрів можуть співпадати з іменами формальних.
Формальні і фактичні параметриякщо формальний параметр є результатом роботи підпрограми, то його необхідно описувати як параметр-змінну (var

Слайд 19program func_var;
var a,b: integer;
function f(x:integer):integer;
begin
x:=x+1;
f:=x;
end;
function g (var x:

integer):integer;
begin
x:=x/2;
g:=x;
end;
begin
a:=12;
b:=f(g(a));
writeln('a=',a,'b=',b);
end.
Коментар до п. 4

program func_var;var a,b: integer;function f(x:integer):integer;begin x:=x+1; f:=x;end;function g (var x: integer):integer;begin x:=x/2; g:=x;end;begin a:=12; b:=f(g(a)); writeln('a=',a,'b=',b);end.Коментар до

Слайд 204 варіанти оголошення процедурного типу:

type

= procedure(параметри);

= procedure;

= function(параметри):тип;

= function:тип;
Процедурний тип даних

4 варіанти оголошення процедурного типу:type  = procedure(параметри); = procedure; = function(параметри):тип; = function:тип;Процедурний тип даних

Слайд 21Рекурсія

Рекурсія

Слайд 22Рекурсія

Рекурсія

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

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

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

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

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


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

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