Обмен значений - VB

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста, решить задачу: если сумма 3ёх разных действительных чисел х, у, z меньше единицы, то наименьшее из этих чисел заменить полуразностью двух других значений, в противном случае заменить меньшее из них полусуммой двух оставшихся значений. Знаю, что задача не особо сложная, понятие об алгоритме решения есть, но с этим языком программирования и средой не работали, а времени дали мало. Не успеваю сама разобраться. Заранее огромное спасибо!

Решение задачи: «Обмен значений»

textual
Листинг программы
Sub An()
Dim x#, y#, z#, s#
  Randomize
  Do
    x = Round(Rnd * 0.7, 1): y = Round(Rnd * 0.7, 1): z = Round(Rnd * 0.7, 1)
  Loop Until x <> y And x <> z And y <> z
  s = x + y + z
  Debug.Print x, y, z, "sum="; s
  Select Case -(x < y) - 2 * (x < z) - 4 * (y < z)
  Case 3, 7 'x=min
    If s < 1 Then x = (y - z) / 2 Else x = (y + z) / 2
  Case 4, 6 'y=min
    If s < 1 Then y = (x - z) / 2 Else y = (x + z) / 2
  Case Else 'z=min
    If s < 1 Then z = (y - x) / 2 Else z = (y + x) / 2
  End Select
  Debug.Print x, y, z; vbLf
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы