МЕТОД ПОСЛЕДОВАТЕЛЬНОЙ ДЕТАЛИЗАЦИИ. ПРОЦЕДУРЫ И ФУНКЦИИ Урок 1
Подпрограмма- это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих местах программы обеспечивается лишь обращение к ней по имени. Подпрограммы (процедуры) могут быть стандартными, или созданными пользователем.
Структура процедуры procedure имя (формальные параметры); описательная часть begin тело процедуры end;
При вызове процедуры ее формальные параметры заменяются фактическими в порядке их следования. Фактические параметры – параметры, которые передаются процедуре при обращении к ней. Число и тип формальных и фактических параметров должны совпадать с точностью до их следования. Формальные параметры- это переменные, фиктивно присутствующие в процедуре и определяющие тип и место подстановки фактических параметров, над которыми производятся действия.
формальные параметры параметры- переменные перед ними стоит служебное слово VAR имя совпадает с именем фактического параметра параметры- значения имена не совпадают с именами фактических параметров перед ними нет служебного слова VAR Досрочный выход из процедуры EXIT
Составим подпрограмму разбиения символьной строки на слова. procedure slova (st: string ; var a:array[1..30] of string; var k: integer); Var i:integer; begin for i:= 1 to length(st) do if st[i] then a[k]:=a[k]+st[i] else if i length(st) then begin k:=k+1; a[k]:=; end;
Дана символьная строка. Вывести все слова начинающиеся на а и заканчивающиеся на к Program pr1; Uses Crt; type mas=array [1..30] of string; Var a : mas; { массив слов } s : String; { данная строка } i, K : Integer; { K - число слов} procedure slova (st: string; var a:mas; var k: integer); Var i: integer; begin for i:= 1 to length(st) do if st[i] then a[k]:=a[k]+st[i] else if i length(st) then begin k:=k+1; a[k]:=; end; end; BEGIN ClrScr; Write(введи строку, '); ReadLn(s); K:=1; { обращение к подпрограмме } Slova(S,a,k); For i := 1 to K do If copy(a[i],1,1)=a then if copy(a[i],length(a[i]),1)=k then WriteLn(a[i]); ReadLn; END.
: Даны 3 числа. Расположить их значения по возрастанию. Написать процедуру обмена местами значения 2 переменных Домашнее задание