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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 25.1.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. Реферат на тему Cry The Beloved Country Essay Research Paper 3
3. Курсовая на тему Выращивание ремонтного молодняка кур
4. Шпаргалка на тему Тестовый контроль по курсу факультетской хирургии
5. Реферат Формирования американской национальной культуры
6. Реферат Организация и управление
7. Практическая работа Формирование портфеля заказов организации
8. Реферат Дієтотерапія для ендокринної системи
9. Реферат Экономический анализ ОАО Гостиничный комплекс Ангара
10. Реферат на тему Slavery In The Tempest Essay Research Paper