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

Презентация: Использование подпрограмм в Паскале
Включить эффекты
1 из 45
Ваша оценка презентации
Оцените презентацию по шкале от 1 до 5 баллов
  • 1
  • 2
  • 3
  • 4
  • 5
4.0
1 оценка

Комментарии

Нет комментариев для данной презентации

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


Добавить свой комментарий

Аннотация к презентации

Посмотреть и скачать презентацию по теме "Использование подпрограмм в Паскале", включающую в себя 45 слайдов. Скачать файл презентации 0.18 Мб. Средняя оценка: 4.0 балла из 5. Большой выбор powerpoint презентаций

  • Формат
    pptx (powerpoint)
  • Количество слайдов
    45
  • Слова
    другое
  • Конспект
    Отсутствует

Содержание

  • Презентация: Использование подпрограмм в Паскале
    Слайд 1

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

    10.06.2017 Использование подпрограмм 1 Структура программы на языке Паскаль Описание и вызов процедур Описание функции Формальные и фактические параметры Область действия имен Рекурсивные процедуры и функции Предварительно-определенные процедуры Модули

  • Слайд 2

    Структура программы

    10.06.2017 Использование подпрограмм 2 PROGRAM [()]; LABEL ; CONST ; TYPE ; VAR ; PROCEDURE ; FUNCTION ; BEGIN END.

  • Слайд 3

    Пример программы

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

  • Слайд 4

    Директива include

    10.06.2017 Использование подпрограмм 4 {$I } PROGRAM A1; VAR ... {$I B1.PAS} BEGIN ... END. Файл B1.PAS может иметь вид: PROCEDURE PP; VAR ... BEGIN ... END;

  • Слайд 5

    Процедура

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

  • Слайд 6

    Описание и вызов процедур

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

  • Слайд 7

    Пример заголовка и вызова

    10.06.2017 Использование подпрограмм 7 Type t=array[1..50] of integer; Procedure sort(n:integer; a:t; var b:t); Var … Begin … { алгоритм решения задачи } End; Var a,b:t; n:integer; Begin … Sort(n,a,b); … End.

  • Слайд 8

    Пример процедуры

    10.06.2017 Использование подпрограмм 8 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;

  • Слайд 9

    Продолжение

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

  • Слайд 10

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

  • Слайд 11

    Пример процедуры

    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

    12 begin write('Введите число x= '); readln(x); prost(x,f); if f then writeln('Число ',x,' простое') else writeln('Число ',x,' составное') end.

  • Слайд 13

    Отличия функции от процедуры

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

  • Слайд 14

    Описание функции

    10.06.2017 Использование подпрограмм 14 FUNCTION [()] : ; FUNCTION PRF (A,B,C: INTEGER) : REAL; …

  • Слайд 15

    Примеры вызова функций

    10.06.2017 Использование подпрограмм 15 Var S:real; . . . S:=PRF (A,B,C); Writeln ( PRF ( A,B,C)); If PRF ( A,B,C)>20 then K=K+1; . . .

  • Слайд 16

    Пример функции

    10.06.2017 Использование подпрограмм 16 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;

  • Слайд 17

    Продолжение

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

  • Слайд 18

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

  • Слайд 19

    Пример функции

    19 {проверка простого числа} var x:integer;  function prost(x:integer):boolean; var d:integer; begin prost:=x>1; for d:=2 to x div 2 do if x mod d =0 then prost:=false; end;

  • Слайд 20

    20 begin write('Введите число x= '); readln(x); if prost(x) then writeln('Число ',x,' простое') else writeln('Число ',x,' составное') end.

  • Слайд 21

    Типы параметров

    10.06.2017 Использование подпрограмм 21 При описании процедуры (функции) в ее заголовке могут быть указаны параметры следующих видов: - параметры-значения; - параметры-переменные; - параметры-константы; - параметры-процедуры; - параметры-функции.

  • Слайд 22

    Параметры подпрограммы

    22 Список параметров, задаваемых в заголовке процедуры или функции, обеспечивает связь подпрограммы с вызывающей программой. Через него в подпрограмму передаются исходные данные и возвращается результат (в процедуре). Главная программа Prost(x,f); Подпрограмма procedure prost(x:integer; var f:boolean);

  • Слайд 23

    Правила записи параметров

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

  • Слайд 24

    Параметры массивы

    10.06.2017 Использование подпрограмм 24 TYPE TV=ARRAY [1..30] OF INTEGER; TM=ARRAY [1..20,1..20] OF REAL; ... PROCEDURE TOP ( A:TM; VAR B: TV ; N: INTEGER); ...

  • Слайд 25

    Параметры-значения

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

  • Слайд 26

    Параметры-переменные

    10.06.2017 Использование подпрограмм 26 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

    Пример программы

    10.06.2017 Использование подпрограмм 27 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;

  • Слайд 28

    Продолжение

    10.06.2017 Использование подпрограмм 28 PROCEDURE FORM(VAR X:TMAS; 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

    10.06.2017 Использование подпрограмм 29 BEGIN PROS:= B>1; FOR I:=2 TO B DIV 2 DO IF B MOD I = 0 THEN PROS:=FALSE; END; BEGIN K:=0;

  • Слайд 30

    10.06.2017 Использование подпрограмм 30 FOR J:=1 TO M DO 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]

  • Слайд 31

    10.06.2017 Использование подпрограмм 31 BEGIN FOR I:=1 TO 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

    10.06.2017 Использование подпрограмм 32 BEGIN WRITELN('Введите N и M:'); READLN(N,M); 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

    Область действия имен

    10.06.2017 Использование подпрограмм 33

  • Слайд 34

    Рекурсия

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

  • Слайд 35

    Рекурсивная функция

    10.06.2017 Использование подпрограмм 35 PROGRAM MAIN; VAR M:INTEGER; F:REAL; FUNCTION FACT (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

    Рекурсивная процедура

    10.06.2017 Использование подпрограмм 36 VAR M:INTEGER; F:REAL; PROCEDURE FACT(N:INTEGER; VAR F: REAL); VAR Q : REAL; BEGIN IF N=1 THEN Q:=1 ELSE FACT(N-1,Q); F:=N*Q; END;

  • Слайд 37

    Продолжение

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

  • Слайд 38

    Forward

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

  • Слайд 39

    Продолжение

    10.06.2017 Использование подпрограмм 39 PROCEDURE AA ; ... BEGIN ... BB(...) ; ... END; BEGIN ... BB(X) ; AA(Y) ; ... END.

  • Слайд 40

    Модуль

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

  • Слайд 41

    Пример интерфейсной части

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

  • Слайд 42

    Пример модуля

    10.06.2017 Использование подпрограмм 42 USES CRT,MODSORT; VAR A:MAS; I:BYTE; N:BYTE; BEGIN WRITELN('ВВОД ИСХОДНЫХ ДАННЫХ:'); READLN(N); FOR I:=1 TO N DO READLN(A[I]);

  • Слайд 43

    Продолжение

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

  • Слайд 44

    10.06.2017 Использование подпрограмм 44 UNIT MODSORT; INTERFACE TYPE MAS=ARRAY[1..100] OF INTEGER; PROCEDURE SORT(VAR A:MAS; N:BYTE); IMPLEMENTATION PROCEDURE SORT; VAR I,J:BYTE; X:INTEGER;

  • Слайд 45

    10.06.2017 Использование подпрограмм 45 BEGIN FOR J:=1 TO N-1 DO FOR I:=1 TO N-J DO IF A[I]>A[I+1] THEN BEGIN X:=A[I]; A[I]:=A[I+1]; A[I+1]:=X END; END; END.

Посмотреть все слайды

Сообщить об ошибке