Определить, площадь какой фигуры больше - ошибка при выводе результата - VB

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

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

Доброго времени суток! Стояла задача: Заданы радиус круга и сторона квадрата. Определить, площадь какой фигуры больше. Я составил блок-схему и такой код:
Листинг программы
  1. Private Sub Command1_Click()
  2. Dim R, A, KR, KV As Single
  3. R = Val(InputBox("Введите R"))
  4. A = Val(InputBox("Введите A"))
  5. KR = 3.14 * (R) ^ 2
  6. KV = A ^ 2
  7. If KR > KV Then
  8. MsgBox Str(KR) + " > " + Str(KV), 64 + 1, "Площадь круга больше"
  9. End If
  10. If KR < KV Then
  11. MsgBox Str(KV) + " > " + Str(KR), 64 + 1, "Площадь квадрата больше"
  12. Else
  13. MsgBox Str(KR) + " = " + Str(KV), 64 + 1, "Площади фигур равны"
  14. End If
  15. End Sub
В итоге, если площадь круга получается больше, то он выдаёт ещё и "площади фигур равны". Почему - не понятно. Попробовал переделать код - заработало, но теперь не пойму, как составить по нему блок-схему. С тремя блоками условия? Переделанный код:
Листинг программы
  1. Private Sub Command1_Click()
  2. Dim R, A, KR, KV As Single
  3. R = Val(InputBox("Введите R"))
  4. A = Val(InputBox("Введите A"))
  5. KR = 3.14 * (R) ^ 2
  6. KV = A ^ 2
  7. If KR > KV Then
  8. MsgBox Str(KR) + ">" + Str(KV), 64 + 1, "Площадь круга больше"
  9. End If
  10. If KR < KV Then
  11. MsgBox Str(KV) + ">" + Str(KR), 64 + 1, "Площадь квадрата больше"
  12. End If
  13. If KR = KV Then
  14. MsgBox Str(KR) + "=" + Str(KV), 64 + 1, "Площади фигур равны"
  15. End If
  16. End Sub

Решение задачи: «Определить, площадь какой фигуры больше - ошибка при выводе результата»

textual
Листинг программы
  1. Private Sub Command1_Click()
  2. Dim R!, A!, KR!, KV!, st$
  3. R = Val(InputBox("Введите R", , 10))
  4. A = Val(InputBox("Введите A", , 15))
  5. pi = Atn(1) * 4
  6. KR = pi * R ^ 2
  7. KV = A ^ 2
  8. If KR > KV Then
  9.     st = "Площадь круга больше"
  10. ElseIf KR < KV Then
  11.     st = "Площадь квадрата больше"
  12. Else
  13.     st = "Площади фигур равны"
  14. End If
  15. Call MsgBox("Площадь круга = " & KR & vbCrLf & "Площадь квадрата = " & KV & vbCrLf & st, 64 + 1)
  16. End Sub

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


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

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

11   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы