Задача на цикл - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д