Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

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

Содержание

Структура программыИспользование подпрограммPROGRAM [()];LABEL ; CONST ; TYPE ;VAR ;PROCEDURE ;FUNCTION ;BEGIN END.
Использование подпрограмм в ПаскалеИспользование подпрограммСтруктура программы на языке Паскаль Описание и вызов Структура программыИспользование подпрограммPROGRAM [()];LABEL ;	     CONST ;	TYPE ;VAR Пример программыИспользование подпрограммbegin  writeln('Лекция по информатике')end.Borland Pascal Version 7.0 Copyright (c) Директива includeИспользование подпрограмм{$I }PROGRAM A1;      VAR ...{$I ПроцедураИспользование подпрограммПроцедура - это поименованное сложное действие, которое представляет собой совокупность операторов, Описание и вызов процедурИспользование подпрограммЗаголовок процедуры:PROCEDURE < имя процедуры > [( )];Вызов процедуры: [()]; Пример заголовка и вызоваИспользование подпрограммType t=array[1..50] of integer;Procedure sort(n:integer; a:t; var b:t);Var Пример процедурыИспользование подпрограммVAR X,Y,E:REAL;PROCEDURE SINX(X,E:REAL;VAR Y:REAL);VAR U,Z:REAL; K:INTEGER;BEGIN K:=0; Y:=0; U:=X; Продолжение Использование подпрограмм Z:=SQR(X);   WHILE ABS(U)>E DO BEGIN  Y:=Y+U; Продолжение Использование подпрограммBEGIN  READLN(X,E);  SINX(X,E,Y);  WRITELN('SIN=',SIN(X),' Y=',Y);END. Пример процедурыВводится целое число. Вывести сообщение - число простое или составное. var Пример процедурыbegin write('Введите число x= '); readln(x); prost(x,f); if f then Отличия функции от процедурыИспользование подпрограмм* результатом обращения к функции может быть одно Описание функцииИспользование подпрограммFUNCTION < имя функции > [()] : Примеры вызова функцийИспользование подпрограммVar S:real;. . . S:=PRF (A,B,C); Writeln ( PRF Пример функцииИспользование подпрограммVAR X,E,Y:REAL;FUNCTION SINX(X,E:REAL):REAL;VAR U,Z,Y:REAL; K:INTEGER;BEGIN K:=0; Y:=0; U:=X; Продолжение Использование подпрограмм Z:=SQR(X); WHILE ABS(U)>E DO BEGIN  Y:=Y+U;  K:=K+2;  U:=-U*Z/(K*(K+1)); END; SINX:=YEND; Продолжение Использование подпрограмм BEGIN  READLN(X,E);  Y:=SINX(X,E);  WRITELN('SIN=',SIN(X),' Y=',Y); END. Пример функции{проверка простого числа}var x:integer; function prost(x:integer):boolean;var d:integer;begin prost:=x>1; for d:=2 to x Пример функцииbegin write('Введите число x= '); readln(x); if prost(x) then Типы параметровИспользование подпрограммПри описании процедуры (функции) в ее заголовке могут быть указаны Параметры подпрограммыСписок параметров, задаваемых в заголовке процедуры или функции, обеспечивает связь подпрограммы Правила записи параметровИспользование подпрограммчисло формальных и фактических параметров должно быть одинаково;порядок следования Параметры массивыИспользование подпрограммTYPE TV=ARRAY [1..30] OF INTEGER;     TM=ARRAY Параметры-значенияИспользование подпрограмм…BEGIN READLN(X); WRITELN('SIN=',SIN(X),' Y=',           SINX(X,1/10000));END. Параметры-переменныеИспользование подпрограммFUNCTION SUM (VAR A: ARRAY OF INTEGER) Пример программыИспользование подпрограммUSES CRT;TYPE TMAS=ARRAY[1..100,1..100] OF WORD;     TVECT=ARRAY[1..100] Продолжение Использование подпрограммPROCEDURE FORM(VAR X:TMAS; Продолжение Использование подпрограммBEGIN PROS:= B>1; FOR I:=2 TO B DIV 2 DO Продолжение Использование подпрограмм FOR J:=1 TO M DO BEGIN  Z:=0; S:=0; Продолжение Использование подпрограмм	BEGIN   FOR I:=1 TO N DO  IF Продолжение Использование подпрограммBEGIN WRITELN('Введите N и M:'); READLN(N,M); WRITELN('Введите матрицу:'); FOR I:=1 Область действия именИспользование подпрограмм Рекурсия Использование подпрограмм	Рекурсия – это способ организации вычислительного процесса, при котором процедура Рекурсивная функцияИспользование подпрограммPROGRAM MAIN;VAR M:INTEGER;  F:REAL;FUNCTION FACT (N:INTEGER): REAL;BEGIN IF N=1 Рекурсивная процедураИспользование подпрограммVAR M:INTEGER;  F:REAL;PROCEDURE FACT(N:INTEGER; VAR F: REAL);VAR Q : ПродолжениеИспользование подпрограммBEGIN READLN(M); FACT ( M, F ); WRITELN (' M!=', F);  END. ForwardИспользование подпрограммPROGRAM KOSV_R;VAR X,Y: INTEGER; PROCEDURE AA(A:INTEGER); FORWARD;PROCEDURE BB(B:INTEGER); Продолжение Использование подпрограммPROCEDURE AA ; ... BEGIN ...    BB(...) Модуль Использование подпрограмм UNIT ; INTERFACE IMPLEMENTATION[ BEGIN   ] END. Пример интерфейсной частиИспользование подпрограммUNIT MOD1;INTERFACETYPE  TMAS= array [1..50,1..50] of real;PROCEDURE PR1(var Пример модуляИспользование подпрограммUSES CRT,MODSORT;VAR A:MAS;  I:BYTE;  N:BYTE;BEGIN WRITELN('ВВОД ИСХОДНЫХ ДАННЫХ:'); Продолжение Использование подпрограмм SORT(A,N); FOR I:=1 TO N DO  WRITELN(A[I]); READKEYEND. Продолжение Использование подпрограммUNIT MODSORT;INTERFACE TYPE MAS=ARRAY[1..100] OF INTEGER; PROCEDURE SORT(VAR A:MAS; N:BYTE);IMPLEMENTATION Продолжение Использование подпрограммBEGIN FOR J:=1 TO N-1 DO FOR I:=1 TO N-J
Слайды презентации

Слайд 2 Структура программы
Использование подпрограмм
PROGRAM [()];
LABEL ;

Структура программыИспользование подпрограммPROGRAM [()];LABEL ;	   CONST ;	TYPE ;VAR ;PROCEDURE


CONST ;
TYPE ;
VAR

<описание переменных>;
PROCEDURE <описание процедуры> ;
FUNCTION <описание функции>;
BEGIN
<исполнительная часть программы>
END.

Слайд 3 Пример программы
Использование подпрограмм
begin
writeln('Лекция по информатике')
end.

Borland Pascal

Пример программыИспользование подпрограммbegin writeln('Лекция по информатике')end.Borland Pascal Version 7.0 Copyright (c) 1983,92 Borland InternationalЛекция по информатике

Version 7.0 Copyright (c) 1983,92 Borland International
Лекция по информатике


Слайд 4 Директива include
Использование подпрограмм
{$I }
PROGRAM A1;

Директива includeИспользование подпрограмм{$I }PROGRAM A1;   VAR ...{$I B1.PAS}BEGIN ...END.Файл


VAR ...
{$I B1.PAS}
BEGIN
...
END.
Файл B1.PAS может

иметь вид:
PROCEDURE PP;
VAR ...
BEGIN
...
END;

Слайд 5 Процедура
Использование подпрограмм
Процедура - это поименованное сложное действие, которое

ПроцедураИспользование подпрограммПроцедура - это поименованное сложное действие, которое представляет собой совокупность

представляет собой совокупность операторов, вычисляющих некоторое число результатов в

зависимости от некоторого числа аргументов.


Слайд 6 Описание и вызов процедур
Использование подпрограмм
Заголовок процедуры:
PROCEDURE < имя

Описание и вызов процедурИспользование подпрограммЗаголовок процедуры:PROCEDURE < имя процедуры > [( )];Вызов процедуры: [()];

процедуры >
[( )];


Вызов процедуры:

> [(<список фактических параметров>)];


Слайд 7 Пример заголовка и вызова
Использование подпрограмм
Type t=array[1..50] of integer;
Procedure

Пример заголовка и вызоваИспользование подпрограммType t=array[1..50] of integer;Procedure sort(n:integer; a:t; var

sort(n:integer; a:t; var b:t);
Var …
Begin … { алгоритм решения

задачи }
End;
Var a,b:t; n:integer;
Begin
… Sort(n,a,b); …
End.

Слайд 8 Пример процедуры
Использование подпрограмм
VAR X,Y,E:REAL;
PROCEDURE SINX(X,E:REAL;VAR Y:REAL);
VAR U,Z:REAL;
K:INTEGER;
BEGIN

Пример процедурыИспользование подпрограммVAR X,Y,E:REAL;PROCEDURE SINX(X,E:REAL;VAR Y:REAL);VAR U,Z:REAL; K:INTEGER;BEGIN K:=0; Y:=0; U:=X;

K:=0;
Y:=0;
U:=X;


Слайд 9 Продолжение
Использование подпрограмм
Z:=SQR(X);
WHILE ABS(U)>E

Продолжение Использование подпрограмм Z:=SQR(X);  WHILE ABS(U)>E DO BEGIN Y:=Y+U; K:=K+2; U:=-U*Z/(K*(K+1)); END;END;

DO
BEGIN
Y:=Y+U;
K:=K+2;
U:=-U*Z/(K*(K+1));
END;
END;


Слайд 10 Продолжение
Использование подпрограмм
BEGIN
READLN(X,E);
SINX(X,E,Y);

Продолжение Использование подпрограммBEGIN READLN(X,E); SINX(X,E,Y); WRITELN('SIN=',SIN(X),' Y=',Y);END.

WRITELN('SIN=',SIN(X),' Y=',Y);
END.


Слайд 11 Пример процедуры
Вводится целое число. Вывести сообщение - число

Пример процедурыВводится целое число. Вывести сообщение - число простое или составное.

простое или составное.
var x:integer;
f:boolean;
procedure prost(x:integer;
var

f:boolean);
var d:integer;
begin
f:=x>1;
for d:=2 to x div 2 do
if x mod d =0 then
f:=false;
end;

Слайд 12 Пример процедуры
begin
write('Введите число x= ');
readln(x);
prost(x,f);

Пример процедурыbegin write('Введите число x= '); readln(x); prost(x,f); if f then

if f then
writeln('Число ',x,' простое')

else
writeln('Число ',x,' составное')
end.

Слайд 13 Отличия функции от процедуры
Использование подпрограмм
* результатом обращения к

Отличия функции от процедурыИспользование подпрограмм* результатом обращения к функции может быть

функции может быть одно единственное значение;
* идентификатор результата не

указывается в списке формальных параметров;
* в выполняемой части функции, хотя бы один раз , имени функции должно быть присвоено значение результата ( чаще всего перед выходом из функции);
* после списка формальных параметров задается тип результата;
* после обращения к функции управление передается на выполнение следующей операции данного выражения (в соответствии с приоритетом).

Слайд 14 Описание функции
Использование подпрограмм
FUNCTION < имя функции >
[(

Описание функцииИспользование подпрограммFUNCTION < имя функции > [()] :

формальных параметров>)] :

<тип результата>;


FUNCTION PRF (A,B,C: INTEGER) : REAL;


Слайд 15 Примеры вызова функций
Использование подпрограмм

Var S:real;
. . .
S:=PRF

Примеры вызова функцийИспользование подпрограммVar S:real;. . . S:=PRF (A,B,C); Writeln (

(A,B,C);
Writeln ( PRF ( A,B,C));
If PRF (

A,B,C)>20 then K=K+1;
. . .

Слайд 16 Пример функции
Использование подпрограмм
VAR X,E,Y:REAL;
FUNCTION SINX(X,E:REAL):REAL;
VAR U,Z,Y:REAL;
K:INTEGER;
BEGIN
K:=0;

Пример функцииИспользование подпрограммVAR X,E,Y:REAL;FUNCTION SINX(X,E:REAL):REAL;VAR U,Z,Y:REAL; K:INTEGER;BEGIN K:=0; Y:=0; U:=X;

Y:=0;
U:=X;


Слайд 17 Продолжение
Использование подпрограмм
Z:=SQR(X);
WHILE ABS(U)>E DO
BEGIN

Продолжение Использование подпрограмм Z:=SQR(X); WHILE ABS(U)>E DO BEGIN Y:=Y+U; K:=K+2; U:=-U*Z/(K*(K+1)); END; SINX:=YEND;

Y:=Y+U;
K:=K+2;
U:=-U*Z/(K*(K+1));
END;
SINX:=Y
END;


Слайд 18 Продолжение
Использование подпрограмм
BEGIN
READLN(X,E);
Y:=SINX(X,E);

Продолжение Использование подпрограмм BEGIN READLN(X,E); Y:=SINX(X,E); WRITELN('SIN=',SIN(X),' Y=',Y); END.    илиWRITELN('SIN=',SIN(X),' Y=', SINX(X,E));

WRITELN('SIN=',SIN(X),' Y=',Y);
END.

или
WRITELN('SIN=',SIN(X),' Y=', SINX(X,E));


Слайд 19 Пример функции
{проверка простого числа}
var x:integer; 
function prost(x:integer):boolean;
var d:integer;
begin
prost:=x>1;

Пример функции{проверка простого числа}var x:integer; function prost(x:integer):boolean;var d:integer;begin prost:=x>1; for d:=2 to

for d:=2 to x div 2 do
if

x mod d =0 then
prost:=false;
end;


Слайд 20 Пример функции
begin
write('Введите число x= ');
readln(x);
if

Пример функцииbegin write('Введите число x= '); readln(x); if prost(x) then

prost(x) then
writeln('Число ',x,' простое')

else
writeln('Число ',x,' составное')
end.

Слайд 21 Типы параметров
Использование подпрограмм
При описании процедуры (функции) в ее

Типы параметровИспользование подпрограммПри описании процедуры (функции) в ее заголовке могут быть

заголовке могут быть указаны параметры следующих видов:
- параметры-значения;

- параметры-переменные;
- параметры-константы;
- параметры-процедуры;
- параметры-функции.

Слайд 22 Параметры подпрограммы
Список параметров, задаваемых в заголовке процедуры или

Параметры подпрограммыСписок параметров, задаваемых в заголовке процедуры или функции, обеспечивает связь

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

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

Главная программа
Prost(x,f);

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

procedure prost(x:integer; var f:boolean);


Слайд 23 Правила записи параметров
Использование подпрограмм
число формальных и фактических параметров

Правила записи параметровИспользование подпрограммчисло формальных и фактических параметров должно быть одинаково;порядок

должно быть одинаково;
порядок следования и тип фактических параметров должен

совпадать с порядком и типом соответствующих формальных параметров;
идентификаторы формальных и фактических параметров могут совпадать;
формальные параметры в языке Турбо Паскаль в заголовке находятся вместе с описаниями и объявлять их в разделе описаний процедуры(функции) не требуется;
формальные параметры должны иметь простые или ранее определенные типы.

Слайд 24 Параметры массивы
Использование подпрограмм
TYPE TV=ARRAY [1..30] OF INTEGER;

Параметры массивыИспользование подпрограммTYPE TV=ARRAY [1..30] OF INTEGER;   TM=ARRAY [1..20,1..20]

TM=ARRAY [1..20,1..20] OF REAL;
...
PROCEDURE TOP (

A:TM; VAR B: TV ;
N: INTEGER);
...

Слайд 25 Параметры-значения
Использование подпрограмм

BEGIN
READLN(X);
WRITELN('SIN=',SIN(X),' Y=',

Параметры-значенияИспользование подпрограмм…BEGIN READLN(X); WRITELN('SIN=',SIN(X),' Y=',      SINX(X,1/10000));END.

SINX(X,1/10000));
END.


Слайд 26 Параметры-переменные
Использование подпрограмм
FUNCTION SUM (VAR A: ARRAY OF INTEGER)

Параметры-переменныеИспользование подпрограммFUNCTION SUM (VAR A: ARRAY OF INTEGER)

:INTEGER;
VAR S,I : INTEGER;
BEGIN
S:=0;
FOR I:=0 TO HIGH(A) DO
S:=S+A[I];
SUM:=S;
END;

Слайд 27 Пример программы
Использование подпрограмм
USES CRT;
TYPE TMAS=ARRAY[1..100,1..100] OF WORD;

Пример программыИспользование подпрограммUSES CRT;TYPE TMAS=ARRAY[1..100,1..100] OF WORD;   TVECT=ARRAY[1..100] OF WORD;VAR A:TMAS; V:TVECT; N,M,K:BYTE; I,J:BYTE;

TVECT=ARRAY[1..100] OF WORD;
VAR A:TMAS;
V:TVECT;
N,M,K:BYTE;

I,J:BYTE;

Слайд 28 Продолжение
Использование подпрограмм
PROCEDURE FORM(VAR X:TMAS;

Продолжение Использование подпрограммPROCEDURE FORM(VAR X:TMAS;      N,M:BYTE;

N,M:BYTE;


VAR R:TVECT;
VAR K:BYTE);
VAR I,J,Z,S:BYTE;
F:BOOLEAN;
FUNCTION PROS(B:WORD):BOOLEAN;
VAR I:WORD;

Слайд 29 Продолжение
Использование подпрограмм
BEGIN
PROS:= B>1;
FOR I:=2 TO

Продолжение Использование подпрограммBEGIN PROS:= B>1; FOR I:=2 TO B DIV 2

B DIV 2 DO
IF B MOD I

= 0 THEN
PROS:=FALSE;
END;
BEGIN
K:=0;

Слайд 30 Продолжение
Использование подпрограмм
FOR J:=1 TO M DO

Продолжение Использование подпрограмм FOR J:=1 TO M DO BEGIN Z:=0; S:=0;

BEGIN
Z:=0; S:=0; F:=TRUE;
FOR I:=1 TO

N-1 DO
BEGIN
IF X[I,J]>X[I+1,J] THEN Z:=Z+1;
IF X[I,J] END;
IF (Z = N-1) OR (S = N-1) THEN

Слайд 31 Продолжение
Использование подпрограмм
BEGIN
FOR I:=1 TO

Продолжение Использование подпрограмм	BEGIN  FOR I:=1 TO N DO IF NOT(PROS(X[I,J]))

N DO
IF NOT(PROS(X[I,J])) THEN F:=FALSE;

IF F THEN
BEGIN
K:=K+1; R[K]:=J
END;
END;
END;
END;

Слайд 32 Продолжение
Использование подпрограмм
BEGIN
WRITELN('Введите N и M:');
READLN(N,M);

Продолжение Использование подпрограммBEGIN WRITELN('Введите N и M:'); READLN(N,M); WRITELN('Введите матрицу:'); FOR

WRITELN('Введите матрицу:');
FOR I:=1 TO N DO
FOR

J:=1 TO M DO
READLN(A[I,J]);
FORM(A,N,M,V,K);
WRITELN('Результат:');
FOR I:=1 TO K DO WRITE(V[I],' ');
READKEY
END.

Слайд 33 Область действия имен
Использование подпрограмм

Область действия именИспользование подпрограмм

Слайд 34 Рекурсия
Использование подпрограмм
Рекурсия – это способ организации вычислительного

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

процесса, при котором процедура или функция в процессе выполнения

входящих в ее состав операторов обращается сама к себе непосредственно, либо через другие процедуры и функции.
Пример: F=M!
При М=1 F=1
При М>1 F=M!=M*(M-1)!

Слайд 35 Рекурсивная функция
Использование подпрограмм
PROGRAM MAIN;
VAR M:INTEGER;
F:REAL;
FUNCTION FACT

Рекурсивная функцияИспользование подпрограммPROGRAM MAIN;VAR M:INTEGER; F:REAL;FUNCTION FACT (N:INTEGER): REAL;BEGIN IF N=1

(N:INTEGER): REAL;
BEGIN
IF N=1 THEN FACT:=1 ELSE

FACT:= N* FACT(N-1);
END;
BEGIN
READLN(M);
F:= FACT ( M );
WRITELN (' M!=', F);
END.

Слайд 36 Рекурсивная процедура
Использование подпрограмм
VAR M:INTEGER;
F:REAL;
PROCEDURE FACT(N:INTEGER; VAR

Рекурсивная процедураИспользование подпрограммVAR M:INTEGER; F:REAL;PROCEDURE FACT(N:INTEGER; VAR F: REAL);VAR Q :

F: REAL);
VAR Q : REAL;
BEGIN
IF N=1 THEN
Q:=1

ELSE
FACT(N-1,Q);
F:=N*Q;
END;

Слайд 37 Продолжение
Использование подпрограмм
BEGIN
READLN(M);
FACT ( M, F );

ПродолжениеИспользование подпрограммBEGIN READLN(M); FACT ( M, F ); WRITELN (' M!=', F); END.

WRITELN (' M!=', F);
END.


Слайд 38 Forward
Использование подпрограмм
PROGRAM KOSV_R;
VAR X,Y: INTEGER;
PROCEDURE AA(A:INTEGER); FORWARD;
PROCEDURE

ForwardИспользование подпрограммPROGRAM KOSV_R;VAR X,Y: INTEGER; PROCEDURE AA(A:INTEGER); FORWARD;PROCEDURE BB(B:INTEGER);

BB(B:INTEGER);
... BEGIN...

AA (...);
...
END;

Слайд 39 Продолжение
Использование подпрограмм
PROCEDURE AA ;
... BEGIN ...

Продолжение Использование подпрограммPROCEDURE AA ; ... BEGIN ...  BB(...) ;

BB(...) ;

...
END;
BEGIN
... BB(X) ; AA(Y) ; ...
END.

Слайд 40 Модуль
Использование подпрограмм
UNIT ;
INTERFACE
IMPLEMENTATION
[

Модуль Использование подпрограмм UNIT ; INTERFACE IMPLEMENTATION[ BEGIN  ] END.

BEGIN
]
END.


Слайд 41 Пример интерфейсной части
Использование подпрограмм
UNIT MOD1;
INTERFACE
TYPE
TMAS= array

Пример интерфейсной частиИспользование подпрограммUNIT MOD1;INTERFACETYPE TMAS= array [1..50,1..50] of real;PROCEDURE PR1(var A:TMAS; M,N: byte);…Uses MOD1;

[1..50,1..50] of real;
PROCEDURE PR1(var A:TMAS; M,N: byte);

Uses MOD1;


Слайд 42 Пример модуля
Использование подпрограмм
USES CRT,MODSORT;
VAR A:MAS;
I:BYTE;

Пример модуляИспользование подпрограммUSES CRT,MODSORT;VAR A:MAS; I:BYTE; N:BYTE;BEGIN WRITELN('ВВОД ИСХОДНЫХ ДАННЫХ:'); READLN(N);

N:BYTE;
BEGIN
WRITELN('ВВОД ИСХОДНЫХ ДАННЫХ:');
READLN(N);
FOR I:=1 TO N

DO
READLN(A[I]);

Слайд 43 Продолжение
Использование подпрограмм
SORT(A,N);
FOR I:=1 TO N

Продолжение Использование подпрограмм SORT(A,N); FOR I:=1 TO N DO WRITELN(A[I]); READKEYEND.

DO
WRITELN(A[I]);
READKEY
END.


Слайд 44 Продолжение
Использование подпрограмм
UNIT MODSORT;
INTERFACE
TYPE MAS=ARRAY[1..100] OF INTEGER;

Продолжение Использование подпрограммUNIT MODSORT;INTERFACE TYPE MAS=ARRAY[1..100] OF INTEGER; PROCEDURE SORT(VAR A:MAS;

PROCEDURE SORT(VAR A:MAS; N:BYTE);
IMPLEMENTATION
PROCEDURE SORT;
VAR I,J:BYTE;

X:INTEGER;

  • Имя файла: ispolzovanie-podprogramm-v-paskale.pptx
  • Количество просмотров: 92
  • Количество скачиваний: 0