Объясните. Пожалуйста. - VB
Формулировка задачи:
1) Дана прогрессия 2.5, 3.0, 3.5...N . найти сумму и среднее значение.
2) Дан массив. Найти 2 числа среднее арифметическое которых будет ближе всего к x
здесь у меня так получилось, но видимо я что то не так сделал
3) дана строка. подсчитать количество слов, длина которых меньше чем x(число).
В этой задаче я смог написать только подсчет слов, а как сделать чтобы еще сравнивала с x не получается.
Решение задачи: «Объясните. Пожалуйста.»
textual
Листинг программы
Sub Task_1() 'Г„Г*Г*Г* ïðîãðåññèÿ 2.5, 3.0, 3.5...N . Г*Г*éòè ñóììó ГЁ ñðåäГ*ГҐГҐ Г§Г*Г*Г·ГҐГ*ГЁГҐ. Dim i As Single, N As Single, snSum As Single, snSR As Single N = InputBox("N:") For i = 2.5 To N Step 0.5 snSum = snSum + i k = k + 1 Next snSR = snSum / k MsgBox "ÑóììГ* " & snSum & vbNewLine & "ÑðåäГ*ГҐГҐ " & snSR End Sub Sub Task_2() 'Г„Г*Г* Г¬Г*Г±Г±ГЁГў. ГЌГ*éòè 2 Г·ГЁГ±Г«Г* ñðåäГ*ГҐГҐ Г*ðèôìåòè÷åñêîå êîòîðûõ áóäåò áëèæå ГўГ±ГҐГЈГ® ГЄ x Dim i As Integer, A(), N As Integer, x As Integer, j As Integer Dim sStr As String, iDiff As Single, snSR As Single N = InputBox("ГђГ*çìåð Г¬Г*Г±Г±ГЁГўГ*:") ReDim A(1 To N) For i = 1 To N A(i) = Int(Rnd * 40 + 10) sStr = sStr & A(i) & " " Next sStr = sStr & vbNewLine x = InputBox("x:") iDiff = 50 For i = 1 To N - 1 For j = i + 1 To N snSR = Abs(x - ((A(i) + A(j)) / 2)) If snSR < iDiff Then: iDiff = iDff: iIndI = i: iIndJ = j Next Next MsgBox sStr & A(iIndI) & " ГЁ " & A(iIndJ) & ", Г±Г°. Г*ðèôì. - " & _ ((A(iIndI) + A(iIndJ)) / 2) & "," & vbNewLine & "Г·ГІГ® áëèæå ГўГ±ГҐГЈГ® ГЄ " & x End Sub Sub Task_3() 'Г„Г*Г*Г* ñòðîêГ*. ïîäñ÷èòГ*ГІГј êîëè÷åñòâî ñëîâ, äëèГ*Г* êîòîðûõ ìåГ*ГјГёГҐ Г·ГҐГ¬ x(÷èñëî). Dim x As Integer, iLen As Integer, A, k As Integer, i As Integer A = Split(InputBox("Ââîä ñòðîêè:")) x = InputBox("x:") For i = 0 To UBound(A) iLen = Len(A(i)) If iLen < x And iLen > 0 Then k = k + 1 Next MsgBox k End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д