VBA!Переделать алгоритм с цикла по параметру ** цикл с пост или с предусловием, Сколько...

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

VBA!Переделать алгоритм с цикла по параметру на цикл с пост или с предусловием,
Сколько можно купить быков,коров , телят, если за B(быков)-10 руб
K(коров)-5 руб, T(телят)-0,5 руб, если есть 100 рублей, нужно купить 100 голов скота.
Sub slot()
Dim c As Double
Dim c1 As Double
Dim c2 As Double
Dim c3 As Double
Dim z As Integer
Dim b As Integer
Dim T As Integer
Dim n As Integer
n = 100 ' nado golov
c = 100 ' vsego deneg
c1 = 10 ' za bika
c2 = 5 'za korovy
c3 = 0.5 'za telenka
For z = 0 To c / c1
For b = 0 To c / c2
For T = 0 To c / c3
If z + b + T = n Then
If z * c1 + b * c2 + T * c3 = c Then
MsgBox ("bikov: " & z & "korov: " & b & "Teliat: " & T)
End If
End If
Next T
Next b
Next z
End Sub


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

Пожалуйста, и c постусловием, и с предусловием.

Sub slot()
    Dim c As Double
    Dim c1 As Double
    Dim c2 As Double
    Dim c3 As Double
    Dim z As Integer
    Dim b As Integer
    Dim T As Integer
    Dim n As Integer
    n = 100 ' nado golov
    c = 100 ' vsego deneg
    c1 = 10 ' za bika
    c2 = 5 'za korovy
    c3 = 0.5 'za telenka
    z = 0
    Do
        b = 0
        Do While b <= c / c2<br>            T = 0
            Do While T <= c / c3<br>                If z + b + T = n Then
                    If z * c1 + b * c2 + T * c3 = c Then
                        MsgBox ("bikov: " & z & "korov: " & b & "Teliat: " & T)
                    End If
                End If
                T = T + 1
            Loop
            b = b + 1
        Loop
        z = z + 1
    Loop Until z > c / c1
End Sub


(142k баллов)