Вспомогательные
    алгоритмы.
Процедуры и функции
       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

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

  • 1.
    Вспомогательные алгоритмы. Процедуры и функции 11 класс 2013г.
  • 2.
    Вспомогательные алгоритмы Некоторые части алгоритма могут выделяться в виде вспомогательных алгоритмов, решающих вспомогательные подзадачи. Для реализации вспомогательных алгоритмов служат подпрограммы или процедуры. Подпрограмма — самостоятельный фрагмент программы, оформленный в виде, допускающем многократное обращение к нему из разных точек программы. Обращение к подпрограмме — переход к выполнению подпрограммы с заданием информации, необходимой для ее выполнения и возврата. Существует два вида подпрограмм: процедуры и функции. Разница между ними состоит в том, что функция через свое имя возвращает одно значение определенного типа и может, использоваться в выражениях наряду со встроенными функциями .
  • 3.
    Процедуры Алгоритмическийязык Паскаль procedure <имя процедуры> (<список параметров>); алг <имя процедуры> (<список <описание> параметров>) begin <операторы> кон <операторы> end Вызов процедуры из основной программы производится оператором вызова процедуры: <имя процедуры>(<список значеиий>). В процедуру могут передаваться параметры, то есть некоторые переменные, которые могут использоваться внутри процедуры. При вызове процедуры с помощью оператора вызова этим переменным присваиваются значения, указанные в этом операторе.
  • 4.
    Функции Паскаль function <имя>(<параметры>):<тип результата>; <описания> begin <операторы> end Для того чтобы вернуть значение из функции, необходимо внутри тела функции переменной, имя которой совпадает с именем функции, присвоить необходимое значение. Эту переменную не надо объявлять в области описания. Вызов функции производится в выражениях и операторах подобно стандартным функциям языка: <Переменная> := <Функция> (<Параметры>) Реализация алгоритмов с помощью подпрограмм — процедур и функций — называется процедурным программированием. В последние годы все большую популярность приобретают методы объектного и событийного программирования.
  • 5.
    Программа с процедурой programn_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