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

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

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

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

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

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

от 25%

Подписываем

договор

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

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


Министерство образования Республики Таджикистан
Таджикский Технический Университет им. ак. М. С. Осими
кафедра АСОИиУ
Лабораторная работа №2
«Сложение и вычитание целых неотрицательных чисел в двоичном коде»
Выполнил:
Принял:
 
-Душанбе 2009-

Программа «Plusdouble»
Option Explicit
Public sel As Integer
Public i, x, j, x0 As Double
Public c As Integer
121212
 

                                                                        Окно приложения в исходном состоянии.
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
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()
plus.Value = True
c = 1
End Sub

121212
 

Форма с введёнными значениями
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 res_GotFocus()
sel = 3
End Sub
Private Sub run_Click()
Dim d(90) As Integer
If fir.Text = "" Or sec.Text = "" Then
MsgBox "Incorrect input. Please input numbers again", , "=VaMp1r3=™"
Exit Sub
Else
Select Case plus.Value
Case True
x0 = ((CInt(lb1.Caption)) + (CInt(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 "Так нельзя! Первое слагаемое должно быть больше второго. , "=VaMP1r3=™"
Exit Sub
Else
x0 = ((CInt(lb1.Caption)) - (CInt(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
121212
 

Форма с вычисленными данными
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. Реферат на тему Creative Story Dorko Essay Research Paper Creative
3. Реферат Содержание и исполнения договора поставки
4. Реферат на тему Freedom Bound Essay Research Paper In his
5. Реферат Знешняя палітыка Беларусі у 1990-2000-ыя гг Адносіны паміж Беларуссю і краінамі СНД
6. Реферат на тему Field Notes Essay Research Paper AsI entered
7. Курсовая на тему Правовое регулирование договора франчайзинга
8. Сочинение на тему Булгаков м. а. - Тема любви и прощения в романе «мастер и маргарита»
9. Лабораторная работа на тему Исследование канальных протоколов с обратной связью
10. Реферат Финансирование научно-технического прогресса в РФ