Студопедия

КАТЕГОРИИ:


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

Условиям

Поиск в массиве элементов, удовлетворяющих заданным

Задача 1

Задан массив A из 10 элементов – целые числа в диапазоне от –20 до 20. Найти в массиве все отрицательные элементы и вывести их на экран.

В общем случае в массиве может не быть отрицательных элементов. Чтобы учесть и этот случай введем переменную р, которой присвоим значение 0 (или любое другое) до просмотра элементов и изменяем каким-либо образом ее значение каждый раз, когда найдем отрицательный элемент. После просмотра всех элементов проверяем значение переменной р: если оно не изменилось – отрицательных элементов нет. Сообщение «Отрицательных элементов нет» будем вsводить в окно сообщений MsgBox.

Блок-схема алгоритма:

 

Фрагмент программного кода:

...

р = 0

For i = 1 to 10

if a(i) < 0 then ‘если элемент массива

Picture2. Print a(i); Spc(2); ‘отрицательный – выводим в

‘графическое окно

р = р + 1 ‘и применяем величину р

end if

next i

if p = 0 then

Label1 Visible = true

Label1 Caption Msg “Отрицательных элементов нет”

end if

Задача 2

В массиве А, содержащим 12 целых чисел в диапазоне от –100 до 100, найти 1-й отрицательный элемент. Вывести на экран этот элемент и его индекс i.

Для вывода ai и i используем текстовые окна text1 и text2. Для вывода сообщения «Отрицательных элементов нет» - встроенное окно сообщений MsgBox.

Private Sub btnStart_Click()

Dim a (1 to 12) as Integer

Dim i as Byte, yes as Boolean ‘Ввод исходного массива

‘Поиск отрицательного элемента

yes = true ‘если отрицательных элементов нет

for i = 1 to 12

if sgn (a(i)) = -1 then

yes = false ‘отрицательные элементы есть

text1.text = CStr (a(i)) ‘вывод ai < 0

text2.text = CStr (i) ‘и его индекса

exit for ‘досрочный выход из цикла

end if

next i

if yes then ‘yes = true? Есть отрицательные элементы?

‘нет отрицательных элементов

MsgBox «Отрицательных элементов нет»,, “окно сообщений”

end if

end Sub

 

Блок-схема алгоритма

Функция Sgn (число) проверяет знак числа

Задача 3

Поиск максимального элемента.

В массиве а найти максимальный элемент. Пусть задан массив a = {3,5, 0, 10, -1, 2}, i = 1,…,6. Введем переменную imax – индекс текущего максимального элемента, после просмотра всех элементов массива в этой переменной будет содержаться индекс максимального элемента.

Тогда элемент с индексом imax, т.е. аimax – это значение максимального элемента на каждом шаге сравнения.

Возьмем начальное значение imax = 1, т.е. за максимальный элемент примем сначала 1-й элемент - аimax = а1, и с ним будем сравнивать следующие элементы, начиная со 2-го, пока не найдем элемент аi > аimax. Тогда будем считать этот элемент максимальным, т.е. аimax = а. Следующие элементы будем сравнивать уже с найденными элементом, новым аimax и т.д.

imax = 1, аimax = а1 = 3

1. а2 > аimax, да Þ imax = 2, аimax = а2 = 5

2. а3 > аimax, нет

3. а4 > аimax, да Þ imax = 4, аimax = а4 = 10

4. а5 > аimax, нет

5. а6 > аimax, нет

Результат: imax = 4, аimax = а4 = 10.

Блок-схема алгоритма:

Фрагмент программного кода:

imax = 1

for i = 2 to 6

if a(i) > a (imax) then imax = i

next i

txta.text = Cstr (a(imax)); txti.text = Cstr (imax)

Задача 4. Найти минимальный элемент в массиве. Алгоритм аналогичен поиску максимального элемента – самостоятельно.

 

<== предыдущая лекция | следующая лекция ==>
Решение задач с одномерными массивами | Упорядочение элементов массива
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 257; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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