Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Module Module1
- Sub main()
- Dim operacija As String = "aa"
- While operacija <> "k"
- Console.Write("[v, s, pn, cf, ly, iz, pip, bb, vv, k-kraj]: ")
- 'visekratnici, sifra, par/nepar, celsius/fahrenheit, leapyear, iscrtajZvjezdice
- 'predznak i parnost, broji bitove, vv- sve u jednu varijablu
- operacija = Console.ReadLine()
- Select Case operacija
- Case "v"
- Console.WriteLine("**************************************************")
- visekratnici.unos()
- Console.WriteLine("**************************************************")
- Case "s"
- Console.WriteLine("**************************************************")
- sifra.unos()
- sifra.provjera()
- Console.WriteLine("**************************************************")
- Case "pn"
- Console.WriteLine("**************************************************")
- parniNeparni.unos()
- parniNeparni.ispis()
- Console.WriteLine("**************************************************")
- Case "cf"
- Console.WriteLine("**************************************************")
- celsisusToFahrenheit.unos()
- celsisusToFahrenheit.ispis()
- Console.WriteLine("**************************************************")
- Case "ly"
- Console.WriteLine("**************************************************")
- leapYear.unos()
- leapYear.ispis()
- Console.WriteLine("**************************************************")
- Case "iz"
- Console.WriteLine("**************************************************")
- iscrtavanjeZvjezdica.unos()
- Console.WriteLine("**************************************************")
- Case "pip"
- Console.WriteLine("**************************************************")
- parnostIpredznak.unos()
- Console.WriteLine("**************************************************")
- Case "bb"
- Console.WriteLine("**************************************************")
- brojacBitova.unos()
- Console.WriteLine("**************************************************")
- Case "vv"
- Console.WriteLine("**************************************************")
- viseVrijednostiJednaVarijabla.unos()
- Console.WriteLine("**************************************************")
- Case "k"
- Exit Sub
- Case Else
- Console.WriteLine("Netocan unos")
- End Select
- End While
- End Sub
- End Module
- Module visekratnici
- Dim broj As Single
- Sub unos()
- Console.Write("Unesi broj: ")
- broj = Console.ReadLine
- ispis(broj)
- End Sub
- Sub ispis(ByVal broj As Single)
- For i = 1 To 50 Step 1
- Console.WriteLine(i & ". visekratnik: " & broj * i)
- Next
- End Sub
- End Module
- Module sifra
- Dim sifra As String = "aa"
- Sub unos()
- Console.Write("Unesite sifru: ")
- sifra = Console.ReadLine()
- End Sub
- Sub provjera()
- For i = 1 To 3 Step 1
- If sifra <> "1111" Then
- Console.WriteLine("Netocno")
- If i = 3 Then ' 3 pokusaja za unit ima
- Exit For
- End If
- unos()
- Else
- Console.WriteLine("BINGO. TANANANANANANANANANANANANANANANANA")
- Exit For
- End If
- Next
- End Sub
- End Module
- Module parniNeparni
- Dim broj As Single = 0
- Sub unos()
- Console.Write("Unesi broj: ")
- broj = Console.ReadLine()
- End Sub
- Sub ispis()
- If broj Mod 2 = 0 Then
- Console.WriteLine("Broj " & broj & " je paran")
- Else
- Console.WriteLine("Broj " & broj & " je neparan")
- End If
- End Sub
- End Module
- Module celsisusToFahrenheit
- Dim broj As Single = 0
- Sub unos()
- Console.Write("Temperatura u °C: ")
- broj = Console.ReadLine()
- End Sub
- Sub ispis()
- Console.WriteLine(broj & " °C = " & (((9 / 5) * broj) + 32) & " °F")
- End Sub
- End Module
- Module leapYear
- Dim broj As Single
- Sub unos()
- Console.Write("Unesi godinu: ")
- broj = Console.ReadLine()
- End Sub
- Sub ispis()
- If ((broj Mod 4 = 0) And (broj Mod 100 <> 0)) Or (broj Mod 400 = 0) Then
- Console.WriteLine(broj & ".godina je prijestupna")
- Else
- Console.WriteLine(broj & ". godina nije prijestupna")
- End If
- End Sub
- End Module
- Module iscrtavanjeZvjezdica
- Sub ispis1(ByVal broj As Single)
- For r As Single = 1 To broj Step 1
- For i = 1 To r Step 1
- Console.Write("*")
- Next
- Console.WriteLine()
- Next
- End Sub
- Sub ispis2(broj)
- For r As Single = 1 To broj Step 1
- For i = 1 To broj - r Step 1
- Console.Write(" ")
- Next
- For i = 1 To r Step 1
- Console.Write("*")
- Next
- Console.WriteLine()
- Next
- End Sub
- Sub ispis3(broj)
- For r As Single = 1 To broj Step 1
- For i = 1 To broj - r + 1 Step 1
- Console.Write("*")
- Next
- Console.WriteLine()
- Next
- End Sub
- Sub ispis4(broj)
- For r As Single = 1 To broj Step 1
- For i = 1 To r - 1 Step 1
- Console.Write(" ")
- Next
- For i = 1 To broj - r + 1 Step 1
- Console.Write("*")
- Next
- Console.WriteLine()
- Next
- End Sub
- Sub ispis5(broj)
- For r As Single = 1 To broj Step 1
- For i = 1 To broj - r Step 1
- Console.Write(" ")
- Next
- For i = 1 To r * 2 - 1 Step 1
- Console.Write("*")
- Next
- Console.WriteLine()
- Next
- End Sub
- Sub ispis6(broj)
- For r As Single = 1 To broj Step 1
- For i = 1 To r - 1
- Console.Write(" ")
- Next
- For i = 1 To (broj - r) * 2 + 1 Step 1
- Console.Write("*")
- Next
- Console.WriteLine()
- Next
- End Sub
- Sub ispis7(broj)
- For r As Single = 1 To broj Step 1
- If r = 1 Or r = broj Then
- For i = 1 To broj Step 1
- Console.Write("*")
- Next
- Else
- Console.Write("*")
- For i = 1 To broj - 2 Step 1
- Console.Write(" ")
- Next
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- End If
- Console.WriteLine()
- Next
- End Sub
- Sub ispis8(broj)
- For r = 1 To broj Step 1
- If r <> broj Then
- For i = 1 To broj - r Step 1
- Console.Write(" ")
- Next
- End If
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- If r <> 1 Then
- For i = 1 To r * 2 - 3 Step 1
- Console.Write(" ")
- Next
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- End If
- Console.WriteLine()
- Next
- End Sub
- Sub ispis9(broj)
- Dim a As Single = 1
- For r As Single = 1 To broj Step 1
- If r < (broj + 1) / 2 Then
- For i = 1 To (broj + 1) / 2 - r Step 1
- Console.Write(" ")
- Next
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- For i = 1 To r * 2 - 3 Step 1
- Console.Write(" ")
- Next
- If r <> 1 Then
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- End If
- ElseIf r > (broj + 1) / 2 Then
- For i = 1 To r - ((broj + 1) / 2) Step 1
- Console.Write(" ")
- Next
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- For i = 1 To (broj * 2) - (r * 2) - 1 Step 1
- Console.Write(" ")
- Next
- If r <> broj Then
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- End If
- Else
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- For i = 1 To broj - 2 Step 1
- Console.Write(" ")
- Next
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- End If
- a = a + 3
- Console.WriteLine()
- Next
- End Sub
- Sub ispisZmaj(broj)
- For r As Single = 1 To broj Step 1
- If r = (broj + 1) / 2 Then
- For i = 1 To broj Step 1
- Console.Write("*")
- Next
- End If
- If r < (broj + 1) / 2 Then
- For i = 1 To (broj + 1) / 2 - r Step 1
- Console.Write(" ")
- Next
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- If r >= 3 Then
- For i = 1 To r - 2 Step 1
- Console.ForegroundColor = ConsoleColor.Red
- Console.Write("z")
- Console.ResetColor()
- Next
- End If
- If r <> 1 Then
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- End If
- If r >= 3 Then
- For i = 1 To r - 2 Step 1
- Console.ForegroundColor = ConsoleColor.Blue
- Console.Write("z")
- Console.ResetColor()
- Next
- End If
- If r <> 1 Then
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- End If
- End If
- If r > (broj + 1) / 2 Then
- If r <> (broj + 1) / 2 Then
- For i = 1 To r - ((broj + 1) / 2) Step 1
- Console.Write(" ")
- Next
- End If
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- For i = 1 To ((broj * 2) - (r * 2)) / 2 - 1 Step 1
- Console.ForegroundColor = ConsoleColor.Blue
- Console.Write("z")
- Console.ResetColor()
- Next
- If r <> broj Then
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- If r <= broj - 2 Then
- For i = 1 To ((broj * 2) - (r * 2)) / 2 - 1 Step 1
- Console.ForegroundColor = ConsoleColor.Red
- Console.Write("z")
- Console.ResetColor()
- Next
- End If
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- End If
- End If
- Console.WriteLine()
- Next
- For r As Single = 0 To 5
- For i = 1 To (broj + 1) / 2 + r
- Console.Write(" ")
- Next
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- Console.WriteLine()
- Next
- For r As Single = 1 To 4
- For i = 1 To 5 + (broj + 1) / 2 + r Step 1
- Console.Write(" ")
- Next
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- For i = 1 To (-r + 5) Step 1
- Console.Write(" ")
- Next
- For i = 1 To 3 Step 1
- If r = 4 Then
- Console.ForegroundColor = ConsoleColor.Red
- Console.Write("*")
- Console.ResetColor()
- Else
- Console.Write("*")
- End If
- Next
- Console.WriteLine()
- Next
- For r As Single = 1 To 5
- If r = 1 Then
- For i = 1 To (broj + 1) / 2 + 10 Step 1
- Console.Write(" ")
- Next
- jedna()
- prazna()
- jedna()
- prazna()
- jedna()
- ElseIf r = 2 Then
- For i = 1 To (broj + 1) / 2 + 11 Step 1
- Console.Write(" ")
- Next
- For i = 1 To 3 Step 1
- Console.Write("*")
- Next
- ElseIf r = 3 Then
- For i = 1 To (broj + 1) / 2 + 12 Step 1
- Console.Write(" ")
- Next
- jedna()
- ElseIf r = 4 Then
- For i = 1 To (broj + 1) / 2 + 11
- Console.Write(" ")
- Next
- For i = 1 To 3 Step 1
- Console.Write("*")
- Next
- ElseIf r = 5 Then
- For i = 1 To (broj + 1) / 2 + 10
- Console.Write(" ")
- Next
- jedna()
- prazna()
- prazna()
- prazna()
- jedna()
- End If
- Console.WriteLine()
- Next
- End Sub
- Sub jedna()
- For i = 1 To 1 Step 1
- Console.Write("*")
- Next
- End Sub
- Sub prazna()
- For i = 1 To 1 Step 1
- Console.Write(" ")
- Next
- End Sub
- Sub unos()
- Dim odabir As String = "aa"
- Dim broj As Single
- While odabir <> "k"
- Console.Write("[1,2,3,4,5,6,7,8,9, 10-zmaj, k-kraj]: ")
- odabir = Console.ReadLine()
- If odabir = "k" Then
- Exit While
- End If
- Console.Write("Unesi broj veci od 3: ")
- broj = Console.ReadLine()
- If broj < 3 Then
- Console.WriteLine("Netocan unos")
- Else
- Select Case odabir
- Case "1"
- Console.WriteLine()
- ispis1(broj)
- Console.WriteLine()
- Case "2"
- Console.WriteLine()
- ispis2(broj)
- Console.WriteLine()
- Case "3"
- Console.WriteLine()
- ispis3(broj)
- Console.WriteLine()
- Case "4"
- Console.WriteLine()
- ispis4(broj)
- Console.WriteLine()
- Case "5"
- Console.WriteLine()
- ispis5(broj)
- Console.WriteLine()
- Case "6"
- Console.WriteLine()
- ispis6(broj)
- Console.WriteLine()
- Case "7"
- Console.WriteLine()
- ispis7(broj)
- Console.WriteLine()
- Case "8"
- Console.WriteLine()
- ispis8(broj)
- Console.WriteLine()
- Case "9"
- Console.WriteLine()
- If broj Mod 2 = 0 Then
- Console.WriteLine("Neparan broj za ovaj zadatak triba")
- Else
- ispis9(broj)
- End If
- Console.WriteLine()
- Case "10"
- Console.WriteLine()
- If broj Mod 2 = 0 Then
- Console.WriteLine("Neparan broj za ovaj zadatak triba")
- Else
- ispisZmaj(broj)
- End If
- Console.WriteLine()
- Case "k"
- Exit While
- Case Else
- Console.WriteLine("Netocan unos")
- End Select
- End If
- End While
- End Sub
- End Module
- Module parnostIpredznak
- Sub ispis8bit(ByVal broj As Byte)
- Dim ispitivac As Byte = 1 << 7 'minvalue = 0000 0000 max value 1111 1111 pa triba shift
- For i = 0 To 7 Step 1
- If (i Mod 4 = 0) And (i <> 0) Then
- Console.Write(" ")
- End If
- If (broj And ispitivac) = ispitivac Then
- Console.Write("1")
- Else
- Console.Write("0")
- End If
- broj = broj << 1
- Next
- End Sub
- Sub ispis16bit(ByVal broj As Short)
- Dim ispitivac As Short = Short.MinValue
- For i = 0 To 15 Step 1
- If (i Mod 4 = 0) And (i <> 0) Then
- Console.Write(" ")
- End If
- If (broj And ispitivac) = ispitivac Then
- Console.Write("1")
- Else
- Console.Write("0")
- End If
- broj = broj << 1
- Next
- Console.WriteLine()
- End Sub
- Sub ispis32bit(ByVal broj As Integer)
- Dim ispitivac As Integer = Integer.MinValue
- For i = 0 To 31 Step 1
- If (i Mod 4 = 0) And (i <> 0) Then
- Console.Write(" ")
- End If
- If (broj And ispitivac) = ispitivac Then
- Console.Write("1")
- Else
- Console.Write("0")
- End If
- broj = broj << 1
- Next
- Console.WriteLine()
- End Sub
- Sub ispis64bit(ByVal broj As Long)
- Dim ispitivac As Long = Long.MinValue
- For i = 0 To 63 Step 1
- If (i Mod 4 = 0) And (i <> 0) Then
- Console.Write(" ")
- End If
- If (broj And ispitivac) = ispitivac Then
- Console.Write("1")
- Else
- Console.Write("0")
- End If
- broj = broj << 1
- Next
- Console.WriteLine()
- End Sub
- Sub provjeraByte(ByVal broj As Byte)
- Dim ispitivac As Byte = 1
- Dim brojac As Byte = 0
- If (broj And ispitivac) = 1 Then
- brojac = brojac + 1
- End If
- If (broj And (ispitivac << 7)) = (ispitivac << 7) Then
- brojac = brojac + 2
- End If
- If brojac = 1 Then
- Console.WriteLine("Broj " & broj & " ima na LSB 1")
- ispis8bit(broj)
- ElseIf brojac = 2 Then
- Console.WriteLine("Broj " & broj & " ima na MSB 1")
- ispis8bit(broj)
- ElseIf brojac = 3 Then
- Console.WriteLine("Broj " & broj & " ima na LSB i MSB 1")
- ispis8bit(broj)
- Else
- Console.WriteLine("Broj " & broj & " nema ni na LSB ni MSB 1")
- ispis8bit(broj)
- End If
- End Sub
- Sub provjeraShort(ByVal broj As Short)
- Dim ispitivac As Short = 1
- Dim brojac As Byte = 0
- If (broj And ispitivac) = 1 Then
- brojac = brojac + 1
- End If
- If (broj And (ispitivac << 15)) = (ispitivac << 15) Then
- brojac = brojac + 2
- End If
- If brojac = 1 Then
- Console.WriteLine("Broj " & broj & " ima na LSB 1")
- ispis16bit(broj)
- ElseIf brojac = 2 Then
- Console.WriteLine("Broj " & broj & " ima na MSB 1")
- ispis16bit(broj)
- ElseIf brojac = 3 Then
- Console.WriteLine("Broj " & broj & " ima na LSB i MSB 1")
- ispis16bit(broj)
- Else
- Console.WriteLine("Broj " & broj & " nema ni na LSB ni MSB 1")
- ispis16bit(broj)
- End If
- End Sub
- Sub provjeraInteger(ByVal broj As Integer)
- Dim ispitivac As Integer = 1
- Dim brojac As Byte = 0
- If (broj And ispitivac) = 1 Then
- brojac = brojac + 1
- End If
- If (broj And (ispitivac << 31)) = (ispitivac << 31) Then
- brojac = brojac + 2
- End If
- If brojac = 1 Then
- Console.WriteLine("Broj " & broj & " ima na LSB 1")
- ispis32bit(broj)
- ElseIf brojac = 2 Then
- Console.WriteLine("Broj " & broj & " ima na MSB 1")
- ispis32bit(broj)
- ElseIf brojac = 3 Then
- Console.WriteLine("Broj " & broj & " ima na LSB i MSB 1")
- ispis32bit(broj)
- Else
- Console.WriteLine("Broj " & broj & " nema ni na LSB ni MSB 1")
- ispis32bit(broj)
- End If
- End Sub
- Sub provjeraLong(ByVal broj As Long)
- Dim ispitivac As Long = 1
- Dim brojac As Byte = 0
- If (broj And ispitivac) = 1 Then
- brojac = brojac + 1
- End If
- If (broj And (ispitivac << 63)) = (ispitivac << 63) Then
- brojac = brojac + 2
- End If
- If brojac = 1 Then
- Console.WriteLine("Broj " & broj & " ima na LSB 1")
- ispis64bit(broj)
- ElseIf brojac = 2 Then
- Console.WriteLine("Broj " & broj & " ima na MSB 1")
- ispis64bit(broj)
- ElseIf brojac = 3 Then
- Console.WriteLine("Broj " & broj & " ima na LSB i MSB 1")
- ispis64bit(broj)
- Else
- Console.WriteLine("Broj " & broj & " nema ni na LSB ni MSB 1")
- ispis64bit(broj)
- End If
- End Sub
- Sub unos()
- Dim odabir As String = "aa"
- While odabir <> "k"
- Console.WriteLine()
- Console.Write("[b, s, i, l, k-kraj]: ")
- odabir = Console.ReadLine()
- Select Case odabir
- Case "b"
- Dim broj As Byte
- Console.Write("Unesi broj: ")
- Try
- broj = Console.ReadLine()
- Catch
- Console.WriteLine("Netocan unos[izvan byte granica]")
- Exit Select
- End Try
- Console.WriteLine()
- provjeraByte(broj)
- Console.WriteLine()
- Case "s"
- Dim broj As Short
- Console.Write("Unesi broj: ")
- Try
- broj = Console.ReadLine()
- Catch
- Console.WriteLine("Netocan unos[izvan short granica]")
- Exit Select
- End Try
- Console.WriteLine()
- provjeraShort(broj)
- Console.WriteLine()
- Case "i"
- Dim broj As Integer
- Console.Write("Unesi broj: ")
- Try
- broj = Console.ReadLine()
- Catch
- Console.WriteLine("Netocan unos[izvan integer granica]")
- Exit Select
- End Try
- Console.WriteLine()
- provjeraInteger(broj)
- Console.WriteLine()
- Case "l"
- Dim broj As Long
- Console.Write("Unesi broj: ")
- Try
- broj = Console.ReadLine()
- Catch
- Console.WriteLine("Netocan unos[izvan long granica]")
- Exit Select
- End Try
- Console.WriteLine()
- provjeraLong(broj)
- Console.WriteLine()
- Case "k"
- Exit While
- Case Else
- Console.WriteLine("Netocan unos")
- End Select
- End While
- End Sub
- End Module
- Module brojacBitova
- Sub brojiBitove8(ByVal broj As Byte)
- Dim ispitivac As Byte = 1 << 7
- Dim jedinice, nule As Byte
- For i = 0 To 7 Step 1
- If (broj And ispitivac) = ispitivac Then
- jedinice = jedinice + 1
- Else
- nule = nule + 1
- End If
- broj = broj << 1
- Next
- Console.WriteLine("Broj jedinica: " & jedinice)
- Console.WriteLine("Broj nula : " & nule)
- End Sub
- Sub brojiBitove16(broj As Short)
- Dim ispitivac As Short = Short.MinValue
- Dim jedinice, nule As Byte
- For i = 0 To 15 Step 1
- If (broj And ispitivac) = ispitivac Then
- jedinice = jedinice + 1
- Else
- nule = nule + 1
- End If
- broj = broj << 1
- Next
- Console.WriteLine("Broj jedinica: " & jedinice)
- Console.WriteLine("Broj nula : " & nule)
- End Sub
- Sub brojiBitove32(broj As Integer)
- Dim ispitivac As Integer = Integer.MinValue
- Dim jedinice, nule As Byte
- For i = 0 To 31 Step 1
- If (broj And ispitivac) = ispitivac Then
- jedinice = jedinice + 1
- Else
- nule = nule + 1
- End If
- broj = broj << 1
- Next
- Console.WriteLine("Broj jedinica: " & jedinice)
- Console.WriteLine("Broj nula : " & nule)
- End Sub
- Sub brojiBitove64(broj As Long)
- Dim ispitivac As Long = Long.MinValue
- Dim jedinice, nule As Byte
- For i = 0 To 63 Step 1
- If (broj And ispitivac) = ispitivac Then
- jedinice = jedinice + 1
- Else
- nule = nule + 1
- End If
- broj = broj << 1
- Next
- Console.WriteLine("Broj jedinica: " & jedinice)
- Console.WriteLine("Broj nula : " & nule)
- End Sub
- Sub unos()
- Dim odabir As String = "aa"
- While odabir <> "k"
- Console.WriteLine()
- Console.Write("[b, s, i, l, k-kraj]: ")
- odabir = Console.ReadLine()
- Select Case odabir
- Case "b"
- Dim broj As Byte
- Console.Write("Unesi broj: ")
- Try
- broj = Console.ReadLine()
- Catch
- Console.WriteLine("Netocan unos[izvan byte granica]")
- Exit Select
- End Try
- Console.WriteLine()
- brojiBitove8(broj)
- parnostIpredznak.ispis8bit(broj)
- Console.WriteLine()
- Case "s"
- Dim broj As Short
- Console.Write("Unesi broj: ")
- Try
- broj = Console.ReadLine()
- Catch
- Console.WriteLine("Netocan unos[izvan short granica]")
- Exit Select
- End Try
- Console.WriteLine()
- brojiBitove16(broj)
- parnostIpredznak.ispis16bit(broj)
- Console.WriteLine()
- Case "i"
- Dim broj As Integer
- Console.Write("Unesi broj: ")
- Try
- broj = Console.ReadLine()
- Catch
- Console.WriteLine("Netocan unos[izvan integer granica]")
- Exit Select
- End Try
- Console.WriteLine()
- brojiBitove32(broj)
- parnostIpredznak.ispis32bit(broj)
- Console.WriteLine()
- Case "l"
- Dim broj As Long
- Console.Write("Unesi broj: ")
- Try
- broj = Console.ReadLine()
- Catch
- Console.WriteLine("Netocan unos[izvan long granica]")
- Exit Select
- End Try
- Console.WriteLine()
- brojiBitove64(broj)
- parnostIpredznak.ispis64bit(broj)
- Console.WriteLine()
- Case "k"
- Exit While
- Case Else
- Console.WriteLine("Netocan unos")
- End Select
- End While
- End Sub
- End Module
- Module viseVrijednostiJednaVarijabla
- Function brojiBitoveShort(ByVal broj As Short) As Byte
- Dim brojac As Byte = 0
- While broj <> 0
- brojac = brojac + 1
- broj = broj \ 2
- End While
- Return brojac
- End Function
- Sub ispisVarijable(ByVal varijabla As Long, ByVal niz As Byte)
- Dim ispitivac As Long = 1
- ispitivac = ispitivac << (niz - 1)
- Dim brojDek As Short = 0
- Dim brojj As Short = niz - 1
- For i = 0 To niz - 1 Step 1
- If (varijabla And ispitivac) <> 0 Then
- Console.Write("1")
- brojDek = brojDek + 1 * 2 ^ brojj
- Else
- Console.Write("0")
- End If
- ispitivac = ispitivac >> 1
- brojj = brojj - 1
- Next
- Console.WriteLine("(2) = " & brojDek & "(10)")
- End Sub
- Sub provjera(ByVal varijabla As Long, ByVal broj As Short)
- Console.Write("Uneseni broj : ")
- parnostIpredznak.ispis16bit(broj)
- Console.Write("Varijabla : ")
- parnostIpredznak.ispis64bit(varijabla)
- End Sub
- Sub unosBrojevaUVarijablu()
- Dim varijabla As Long = 0 'glavna varijabla u koju se spremaju ostali brojevi
- Dim sBitovi As Byte = 64 'broj slobodnih bitova glavne
- Dim broj As Short = 1 'broj koji se unosi u galvnu
- Dim bBitovi As Byte = 0 'broj bitova broja koji se unosi u glavnu bez nevaznih nula
- Dim niz() As Byte 'tu sprema bbitova u niz ( vazno za ispis)
- Dim brojacI As Byte = 0 'broji koliko smo brojeva unili u glavnu varijablu
- While broj <> 0
- Console.WriteLine()
- Console.Write("Unesi broj: ")
- Try
- broj = Console.ReadLine()
- Catch
- Console.WriteLine("Netocan unos. Broj nije u granicama short-a")
- Exit Sub
- End Try
- If broj = 0 Then
- Exit While
- End If
- bBitovi = brojiBitoveShort(broj)
- If sBitovi < bBitovi Then
- Console.WriteLine("Premalo bitova preostalo")
- Exit While
- End If
- varijabla = varijabla << bBitovi
- varijabla = varijabla Or broj
- provjera(varijabla, broj)
- sBitovi = sBitovi - bBitovi
- ReDim Preserve niz(brojacI)
- For i = 0 To brojacI Step 1
- niz(brojacI) = bBitovi
- Next
- brojacI = brojacI + 1
- End While
- Console.WriteLine()
- Console.WriteLine("*** UNESENI BROJEVI ***")
- For i = brojacI - 1 To 0 Step -1
- Console.Write(i + 1 & ". uneseni broj: ")
- ispisVarijable(varijabla, niz(i))
- varijabla = varijabla >> niz(i)
- Next
- Console.WriteLine("Preostali bitovi: " & sBitovi)
- End Sub
- Sub unos()
- Dim odabir As String = "aa"
- While odabir <> "k"
- Console.Write("[n-nastavi, k-kraj]: ")
- odabir = Console.ReadLine()
- Select Case odabir
- Case "n"
- Console.WriteLine()
- unosBrojevaUVarijablu()
- Console.WriteLine()
- Case "k"
- Exit While
- Case Else
- Console.WriteLine("Netocan unos")
- End Select
- End While
- End Sub
- End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement