Помогите пожалуйста даю 100 балов!!!!

0 голосов
29 просмотров

Помогите пожалуйста даю 100 балов!!!!


image

Информатика (69 баллов) | 29 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

На Visual Basic
Sub Roma
Dim R As String, N As Long, k As Integer, i As Integer
R = InputBox ("Vvedite Rimskoe chislo")
N = 0 : k = 0
i = 1
Do
     k = InStr$(R, i, "M")
     If k > 0 Then N = N + 1000
Loop While ((k > 0) And (i <= Len(R)))<br>i = 1
Do
     k = InStr$(R, i, "CM")
     If k > 0 Then N = N - 100
Loop While ((k > 0) And (i <= Len(R)))<br>i = 1
Do
     k = InStr$(R, i, "D")
     If k > 0 Then N = N + 500
Loop While ((k > 0) And (i <= Len(R)))<br>i = 1
Do
     k = InStr$(R, i, "CD")
     If k > 0 Then N = N - 100
Loop While ((k > 0) And (i <= Len(R)))<br>i = 1
Do
     k = InStr$(R, i, "C")
     If k > 0 Then
        If (Mid$(R, k+1, 1) <> "D") And (Mid$(R, k+1, 1) <> "M") Then
            N = N + 100
        End If
     End If
Loop While ((k > 0) And (i <= Len(R)))<br>i = 1
Do
     k = InStr$(R, i, "XC")
     If k > 0 Then N = N - 10
Loop While ((k > 0) And (i <= Len(R)))<br>i = 1
Do
     k = InStr$(R, i, "L")
     If k > 0 Then N = N + 50
Loop While ((k > 0) And (i <= Len(R)))<br>i = 1
Do
     k = InStr$(R, i, "XL")
     If k > 0 Then N = N - 10
Loop While ((k > 0) And (i <= Len(R)))<br>i = 1
Do
     k = InStr$(R, i, "X")
     If k > 0 Then
        If (Mid$(R, k+1, 1) <> "C") And (Mid$(R, k+1, 1) <> "L") Then
            N = N + 10
        End If
     End If
Loop While ((k > 0) And (i <= Len(R)))<br>i = 1
Do
     k = InStr$(R, i, "IX")
     If k > 0 Then N = N - 1
Loop While ((k > 0) And (i <= Len(R)))<br>i = 1
Do
     k = InStr$(R, i, "V")
     If k > 0 Then N = N + 5
Loop While ((k > 0) And (i <= Len(R)))<br>i = 1
Do
     k = InStr$(R, i, "IV")
     If k > 0 Then N = N - 1
Loop While ((k > 0) And (i <= Len(R)))<br>i = 1
Do
     k = InStr$(R, i, "I")
     If k > 0 Then
        If (Mid$(R, k+1, 1) <> "X") And (Mid$(R, k+1, 1) <> "V") Then
            N = N + 1
        End If
     End If
Loop While ((k > 0) And (i <= Len(R)))<br>MsgBox (N)
End Sub

(320k баллов)