1 / 20

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

Подпрограмма. Подпрограмма - именованная часть программы к которой можно обращаться неоднократно по ее имени. Подпрограмма. Описывается в описательной части самой программы. Обращение к ней происходит из исполнительной части программы.

cisco
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Подпрограмма Подпрограмма - именованная часть программы к которой можно обращаться неоднократно по ее имени

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

  3. Типы переменных • Глобальные переменные объявлены в описательной части самой программы. Доступны везде • Локальные переменные объявлены в подпрограмме. Доступны только в теле подпрограммы.

  4. Процедура Procedure имя(список переменных) Begin тело процедуры End;

  5. Процедура без параметров • Найти площадь треугольника с основанием 8 высотой 5 Var s:real; Procedure treyg; var a,h:integer; begin a:=8; h:=5;s:=a*h/2; end; Begin treyg; writeln(s:3:2); End.

  6. Определить какое значение будет у переменной а Var a:byte; Procedure prim; Var a:byte; Begin a:=8; End; Begin a:=5; prim; writeln(a); End.

  7. Процедуры с параметрами -значениями Это параметры, значения которым передаются из основной программы в подпрограмму. Записываются в круглых скобках после имени процедуры с указанием типа.

  8. Найти площадь Var a,h,s:real; Procedure treyg(x,y:real); begin s:=x*y/2; end; Begin a:=8; h:=5; treyg(a,h); writeln(s:3:2); treyg(a+1,h-2); writeln(s:3:2); End.

  9. Процедуры с параметрами ссылками • Параметры ссылки(переменные)- это параметры которые передаются из подпрограммы в основную программу. Записываются в круглых скобках после имени процедуры после var

  10. Var a,h,s:real; Procedure treyg(x,y:real; var p:real); begin p:=x*y/2; end; Begin a:=8; h:=5; treyg(a,h,s); writeln(s:3:2); End.

  11. Найти последующее число Procedure prim(var x:integer); Begin x:=x+1; End; Var a:integer; Begin a:=5; prim(a); writeln(a); End.

  12. Найти сумму элементов двух массивов Const n=10; Type mas=array[1..n] of integer; Procedure sozd(var m:mas); Var i:integer; Begin Writeln(‘Введи элементы в массив’); for i:=1 to n do read(m[i]); End; Procedure sum(var m:mas); Var s,i:integer; begin S:=0; For i:=1 to n do s:=s+m[i]; writeln(‘sum=‘,s); end;

  13. Основная программа Var a,b:mas; Begin sozd(a); sozd(b); sum(a); sum(b); End.

  14. Функции • В заголовке всегда указывается тип функции • В теле необходимо присвоить вычислительный результат имени самой функции • К функции нельзя обращаться на прямую. Имя функции можно использовать либо в операции присваивания, либо в математическом выражении, либо в условии

  15. Function имя(параметра): тип функции Begin Тело функции End;

  16. Вычислить сумму площадей треугольников с заданными основаниями(5) и высотами меняющиеся от 1 до n Var n,a,i:integer; S:real; Function treyg(a,h:integer):real; var p:real; Begin p:=a*h/2; treyg:=p; End; Begin a:=5; s:=0; readln(n); For i:=1 to n do s:=s+treyg(a,i); Writeln(s:3:2); End.

  17. В символьном массиве подсчитать количество гласных и согласных букв Const n=10; Type mas=array[1..n] of char; Procedure sozd(var m:mas); Var i:integer; Begin Writeln(‘Введи элементы в массив’); for i:=1 to n do read(m[i]); End; Function glas(var b:char):boolean; Begin glas:=b in[‘a’,’A’,’e’,’E’,’u’,’U’,’I’,’i’,’o’,’O’]; End;

  18. Function soglas(var b:char):boolean; Begin soglas:=b in([‘a’..’z’,’A’..’Z’]-[‘a’,’A’,’e’,’E’,’u’,’U’,’I’,’i’,’o’,’O’]; End; Var a:mas; kgl, ksogl ,i:integer; Begin sozd(a); kgl:=0; ksogl:=0; For i:=1 to n do begin if glas(a[i]) then kgl:=kgl+1; if soglas(a[i]) then ksogl:=ksogl+1; end; Writeln(‘kgl=’, kgl); Writeln(‘ksogl=’, ksogl); End.

  19. Задачи 1.Подсчитать в массиве количество цифр 2.Дан массив с цифрами и буквами. Разделить их в 2 массива. 3. Дано три строки. Подсчитать сколько в них пробелов

  20. Тесты • n=10 3 e g f 4 1 d f 5 n ответ 4 • 3 e g f 4 1 d f 5 n ответ 3 4 1 5 e g f d f n 3. Mir trud mai -3 mir tryd -1 Mir trud mai -5

More Related