SlideShare a Scribd company logo
Вспомогательные
    алгоритмы.
Процедуры и функции
       11 класс


        2013г.
Вспомогательные алгоритмы
   Некоторые    части    алгоритма    могут   выделяться   в
виде вспомогательных алгоритмов, решающих вспомогательные
подзадачи.
   Для реализации вспомогательных алгоритмов служат
подпрограммы      или      процедуры.    Подпрограмма     —
самостоятельный фрагмент программы, оформленный в
виде, допускающем многократное обращение к нему из разных
точек программы. Обращение к подпрограмме — переход к
выполнению подпрограммы с заданием информации, необходимой
для ее выполнения и возврата.
   Существует два вида подпрограмм: процедуры и функции.
Разница между ними состоит в том, что функция через свое имя
возвращает    одно     значение    определенного   типа    и
может, использоваться в выражениях наряду со встроенными
функциями .
Процедуры
  Алгоритмический язык            Паскаль
                                  procedure <имя процедуры>
                                  (<список параметров>);
  алг <имя процедуры> (<список
                                  <описание>
  параметров>)
                                  begin
  <операторы> кон
                                  <операторы>
                                  end

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

   Для того чтобы вернуть значение из функции, необходимо внутри тела
функции переменной, имя которой совпадает с именем функции, присвоить
необходимое значение. Эту переменную не надо объявлять в области
описания.
   Вызов функции производится в выражениях и операторах подобно
стандартным функциям языка:
   <Переменная> := <Функция> (<Параметры>)
   Реализация алгоритмов с помощью подпрограмм — процедур и
функций — называется процедурным программированием. В последние
годы все большую популярность приобретают методы объектного и
событийного программирования.
Программа с процедурой
program n_20;                  Заголовок главной программы
const m: array [1..6] of integer =(16, 32,
       40, 64, 80, 128);                           Описание констант
var i: integer;                           Раздел описания переменных
procedure nod (a, b: integer;
           var c:integer);
begin                                              Раздел описания
 while a<>b do                                     подпрограммы
   if a>b then a:=a-b else b:=b-a;
 c:=a
end;
begin
 x:=m[1];                         Раздел описания операторов
 for i:=2 to 6 do                 главной программы
 begin
  y:=c[i];
  nod (x, y, z);
  x:=z
 end;
writeln ('НОД=', nod)
end.
Функция поиска максимального из 2-х чисел
program n_20;                Заголовок главной программы
 var a, b, c, d, f: integer;              Описание переменных
function max (x, y: integer): integer;
begin                                              Раздел
 if x>y then max:=x else max:=y;                   описания
end;                                               подпрограммы
begin
 readln (a, b, c, d);                        Раздел операторов
 f:= max(max(a, b), max(c, d));              главной
 writeln ('f=', f);                          программы
end.
Задания
1.   По координатам вершин треугольника вычислите его
     периметр, используя подпрограмму вычисления длины отрезка
     между двумя точками.
2.   Даны три целых числа. Определите, у которого из них больше сумма
     цифр. Подсчет суммы цифр организуйте через подпрограмму.
Источники
• Семакин И.Г. Информатика и ИКТ. Профильный уровень: учебник для
  11 класса/ И.Г.Семакин, Е.К.Хеннер, Л.В.Шестакова.– М.: БИНОМ.
  Лаборатория знаний, 2012.
• http://shkolo.ru/vspomogatelnyie-algoritmyi/
• metodist.lbz.ru/authors/informatika/3/files/ppt9kl/4.8.ppt

More Related Content

What's hot

10 10 pascal_urok_
10 10 pascal_urok_10 10 pascal_urok_
10 10 pascal_urok_Ann Eres
 
4 4 pascal_urok_1
4 4 pascal_urok_14 4 pascal_urok_1
4 4 pascal_urok_1Ann Eres
 
алг и прогр (11кл)
алг и прогр (11кл)алг и прогр (11кл)
алг и прогр (11кл)isva69
 
Cреда программирования
Cреда программированияCреда программирования
Cреда программированияirina8682
 
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей ВасилийSolit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
solit
 
Structural project description in VHDL
Structural project description in VHDLStructural project description in VHDL
Structural project description in VHDL
vitaliykulanov
 
Predzazhita 2009 v16
Predzazhita 2009 v16Predzazhita 2009 v16
Predzazhita 2009 v16guest1ba51d
 
библиотеки программирования
библиотеки программированиябиблиотеки программирования
библиотеки программированияmcroitor
 
C++ Базовый. Занятие 02.
C++ Базовый. Занятие 02.C++ Базовый. Занятие 02.
C++ Базовый. Занятие 02.
Igor Shkulipa
 
Subprograms in VHDL, Functions in VHDL
Subprograms in VHDL, Functions in VHDLSubprograms in VHDL, Functions in VHDL
Subprograms in VHDL, Functions in VHDL
vitaliykulanov
 
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...
vitaliykulanov
 
Subprograms in VHDL, Procedures in VHDL
Subprograms in VHDL, Procedures in VHDLSubprograms in VHDL, Procedures in VHDL
Subprograms in VHDL, Procedures in VHDL
vitaliykulanov
 
C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.
Igor Shkulipa
 
презентация лр № 1 091214 v1
презентация лр № 1 091214 v1презентация лр № 1 091214 v1
презентация лр № 1 091214 v1Gulnaz Shakirova
 
Statements in VHDL - Sequential Statements
Statements in VHDL - Sequential StatementsStatements in VHDL - Sequential Statements
Statements in VHDL - Sequential Statements
vitaliykulanov
 
19 pascal urok_3
19 pascal urok_319 pascal urok_3
19 pascal urok_3Ann Eres
 
презентация кметодическим указаниям к лаб. работам
презентация кметодическим указаниям к лаб. работампрезентация кметодическим указаниям к лаб. работам
презентация кметодическим указаниям к лаб. работамstudent_kai
 

What's hot (18)

10 10 pascal_urok_
10 10 pascal_urok_10 10 pascal_urok_
10 10 pascal_urok_
 
4 4 pascal_urok_1
4 4 pascal_urok_14 4 pascal_urok_1
4 4 pascal_urok_1
 
алг и прогр (11кл)
алг и прогр (11кл)алг и прогр (11кл)
алг и прогр (11кл)
 
Cреда программирования
Cреда программированияCреда программирования
Cреда программирования
 
лек5 6
лек5 6лек5 6
лек5 6
 
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей ВасилийSolit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
 
Structural project description in VHDL
Structural project description in VHDLStructural project description in VHDL
Structural project description in VHDL
 
Predzazhita 2009 v16
Predzazhita 2009 v16Predzazhita 2009 v16
Predzazhita 2009 v16
 
библиотеки программирования
библиотеки программированиябиблиотеки программирования
библиотеки программирования
 
C++ Базовый. Занятие 02.
C++ Базовый. Занятие 02.C++ Базовый. Занятие 02.
C++ Базовый. Занятие 02.
 
Subprograms in VHDL, Functions in VHDL
Subprograms in VHDL, Functions in VHDLSubprograms in VHDL, Functions in VHDL
Subprograms in VHDL, Functions in VHDL
 
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, Procedures in VHDL
Subprograms in VHDL, Procedures in VHDLSubprograms in VHDL, Procedures in VHDL
Subprograms in VHDL, Procedures in VHDL
 
C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.
 
презентация лр № 1 091214 v1
презентация лр № 1 091214 v1презентация лр № 1 091214 v1
презентация лр № 1 091214 v1
 
Statements in VHDL - Sequential Statements
Statements in VHDL - Sequential StatementsStatements in VHDL - Sequential Statements
Statements in VHDL - Sequential Statements
 
19 pascal urok_3
19 pascal urok_319 pascal urok_3
19 pascal urok_3
 
презентация кметодическим указаниям к лаб. работам
презентация кметодическим указаниям к лаб. работампрезентация кметодическим указаниям к лаб. работам
презентация кметодическим указаниям к лаб. работам
 

Similar to вспомогательные алгоритмы

Запись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка ПаскальЗапись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка Паскаль
Andrey Dolinin
 
Метрики кода программного обеспечения
Метрики кода программного обеспеченияМетрики кода программного обеспечения
Метрики кода программного обеспечения
Tatyanazaxarova
 
C++ Базовый. Занятие 03.
C++ Базовый. Занятие 03.C++ Базовый. Занятие 03.
C++ Базовый. Занятие 03.
Igor Shkulipa
 
C# Desktop. Занятие 16.
C# Desktop. Занятие 16.C# Desktop. Занятие 16.
C# Desktop. Занятие 16.
Igor Shkulipa
 
пр 15.docx
пр 15.docxпр 15.docx
пр 15.docx
ssuser6d63bc1
 
прак 15.docx
прак 15.docxпрак 15.docx
прак 15.docx
ssuser6d63bc1
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1Michael Karpov
 
DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art)
DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art) DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art)
DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art) it-people
 
язык програмирования
язык програмированияязык програмирования
язык програмирования
Olegmingalev1997
 
Подпрограммы
ПодпрограммыПодпрограммы
Подпрограммы
Colegiul de Industrie Usoara
 
C++ теория
C++ теорияC++ теория
C++ теория
tank1975
 
C++ теория
C++ теорияC++ теория
C++ теория
tank1975
 
C++ теория
C++ теорияC++ теория
C++ теория
tank1975
 
Java. Методы
Java. Методы Java. Методы
Java. Методы
Unguryan Vitaliy
 
лекции спрг 6_семестр (1)
лекции спрг 6_семестр (1)лекции спрг 6_семестр (1)
лекции спрг 6_семестр (1)djbelyakk
 
оп.05 основы программирования
оп.05 основы программированияоп.05 основы программирования
оп.05 основы программирования
Stepan1234
 

Similar to вспомогательные алгоритмы (20)

Запись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка ПаскальЗапись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка Паскаль
 
Метрики кода программного обеспечения
Метрики кода программного обеспеченияМетрики кода программного обеспечения
Метрики кода программного обеспечения
 
алгоритмы и их виды
алгоритмы и их видыалгоритмы и их виды
алгоритмы и их виды
 
C++ Базовый. Занятие 03.
C++ Базовый. Занятие 03.C++ Базовый. Занятие 03.
C++ Базовый. Занятие 03.
 
алгоритмы и их виды
алгоритмы и их видыалгоритмы и их виды
алгоритмы и их виды
 
C# Desktop. Занятие 16.
C# Desktop. Занятие 16.C# Desktop. Занятие 16.
C# Desktop. Занятие 16.
 
пр 15.docx
пр 15.docxпр 15.docx
пр 15.docx
 
алгоритмы и их виды
алгоритмы и их видыалгоритмы и их виды
алгоритмы и их виды
 
прак 15.docx
прак 15.docxпрак 15.docx
прак 15.docx
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1
 
DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art)
DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art) DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art)
DUMP-2012 - Только хардкор! - "Расширяем PHP" Сергей Горшков (index.art)
 
язык програмирования
язык програмированияязык програмирования
язык програмирования
 
Подпрограммы
ПодпрограммыПодпрограммы
Подпрограммы
 
лр8
лр8лр8
лр8
 
C++ теория
C++ теорияC++ теория
C++ теория
 
C++ теория
C++ теорияC++ теория
C++ теория
 
C++ теория
C++ теорияC++ теория
C++ теория
 
Java. Методы
Java. Методы Java. Методы
Java. Методы
 
лекции спрг 6_семестр (1)
лекции спрг 6_семестр (1)лекции спрг 6_семестр (1)
лекции спрг 6_семестр (1)
 
оп.05 основы программирования
оп.05 основы программированияоп.05 основы программирования
оп.05 основы программирования
 

More from Елена Ключева

378 васильев куницын
378 васильев куницын378 васильев куницын
378 васильев куницын
Елена Ключева
 
378 васильев куницын_тезисы
378 васильев куницын_тезисы378 васильев куницын_тезисы
378 васильев куницын_тезисы
Елена Ключева
 
378 васильев куницын_тезисы
378 васильев куницын_тезисы378 васильев куницын_тезисы
378 васильев куницын_тезисы
Елена Ключева
 
плакат орксэ
плакат орксэплакат орксэ
плакат орксэ
Елена Ключева
 
символы
символысимволы
378 vasilyev
378 vasilyev378 vasilyev
378 васильев тезисы
378 васильев тезисы378 васильев тезисы
378 васильев тезисы
Елена Ключева
 
представление графической информации
представление графической информациипредставление графической информации
представление графической информации
Елена Ключева
 
представление текстовой информации
представление текстовой информациипредставление текстовой информации
представление текстовой информации
Елена Ключева
 
как оформить реферат по госту
как оформить реферат по гостукак оформить реферат по госту
как оформить реферат по госту
Елена Ключева
 
программа открытых мероприятий для родителей обучающихся лицея
программа открытых мероприятий для родителей обучающихся лицеяпрограмма открытых мероприятий для родителей обучающихся лицея
программа открытых мероприятий для родителей обучающихся лицея
Елена Ключева
 
представление чисел
представление чиселпредставление чисел
представление чисел
Елена Ключева
 
проектирование исследования
проектирование исследованияпроектирование исследования
проектирование исследования
Елена Ключева
 
виды исследовательских работ
виды исследовательских работвиды исследовательских работ
виды исследовательских работ
Елена Ключева
 
содержательный подход
содержательный подходсодержательный подход
содержательный подход
Елена Ключева
 
научная деятельность
научная деятельностьнаучная деятельность
научная деятельность
Елена Ключева
 
измерение информации
измерение информацииизмерение информации
измерение информации
Елена Ключева
 
шифрование и дешифрование
шифрование и дешифрованиешифрование и дешифрование
шифрование и дешифрование
Елена Ключева
 
стартовая презентация
стартовая презентациястартовая презентация
стартовая презентация
Елена Ключева
 
стартовая презентация
стартовая презентациястартовая презентация
стартовая презентация
Елена Ключева
 

More from Елена Ключева (20)

378 васильев куницын
378 васильев куницын378 васильев куницын
378 васильев куницын
 
378 васильев куницын_тезисы
378 васильев куницын_тезисы378 васильев куницын_тезисы
378 васильев куницын_тезисы
 
378 васильев куницын_тезисы
378 васильев куницын_тезисы378 васильев куницын_тезисы
378 васильев куницын_тезисы
 
плакат орксэ
плакат орксэплакат орксэ
плакат орксэ
 
символы
символысимволы
символы
 
378 vasilyev
378 vasilyev378 vasilyev
378 vasilyev
 
378 васильев тезисы
378 васильев тезисы378 васильев тезисы
378 васильев тезисы
 
представление графической информации
представление графической информациипредставление графической информации
представление графической информации
 
представление текстовой информации
представление текстовой информациипредставление текстовой информации
представление текстовой информации
 
как оформить реферат по госту
как оформить реферат по гостукак оформить реферат по госту
как оформить реферат по госту
 
программа открытых мероприятий для родителей обучающихся лицея
программа открытых мероприятий для родителей обучающихся лицеяпрограмма открытых мероприятий для родителей обучающихся лицея
программа открытых мероприятий для родителей обучающихся лицея
 
представление чисел
представление чиселпредставление чисел
представление чисел
 
проектирование исследования
проектирование исследованияпроектирование исследования
проектирование исследования
 
виды исследовательских работ
виды исследовательских работвиды исследовательских работ
виды исследовательских работ
 
содержательный подход
содержательный подходсодержательный подход
содержательный подход
 
научная деятельность
научная деятельностьнаучная деятельность
научная деятельность
 
измерение информации
измерение информацииизмерение информации
измерение информации
 
шифрование и дешифрование
шифрование и дешифрованиешифрование и дешифрование
шифрование и дешифрование
 
стартовая презентация
стартовая презентациястартовая презентация
стартовая презентация
 
стартовая презентация
стартовая презентациястартовая презентация
стартовая презентация
 

вспомогательные алгоритмы

  • 1. Вспомогательные алгоритмы. Процедуры и функции 11 класс 2013г.
  • 2. Вспомогательные алгоритмы Некоторые части алгоритма могут выделяться в виде вспомогательных алгоритмов, решающих вспомогательные подзадачи. Для реализации вспомогательных алгоритмов служат подпрограммы или процедуры. Подпрограмма — самостоятельный фрагмент программы, оформленный в виде, допускающем многократное обращение к нему из разных точек программы. Обращение к подпрограмме — переход к выполнению подпрограммы с заданием информации, необходимой для ее выполнения и возврата. Существует два вида подпрограмм: процедуры и функции. Разница между ними состоит в том, что функция через свое имя возвращает одно значение определенного типа и может, использоваться в выражениях наряду со встроенными функциями .
  • 3. Процедуры Алгоритмический язык Паскаль procedure <имя процедуры> (<список параметров>); алг <имя процедуры> (<список <описание> параметров>) begin <операторы> кон <операторы> end Вызов процедуры из основной программы производится оператором вызова процедуры: <имя процедуры>(<список значеиий>). В процедуру могут передаваться параметры, то есть некоторые переменные, которые могут использоваться внутри процедуры. При вызове процедуры с помощью оператора вызова этим переменным присваиваются значения, указанные в этом операторе.
  • 4. Функции Паскаль function <имя>(<параметры>):<тип результата>; <описания> begin <операторы> end Для того чтобы вернуть значение из функции, необходимо внутри тела функции переменной, имя которой совпадает с именем функции, присвоить необходимое значение. Эту переменную не надо объявлять в области описания. Вызов функции производится в выражениях и операторах подобно стандартным функциям языка: <Переменная> := <Функция> (<Параметры>) Реализация алгоритмов с помощью подпрограмм — процедур и функций — называется процедурным программированием. В последние годы все большую популярность приобретают методы объектного и событийного программирования.
  • 5. Программа с процедурой program n_20; Заголовок главной программы const m: array [1..6] of integer =(16, 32, 40, 64, 80, 128); Описание констант var i: integer; Раздел описания переменных procedure nod (a, b: integer; var c:integer); begin Раздел описания while a<>b do подпрограммы if a>b then a:=a-b else b:=b-a; c:=a end; begin x:=m[1]; Раздел описания операторов for i:=2 to 6 do главной программы begin y:=c[i]; nod (x, y, z); x:=z end; writeln ('НОД=', nod) end.
  • 6. Функция поиска максимального из 2-х чисел program n_20; Заголовок главной программы var a, b, c, d, f: integer; Описание переменных function max (x, y: integer): integer; begin Раздел if x>y then max:=x else max:=y; описания end; подпрограммы begin readln (a, b, c, d); Раздел операторов f:= max(max(a, b), max(c, d)); главной writeln ('f=', f); программы end.
  • 7. Задания 1. По координатам вершин треугольника вычислите его периметр, используя подпрограмму вычисления длины отрезка между двумя точками. 2. Даны три целых числа. Определите, у которого из них больше сумма цифр. Подсчет суммы цифр организуйте через подпрограмму.
  • 8. Источники • Семакин И.Г. Информатика и ИКТ. Профильный уровень: учебник для 11 класса/ И.Г.Семакин, Е.К.Хеннер, Л.В.Шестакова.– М.: БИНОМ. Лаборатория знаний, 2012. • http://shkolo.ru/vspomogatelnyie-algoritmyi/ • metodist.lbz.ru/authors/informatika/3/files/ppt9kl/4.8.ppt