рефераты бесплатно
Рефераты бесплатно, курсовые, дипломы, научные работы, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения,рефераты литература, рефераты биология, рефераты медицина, рефераты право, большая бибилиотека рефератов, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент и многое другое.
ENG
РУС
 
рефераты бесплатно
ВХОДрефераты бесплатно             Регистрация

Лабораторная работа: Умножение и деление целых неотрицательных чисел в двоичном коде  

Лабораторная работа: Умножение и деление целых неотрицательных чисел в двоичном коде

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

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

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

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

«Умножение и деление целых неотрицательных чисел в двоичном коде»

Выполнил:

Принял:

-Душанбе 2009-


Программа UmnDelDouble.

 


Option Explicit

Public sel As Integer

Public i, x, j, x0 As Double                          Блок инициализации программы

Public c As Integer

Private Sub Command1_Click()

fir.Text = ""

sec.Text = ""

res.Text = ""

x = 0                                                                 Процедура очистки содержимого полей

j = 0

x0 = 0

i = 0

End Sub

Private Sub ext_Click()

End

End Sub


Private Sub fir_Change()

If val(fir.Text) = 0 Or val(fir.Text) = 1 Then

lb1.Caption = fir.Text

Exit Sub

Else

i = (Len(fir.Text))

x = 0

j = 0

Do                                                                                    Блок кодировки в «реальном времени»

x = x + (val(Mid(fir.Text, i, 1)) * (2 ^ j))

i = i - 1

j = j + 1

Loop Until i = 0

lb1.Caption = x

End If

End Sub

Описание: 12332131


Исходный вид окна приложения.

Private Sub fir_GotFocus()

sel = 1

End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

On Error GoTo err:

If (KeyCode = vbKeyBack) Then

Select Case sel

Case 1

fir.Text = Left(fir.Text, Len(fir.Text) - 1)

Case 2

sec.Text = Left(sec.Text, Len(sec.Text) - 1)

End Select

Else

End If

Exit Sub

err:

Beep

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)

Dim val As String

val = Chr(KeyAscii)

If (val >= "0") And (val <= "9") Then

If sel = 1 Then

Select Case val

Case "0"

fir.Text = fir.Text & "0"

Case "1"                                                                                                                      Процедуры

fir.Text = fir.Text & "1"                                                                                               контроля

End Select                                                                                                                    за вводом

ElseIf sel = 2 Then

Select Case val

Case "0"

sec.Text = sec.Text & "0"

Case "1"

sec.Text = sec.Text & "1"

End Select

Else

End If

Else

End If

End Sub

Private Sub Form_Load()

umn.Value = True

c = 1

End Sub

Описание: 12332131


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

Private Sub res_Change()

If val(res.Text) = 0 Or val(res.Text) = 1 Then

lb3.Caption = res.Text

Exit Sub

Else

i = (Len(res.Text))

x = 0

j = 0

Do                                                                                  Блок кодировки в «реальном времени»

x = x + (val(Mid(res.Text, i, 1)) * (2 ^ j))

i = i - 1

j = j + 1

Loop Until i = 0

lb3.Caption = x

End If

End Sub

Private Sub run_Click()      'Основная процедура обработки

Dim d(90) As Double

If fir.Text = "" Or sec.Text = "" Then

MsgBox "Incorrect input. Please input numbers again", , "=VaMp1r3=™"

Exit Sub

ElseIf val(lb2.Caption) = 0 Or val(lb1.Caption) = 0 Then

MsgBox "Incorrect input. Please input numbers again", , "=VaMp1r3=™"

Call Command1_Click

Exit Sub

ElseIf val(lb2.Caption) = 0 And val(lb1.Caption) = 0 Then

MsgBox "Incorrect input. Please input numbers again", , "=VaMp1r3=™"

Call Command1_Click

Exit Sub

Else

Select Case umn.Value

Case True

x0 = ((CDbl(lb1.Caption)) * (CDbl(lb2.Caption)))

x = 0

c = 1

Do

d(c) = x0 Mod 2

x = Round((CDbl(x0) / 2) - 0.3, 0)

c = c + 1

x0 = x

Loop Until x = 1

d(c) = x

res.Text = ""

Do

res.Text = res.Text & d(c)

c = c - 1

Loop Until c = 0

Case False

If val(lb2.Caption) > val(lb1.Caption) Then

MsgBox "Incorrect Input. Please input numbers again.", , "=VaMP1r3=™"

Exit Sub

Else

x0 = val(((CDbl(lb1.Caption)) / (CDbl(lb2.Caption))))

x = 0

c = 1

Do

If x0 = 0 Then Exit Do

d(c) = x0 Mod 2

x = Round((CDbl(x0) / 2) - 0.3, 0)

c = c + 1

x0 = x

Loop Until x = 1

d(c) = x

res.Text = ""

Do

res.Text = res.Text & d(c)

c = c - 1

Loop Until c = 0

End If

End Select

End If

End Sub

Описание: 12332131


Вид окна приложения с вычисленными данными.


Private Sub sec_Change()

If val(sec.Text) = 0 Or val(sec.Text) = 1 Then

lb2.Caption = sec.Text

Exit Sub

Else

i = (Len(sec.Text))

x = 0

j = 0

Do                                                                                   Блок кодировки в «реальном времени»

x = x + (val(Mid(sec.Text, i, 1)) * (2 ^ j))

i = i - 1

j = j + 1

Loop Until i = 0

lb2.Caption = x

End If

End Sub

Private Sub sec_GotFocus()

sel = 2

End Sub



© 2010.