Четверг, 14.11.2019, 21:26
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

 Приложение - подпрограмма plozhad.rar

Занятие 26.1.  Процедуры пользователя                                                                                                                                                                                                        

Существует несколько разновидностей процедур:

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

Мы уже работали с процедурами ⇒ обработчиками событий. Заготовки этих процедур среда разработки создавала автоматически, а мы дополняли эти заготовки командами и строкой dim объявления переменных.

 

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

Процедуры пользователя могут быть:

  1. без аргументов и без результатов;
  2. с аргументами и без результатов;
  3. без аргументов и с результатами;
  4. с аргументами и с результатами.

Аргументы процедуры ⇒ это переменные, которые получают свои значения в команде вызова процедуры перед началом выполнения команд процедуры.

Результаты процедуры это переменные, которые передают свои значения из процедуры определенным переменным в команде вызова процедуры.

 

Объявление процедуры

Если хотите использовать процедуру при решении задачи, то ее сначала нужно объявить (написать ее программный код), а затем вызвать ее в том месте программного кода, где это необходимо.

Пользовательские процедуры объявляются с помощью ключевого слова Sub:

private Sub <название_процедуры>([список формальных параметров])

    <операторы_процедуры>

End Sub

 

Здесь <список формальных параметров>⇒ входные и выходные параметры с указанием типа.

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

 

Чтобы различать входные и выходные параметры, используются ключевые слова:

  • для входных ByVal (по значению);
  • для выходных - Byref (по ссылке). 
  1. Изменение выходного параметра в процедуре отражается в основной программе, а входного нет.
     
  2. В Visual Basic.NET способом передачи аргументов по умолчанию является передача по значению (ByVal).
     
  3. Для объявляемой процедуры, так же, как для переменной, может быть задана область её видимости при помощи служебных слов Private или Public.
     
  4. Все процедуры должны быть объявлены до того, как они будут использоваться. Чтобы область видимости распространялась на всю форму, процедуры объявляются в верхней части программного кода сразу же после кода, автоматически созданного конструктором  форм Windows.

 

Вызов процедуры

Чтобы использовать процедуру Sub, необходимо вызвать её в программном коде. Для вызова используют имя процедуры, в круглых скобках указывается список фактических параметров:

<имя процедуры> (<фактические параметры>)

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

 

Процедура с параметрами

Одна из ценных возможностей Visual Basic.NET и большинства остальных современных языков программирования ⇒ возможность передавать подпрограммам нужную информацию. Это очень удобно, потому что  можно создавать подпрограммы, которые выдают разные результаты и выполняют разные действия в зависимости от того, какую информацию им передают.

 

Пример 1.  Проект "Подпрограмма-процедура- площадь" (процедура с аргументами и с результатами)

  1. Создайте новое приложение Windows и назовите его "plozhad".
     
  2. Создайте пользовательский интерфейс по образцу:

  1. Откройте окно редактора кода. Найдите строку: "Код, автоматически созданный конструктором форм Windows".
     

 В следующую за ней строку добавьте исходный текст процедуры:

Public Class Form1
    Public a1, b1, a2, b2, s1, s2 As Integer   'глобальные переменные  a1, b1, a2, b2
   

  Private Sub plozhad(ByVal a As Integer, ByVal b As Integer, ByRef s As Integer)
        'формальные входные  аргументы (параметры)  подпрограммы -  a, b: (ByVal a As Integer, ByVal b As Integer)
        'формальный выходной аргументы (параметры)  подпрограммы - s: (ByRef s As Integer)

        a = Val(InputBox("a=", "прямоугольник"))
        b = Val(InputBox("b=", "прямоугольник"))
        s = a * b
        MessageBox.Show("площадь прямоугольника =  " & Str(s))
    End Sub

 End Class

Как видите, при выполнении кода в подпрограмме plozhad будет выведено окно сообщения с текстом "площадь прямоугольника =  " & Str(s)" Но как сделать, чтобы этот код выполнился?
 

Чтобы выполнить код внутри процедуры, нужно эту процедуру вызвать:

  • Выполните двойной щелчок на кнопке "вычисление площадей прямоугольника", чтобы отредактировать обработчик ее нажатия. Добавьте в обработчик Button1_Click следующую строку кода:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        plozhad(a1, b1, s1)            'вызов подпрограммы с фактическими  аргументами a1, b1

        Label3.Text = s1

        plozhad(a2, b2, s2)                'вызов подпрограммы с фактическими  аргументами a2, b2

        Label4.Text = s2

    End Sub

Постройте и запустите проект. Нажмите кнопку с надписью "вычисление площадей прямоугольника".

 

     

 

Пример 2 - Дан интерфейс и программный код проекта.Создайте проект "Сумма чисел"  

Вариант 1

​Вариант 2  (процедура с аргументами и с результатами)

Занятие 26.1.2

Форма входа
Поиск
Календарь
«  Ноябрь 2019  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2019
    Конструктор сайтов - uCoz