Задача на цикл - VB (58923)

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

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

Определить зависимость фокусного расстояния двояковыпуклой стеклянной линзы от радиусов ее сферических поверхностей, если показатель преломления стекла m=1,5; f = 1 / ((m - 1) * ((1 / R1) + (1 / R2))) где 4,2 <= r1 <= 12,2 6,4 <= r2 <= 24,4 c шагом 2 см.
Вот такой код я написал, но в ответе у меня почему-то R1 значения повторяются каждый раз Не пойму, в чем причина

Решение задачи: «Задача на цикл»

textual
Листинг программы
   Dim R1 As Double, R10 As Double, dR As Double, R1k As Double
   Dim R2 As Double, R20 As Double, R2k As Double
   Dim f As Double, m As Double
   R10 = InputBox("M0", , 4.2) 'R1 начальное
   dR = InputBox("dM", , 2) 'Шаг R1,2
   R1k = InputBox("Mk", , 12.2) 'R1 конечное
   R20 = InputBox("V0", , 6.4) 'R2 начальное
   R2k = InputBox("Vk", , 24.4) 'R2 конечное
   m = InputBox("m", , 1.5) 'преломление
   R2 = R20
   Do While R2 <= R2k
       Print "R2 = " & R2
       R1 = R10
       Do
          f = 1 / ((m - 1) * ((1 / R1) + (1 / R2)))
          Print vbTab & "Pri r1 = " & R1 & vbTab & "f = " & f
          R1 = R1 + dR
       Loop Until R1 > R1k
       R2 = R2 + dR
    Loop

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


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

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

15   голосов , оценка 4.067 из 5