Студопедия

КАТЕГОРИИ:


Архитектура-(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.

  1. Ввод одномерного массива x. Применим известную по предыдущим примерам процедуру.
  2. Проверка для одномерного массива x, имеющего imax элементов, что значение всех его элементов больше заданной величины h. Применим функцию:

Проверка(x() As Single, imax As Integer, h As Single) As Boolean

Блок-схема алгоритма функции Проверка

Рис. 12.3. Блок-схема алгоритма функции Проверка

Здесь 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

Print

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; Просмотров: 376; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.