Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Пример 4.7.4-2. Разработать процедуру, в которой вычисляется произведение ненулевых элементов вещественного массив a().




Схема алгоритма и программный код приведены на рис. 4.7.4-2.

 

Function Pr742(ByRef a() As Single) As Single Dim i As Integer, z Fs Single z = 1 For i = 0 To Ubound(a) If a(i) <> 0 Then z = z * a(i) Next i End Sub Private Sub Button1_Click(…) Dim z As Single vvodSngMac15(a): vivodSngMac17(a, ListBox1) z = Pr742(a): vivodSngMac17 (z, TextBox1) End Sub

Рис. 4.7.4-2. Схема алгоритма и программный код процедуры Pr742()

Примера 4.7.4-2

Пример 4.7.4-3. Разработать процедуру-Function, которая находит максимальное значения элементов массива t().

Схема алгоритма и программный код приведены на рис. 4.7.4-3.

 

Sub Pr743(ByRef t() As Double) As Double Dim i, n, j, k As Integer Dim xmax As Single n = UBound(t) xmax = x(0) For i = 1 To n If x(i) > xmax Then xmax = x(i) End If Next i Return xmax End Sub

Рис. 4.7.4-3. Схема алгоритма и программный код процедуры Pr743()

Примера 4.7.4-3

Пример 4.7.4-4. Разработать процедуру-Function, которая находит индекс минимального значения элементов массива t().

 

Sub Pr744(ByRef t() Double) As Integer Dim i, n, j, k As Integer Dim xmin As Double n = UBound(t) xmin = x(0): k = 0 `For i = 1 To n If x(i) < xmin Then xmax = x(i) k = i End If Next i Return к End Sub

Рис. 4.7.4-4. Схема алгоритма и программный код процедуры Pr744()

Примера 4.7.4-4

Пример 4.7.4-5. Разработать процедуру, которая в заданном массиве c() переставляет элементы с целыми значениями в начало массива.

Sub Pr745(ByRef с() As Single) Dim temp As Single, i, k As Integer For i = 0 To UBound(c) If c(i) - Fix(c(i)) = 0 Then temp = c(k): c(k) = c(i) c(i) = temp: k = k + 1 End If Next i End Sub Private Sub Button1_Click(…) Dim с(9) As Single vvodSngMac15(с): vivodSngMac17(с,ListBox1) Pr7475(с): vivodSngMac17(с,ListBox2) End Sub

Рис. 4.7.4-5. Схема алгоритма и программный код процедуры Pr745()

Примера 4.7.4-5

Для того чтобы переставить целые элементы в начало массива, в переменной k будем хранить номер элемента, в который переписывается очередное целое значение. Чтобы определить, является ли очередной элемент массива целым числом, проводится сравнение разности значения целой части очередного элемента и значения очередного элемента массива c(i) с нулем.

Целая часть значения c(i) выделяется с помощью функции Fix(). Если очередной элемент массива c(i) содержит целое значение, то производится обмен значений двух элементов массива c(k) и c(i) c помощью temp.

Схема алгоритма и программа приведены на рис. 4.7.4-5.

 

Пример 4.7.4-6. Разработать процедуру-Sub, в которой необходимо сформировать массив c(), по следующему правилу:

Схема алгоритма и программный код приведены на рис. 4.7.4-6.

 

Sub Pr746(ByRef c()As Single) Dim i, k As Integer For i = 0 To UBound(c) If i < 5 Then c(i) = (i^3 - 4)/(i + 1) Else c(i) = (i^2 - 36) / i End If Next i End Sub Private Sub Button1_Click(…) Dim с(9) As Single Pr746(с) vivodSngMac17(с, ListBox1) End Sub

 

Рис. 4.7.4-6. Схема алгоритма и программный код процедуры Pr746()

Примера 4.7.4-6

 

Пример 4.7.4-7. Разработать процедуру-Sub, в которой необходимо сформировать массив y(), переписав в него положительные элементы исходного массива x().

 

Sub Pr747(ByRef x() As Single, _ ByRef y() As Single) Dim i, n As Integer For i = 0 To UBound(x) If x(i) > 0 Then ReDim Preserve y(n) y(n) = x(i): n = n + 1 End If Next i End Sub Private Sub Button1_Click(…) Dim x(), y() As Single vvodSngMac15(x) vivodSngMac173(x, ListBox1) Pr747(x, y) vivodSngMac17(y, ListBox2) End Sub

Рис. 4.7.4-7. Схема алгоритма и программный код процедуры Pr747()

Пример 4.7.4-7

Для решения поставленной задачи необходимо проверить знак у всех элементов массива х(). При этом текущий индекс n формируемого массива y() меняется независимо от индекса i исходного массива х(). Индекс n увеличивается на единицу только при появлении положительного элемента х().

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

Схема алгоритма и программный код приведены на рис. 4.7.4-7.

 

Пример 4.7.4-8. Разработать процедуру-Sub, в которой необходимо из двух исходных массивов p() и r() с одинаковым числом элементов получить массив v() путем последовательного попарного переписывания в него элементов массивов p() и r().

В данной задаче для формирования массива v() используется переменная k, которая представляет собой номер очередного элемента массива v(). В цикле одновременно заполняются два элемента массива v(): в элемент с номером k переписывается i -й элемент из массива p(), а в элемент с номером (k+1) переписывается i -й элемент из массива r().

На рис. 4.7.4-8 приведены алгоритм и процедура и решения задачи.

 

Sub Pr748(ByRef p() As Single, _ ByRef r() As Single, ByRef v() As Single) Dim i, k As Integer For i = 0 To UBound(p) v(k) = p(i) v(k + 1) = r(i) k = k + 2 Next End Sub Private Sub Button1_Click(…) Dim p(), r(), v() As Single vvodSngMac15(p) vivodSngMac17(p, ListBox1) vvodSngMac15(r) vivodSngMac17(r, ListBox2) Pr748(p, r, v) vivodSngMac17(v, ListBox3) End Sub

 

Рис. 4.7.4-8. Схема алгоритма и программный код процедуры Pr748()

Пример 4.7.4-8





Поделиться с друзьями:


Дата добавления: 2016-11-24; Мы поможем в написании ваших работ!; просмотров: 456 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Даже страх смягчается привычкой. © Неизвестно
==> читать все изречения...

2421 - | 2132 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.