Скачать презентацию ИНФОРМАТИКА ПРОГРАММИРОВАНИЕ Подпрограммы Процедуры и функции Подпрограммы Скачать презентацию ИНФОРМАТИКА ПРОГРАММИРОВАНИЕ Подпрограммы Процедуры и функции Подпрограммы

Подпрограммы_Basic.ppt

  • Количество слайдов: 24

ИНФОРМАТИКА ПРОГРАММИРОВАНИЕ Подпрограммы: Процедуры и функции ИНФОРМАТИКА ПРОГРАММИРОВАНИЕ Подпрограммы: Процедуры и функции

Подпрограммы n n Понятие подпрограммы, их назначение Типы подпрограмм Типы переменных Процедуры БЕЗ параметров Подпрограммы n n Понятие подпрограммы, их назначение Типы подпрограмм Типы переменных Процедуры БЕЗ параметров С параметрами Типы параметров n Функции

Подпрограммы и их назначение 1 ситуация: Когда в разных местах программы нужно выполнять один Подпрограммы и их назначение 1 ситуация: Когда в разных местах программы нужно выполнять один и тот же частичный алгоритм, который имеет самостоятельное значение Объект описывают один раз, а затем многократно его используют

Подпрограммы и их назначение 2 ситуация: Когда любая программа может быть разбита на ряд Подпрограммы и их назначение 2 ситуация: Когда любая программа может быть разбита на ряд независимых друг от друга частей. Программа представляется в виде последовательности независимых друг от друга фрагментов – подпрограмм. Следствие: легко программировать и отлаживать программы Пример: Решение уравнений различными численными методами

Подпрограммы и их назначение Подпрограмма – самостоятельный программный объект, предназначенный для решения некоторой подзадачи, Подпрограммы и их назначение Подпрограмма – самостоятельный программный объект, предназначенный для решения некоторой подзадачи, выделенной из основной решаемой задачи.

Типы подпрограмм Подпрограммы Процедуры С параметрами Без параметров Функции С параметрами Без параметров Типы подпрограмм Подпрограммы Процедуры С параметрами Без параметров Функции С параметрами Без параметров

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

Типы переменных Типы переменных

Типы переменных локальные переменные - объявленные внутри подпрограммы и доступные только ей самой (Dim), Типы переменных локальные переменные - объявленные внутри подпрограммы и доступные только ей самой (Dim), глобальные – объявленные в проекте или форме и доступные всем подпрограммам проекта или формы (Public и Private).

Описание процедуры Сл_слово Sub имя( [параметры]) Dim [Описание локальных переменных]; … [Тело процедуры] End Описание процедуры Сл_слово Sub имя( [параметры]) Dim [Описание локальных переменных]; … [Тело процедуры] End Sub Последняя строка оформляется автоматически

Вызов процедуры … имя [(значения параметров)] … Вызов процедуры … имя [(значения параметров)] …

Задача 1 Вычислить y=xn, где х – действительное число, а n – целое, большее Задача 1 Вычислить y=xn, где х – действительное число, а n – целое, большее нуля.

Задача 1 Step x, n y: =1 i: =1. . n y: =y*x y Задача 1 Step x, n y: =1 i: =1. . n y: =y*x y end Вычислить y=xn, где х – действительное число, а n – целое, большее нуля.

Задача 1 Step x, n y: =1 i: =1. . n y: =y*x Вычислить Задача 1 Step x, n y: =1 i: =1. . n y: =y*x Вычислить y=xn, где х – действительное число, а n – целое, большее нуля. Step 1 stepen 1 x, n y: =1 stepen 1 i: =1. . n y y: =y*x end y end

Задача 1 Step 1 Вычислить y=xn, где х – действительное число, а n – Задача 1 Step 1 Вычислить y=xn, где х – действительное число, а n – целое, большее нуля. stepen 1 x, n y: =1 stepen 1 i: =1. . n y y: =y*x end Private x, y As Single Private n As Integer Глобальные Private Sub stepen 1() Локальные Dim i As Integer y=1 For i = 1 To n y=y*x Next i End Sub Private Sub Command 1_Click() x = Val(Text 1. Text) n = Val(Text 2. Text) stepen 1 Label 4. Caption = Str(y) End Sub

Процедуры Без параметров Step 1 stepen 1 x, n y: =1 stepen 1 i: Процедуры Без параметров Step 1 stepen 1 x, n y: =1 stepen 1 i: =1. . n y y: =y*x end Private x, y As Single Private n As Integer Глобальные Private Sub stepen 1() Локальные Dim i As Integer y=1 For i = 1 To n y=y*x Next i End Sub Private Sub Command 1_Click() x = Val(Text 1. Text) n = Val(Text 2. Text) stepen 1 Label 4. Caption = Str(y) End Sub

Процедуры Без параметров Замечания: • Не очень удобны в использовании; • Исходными данными для Процедуры Без параметров Замечания: • Не очень удобны в использовании; • Исходными данными для них могут служить только значения заданных переменных • Если переменных несколько, то необходимы переобозначения глобальных переменных. Вывод: Если снять эти ограничения, можно повысить общность процедуры и удобство ее использования

Функции Step 2 x, n y=Stepen 2(x, n) y Stepen 2(a, b) c=1 i=1. Функции Step 2 x, n y=Stepen 2(x, n) y Stepen 2(a, b) c=1 i=1. . b c=c*a end Stepen 2=c end

Параметры ФАКТИЧЕСКИЕ и ФОРМАЛЬНЫЕ параметры должны быть строго согласованы между собой по: ² количеству; Параметры ФАКТИЧЕСКИЕ и ФОРМАЛЬНЫЕ параметры должны быть строго согласованы между собой по: ² количеству; ² порядку следования; ² типу.

Функции Step 2 x, n y=Stepen 2(x, n) y Stepen 2(a, b) c=1 i=1. Функции Step 2 x, n y=Stepen 2(x, n) y Stepen 2(a, b) c=1 i=1. . b c=c*a end Stepen 2=c end

Private x, y As Single Private n As Integer Функции Private Function stepen 2(By. Private x, y As Single Private n As Integer Функции Private Function stepen 2(By. Val 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 stepen 2 = c End Function Private Sub Command 1_Click() x = Val(Text 1. Text) n = Val(Text 2. Text) y = stepen 2(x, n) Label 4. Caption = Str(y) End Sub

Задача 3 Вычислить: Задача 3 Вычислить:

Задача 3 Вычислить: начало Fact (K) ввод n, m F=1 C = Fact(n)/Fact(m)/Fact(n-m) i Задача 3 Вычислить: начало Fact (K) ввод n, m F=1 C = Fact(n)/Fact(m)/Fact(n-m) i = 1. . K вывод С конец F = F*i Fact = F Основная программа конец Подпрограмма Fact

Задача 4 (Домашнее задание) Дано: а – действительное число не равное нулю, m – Задача 4 (Домашнее задание) Дано: а – действительное число не равное нулю, m – натуральное число. Вычислить: