Нужно сделать задание
1. Составить функцию, определяющую представляет ли запись натурального
числа в двоичной системе счисления чередующуюся последовательность
единиц и нулей, начинающуюся с единицы.
2. Напечатать таблицу чисел, соответствующих п.1, не превосходящих
заданное натуральное число
В интернете я нашла много способов перевода, например этот, но как это работает мне не понятно...
И как определить чередуются ли 1 и 0?
Спасибо
Private Function ConvertToBinary(ByVal lngQuotient As Long) As String
Dim strBinary As String
Dim strReturn As String
Dim i As Integer
i = 100
strBinary = String(i, "0")
Do While lngQuotient
Mid(strBinary, i, 1) = CStr(lngQuotient Mod 2)
lngQuotient = lngQuotient \ 2
i = i - 1
Loop
strReturn = Right(strBinary, 100 - i)
ConvertToBinary = strReturn
End Function
Private Sub Command1_Click()
Text2.Text = ConvertToBinary(Text1.Text)
End Sub
А поищите в строке, которая хранит число в двоичном виде такие сочетания 11 и 00 . Можно искать при помощи InStr.
Если эта функция InStr в обоих случаях вернет 0, то чередуется
Вот:
На форме 3 контрола Listbox - для вывода списка цисел, которые в двоичном представлении являются чередованием 0 и 1
TextBox - для ввода заданного натурального числа
Button - для запуска всего этого.
В листинг формы помещаем:
PublicClass Form1
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If IsNumeric(Me.TextBox1.Text) = FalseThen
MsgBox("А если число попробовать?", MsgBoxStyle.Exclamation)
Спасибо Дмитрию Юпатову за проделанную работу!
Насчет остальных. Сайт для чего создан? Мне нельзя задать вопрос? Если все знаете, незачем этим кичиться! И при 2 парах в неделю как я могу знать VB?
не надо путать школу с учебными заведениями уровнем выше. это в школе вам разжовывают каждый пример, решают кучи примеров, итд итп. в инсте времени у репода на это нету. даются основы. остальное - ваша личная забота. берете книжку, сайты с примерами, что угодно. хоть даже этот форум. пробуете чтото написать. показываете, что не получилось. спрашиваете по теме проблемы. а делать за вас никто не обязан нигде - хоть на форуме, хоть на улице если подойдете к прохожему. из топика очевидно нулевое желание напрячься - я бы таких кадров банил.