X

Код презентации скопируйте его

Ширина px

Вы можете изменить размер презентации, указав свою ширину плеера!

Процедуры и функции

Скачать эту презентацию

Презентация на тему Процедуры и функции

Скачать эту презентацию

Cлайд 1
Процедуры и функции Процедуры и функции
Cлайд 2
Содержание Процедуры Функции Механизм передачи параметров в функции и процеду... Содержание Процедуры Функции Механизм передачи параметров в функции и процедуры Глобальные и локальные переменные Формальные и фактические параметры Рекурсия
Cлайд 3
Подпрограммы: глобальные и локальные переменные Все подпрограммы должны быть ... Подпрограммы: глобальные и локальные переменные Все подпрограммы должны быть описаны в разделе описаний. Каждая подпрограмма должна иметь имя. Информация между основной программой и подпрограммами передается глобальными параметрами (переменными), действующими в любой части программы, имеющими имя, описанное в основной программе. Внутри подпрограммы могут быть использованы локальные параметры (переменные), – их имена и значения имеют смысл только в пределах границ данной подпрограммы и недоступны вызывающей программе
Cлайд 4
Формальные и фактические параметры В описании подпрограмм параметры обозначен... Формальные и фактические параметры В описании подпрограмм параметры обозначены только именами, поэтому их называют формальными. До вызова подпрограммы они не имеют значений. Они лишь резервируют место для фактических параметров, фиксируя их число и тип данных. Типы фактических параметров: Параметры-значения показывают, какое значение надо присвоить определенному параметру подпрограммы. После завершения подпрограммы они принимают прежние значения, даже если были изменены в подпрограмме. Параметры-переменные в подпрограмме становятся на место формальных, могут в ходе исполнения подпрограммы изменить свое значение и сохраняют изменения при выходе из подпрограммы (перед параметрами-переменными стоит ключевое слово Var).
Cлайд 5
Процедуры Решение задач Процедуры Решение задач
Cлайд 6
Описание процедуры Program Pr1; Const … Type … Var … Procedure (); Описательн... Описание процедуры Program Pr1; Const … Type … Var … Procedure (); Описательная часть Begin Тело процедуры End; Begin … (); … end. При вызове процедуры формальные параметры заменяются фактическими.
Cлайд 7
Процедура вычисления суммы двух чисел program pr1; Uses crt; Var a,b,s:real; ... Процедура вычисления суммы двух чисел program pr1; Uses crt; Var a,b,s:real; procedure summa(x,y:real;var z:real); begin z:=x+y; end; begin clrscr; writeln('введите a,b'); readln(a,b); summa(a,b,s); writeln(' сумма чисел ',a:3:1,' и ',b:3:1,' = ',s:3:1); readln; end. x,y,z – формальные параметры, локальные переменные a,b,s – глобальные переменные a,b,s – фактические параметры х y z a b s Параметры-значения Параметр-переменная
Cлайд 8
Программа перестановки значений переменных a,b,c в порядке возрастания(a Программа перестановки значений переменных a,b,c в порядке возрастания(a
Cлайд 9
Программа перестановки значений переменных a,b,c в порядке возрастания(a Программа перестановки значений переменных a,b,c в порядке возрастания(a
Cлайд 10
Вычислить значение выражения a:=(3n!+2m!)/(m+n)! Для нахождения факториала ка... Вычислить значение выражения a:=(3n!+2m!)/(m+n)! Для нахождения факториала какой тип переменных целесообразно использовать? program pr2; Uses crt; Var m,n,x,y,z:integer; a:real; procedure fact(d:integer;var q:integer); var i:integer; begin q:=1; for i:=1 to d do q:=q*i; end; begin clrscr; writeln('введите значения n, m '); readln(n,m); fact(n,x); fact(m,y); fact(m+n,z); a:=(3*x+2*y)/z; writeln('значение выражения при m= ',m:4,' и n= ',n:4,'равно',a:8:3); readln; end. N!=1·2·3·…· N
Cлайд 11
Ввод вывод элементов одномерного массива Функция Random(X) формирует случайно... Ввод вывод элементов одномерного массива Функция Random(X) формирует случайное число от 0 до Х целого или вещественного типа (перед обращением к функции ее необходимо инициализировать, использовав процедуру Randomize). Если параметр Х не задан, результат будет типа Real в пределах от 0.0 до 1.0. Для получения массива целых случайных чисел из диапазона [A,B] random(B-A+1)+A Задание: Оформить ввод элементов одномерного массива с помощью генератора случайных чисел (диапазон значений от -10 до 20) и вывод элементов как процедуры. Для А=-10 В=20 random(20-(-10)+1)+(-10)
Cлайд 12
Ввод и вывод элементов одномерного массива Ввод и вывод элементов одномерного массива
Cлайд 13
Функции Решение задач Функции Решение задач
Cлайд 14
Описание функции Функции предназначены для того, чтобы вычислять только одно ... Описание функции Функции предназначены для того, чтобы вычислять только одно значение, 1. поэтому ее первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет результатом). 2. Второе отличие заключается в заголовке функции. Он состоит из слова FUNCTION, за которым идет имя функции, затем в круглых скобках идет список формальных параметров, после чего через двоеточие записывается тип результата функции. 3. В теле функции обязательно должен быть хотя бы один оператор присвоения, где в левой части стоит имя функции, а в правой – ее значение. Function (): Описательная часть Begin Тело функции :=; End;
Cлайд 15
Вычислить значение выражения a:=(3n!+2m!)/(m+n)! program fn2; Uses crt; Var m... Вычислить значение выражения a:=(3n!+2m!)/(m+n)! program fn2; Uses crt; Var m,n:integer; a:real; function fact(d:integer) :longint; var i:integer; q:longint; begin q:=1; for i:=1 to d do q:=q*i; fact:=q; end; begin clrscr; writeln('введите значения n, m '); readln(n,m); a:=(3*fact(n)+2*fact(m))/fact(m+n);; writeln('значение выражения при m= ',m:4,' и n= ',n:4,'равно',a:8:3); readln; end.
Cлайд 16
Составить программу, которая будет находить аb, то есть b-ю степень числа А, ... Составить программу, которая будет находить аb, то есть b-ю степень числа А, где А и В – это целые числа и В>0, вводимые с клавиатуры. Составьте программу, заменив функцию процедурой program pr2; Uses crt; Var a,b:integer; c:longint; Function stepen(x,y:integer):longint; var i:integer; s:longint; begin s:=1; for i:=1 to y do s:=s*x; Stepen:=s; end; begin clrscr; writeln('введите значения a, b'); readln(a,b); C:=stepen(a,b); writeln('s=',s); readln; end.
Cлайд 17
Механизм передачи параметров в функции и процедуры Разбор заданий Механизм передачи параметров в функции и процедуры Разбор заданий
Cлайд 18
Механизм передачи параметров в функции и процедуры Что будет напечатано проце... Механизм передачи параметров в функции и процедуры Что будет напечатано процедурой, а что программой? Глобальные переменные Локальные переменные a b 3 3 -3 Адрес с a b c 48 Адрес с A:=b+3 B:=3*a C:=a+b Состояние С 24 5 8 Ответ
Cлайд 19
Механизм передачи параметров в функции и процедуры Что будет напечатано функц... Механизм передачи параметров в функции и процедуры Что будет напечатано функцией, а что программой? Глобальные переменные Локальные переменные c b 0 0 Адрес a c b d 3 0 a:=2 B:=b+1 D:=3 Состояние a 3 0 2 d 0 0 f:=d Ответ f 3 c:=b-a
Cлайд 20
Механизм передачи параметров в функции и процедуры Определите результат выпол... Механизм передачи параметров в функции и процедуры Определите результат выполнения предложенной программы. Ответ
Cлайд 21
Механизм передачи параметров в функции и процедуры Определите результат выпол... Механизм передачи параметров в функции и процедуры Определите результат выполнения предложенной программы. Ответ
Cлайд 22
Механизм передачи параметров в функции и процедуры Определите результат выпол... Механизм передачи параметров в функции и процедуры Определите результат выполнения предложенной программы. Ответ
Cлайд 23
Рекурсия Примеры задач Рекурсия Примеры задач
Cлайд 24
Понятие рекурсии Подпрограммы в Turbo Pascal могут обращаться к самим себе. Т... Понятие рекурсии Подпрограммы в Turbo Pascal могут обращаться к самим себе. Такое обращение называется рекурсией. Объект, который частично определяется через самого себя, называется рекурсивным. Рекурсивные определения как мощный аналитический аппарат используются во многих областях науки, особенно в математике. Для того, чтобы не было бесконечного обращения подпрограммы к самой себе, требуется наличие некоторого условия (условного оператора) в тексте программы, по достижении которого дальнейшее обращение не происходит. Таким образом, рекурсивное программирование может включаться только в одну из ветвей условного оператора, присутствующего в подпрограмме. Подпрограмма (): Описательная часть Begin … if then < обращение к подпрограмме > else ; … End; if then else < обращение к подпрограмме >;
Cлайд 25
Вычисление факториала натурального числа program fn2; Uses crt; Var n:integer... Вычисление факториала натурального числа program fn2; Uses crt; Var n:integer; a:longint;; function factorial(n:integer) :longint; begin if n=1 then factorial:=1 else factorial:=n*factorial(n-1); end; begin clrscr; writeln('введите значение n:'); readln(n); a:=factorial(n); writeln('значение факториала ‘,n,‘!=‘,a:8); readln; end.
Скачать эту презентацию
Наверх