SlideShare a Scribd company logo
1 of 9
ПОДПРОГРАММЫ
Любая сложная задача может быть решена путем ее 
разбиения на ряд подзадач. Для решения каждой 
подзадачи записывается соответствующая 
последовательность операторов, называемая 
подпрограммой.
ФУНКЦИЯ 
Функция - это подпрограмма, которая 
вычисляет и возвращает некоторое 
значение. Язык ПАСКАЛЬ содержит ряд 
стандартных функций, известных любой 
программе: sin, cos, eof и т.д. Помимо 
этого программист может создавать 
собственные функции, к которым можно 
обращаться так же, как и к стандартным 
функциям.
ПРОЦЕДУРА - 
Процедура - это подпрограмма, которая 
осуществляет обработку данных, 
переданных в момент обращения. В языке 
ПАСКАЛЬ существуют стандартные 
процедуры: read, readln, write, writeln и т. д. 
Помимо этого программист может 
создавать собственные процедуры, к 
которым можно обращаться так же, как и к 
стандартным процедурам.
Подпрограмма может обращаться к самой 
себе, такое обращение называется 
рекурсивным.
ФУНКЦИЯ 
Функция описывается следующим образом: 
function f (x1; х2… ; xn):tr; 
D; 
begin 
f:=e; 
end; 
Первая строка - это заголовок функции, состоящий из: 
f- имя функции; 
(x1; х2… ; xn) произвольный список формальных параметров, 
являющихся аргументами функции; 
tr - тип результата; 
За заголовком следует тело функции, состоящее из произвольных 
локальных описаний D и составного оператора begin ... end. 
Имя функции f должно появиться хотя бы один раз в левой части 
некоторого оператора присваивания: f:=e. Последнее значение, 
присвоенное функции f возвращается в основную программу.
ФУНКЦИЯ 
Обращение к функции f осуществляется 
следующим образом: 
f(a1,a2,...,an) 
где a1,a2,...,an- список фактических 
параметров. Фактический параметр 
должен быть совместимым с точки 
зрения присваивания с типом 
формального параметра.
ПРИМЕР 
Function Obiem(a,b,c:real):real; 
Begin 
Obiem:=a*b*c; 
End; 
Begin 
Writeln(‘Obiem comnati=‘, Obiem(3.5,6,3)); 
End.
ЗАДАЧИ 
Дан заголовок 
function F(x : real; у :integer; z : char): boolean; 
Какие из следующих вызовов функций корректны: 
а) F ( 3.18, 4, 'л'); 
б) F(4, 4, 'А') ; 
в) F(4, 4, 4); 
г) F(4, 3.18, 'а'); 
д) F(3.18, 4, 4); 
е) F(‘3,18', 4, '4'); 
ж) F(15, 21, '3'); 
з) F(15,21,3).

More Related Content

What's hot

8 повторение основ алгоритмизации и программирования
8 повторение основ алгоритмизации и программирования8 повторение основ алгоритмизации и программирования
8 повторение основ алгоритмизации и программирования
Средняя школа № 10 г. Слонима
 
Cpp/cli particularities
Cpp/cli particularitiesCpp/cli particularities
Cpp/cli particularities
mcroitor
 
лабораторная работа №2
лабораторная работа №2лабораторная работа №2
лабораторная работа №2
Zhanna Kazakova
 
10 10 pascal_urok_
10 10 pascal_urok_10 10 pascal_urok_
10 10 pascal_urok_
Ann Eres
 
22 pascal urok_6
22 pascal urok_622 pascal urok_6
22 pascal urok_6
Ann Eres
 
Что нового в PHP-5.3
Что нового в PHP-5.3 Что нового в PHP-5.3
Что нового в PHP-5.3
phpclub
 
4 4 pascal_urok_1
4 4 pascal_urok_14 4 pascal_urok_1
4 4 pascal_urok_1
Ann Eres
 
лабораторная работа №5
лабораторная работа №5лабораторная работа №5
лабораторная работа №5
Zhanna Kazakova
 
Программирование Linux
Программирование LinuxПрограммирование Linux
Программирование Linux
Anthony Shoumikhin
 

What's hot (20)

8 повторение основ алгоритмизации и программирования
8 повторение основ алгоритмизации и программирования8 повторение основ алгоритмизации и программирования
8 повторение основ алгоритмизации и программирования
 
Cpp/cli particularities
Cpp/cli particularitiesCpp/cli particularities
Cpp/cli particularities
 
лабораторная работа №2
лабораторная работа №2лабораторная работа №2
лабораторная работа №2
 
10 10 pascal_urok_
10 10 pascal_urok_10 10 pascal_urok_
10 10 pascal_urok_
 
22 pascal urok_6
22 pascal urok_622 pascal urok_6
22 pascal urok_6
 
Что нового в PHP-5.3
Что нового в PHP-5.3 Что нового в PHP-5.3
Что нового в PHP-5.3
 
функции в Java script
функции в Java scriptфункции в Java script
функции в Java script
 
Запись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка ПаскальЗапись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка Паскаль
 
4 4 pascal_urok_1
4 4 pascal_urok_14 4 pascal_urok_1
4 4 pascal_urok_1
 
Scala lecture #4
Scala lecture #4Scala lecture #4
Scala lecture #4
 
Субъекторная модель
Субъекторная модельСубъекторная модель
Субъекторная модель
 
8 3-3
8 3-38 3-3
8 3-3
 
лек9 10
лек9 10лек9 10
лек9 10
 
5.4 Ключевые слова static и inline
5.4 Ключевые слова static и inline5.4 Ключевые слова static и inline
5.4 Ключевые слова static и inline
 
язык програмирования
язык програмированияязык програмирования
язык програмирования
 
Basic principles of projects description in VHDL - ENTITY, ARCHITECTURE, LIBR...
Basic principles of projects description in VHDL - ENTITY, ARCHITECTURE, LIBR...Basic principles of projects description in VHDL - ENTITY, ARCHITECTURE, LIBR...
Basic principles of projects description in VHDL - ENTITY, ARCHITECTURE, LIBR...
 
Subprograms in VHDL, Functions in VHDL
Subprograms in VHDL, Functions in VHDLSubprograms in VHDL, Functions in VHDL
Subprograms in VHDL, Functions in VHDL
 
лабораторная работа №5
лабораторная работа №5лабораторная работа №5
лабораторная работа №5
 
Программирование Linux
Программирование LinuxПрограммирование Linux
Программирование Linux
 
8 3-4
8 3-48 3-4
8 3-4
 

Similar to Подпрограммы

подпрограммы в языке программирования паскаль
подпрограммы в языке программирования паскальподпрограммы в языке программирования паскаль
подпрограммы в языке программирования паскаль
Artem German
 
C++ теория
C++ теорияC++ теория
C++ теория
tank1975
 
Функциональное программирование для разработки распределённых, облачных и веб...
Функциональное программирование для разработки распределённых, облачных и веб...Функциональное программирование для разработки распределённых, облачных и веб...
Функциональное программирование для разработки распределённых, облачных и веб...
Dmitri Soshnikov
 
Характерные черты функциональных языков программирования
Характерные черты функциональных языков программированияХарактерные черты функциональных языков программирования
Характерные черты функциональных языков программирования
Alex.Kolonitsky
 
Обработка коллекций наизнанку: как применить много функций к одному аргументу...
Обработка коллекций наизнанку: как применить много функций к одному аргументу...Обработка коллекций наизнанку: как применить много функций к одному аргументу...
Обработка коллекций наизнанку: как применить много функций к одному аргументу...
corehard_by
 
оператор присваивания, ввод и вывод данных
оператор присваивания, ввод и вывод данныхоператор присваивания, ввод и вывод данных
оператор присваивания, ввод и вывод данных
Елена Ключева
 

Similar to Подпрограммы (20)

подпрограммы в языке программирования паскаль
подпрограммы в языке программирования паскальподпрограммы в языке программирования паскаль
подпрограммы в языке программирования паскаль
 
C++ теория
C++ теорияC++ теория
C++ теория
 
C++ теория
C++ теорияC++ теория
C++ теория
 
C++ теория
C++ теорияC++ теория
C++ теория
 
C++ Базовый. Занятие 03.
C++ Базовый. Занятие 03.C++ Базовый. Занятие 03.
C++ Базовый. Занятие 03.
 
лек5 6
лек5 6лек5 6
лек5 6
 
лек13 4
лек13 4лек13 4
лек13 4
 
Функциональное программирование для разработки распределённых, облачных и веб...
Функциональное программирование для разработки распределённых, облачных и веб...Функциональное программирование для разработки распределённых, облачных и веб...
Функциональное программирование для разработки распределённых, облачных и веб...
 
Характерные черты функциональных языков программирования
Характерные черты функциональных языков программированияХарактерные черты функциональных языков программирования
Характерные черты функциональных языков программирования
 
лек1
лек1лек1
лек1
 
лек1
лек1лек1
лек1
 
C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.
 
Обработка коллекций наизнанку: как применить много функций к одному аргументу...
Обработка коллекций наизнанку: как применить много функций к одному аргументу...Обработка коллекций наизнанку: как применить много функций к одному аргументу...
Обработка коллекций наизнанку: как применить много функций к одному аргументу...
 
Урок 6. Чистое лямбда-исчисление.
Урок 6. Чистое лямбда-исчисление. Урок 6. Чистое лямбда-исчисление.
Урок 6. Чистое лямбда-исчисление.
 
лр5ч1 2
лр5ч1 2лр5ч1 2
лр5ч1 2
 
Custom Language Plugin for JetBrains IDEA
Custom Language Plugin for JetBrains IDEACustom Language Plugin for JetBrains IDEA
Custom Language Plugin for JetBrains IDEA
 
лекция 3
лекция 3лекция 3
лекция 3
 
Урок 8. Введение в редукцию графов
Урок 8. Введение в редукцию графовУрок 8. Введение в редукцию графов
Урок 8. Введение в редукцию графов
 
Теория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциямТеория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциям
 
оператор присваивания, ввод и вывод данных
оператор присваивания, ввод и вывод данныхоператор присваивания, ввод и вывод данных
оператор присваивания, ввод и вывод данных
 

More from Colegiul de Industrie Usoara

More from Colegiul de Industrie Usoara (20)

Analiza chestionarelor absolventilor grupelor M
Analiza chestionarelor absolventilor grupelor MAnaliza chestionarelor absolventilor grupelor M
Analiza chestionarelor absolventilor grupelor M
 
Analiza chestionarelor absolventilor grupelor F
Analiza chestionarelor absolventilor grupelor FAnaliza chestionarelor absolventilor grupelor F
Analiza chestionarelor absolventilor grupelor F
 
Analiza chestionarelor absolventi MT
Analiza chestionarelor absolventi MTAnaliza chestionarelor absolventi MT
Analiza chestionarelor absolventi MT
 
Darea de seama a catedrei Stiinte reale 2017 2018
Darea de seama a catedrei Stiinte reale 2017 2018Darea de seama a catedrei Stiinte reale 2017 2018
Darea de seama a catedrei Stiinte reale 2017 2018
 
Raport privind vizita de lucru în România 29.06.17
Raport privind vizita de lucru în România 29.06.17Raport privind vizita de lucru în România 29.06.17
Raport privind vizita de lucru în România 29.06.17
 
Raport de autoevaluare. Carauș V. 04.07.2017
Raport de autoevaluare. Carauș V. 04.07.2017Raport de autoevaluare. Carauș V. 04.07.2017
Raport de autoevaluare. Carauș V. 04.07.2017
 
Aspecte teoretice evaluarea externa 13.03.17
Aspecte teoretice evaluarea externa 13.03.17Aspecte teoretice evaluarea externa 13.03.17
Aspecte teoretice evaluarea externa 13.03.17
 
Diseminarea bunelor practice 22.05.17
Diseminarea bunelor practice  22.05.17Diseminarea bunelor practice  22.05.17
Diseminarea bunelor practice 22.05.17
 
Orar profesori 1.09.2017
Orar profesori 1.09.2017Orar profesori 1.09.2017
Orar profesori 1.09.2017
 
понятия и концепты о данных и о базах данных
понятия и концепты о данных и о базах данныхпонятия и концепты о данных и о базах данных
понятия и концепты о данных и о базах данных
 
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
 
Modelarea și tehnologia tricotajelor
Modelarea și tehnologia tricotajelor Modelarea și tehnologia tricotajelor
Modelarea și tehnologia tricotajelor
 
Masini si aparate
Masini si aparateMasini si aparate
Masini si aparate
 
Frizerie și cosmetică
Frizerie și cosmeticăFrizerie și cosmetică
Frizerie și cosmetică
 
Securitatea
Securitatea Securitatea
Securitatea
 
Filatura si tesatorie
Filatura si tesatorieFilatura si tesatorie
Filatura si tesatorie
 
формы и отчеты
формы и отчетыформы и отчеты
формы и отчеты
 
метод хорд
метод хордметод хорд
метод хорд
 
Metoda coardelor
Metoda coardelorMetoda coardelor
Metoda coardelor
 
Переменный ток
Переменный токПеременный ток
Переменный ток
 

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

  • 2. Любая сложная задача может быть решена путем ее разбиения на ряд подзадач. Для решения каждой подзадачи записывается соответствующая последовательность операторов, называемая подпрограммой.
  • 3. ФУНКЦИЯ Функция - это подпрограмма, которая вычисляет и возвращает некоторое значение. Язык ПАСКАЛЬ содержит ряд стандартных функций, известных любой программе: sin, cos, eof и т.д. Помимо этого программист может создавать собственные функции, к которым можно обращаться так же, как и к стандартным функциям.
  • 4. ПРОЦЕДУРА - Процедура - это подпрограмма, которая осуществляет обработку данных, переданных в момент обращения. В языке ПАСКАЛЬ существуют стандартные процедуры: read, readln, write, writeln и т. д. Помимо этого программист может создавать собственные процедуры, к которым можно обращаться так же, как и к стандартным процедурам.
  • 5. Подпрограмма может обращаться к самой себе, такое обращение называется рекурсивным.
  • 6. ФУНКЦИЯ Функция описывается следующим образом: function f (x1; х2… ; xn):tr; D; begin f:=e; end; Первая строка - это заголовок функции, состоящий из: f- имя функции; (x1; х2… ; xn) произвольный список формальных параметров, являющихся аргументами функции; tr - тип результата; За заголовком следует тело функции, состоящее из произвольных локальных описаний D и составного оператора begin ... end. Имя функции f должно появиться хотя бы один раз в левой части некоторого оператора присваивания: f:=e. Последнее значение, присвоенное функции f возвращается в основную программу.
  • 7. ФУНКЦИЯ Обращение к функции f осуществляется следующим образом: f(a1,a2,...,an) где a1,a2,...,an- список фактических параметров. Фактический параметр должен быть совместимым с точки зрения присваивания с типом формального параметра.
  • 8. ПРИМЕР Function Obiem(a,b,c:real):real; Begin Obiem:=a*b*c; End; Begin Writeln(‘Obiem comnati=‘, Obiem(3.5,6,3)); End.
  • 9. ЗАДАЧИ Дан заголовок function F(x : real; у :integer; z : char): boolean; Какие из следующих вызовов функций корректны: а) F ( 3.18, 4, 'л'); б) F(4, 4, 'А') ; в) F(4, 4, 4); г) F(4, 3.18, 'а'); д) F(3.18, 4, 4); е) F(‘3,18', 4, '4'); ж) F(15, 21, '3'); з) F(15,21,3).