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

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

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

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

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

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

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

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

Итоги урока

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

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

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

Просмотр содержимого документа
«Вспомогательные алгоритмы и подпрограммы»

Понятие подпрограмм. Подпрограммы в языке Паскаль.

Понятие подпрограмм. Подпрограммы в языке Паскаль.

Подпрограммой называется участок программы, оформленный определенным образом, к которому можно обращаться из разных точек программы любое число раз. При этом подпрограмма может решать каждый раз одну и ту же задачу с разными значениями исходных данных. ГЛАВНАЯ Подпрограмма

Подпрограммой называется участок программы, оформленный определенным образом, к которому можно обращаться из разных точек программы любое число раз. При этом подпрограмма может решать каждый раз одну и ту же задачу с разными значениями исходных данных.

ГЛАВНАЯ

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

Подпрограмма – повторяющая группа операторов, оформленная в виде самостоятельной программной единицы. Подпрограмма 1 ГЛАВНАЯ Подпрограмма 2 Подпрограмма 3

Подпрограмма – повторяющая группа операторов, оформленная в виде самостоятельной программной единицы.

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

ГЛАВНАЯ

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

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

В языке Pascal механизм подпрограмм реализуется в виде ПРОЦЕДУР ( PROCEDURE ) и ФУНКЦИЙ ( FUNCTION ) Подпрограмма Процедура Функция

В языке Pascal механизм подпрограмм реализуется в виде ПРОЦЕДУР ( PROCEDURE ) и ФУНКЦИЙ ( FUNCTION )

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

Процедура

Функция

Подпрограммы ПРОЦЕДУРЫ ( PROCEDURE )

Подпрограммы ПРОЦЕДУРЫ ( PROCEDURE )

Общий вид структуры подпрограммы Program pr; Var a,b:integer; Рrосеdurе  (формальные параметры); VAR (описание локальных параметров, они могут быть или не быть)  begin  тело процедуры  end;   BEGIN      ( Фактические параметры)   END.

Общий вид структуры подпрограммы

Program pr;

Var a,b:integer;

Рrосеdurе (формальные параметры);

VAR (описание локальных параметров, они могут быть или не быть)

begin

тело процедуры

end;

BEGIN

( Фактические параметры)

END.

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

Параметры

  • Фактические располагаются в головном модуле при вызове процедуры.
  • Формальные – описываются в заголовке процедуры, к ним относятся входные и выходные параметры.
  • Входные – это и параметры значений , описываются через запятую с указанием типа. При выходе из процедуры – не сохраняются.
  • Выходные – это и параметры переменные , описываются после VAR через запятую, с указанием типа. При выходе из процедуры – сохраняются .
Пример  Составить программу сложения 2-х чисел Program pr; Var a,b,s:real; Procedure summa (x,y:real; var s:real); Begin S:=x+y; End; Begin Writeln(‘сложить 2 числа’); Summa(a,b,s) ; Writeln(‘s=’,s); End. фактические формальные параметры-значений, входные, при выходе не сохраняются параметры-переменные, выходные, при выходе сохраняются

Пример

Составить программу сложения 2-х чисел

Program pr;

Var a,b,s:real;

Procedure summa (x,y:real; var s:real);

Begin

S:=x+y;

End;

Begin

Writeln(‘сложить 2 числа’);

Summa(a,b,s) ;

Writeln(‘s=’,s);

End.

фактические

формальные

параметры-значений, входные, при выходе не сохраняются

параметры-переменные, выходные, при выходе сохраняются

Формальные и фактические параметры должны совпадать по 3 признакам:

Формальные и фактические параметры должны совпадать

по 3 признакам:

Вывести на экран 5 строк примерно такого текста: Привет, Катя! Поздравляю тебя с новым годом! Привет, Таня! Поздравляю тебя с новым годом! Привет, Вася! Поздравляю тебя с новым годом! Привет, Коля! Поздравляю тебя с новым годом! Привет, Боря! Поздравляю тебя с новым годом! В программе использовать процедуру для вывода текста.

Вывести на экран 5 строк примерно такого текста:

Привет, Катя! Поздравляю тебя с новым годом!

Привет, Таня! Поздравляю тебя с новым годом!

Привет, Вася! Поздравляю тебя с новым годом!

Привет, Коля! Поздравляю тебя с новым годом!

Привет, Боря! Поздравляю тебя с новым годом!

В программе использовать процедуру для вывода текста.

program primer;  var s: string;   procedure ok;  begin  writeln (‘Привет’, s,’! Поздравляю тебя с новым годом! ’);  end;   begin  s:=‘Катя’;  ok;    s:=‘Таня’;  ok;   s:=‘Вася’;  ok ;   s:=‘Коля’;  ok ;   s:=‘Боря’;  ok; end.

program primer;

var s: string;

procedure ok;

begin

writeln (‘Привет’, s,’! Поздравляю тебя с новым годом! ’);

end;

begin

s:=‘Катя’;

ok;

s:=‘Таня’;

ok;

s:=‘Вася’;

ok ;

s:=‘Коля’;

ok ;

s:=‘Боря’;

ok;

end.

Подпрограммы ФУНКЦИИ ( FUNCTION )

Подпрограммы ФУНКЦИИ ( FUNCTION )

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

Функции

Функция - подпрограмма, имеющая единственный результат, записываемый в ячейку памяти, имя которой совпадает с именем функции.

Перечень формальных параметров и их типов

function (): ;

begin

;

:=

end;

Тип результата

В блоке функции обязательно должен присутствовать оператор :=.

!

Для вызова функции её имя со списком параметров может быть в любом месте программы(в выражении, в условиях, в операторе write) .

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. Описание переменных Раздел описания Под- программы Раздел операторов главной программы " width="640"

Функция поиска максимального из 2-х

program n_20;

var a, b, c, d, f: integer;

Function max(x,y:integer):integer;

begin

if xy 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.

Описание переменных

Раздел

описания

Под-

программы

Раздел операторов

главной

программы

y x max:=y max:=x min:=y min:=x Выход (max) Выход (min) " width="640"

Найти , используя подпрограммы нахождения большего и меньшего из двух чисел.

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

Вход (x, y)

Вход (x, y)

да

нет

нет

да

xy

x

max:=y

max:=x

min:=y

min:=x

Выход

(max)

Выход

(min)

y then max:=x else max:=y end; function min(x, y: real): real; begin if x end; begin writeln(‘a=’); readln (a); writeln(‘b=’); readln (b); writeln(‘c=’); readln (c); m:=(2*max(a, b)+min(a+3,b))/min(c,a-b); writeln (‘max= ', m); end. начало Ввод a, b, c Вывод m конец " width="640"

program pr2;

var a, b, c, m: real;

function max(x, y: real): real;

begin

if xy then max:=x else max:=y

end;

function min(x, y: real): real;

begin

if x

end;

begin

writeln(‘a=’); readln (a);

writeln(‘b=’); readln (b);

writeln(‘c=’); readln (c);

m:=(2*max(a, b)+min(a+3,b))/min(c,a-b);

writeln (‘max= ', m);

end.

начало

Ввод

a, b, c

Вывод

m

конец

Требуется найти разность факториалов F=M!-K! PROGRAM 4; VAR F,M,K:1NTEGER;  FUNCTION FACT ( N :INTEGER):INTEGER;  VAR P, I:INTEGER; BEGIN  P:=1;  FOR I =2 TO N DO  P=P*I;  FACT:=P ; END; BEGIN  READ(M,K);  F:= FACT ( M ) - FACT ( K );  WRITE (F) END. М=4 К=3

Требуется найти разность факториалов F=M!-K!

PROGRAM 4;

VAR F,M,K:1NTEGER;

FUNCTION FACT ( N :INTEGER):INTEGER;

VAR P, I:INTEGER;

BEGIN

P:=1;

FOR I =2 TO N DO

P=P*I;

FACT:=P ;

END;

BEGIN

READ(M,K);

F:= FACT ( M ) - FACT ( K );

WRITE (F)

END.

М=4

К=3

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

Опорный конспект

Запись вспомогательных алгоритмов в языках программирования осуществляется с помощью подпрограмм .

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

Функция

Процедура

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

Подпрограмма, имеющая произвольное количество входных и выходных данных.

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

В языке Паскаль подпрограммы реализуются в виде

процедур и функций.

Спасибо за внимание

Спасибо за внимание


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!