КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Разработка программы
Перечень подзадач Пример 3 Заданы три одномерных массива a (1), a (2), …, a (k), b (1), b (2), …, b (l) и c (1), c (2), …, c (m). Найти у скольких из этих массивов значения всех элементов больше заданной величины h.
Проверка(x() As Single, imax As Integer, h As Single) As Boolean Блок-схема алгоритма функции Проверка
Здесь r – это локальная переменная типа Boolean.
Интерфейс проекта Воспользуемся тем же интерфейсом проекта, который был применен для примеров, рассмотренных в предыдущих лекциях (подробнее).
Option Explicit Option Base 1 Private Sub Command1_Click() Dim k As Integer, l As Integer, m As Integer Dim a() As Single, b() As Single, c() As Single Dim h As Single Cls k = InputBox("k=?") l = InputBox("l=?") m = InputBox("m=?") h = InputBox("h=?") Print "k= "; k; " l= "; l; " m= "; m; " h= "; h ReDim a(k), b(l), c(m) Print "Ввод вектора а" Ввод_вектора a Print "Ввод вектора b" Ввод_вектора b Print "Ввод вектора c" Ввод_вектора c Dim Количество As Integer Количество = 0 If Проверка(a, k, h) Then Количество = _ Количество + 1 If Проверка(b, l, h) Then Количество = _ Количество + 1 If Проверка(c, m, h) Then Количество = _ Количество + 1 Select Case Количество Case 0 Print "Не удовлетворяет ни один массив" Case 1 Print "Удовлетворяет один массив" Case 2 Print "Уудовлетворяют два массива" Case 3 Print "Удовлетворяют три массива" End Select End Sub Private Sub Ввод_вектора(x() As Single) 1: Dim i As Integer Dim i_min As Integer Dim i_max As Integer i_min = LBound(x) 5: i_max = UBound(x) For i = i_min To i_max x(i) = InputBox("Элемент вектора (" _ & i & ")=?",”Ввод вектора”) Print x(i), Next End Sub Private Function Проверка(x() As Single, imax As Integer, _ h As Single) As Boolean Dim i As Integer Dim r As Boolean r = True i = 1 Do While (i <= imax) And r If x(i) > h Then Else r = False End If i = i + 1 Loop Проверка = r End Function
В функции Проверка вместо инструкции цикла Do While могла бы быть применена инструкция цикла For вместе с инструкцией Exit For:
Private Function Проверка(x() As Single, imax As _ Integer, h As Single) As Boolean Dim i As Integer Проверка = True For i = 1 To imax If x(i) <= h Then Проверка = False Exit For End If Next End Function
Дата добавления: 2014-12-07; Просмотров: 395; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |