Название: Перевод целых неотрицательных чисел в различных системах счисления
Вид работы: лабораторная работа
Рубрика: Информатика и программирование
Размер файла: 29.5 Kb
Скачать файл: referat.me-134736.docx
Краткое описание работы: Программа Enhanced Converter для преобразования мультимедийных файлов. Процедура инициализации приложения, очистки текстовых полей, проверки ввода данных, по вычислению значений в "реальном времени". Внешний вид окна приложения с введенными данными.
Перевод целых неотрицательных чисел в различных системах счисления
Министерство образования Республики Таджикистан
Таджикский Технический Университет им. ак. М.С. Осими
кафедра АСОИиУ
Лабораторная работа №4
«Перевод целых неотрицательных чисел в различных системах счисления»
Выполнил:
Принял:
-Душанбе 2009-
Программа Enhanced Converter
Publicx0, x, i, j, zAsDoubleПроцедура инициализации приложения
Public y As String
Private Sub clr_Click()
inp.Text = "" Процедура очистки текстовых полей
out.Text = ""
EndSub
Внешний вид окна приложения с введёнными данными
Private Sub Form_KeyPress(KeyAscii As Integer)
Dim val As String
val = Chr(KeyAscii)
Select Case cmb.ListIndex
Case 0
Select Case val
Case "0"
inp.Text = inp.Text & "0"
Case "1"
inp.Text = inp.Text & "1"
End Select
Case 1
If val >= "0" And val <= "9" Then
If val >= "8" And val <= "9" And inp.Text = "" Then
Exit Sub
Else
End If
inp.Text = inp.Text & CStr(val)
Else
End If
Case 2
If (val >= "0" And val <= "9") Or (val >= "a" And val <= "f") Or (val >= "A" And val <= "F") Then
inp.Text = inp.Text & CStr(val)
Else
End If
Case 3, 4, 5
If val >= "0" And val <= "9" Then
inp.Text = inp.Text & CStr(val)
Else
End If
End Select
End Sub
Private Sub inp_KeyDown(KeyCode As Integer, Shift As Integer)
On Error GoTo err:
If (KeyCode = vbKeyBack) Then
inp.Text = Left(inp.Text, Len(inp.Text) - 1)
ElseIf (KeyCode = vbKeyDelete) Then
inp.Text = ""
Else
End If
Exit Sub
err:
Beep
End Sub
Private Sub Form_Load()
inp.Text = ""
End Sub
Private Sub inp_Change()
Dim d(100) As Double
Dim ds(100) As String
Select Case cmb.ListIndex
Case 0
inp.MaxLength = 40
If inp.Text = "" Then
out.Text = ""
Exit Sub
Else
i = (Len(inp.Text))
x = 0
j = 0
Do
x = x + (val(Mid(inp.Text, i, 1)) * (2 ^ j))
i = i - 1
j = j + 1
Loop Until i = 0
out.Text = x
End If
Case 1
inp.MaxLength = 40
If inp.Text = "" Then
out.Text = ""
Exit Sub
Else
i = (Len(inp.Text))
x = 0
j = 0
Do
x = x + (val(Mid(inp.Text, i, 1)) * (8 ^ j))
i = i - 1
j = j + 1
Loop Until i = 0
out.Text = x
End If
Case 2
inp.MaxLength = 40
z = 0
If inp.Text = "" Then
out.Text = ""
Exit Sub
Else
i = (Len(inp.Text))
x = 0
j = 0
Do
Select Case Mid(inp.Text, i, 1)
Case "A", "a"
z = 10
Case "B", "b"
z = 11
Case "C", "c"
z = 12
Case "D", "d"
z = 13
Case "E", "e"
z = 14
Case "F", "f"
z = 15
Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
z = val(Mid(inp.Text, i, 1))
End Select
x = x + z * (16 ^ j)
i = i - 1
j = j + 1
Loop Until i = 0
out.Text = x
End If
Case 3
inp.MaxLength = 15
On Error GoTo err:
If inp.Text = "" Then
out.Text = ""
Exit Sub
ElseIf val(inp.Text) = 0 Or val(inp.Text) = 1 Then
out.Text = inp.Text
Exit Sub
Else
i = 1
x0 = val(inp.Text)
Do
d(i) = val(x0 - (val(x0 / 2) * 2))
x = Round((x0 / 2) - 0.3, 0)
i = i + 1
x0 = x
Loop Until x = 1
d(i) = x
out.Text = ""
Do
out.Text = out.Text & val(d(i))
i = i - 1
Loop Until i = 0
End If
Case 4
inp.MaxLength = 15
On Error GoTo err:
If inp.Text = "" Then
out.Text = ""
Exit Sub
Else
i = 1
x0 = val(inp.Text)
If x0 >= 0 And x0 <= 7 Then
out.Text = inp.Text
Exit Sub
Else
Do
d(i) = val(x0 - (val(x0 / 8) * 8))
x = val(x0 / 8)
If x >= 0 And x <= 7 Then
i = i + 1
d(i) = x
Exit Do
Else
i = i + 1
x0 = x
End If
Loop Until x = 1
out.Text = ""
Do
out.Text = val(out.Text) & val(d(i))
i = i - 1
Loop Until i = 0
End If
End If
Case 5
inp.MaxLength = 15
z = 0
If inp.Text = "" Then
out.Text = ""
Exit Sub
Else
i = 1
x0 = val(inp.Text)
If val(inp.Text) >= 0 And val(inp.Text) <= 15 Then
Select Case val(inp.Text)
Case 10
y = "A"
Case 11
y = "B"
Case 12
y = "C"
Case 13
y = "D"
Case 14
y = "E"
Case 15
y = "F"
Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
y = inp.Text
End Select
out.Text = y
Exit Sub
Else
Do
z = val(x0 - (val(x0 / 16) * 16))
Select Case z
Case 10
y = "A"
Case 11
y = "B"
Case 12
y = "C"
Case 13
y = "D"
Case 14
y = "E"
Case 15
y = "F"
Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
y = CStr(z)
End Select
ds(i) = y
x = val(x0 / 16)
If x <= 0 Then Exit Do
i = i + 1
x0 = x
Loop Until x = 1
out.Text = ""
Do
out.Text = out.Text & ds(i)
i = i - 1
Loop Until i = 0
End If
End If
End Select
ExitSub
err:
MsgBox "Введены неверные значения или значения не являются корректными", , "=VaMp1r3=™"
Call clr_Click
End Sub
Private Sub cmb_Click()
Call clr_Click
End Sub
Private Sub ext_Click()
End
End Sub
Private Sub cop_Click()
MsgBox "=VaMp1r3=™. Все права защищены. По всем вопросам а также с претензиями обращаться в гр. 6546 Б2 к Столову Юрию.", , "=VaMp1r3=™"
End Sub
Похожие работы
-
Системы счисления. Правила перевода чисел из одной системы счисления в другую
Ц е л ь р а б о т ы . Изучение систем счисления, используе- мых в вычислительной технике и правил перевода чисел из одной системы счисления в другую. При использовании ЭВМ существенным является знание систем
-
Позиционные системы счисления
РАБОТА ПО ИНФОРМАТИКЕ ТЕМА «Позиционные системы счисления» Ученицы 11 класса «А» Калашниково Анны МОСКВА 2004 год План Арифметические основы построения ЭВМ
-
Лаба по информатике
Министерство общего и профессионального образования РФ Владимирский Государственный Университет Кафедра УИТЭС Лабораторная работа 1 СИСТЕМЫ СЧИСЛЕНИЯ
-
Сложение и вычитание целых неотрицательных чисел в двоичном коде
Числа с фиксированной точкой характеризуются длиной слова в битах, положением двоичной точки, бывают беззнаковыми или знаковыми. Позиция двоичной точки определяет число разрядов в целой и дробной частях машинного слова. Представление отрицательного числа.
-
Перевод чисел из различных систем счисления
Описание логической структуры программы "perevod" для перевода числа из одной системы счисления в другую. Блок-схема алгоритма обработчика события Button1Click. Разработка и испытание приложений. Назначение и условия применения программы, листинг.
-
Основы информатики
Общее представление о системах счисления. Перевод чисел в двоичную, восьмеричную и шестнадцатеричную системы счисления. Разбивка чисел на тройки и четверки цифр. Разряды символов числа. Перевод из шестнадцатеричной системы счисления в десятичную.
-
Операции сложения и вычитания
Алгоритм выполнения операции сложения, вычитания. Сложение чисел в столбик. Проверка получившихся результатов, переведение их в другую систему счисления. Перевод числа 128 из 8-й в 10-ую систему счисления и числа 11011101 из 2-й в 10-ую систему счисления.
-
Коды и системы записи чисел
Запись прямого и обратного кода для числа 10010 и -10010. Получение дополнительного кода числа для 16-разрядной ячейки. Перевод в двоичную систему счисления десятичных чисел: 10, 45, 7, 33. Запись в обратном и дополнительном кодах числа -67, -43, -89.
-
Представление информации в микропроцессорных средствах. Системы счисления
Обработка информации и вычислений в вычислительной машине. Непозиционные и позиционные системы счисления. Примеры перевода десятичного целого и дробного числа в двоичную систему счисления. Десятично-шестнадцатеричное и обратное преобразование чисел.
-
Умножение и деление целых неотрицательных чисел в двоичном коде
Числа с фиксированной точкой характеризуются длиной слова в битах, положением двоичной точки, бывают беззнаковыми или знаковыми. Позиция двоичной точки определяет число разрядов в целой и дробной частях машинного слова. Представление отрицательного числа.