СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Презентация на тему "Подпрограммы в Паскале"

Категория: Информатика

Нажмите, чтобы узнать подробности

В данной презентации рассмотрены все виды подпрограмм, используемых в языке программирования Паскаль, структуру их записи и примеры их использования. Презентация предназначена для изучения темы "Основы программирования".

Просмотр содержимого документа
«Презентация на тему "Подпрограммы в Паскале"»

Подпрограммы  в Turbo Pascal

Подпрограммы в Turbo Pascal

 Подпрограмма – это именованная логически законченная группа команд, которую можно вызывать для выполнения любое количество раз из разных мест программы .
  • Подпрограмма это именованная логически законченная группа команд, которую можно вызывать для выполнения любое количество раз из разных мест программы .
Причины использования подпрограмм упростить разработку больших программ методом декомпозиции (разделения) задачи на несколько подзадач; большая наглядность программы; экономия памяти.

Причины использования подпрограмм

  • упростить разработку больших программ методом декомпозиции (разделения) задачи на несколько подзадач;
  • большая наглядность программы;
  • экономия памяти.
Виды подпрограмм процедуры функции  Процедура – это независимая именованная часть программы, предназначенная для выполнения конкретных действий.

Виды подпрограмм

процедуры

функции

  • Процедура – это независимая именованная часть программы, предназначенная для выполнения конкретных действий.
Процедуры без параметров Формат записи :   procedure ;  begin  ;  end ; Все переменные, которые используются в процедурах без параметров, описываются в основной программе (в модуле Var ).

Процедуры без параметров

  • Формат записи :

procedure ;

begin

;

end ;

  • Все переменные, которые используются в процедурах без параметров, описываются в основной программе (в модуле Var ).
Пример . Составить программу нахождения объёма цилиндра. Program cylinder;  Const PI=3.14;  Var R, H, V: real;    Procedure Input ; { процедура ввода данных }  Begin  Writeln (’введите значение радиуса’);  Readln  ( R );  writeln (’введите значение высоты’);  readln (H);   end ;  Procedure formula; { процедура  вычисления  объёма }   begin   V: =PI*sqr(R)*H;   end ;  Procedure Output ; { процедура вывода результатов }  begin   writeln (’V=’,V);   end ; BEGIN  Input;  formula;  Output; END .

Пример . Составить программу нахождения объёма цилиндра.

Program cylinder;

Const PI=3.14;

Var R, H, V: real;

Procedure Input ; { процедура ввода данных }

Begin

Writeln (’введите значение радиуса’);

Readln ( R );

writeln (’введите значение высоты’);

readln (H);

end ;

Procedure formula; { процедура вычисления объёма }

begin

V: =PI*sqr(R)*H;

end ;

Procedure Output ; { процедура вывода результатов }

begin

writeln (’V=’,V);

end ;

BEGIN

Input;

formula;

Output;

END .

Процедуры c параметрами В процедурах можно описывать константы, переменные, другие процедуры. Раздел описания в процедурах имеет такую же структуру, как и в основной программе. Локальные переменные – это переменные, описанные внутри процедуры. Локальные переменные недоступны за пределами процедуры. Изменения, происходящие с локальными переменными внутри процедуры, не влияют на значения переменных с такими же именами, но описанными вне данной процедуры.

Процедуры c параметрами

  • В процедурах можно описывать константы, переменные, другие процедуры.
  • Раздел описания в процедурах имеет такую же структуру, как и в основной программе.
  • Локальные переменные – это переменные, описанные внутри процедуры.
  • Локальные переменные недоступны за пределами процедуры.
  • Изменения, происходящие с локальными переменными внутри процедуры, не влияют на значения переменных с такими же именами, но описанными вне данной процедуры.
Процедуры c параметрами Глобальные переменные

Процедуры c параметрами

  • Глобальные переменные
Пример . Program zadacha;  Var a, b: integer;  Procedure lokal;  Var a, x: char; Для  процедуры lokal:  begin  переменная x – локальная переменная   a:=’! ’; (программа не может изменить её значение)  x :=’ : ’;  b := b +1; переменная b – глобальная переменная  end ; (все изменения значения этой переменной в процедуре BEGIN сохраняются и после выхода из процедуры)  a :=0;  b :=100; переменная a в основной программе – целого типа,  lokal ; а в процедуре – символьного типа. Переменная а  writeln (’ a =’, a ); целого типа недоступна в процедуре lokal .  writeln (’b=’,b); END . Результат выполнения программы: а=0; b =101.

Пример .

Program zadacha;

Var a, b: integer;

Procedure lokal;

Var a, x: char; Для процедуры lokal:

begin переменная x – локальная переменная

a:=’! ’; (программа не может изменить её значение)

x :=’ : ’;

b := b +1; переменная b – глобальная переменная

end ; (все изменения значения этой переменной в процедуре

BEGIN сохраняются и после выхода из процедуры)

a :=0;

b :=100; переменная a в основной программе целого типа,

lokal ; а в процедуре – символьного типа. Переменная а

writeln (’ a =’, a ); целого типа недоступна в процедуре lokal .

writeln (’b=’,b);

END .

Результат выполнения программы: а=0; b =101.

); begin ; end ; " width="640"

Передача параметров в Turbo Pascal

1. Передача параметров по значению

  • 1. Передача параметров по значению
  • Параметры-значения переменные, описанные после имени процедуры в круглых скобках. Перед ними отсутствует служебное слово Var .
  • Формат записи :

procedure (:

переменной);

begin

;

end ;

формальными параметрами . фактическими параметрами .
  • формальными параметрами .
  • фактическими параметрами .
Пример . Program parametr;  Var m, n: integer;  Procedure summa (a, b: integer);  Var S: integer;  Begin  S:=0;  S:=a+b;  writeln (’S=’,S);  end ; BEGIN   m:=100;  n:=10;  summa (m,n); или summa (100,10); END . Переменные a и b являются формальными параметрами, а переменные m и n - фактическими. Значения фактических параметров m =100 и n =10 передаются формальным параметрам a и b .  Изменения фактических параметров происходит только внутри процедуры и не влияют на них вне данной процедуры.

Пример .

Program parametr;

Var m, n: integer;

Procedure summa (a, b: integer);

Var S: integer;

Begin

S:=0;

S:=a+b;

writeln (’S=’,S);

end ;

BEGIN

m:=100;

n:=10;

summa (m,n); или summa (100,10);

END .

Переменные a и b являются формальными параметрами, а переменные m и n - фактическими. Значения фактических параметров m =100 и n =10 передаются формальным параметрам a и b .

Изменения фактических параметров происходит только внутри процедуры и не влияют на них вне данной процедуры.

; Var переменной:); begin ; end ; " width="640"

Передача параметров в Turbo Pascal

2. Передача параметров по имени

  • 2. Передача параметров по имени
  • Параметры-переменные переменные, описанные после имени процедуры в круглых скобках и перед которыми записано служебное слово Var .
  • Формат записи :

procedure (:

переменной; Var

переменной:);

begin

;

end ;

    b then min:= b; if min c then min:= c; end ; BEGIN writeln (’введите три числа’); readln (a1, b1, c1); writeln (’ введите три числа ’); readln (a2,b2,c2); minimum (a1,b1,c1, min1); minimum (a2,b2,c2, min2); S:= min1 + min 2; writeln (’S=’, S); END . Пример . Даны две тройки чисел: a 1, b 1, c 1 и a 2, b 2, c 2. Найти значение суммы: S=min (a1, b1, c1) + min (a2, b2, c2) " width="640"

    Program primer;

    Var a1,b1,c1,a2,b2,c2, min1, min2, S: real;

    Procedure minimum (a,b,c: real; Var min: real);

    Begin

    min:=a;

    if min b then min:= b;

    if min c then min:= c;

    end ;

    BEGIN

    writeln (’введите три числа’);

    readln (a1, b1, c1);

    writeln (’ введите три числа ’);

    readln (a2,b2,c2);

    minimum (a1,b1,c1, min1);

    minimum (a2,b2,c2, min2);

    S:= min1 + min 2;

    writeln (’S=’, S);

    END .

    Пример . Даны две тройки чисел: a 1, b 1, c 1 и a 2, b 2, c 2. Найти значение суммы: S=min (a1, b1, c1) + min (a2, b2, c2)

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

    Функция – это подпрограмма, результатом работы которой является некоторое значение.

    • Формат записи :

    function (:

    ): ;

    begin

    ;

    end ;

    • В теле функции имени функции необходимо присвоить результат её выполнения.
    • При вызове функции её имя с указанием списка фактических параметров должно быть включено в выражение как операнд.
    Program vyrazenie;    Var x, y: real;  function modul (a: real) : real;  Begin  if a    modul:=a;   end ; BEGIN   writeln (’введите значение переменной’);  readln ( x );  y:= modul (x-3) + modul (x+6);  writeln (’y=’, y); END . Пример . Вычислить значение выражения: y = | x -3 | + | x +6 |

    Program vyrazenie;

    Var x, y: real;

    function modul (a: real) : real;

    Begin

    if a

    modul:=a;

    end ;

    BEGIN

    writeln (’введите значение переменной’);

    readln ( x );

    y:= modul (x-3) + modul (x+6);

    writeln (’y=’, y);

    END .

    Пример . Вычислить значение выражения: y = | x -3 | + | x +6 |