ИНФОРМАТИКА ПРОГРАММИРОВАНИЕ Подпрограммы: Процедуры и функции
Подпрограммы Понятие подпрограммы, их назначение Типы подпрограмм Типы переменных Процедуры БЕЗ параметров С параметрами Типы параметров Функции
Подпрограммы и их назначение 1 ситуация: Когда в разных местах программы нужно выполнять один и тот же частичный алгоритм, который имеет самостоятельное значение Объект описывают один раз, а затем многократно его используют
Подпрограммы и их назначение 2 ситуация: Когда любая программа может быть разбита на ряд независимых друг от друга частей. Программа представляется в виде последовательности независимых друг от друга фрагментов – подпрограмм. Следствие: легко программировать и отлаживать программы Пример: Решение уравнений различными численными методами
Подпрограммы и их назначение Подпрограмма – самостоятельный программный объект, предназначенный для решения некоторой подзадачи, выделенной из основной решаемой задачи.
Типы подпрограмм
Описание и вызов подпрограммы Подпрограмма должна быть описана до того, как она будет использоваться в проекте или другой подпрограмме.
Типы переменных
Типы переменных локальные переменные - объявленные внутри подпрограммы и доступные только ей самой (Dim), глобальные – объявленные в проекте или форме и доступные всем подпрограммам проекта или формы (Public и Private).
Описание процедуры Сл_слово Sub имя( [параметры]) Dim [Описание локальных переменных]; … [Тело процедуры] End Sub Последняя строка оформляется автоматически
Вызов процедуры … имя [(значения параметров)] …
Задача1 Вычислить y=xn, где х – действительное число, а n – целое, большее нуля.
Задача1 Вычислить y=xn, где х – действительное число, а n – целое, большее нуля. Step x, n y:=1 i:=1..n y:=y*x y end
Задача1 Вычислить y=xn, где х – действительное число, а n – целое, большее нуля. Step1 x, n y end stepen1 y:=1 i:=1..n y:=y*x end
Private x, y As Single Private n As Integer Private Sub stepen1() Dim i As Integer y = 1 For i = 1 To n y = y * x Next i End Sub Private Sub Command1_Click() x = Val(Text1.Text) n = Val(Text2.Text) stepen1 Label4.Caption = Str(y) End Sub Задача1 Вычислить y=xn, где х – действительное число, а n – целое, большее нуля. Глобальные Локальные
Private x, y As Single Private n As Integer Private Sub stepen1() Dim i As Integer y = 1 For i = 1 To n y = y * x Next i End Sub Private Sub Command1_Click() x = Val(Text1.Text) n = Val(Text2.Text) stepen1 Label4.Caption = Str(y) End Sub Процедуры Без параметров Глобальные Локальные
Процедуры Без параметров Замечания: Не очень удобны в использовании; Исходными данными для них могут служить только значения заданных переменных Если переменных несколько, то необходимы переобозначения глобальных переменных. Вывод: Если снять эти ограничения, можно повысить общность процедуры и удобство ее использования
Функции
Параметры ФАКТИЧЕСКИЕ и ФОРМАЛЬНЫЕ параметры должны быть строго согласованы между собой по: ² количеству; ² порядку следования; ² типу.
Функции
Функции Private x, y As Single Private n As Integer Private Function stepen2(ByVal a As Double, b As Integer) As Single Dim i As Integer Dim c As Single c = 1 For i = 1 To b c = c * a Next i stepen2 = c End Function Private Sub Command1_Click() x = Val(Text1.Text) n = Val(Text2.Text) y = stepen2(x, n) Label4.Caption = Str(y) End Sub
Задача 3 Вычислить:
Задача 3 Вычислить: начало ввод n, m C = Fact(n)/Fact(m)/Fact(n-m) вывод С конец Fact (K) F = 1 i = 1 .. K F = F*i Fact = F конец Основная программа Подпрограмма Fact
Задача 4 (Домашнее задание) Дано: а – действительное число не равное нулю, m – натуральное число. Вычислить: