Можно ли создать множества? - VB

Узнай цену своей работы

Формулировка задачи:

Я подумал. Вот в Паскале есть множества. А чем хуже VB? И придумал. По крайней мере можно создать числовые множества и даже лучше чем на паскале. Суть дела в том, что мы задаем массив. Например A(1 To 10000) 2) в этот массив мы будем помещать натуральные числа, принадлежащие сегменту [1; 10000] 3) принцип следующий: числу N соответствует А(N). Иными словами. Индекс элемента массива равен самому элементу массива N = A(N) !! 4) это значит в массиве-множестве в принципе не будет равных элементов. 5) а как быть например с отрицательными числами? Например дано множество: (-10; 0; 20) Сдвинется индексы для этого множества на постоянное целое число. Например на 20 и множество расположится по индексам 10; 20; 40 Вопросы. А можно ли образовать множества для вещественных чисел? А как поступить с буквами и сочетаниями букв? Что еще можно сказать? Настоящему программисту всегда есть что сказать, если он настоящий программист.

Решение задачи: «Можно ли создать множества?»

textual
Листинг программы
  1. '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  2. ':::         Установить бит в логической шкале              :::
  3. '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  4. Public Sub SetBit(LScale$, N&, B%)
  5.     L& = Len(LScale$)
  6.     '::: Если номер бита слишком велик
  7.    If N& > L& * 8 Then Error 250
  8.     '::: Рассчитаем номер байта шкалы
  9.    NByte& = N& / 8
  10.     If (N& - NByte& * 8) <= 0 Then NByte& = NByte& - 1
  11.     NBit% = N& - NByte& * 8
  12.     NByte& = NByte& + 1
  13.     '::::  Установка нужного бита
  14.    S$ = Mid$(LScale$, NByte&, 1)
  15.     i% = Asc(S$)
  16.     If B% <> 0 Then
  17.        i% = (i% Or 2 ^ (8 - NBit%))
  18.     Else
  19.        i% = (i% And (255 - 2 ^ (8 - NBit%)))
  20.     End If
  21.     S$ = Chr$(i%)
  22.     Mid$(LScale$, NByte&, 1) = S$
  23. End Sub
  24.  
  25. '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  26. ':::            Опросить бит в логической шкале             :::
  27. '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  28. Public Sub GetBit(LScale$, N&, B%)
  29.        L& = Len(LScale$)
  30.        ':::: Если номер бита слишком велик
  31.       If N& > L& * 8 Then Error 250
  32.        ':::: Рассчитаем номер байта шкалы
  33.       NByte& = N& / 8
  34.        If (N& - NByte& * 8) <= 0 Then Decr NByte&
  35.        NBit% = N& - NByte& * 8
  36.        Incr NByte&
  37.        '::::    Чтение нужного бита
  38.       S$ = Mid$(LScale$, NByte&, 1)
  39.        i% = Asc(S$)
  40.        B% = (i% And 2 ^ (8 - NBit%))
  41.        If B% <> 0 Then B% = 1
  42. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы