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

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

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

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

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

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

от 25%

Подписываем

договор

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

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


Министерство образования Республики Таджикистан
Таджикский Технический Университет им. ак. М. С. Осими
кафедра АСОИиУ
Лабораторная работа №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. Курсовая на тему Нормативная база аграрной реформы Столыпина
2. Реферат на тему Den Amerikanske Borgerkrig Essay Research Paper IndholdsfortegnelseForside
3. Реферат Инородные тела уха, глаза и носа
4. Курсовая Системный анализ особенностей фонематического восприятия у старших дошкольников с задержкой псих
5. Реферат Конструирование ПЛИС
6. Реферат на тему Hamlet Essay Research Paper In the first
7. Реферат на тему How Does Unconscious Differ From Consciousness Essay
8. Реферат на тему Hume Conflict Between Causal Reasoning And Existence
9. Реферат Факторы, влияющие на результаты трудовой деятельности работника в организации личностные и внеш
10. Реферат Місце класного керівника у вихованні учнів