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

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

Работа добавлена на сайт bukvasha.net: 2014-12-15

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 24.11.2024


Министерство образования Республики Таджикистан
Таджикский Технический Университет им. ак. М. С. Осими
кафедра АСОИиУ
Лабораторная работа №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

1. Реферат на тему Christmas Gifts You Love to Hate Essay
2. Доклад Обеспечение безопасности участников уголовного процесса становление правового института
3. Реферат на тему After January Essay Research Paper There are
4. Реферат на тему Eliot TS Essay Research Paper The Life
5. Курсовая Расчет теплообменного аппарата 2
6. Курсовая Организация территории при орошении сельскохозяйственных культур дождеванием
7. Кодекс и Законы Кодекс законов о труде по состоянию на 13.11.2000 г.
8. Реферат на тему Михаил Фёдорович- Борьба с врагами заселение новых земель
9. Реферат на тему Ideaology Essay Research Paper Foundations of IdeologyChinas
10. Реферат на тему Агрессивное поведение человека