Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Dim Зарплата(10, 12) As DoubleСодержание книги
Поиск на нашем сайте
Чтобы рассчитать среднюю зарплату по предприятию, необходимо просуммировать зарплаты всех сотрудников за все месяцы и полученную сумму разделить на 120. Программный код для кнопки «Средняя зарплата по предприятию за год»: Dim i, j As Integer Dim S, СрЗарплата As Double For i = 1 To 10 For j = 1 To 12 S = S + Зарплата(i, j) Next j Next i СрЗарплата = S / 120 MsgBox "Средняя зарплата по предприятию за год - " + CStr(СрЗарплата), vbExclamation, "Средняя зарплата" Вывод результатов осуществляется с помощью окна сообщения. Так как параметр Prompt – символьная величина, то используем функцию CStr для преобразования средней зарплаты в текст. Если зафиксировать третий столбец двумерного массива и выполнить аналогичные действия, то рассчитаем среднюю зарплату по предприятию за март. Программный код для кнопки «Средняя зарплата по предприятию за март». Dim i, j As Integer Dim S, СрЗарплатаЗаМарт As Double For i = 1 To 10 S = S + Зарплата(i, 3) Next i СрЗарплатаЗаМарт = S / 10 MsgBox "Средняя зарплата по предприятию за март - " + CStr(СрЗарплатаЗаМарт), vbExclamation, "Средняя зарплата" Для решения следующих задач воспользуемся алгоритмом нахождения максимального элемента массива. Возьмем вспомогательную переменную max, в которой и будет храниться максимальный элемент. Присвоим этой переменной значение первого элемента. Затем, начиная со второго элемента и до конца массива, будем сравнивать значение переменной max и очередного элемента. Если значение элемента больше max, то далее max будет равен этому элементу. Предусмотрим также в программе ввод нужной фамилии и проверку правильности введенных данных. В итоге программа для кнопки «Максимальная зарплата указанного сотрудника» имеет вид: Dim Сотрудник As String Dim n, i, j As Integer Dim max As Double n = 0 ‘Номер нужного сотрудника Rem Вводим фамилию нужного сотрудника Сотрудник = InputBox("Введите фамилию сотрудника", "Ввод данных") Rem Проверяем, есть ли такая фамилия в списке For i = 1 To 10 If Сотрудник = Фамилия(i) Then n = i: Exit For Next i If n = 0 Then MsgBox "Нет сотрудника с заданной фамилией", vbCritical, "Ошибка при вводе данных": Exit Sub Rem Находим максимальный элемент массива max = Зарплата(n, 1) For j = 2 To 12 If Зарплата(n, j) > max Then max = Зарплата(n, j) Next j Rem Выводим результат в окно сообщения MsgBox "Максимальная зарплата - " + CStr(max), vbExclamation, Фамилия(n) Сложность последней задачи заключается в том, что сразу несколько человек могли получить в определенном месяце максимальную зарплату. Поэтому сначала находим максимальную зарплату для каждого месяца, а затем (в новом цикле) определяем фамилии сотрудников, ее получивших. Вывод осуществим в ячейки электронной таблицы. Dim i, j As Integer Dim max(12) As Double Dim b(12) As Integer Rem Нахождение максимального элемента в каждом столбце For j = 1 To 12 max(j) = Зарплата(1, j) For i = 2 To 10 If Зарплата(i, j) > max(j) Then max(j) = Зарплата(i, j) Next i Next j Rem b(j) – номер первой свободной строки в каждом столбце For j = 1 To 12 b(j) = 12 Next j Rem Сравниваем зарплаты с максимальной в каждом месяце For i = 1 To 10 For j = 1 To 12 If Зарплата(i, j) = max(j) Then b(j) = b(j) + 1: Cells(b(j), j + 1) = Фамилия(i) Next j Next i Наберите все программные коды и проверьте работу программы.
Задание 7. Формы пользователя сложной структуры Задача 7.1. Известны: цена приобретаемого имущества; величина первоначального взноса, выраженная в процентах; годовая ставка (в процентах); срок погашения ссуды (в месяцах или годах). Требуется разработать программу с диалоговым окном, вычисляющую величину периодических выплат, общую сумму выплат, общую сумму комиссионных и величину начального взноса.
Настройте свойства элементов управления (Рис. 25).
Private Sub UserForm_Initialize()
|
||||
|
Последнее изменение этой страницы: 2016-12-17; просмотров: 385; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.39 (0.006 с.) |