Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Живодерова В В / VB Лабораторный практикум 5 часть.doc
Скачиваний:
72
Добавлен:
26.03.2016
Размер:
1.78 Mб
Скачать

Рекурсивные процедуры и функции

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

Рекурсивная функция (процедура) – это такая функция (процедура), среди выполняемых операторов которой есть оператор вызова самой этой функции (процедуры. Среди этих выполняемых операторов обязательно должно быть условие завершения (продолжения) рекурсии. Последовательность рекурсивных вызовов называется рекурсивным спуском. Номер рекурсивного вызова в этой последовательности называется глубиной рекурсии. Операторы, расположенные после оператора рекурсивного вызова, выполняются в порядке, обратном тому, в котором происходят рекурсивные вызовы. Говорят, что действие выполняется на рекурсивном подъеме.

Лабораторно-практические работы лабораторно-практическая работа № 1

Тема: Статические массивы данных.

Цель: Получить навыки использования одномерных массивов данных

Порядок выполнения

  1. Установите на форме следующие объекты и измените им свойства:

Объект

Свойство

Значение

Командные кнопки

Name

CmdMas

Caption

Заполнение и вывод массива

Name

CmdSort

Caption

Сортировка массива

Name

CmdMAx

Caption

Определить

Name

CmdSr

Caption

Определить

Рамки

Caption

Max и Min значения в массиве

Caption

Среднее значение

Текстовые окна

Name

TxtMas

Name

TxtSort

Name

TxtMax

Name

TxtMin

Name

TxtSr

  1. Приведите свою форму в соответствие с образцом

  1. В разделе общих объявлений объявите массив Dim Mas(10)

  2. В окне кода процедуры обработки события Clickдля объектаCmdMasнабрать:

'

заполнение случайными числами

txtMas.Text = ""

For i = 1 To 10

mas(i) = Int(Rnd * 100)

txtMas.Text = txtMas.Text + " " + Str(mas(i))

Next i

  1. В окне кода процедуры обработки события Clickдля объектаCmdSortнабрать

For i = 1 To 10

For j = 1 To 9

If mas(j) > mas(j + 1) Then

k = mas(j)

mas(j) = mas(j + 1)

mas(j + 1) = k

End If

Next j

Next i

txtSort.Text = ""

For i = 1 To 10

txtSort.Text = txtSort.Text + " " + Str(mas(i))

Next i

  1. В окне кода процедуры обработки события Clickдля объектаCmdMaxнабрать

Max = mas(1)

For i = 2 To 10

If mas(i) > Max Then Max = mas(i)

Next i

TxtMax.Text = Max

  1. Самостоятельно набрать код для нахождения минимального значения в массиве

  2. В окне кода процедуры обработки события Clickдля объектаCmdSrнабрать

s = 0

For i = 1 To 10

s = s + mas(i)

Next i

TxtSR.Text = s / 10

  1. Проверьте работу программы

  2. Измените программу так, чтобы массив заполнялся буквами русского алфавита, для этого:

  • измените тип массива

  • в окне кода процедуры обработки события Clickдля объектаCmdMasнабрать

txtMas.Text = ""

For i = 1 To 10

mas(i) = Chr((Rnd * 32) + 224) ' коды русских букв от 224 до 255

txtMas.Text = txtMas.Text + " " + mas(i)

Next i

  • в остальных процедурах уберите обращение к функции Str()

  1. Проверьте работу программы. Объясните причину ошибки при вызове программы, определяющей среднее значение