М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
meripet2005p08qlb
meripet2005p08qlb
28.03.2023 16:24 •  Информатика

вас ! нужно написать программу,но только обязательно в visual ! на вход программе сведения о телефонах всех сотрудников некоторого учреждения. в первой строке сообщается количество сотрудников n, каждая из следующих n строк имеет следующий формат: где – строка, состоящая не более чем из 20 символов, - строка, состоящая не более чем из 4-х символов (буква, точка, буква, точка), – семизначный номер, 3-я и 4, я, а также 5-я и 6-я цифры которого разделены символом «–». и , а также разделены одним пробелом. пример входной строки: иванов п.с. 555-66-77 сотрудники одного подразделения имеют один и тот же номер телефона. номера телефонов в учреждении отличаются только двумя последними цифрами. требуется написать как можно более эффективную программу, которая будет выводить на экран информацию, сколько в среднем сотрудников работает в одном подразделении данного учреждения.

👇
Ответ:
Tonibaskakov
Tonibaskakov
28.03.2023
В присоединенном файле работающая программа. Не забудьте установить уровень безопасности макросов Excel в "средний". сам макрос - на листе рабочей книги, вот его текст:
Option Explicit

Sub CommandButton1_Click()
    Dim n As Integer, i As Integer, j As Integer
    Dim Sr As Single
    Dim Phone As String
    'Динамические массивы - неизвестно кол-во подразделений
    Dim nPhone() As String, nDep() As Integer
    i = 2
    Do While Len(Cells(i, 1).Value) <> 0
        i = i + 1
    Loop
    n = i - 2 'Количество сотрудников определено по первой пустой ячейке в 1й колонке
    ReDim nPhone(1 To n), nDep(1 To n) 'Определили массивы необходимой размерности
    For i = 1 To n
        nPhone(i) = Cells(i + 1, 2).Value
        nDep(i) = 0
    Next i
    BubbleSort nPhone
    Phone = "***-**-**" ' Можно взять что угодно, кроме реального номера
    j = 0
    For i = 1 To n
        If nPhone(i) = Phone Then
            nDep(j) = nDep(j) + 1
        Else
            Phone = nPhone(i)
            j = j + 1
            nDep(j) = 1
        End If
    Next i
    Sr = 0
    For i = 1 To j
        Sr = Sr + nDep(i)
    Next i
    Sr = Sr / j
    MsgBox "Среднее количество сотрудников в отделе равно" & Str(Sr), vbInformation
End Sub

Public Sub BubbleSort(Arr As Variant)
    ' Пузырьковая сортировка одномерного массива
    Dim lSorted As Boolean, nI As Long, nJ As Long, nAll As Long, vTemp As Variant
    nAll = UBound(Arr)
    nI = LBound(Arr) - 1
    Do While (nI < nAll) And Not lSorted
        lSorted = True
        nI = nI + 1
        For nJ = 1 To nAll - nI
            If Arr(nJ) > Arr(nJ + 1) Then
                vTemp = Arr(nJ): Arr(nJ) = Arr(nJ + 1): Arr(nJ + 1) = vTemp: lSorted = False
            End If
        Next nJ
    Loop
End Sub
4,5(100 оценок)
Ответ:
ьмабивбви
ьмабивбви
28.03.2023
Чтобы получить ответ надо число сотрудников (вводится в самом начале) разделить на число отделов. Число отделов определяется различным числом последних цифр телефона: от 00 до 99. Номер отдела связываем с индексом массива А, в который будем ставить 1 если отдел с таким номером есть. Поскольку в задаче не ставится вопрос о проверке входных данных и сохранении их значения, то составляем такой код:
Sub z()
Dim a(99) As Integer
n = InputBox("Введите N")
For i = 1 To n
 s = InputBox("Введите данные сотрудника")
 k = Val(Right(s, 2))
 a(k) = 1
Next i
k = 0  'считаем число отделов
For i = 1 To 100
    If a(i) > 0 Then k = k + 1
Next i
MsgBox (n / k)
End Sub
4,6(30 оценок)
Открыть все ответы
Ответ:
volk007volk
volk007volk
28.03.2023
Интерактивная презентация - диалог между пользователем и компьютером. В этом случае презентацией управляет пользователь, т. е. он сам осуществляет поиск информации, определяет время ее восприятия, а также объем необходимого материала. В таком режиме работает ученик с обучающей программой, реализованной в форме мультимедийной презентации. При индивидуальной работе мультимедийный проектор не требуется.
Все интерактивные презентации имеют общее свойство: они управляются событиями. Это означает, что когда происходит некоторое событие (нажатие кнопки мыши или позиционирование указателя мыши на экранном объекте), в ответ выполняется соответствующее действие. Например, после щелчка мышью на фотографии картины начинается звуковой рассказ об истории ее создания.
4,4(22 оценок)
Ответ:
AnyaAnokhina214
AnyaAnokhina214
28.03.2023
Интерактивная презентация - диалог между пользователем и компьютером. В этом случае презентацией управляет пользователь, т. е. он сам осуществляет поиск информации, определяет время ее восприятия, а также объем необходимого материала. В таком режиме работает ученик с обучающей программой, реализованной в форме мультимедийной презентации. При индивидуальной работе мультимедийный проектор не требуется.
Все интерактивные презентации имеют общее свойство: они управляются событиями. Это означает, что когда происходит некоторое событие (нажатие кнопки мыши или позиционирование указателя мыши на экранном объекте), в ответ выполняется соответствующее действие. Например, после щелчка мышью на фотографии картины начинается звуковой рассказ об истории ее создания.
4,7(34 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ