Студопедия

КАТЕГОРИИ:


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

Dim FMAX As String, DMAX As String, OMAX As String




Dim N As Integer, I As Integer, VMAX As Single

Алгоритм нахождения максимального

Next

End If

 

‘ закрываем цикл, к счетчику добавляется шаг (у нас 1), проверяется, ‘не превышено ли конечное значение счетчика, если не превышено,

‘к сумме добавляется значение очередного элемента.

(минимального) элемента

Например, для данных, представленных в таблице, определим фамилию, должность и отдел сотрудника, отработавшего максимальное количество часов.

Суть алгоритма состоит в следующем. Предполагаем, что максимальное количество часов отработал сотрудник, записанный первым, т.е. во второй строке. Назовем его лидером. Он отработал 20 часов. Запомним количество часов, отработанное лидером, а также его фамилию, должность и отдел. Теперь, начиная со следующего сотрудника, т.е. с 3-го, будем сравнивать отработанные часы (записанные в 4-м столбце) с часами, отработанными лидером. Если у очередного сотрудника количество отработанных часов больше, чем у лидера, то этот сотрудник становится лидером. Запоминаем его количество часов, фамилию, должность и отдел. И так до конца таблицы. В результате лидером будет сотрудник, отработавший максимальное количество часов.

Словесное описание алгоритма

1) определим количество заполненных строк в 4-м столбце;

2) запомним количество часов, отработанное сотрудником из второй строки в переменной VMAX, его фамилию в переменной FMAX, должность – в переменной DMAX, отдел – в переменной OMAX (это наш лидер);

3) присвоим счетчику I первоначальное значение 3;

4) рассмотрим содержимое ячейки в I-й строке и в 4-м столбце, если содержимое больше (при поиске минимума меньше) VMAX, то лидер меняется, запоминаем данные о новом лидере в переменных VMAX, FMAX, DMAX, OMAX;

5) если просматриваемая строка не последняя, то увеличиваем значение счетчика на 1 и переходим к пункту 4, в противном случае печатаем данные о лидере.

 

Программное описание алгоритма.

Rem Опишем используемые переменные.


 

Rem определяем количество заполненных ячеек на листе «Лист1» в ‘диапазоне D:D, результат сохраняем в переменной N

 

N=Application.CountA(Sheets(“Лист1”).Range(“D:D”))

запомним количество часов, отработанное сотрудником из второй строки в переменной VMAX, его фамилию в переменной FMAX, должность – в переменной DMAX, отдел – в переменной OMAX.

VMAX=Cells(2,4): FMAX=Cells(2,1): OMAX=Cells(2,2) DMAX=Cells(2,3)

‘открываем цикл со счетчиком I, изменяющимся от 3 до N, шаг 1,

‘ счетчику I присваивается значение 3

 

For I=3 to N

‘если значение элемента, расположенного в I-й строке и 4-м столбце ‘больше (при поиске минимума меньше, т.е. знак “<”) VMAX, то запоминаем данные о новом лидере в переменных ‘VMAX, FMAX, DMAX, OMAX

 

If Cells(I,4)>VMAX Then

VMAX=Cells(I,4): FMAX=Cells(I,1)

OMAX=Cells(2,2): DMAX=Cells(2,3)

‘закрываем условный оператор




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


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


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



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




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