Перевод целых неотрицательных чисел в различных системах счисления

Программа Enhanced Converter для преобразования мультимедийных файлов. Процедура инициализации приложения, очистки текстовых полей, проверки ввода данных, по вычислению значений в "реальном времени". Внешний вид окна приложения с введенными данными.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 31.05.2009
Размер файла 60,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Министерство образования Республики Таджикистан

Таджикский Технический Университет им. ак. М.С. Осими

кафедра АСОИиУ

Лабораторная работа №4

«Перевод целых неотрицательных чисел в различных системах счисления»

Выполнил:

Принял:

-Душанбе 2009-

Программа Enhanced Converter

Public x0, x, i, j, z As Double Процедура инициализации приложения

Public y As String

Private Sub clr_Click()

inp.Text = "" Процедура очистки текстовых полей

out.Text = ""

End Sub

Внешний вид окна приложения с введёнными данными

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

Exit Sub

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


Подобные документы

  • Порождение целых чисел в позиционных системах счисления. Почему мы пользуемся десятичной системой, а компьютеры - двоичной (восьмеричной и шестнадцатеричной)? Перевод чисел из одной системы в другую. Математические действия в различных системах счисления.

    конспект произведения [971,1 K], добавлен 31.05.2009

  • Сопоставление наиболее важных систем счисления. Перевод целых десятичных чисел в недесятичную систему и обратно. Особенности преобразования дробей. Правила выполнения арифметических действий над двоичными, восьмеричными и шестнадцатеричными числами.

    контрольная работа [824,4 K], добавлен 17.11.2010

  • Символы, целые, числа с плавающей точкой в языке Си. Машинное представление значений типа char, double, float, беззнаковых чисел. Представление целых чисел в позиционных системах счисления с произвольным основанием. Алгоритм перевода b-ичной записи.

    презентация [296,3 K], добавлен 05.01.2014

  • Общее представление о системах счисления. Перевод чисел в двоичную, восьмеричную и шестнадцатеричную системы счисления. Разбивка чисел на тройки и четверки цифр. Разряды символов числа. Перевод из шестнадцатеричной системы счисления в десятичную.

    практическая работа [15,5 K], добавлен 19.04.2011

  • Разработка программы обработки числовых последовательностей с кодом на языке Pascal. Функции ввода пользователем с клавиатуры последовательности целых чисел. Алгоритмы разработанных процедур и функций. Инструкция пользователя, листинг программы.

    курсовая работа [677,7 K], добавлен 13.07.2010

  • Разработка приложения для осуществления работы с медицинскими данными с последующей их визуализацией. Изучение типов данных и свойств полей Access. Компоненты наборов данных. Структура базы данных для клиники. Экранные формы для отображения справочников.

    курсовая работа [1,5 M], добавлен 14.08.2014

  • Организация средствами Microsoft Excel автоматического выполнения операций над представлениями чисел в позиционных системах счисления. Разработка электронных таблиц. Перевод чисел в десятичную систему счисления. Перевод из десятичной системы.

    курсовая работа [27,2 K], добавлен 21.11.2007

  • Понятие и классификация систем счисления. Перевод чисел из одной системы счисления в другую. Перевод правильных и неправильных дробей. Выбор системы счисления для применения в ЭВМ. Навыки обращения с двоичными числами. Точность представления чисел в ЭВМ.

    реферат [62,0 K], добавлен 13.01.2011

  • Примеры правила перевода чисел с одной системы в другую, правила и особенности выполнения арифметических операций в двоичной системе счисления. Перевод числа с десятичной системы в двоичную систему счисления. Умножение целых чисел в двоичной системе.

    контрольная работа [37,3 K], добавлен 13.02.2009

  • Разработка алгоритма и программы на языке Assembler для подсчёта функции. Возможность ввода данных в шестнадцатеричной системе счисления и формы представления чисел при выводе. Использование в программе набора команд арифметического сопроцессора.

    курсовая работа [195,0 K], добавлен 04.05.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.