КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Функции
End. Begin Begin Begin Процедуры. Число и тип формальных и фактических параметров должны совпадать с точность до их следования. В программе все переменные делятся на глобальные и локальные. Глобальные переменные – это те переменные, которые объявленные в описании основной части. Локальные переменные – это те, которые объявлены в процедурах и функциях. Эти переменные помещаются в стек при вызове подпрограммы и убираются из него при возвращении в точку вызова. Таким образом, локальные переменные существуют только тогда, когда работает подпрограмма, появляются при вызове и исчезают при завершении работы.
Процедуры предназначены для выполнения некоторой последовательности действий. Любая процедура начинается с заголовка, который являются ее обязательной частью (в отличие от заголовка программы). Они состоят из служебного слова Procedure, за которым следует имя процедуры (которое выбирается пользователем в соответствии с правилами образования имен), а в круглых скобках – список формальных параметров (которые используются только в теле процедуры), в конце ставим точку с запятой. После заголовка могут идти те же разделы, что и в программе. Таким образом, общий вид будет следующим: Procedure <имя> (список формальных параметров); <описательная часть> <тело процедуры> end; Часть заголовка со списком формальных параметров может отсутствовать. Результат выполнения процедуры - это одно или несколько значений. Оно (или они) передается в основную программу как значения ее параметра. При вызове процедуры ее формальные параметры заменяются фактическими в порядке их следования. Пример: Составить программу, которая будет находить an, то есть n-ую степень числа а, где а и n-это это целые числа и n>0, вводимые с клавиатуры. Решение: Составим процедуру, которая вычисляет степень целого числа. Procedure Degree(x, y: Integer; Var st: Longint);{заголовок процедуры} Var i: Integer; {описанная часть} Begin {тело процедуры} st: =1; For i:=I to y Do st: =st*x; End; Первая строчка в описании – это заголовка. Служебное слово Procedure указывает на то, что именем Degree названа процедура. В скобках записан список формальных параметров, то есть перечислены переменные с указанием их тела. Будем передавать три параметра: первый параметр–основание, то есть число, которое надо возвести в степень, второй параметр–это степень, а третий – это результат. Поэтому первые два формальные параметра- это параметры-значения, а третий –это параметр-переменная и перед ним надо написать слово Var. Обозначим их x, y, и st, где st=xn. Все они описаны целым типом (x и y типом Integer, а st- Longint, так как степенная функция быстро возрастает). После заголовка идет описательная часть. В нашем примере она состоит только из раздела переменных, где имеется одна переменная I (для работы с циклом). Далее идет тело процедуры, оно начинается с служебного слова Begin и заканчивается служебным словом End, после которого ставим точку с запятой (в конце программы после последнего End ставим точку). Между этим словами могут быть использованы те же операторы, что и в основной программе. В данном случае вычисляется степень некоторого числа с помощью цикла For. Вся программа для нашей задачи может иметь следующий вид: Program Ex_28; Var a,n: Integer; s: Longint; Procedure Degree(x, y: Integer; Var st: Longint); Var i: integer; st: =1; For i:=I to y Do st: =st*x; End; Writeln (′введите два числа′); Readln (a, n);{ ввод с клавиатуры значений переменных a, n} Degree (a, n, s); {обращение к процедуре} Writeln (′Результат′, s); {вывод значения an} Readln; Процедура вызывается как оператор, состоящий из имени процедуры. В круглых скобках передаются фактические параметры. В нашем примере, фактические параметры a, n и s передают свои значения соответственно формальным параметрам x, y и st. После завершения работы процедуры переменные а и n имеют те же значения, что и при а s получает новое значение. Передача параметров является очень важной для процедур и функций. Это процесс, благодаря которому передается информация. Пуста a=3 и n=4.Когда в программе встречается оператор Degree (a, n, s), то ЭВМ выполняет следующие действия: 1)выделяет память для переменных, описанных в процедуре Degree; 2)присвоит формальным параметрам значения фактических: x:=a(x=3), y:=n(y=4), st:=s; 3)выполняет операторы процедуры, то есть найдет 34 полученное значение присвоит переменной s, а переменные a и n остаются прежними, после этого переходит к выполнению следующих действий программы в точке, то есть выполняются следующий оператор, стоящий за обращением процедуры.
Функции предназначены для того, чтобы вычислить только оно значение, поэтому ее первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет ее результатом). Второе отличие заключаются в заголовке функции. Он состоит из слова function, за которым идет имя функции, затем в круглых скобках идет список формальных параметров, после чего через двоеточие записывается тип результата функции. Остальное как в процедуре. Кроме того: в теле функции обязательно должен быть хотя бы один оператор присвоения, где в левой части стоит имя функции, а в правой – ее значение. Иначе, значение не будет определено. Таким образом, общий вид будет следующим: Function <имя> (список формальных параметров):< тип результата>; <описательная часть>
Дата добавления: 2014-01-06; Просмотров: 307; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |