0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 5
1

геометрическая прогрессия

12.10.2013, 12:51. Показов 2791. Ответов 9
Метки нет (Все метки)

Имеется задача , помогите решить, задание курсовой работы )
Бесконечно убывающая геометрическая прогрессия .
пусть b>0 , 0<g<1 , где n целое положительное число
найти сумму ряда
b, bg, bg^2 , bg^3, bg^4 , .......... , bg^n
для n= 20, 40,100
показать что для любого n сумма ряда не больше , чем b/(1-g)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2013, 12:51
Ответы с готовыми решениями:

Арифметическая прогрессия динамическим массивом
Как данную программу выполнить динамическим массивом? Sub Progresia() Dim a1 As String Dim d...

Арифметическая прогрессия на Visual Basic
Помогите решить задачу: Вывести на экран n первых членов арифметической прогрессии и вычислить...

Геометрическая прогрессия
При каких х числа 5^x ; 10^((3x^2+3)/4) ; 32^x являются последовательными членами геометрической ...

Геометрическая прогрессия
Как найти четыре члена геометрической прогрессии если их сумма равна 15, а сумма их квадратов равна...

9
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
12.10.2013, 13:01 2
а чего тут решать (задание курсовой работы )
сумма бгп S=b/(1-g)
считаем в цикле сумму до n= 20, 40,100
и сравниваем с S
1
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 5
13.10.2013, 14:05  [ТС] 3
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Dim s As Integer
Dim b As Integer
Dim g As Integer
Dim i As Long
Dim i20 As Byte
Dim i40 As Byte
Dim i100 As Byte
Dim n As Long
b = Val(Text1.Text)
g = Val(Text2.Text)
n = Val(Text8.Text)
 
s = b / (1 - g)
 
For i20 = 1 To 20
n20 = 3
n20 = n20 + (3 * i20)
Text3.Text = Str(n20)
If s > n20 Then
    ' Ñóììà ðÿäà n20 áîëüøå ÷åì b/(1-g).
Else
    ' Ñóììà ðÿäà n20 ìåíüøå ÷åì b/(1-g).
    
End If
Next
For i40 = 1 To 40
n40 = 3
n40 = n40 + (3 * i40)
Text4.Text = Str(n40)
If s > n40 Then
    ' Ñóììà ðÿäà n40 áîëüøå ÷åì b/(1-g).
Else
    ' Ñóììà ðÿäà n40 ìåíüøå ÷åì b/(1-g).
    
End If
Next
For i100 = 1 To 100
n100 = 3
n100 = n100 + (3 * i100)
Text5.Text = Str(n100)
If s > n100 Then
    ' Ñóììà ðÿäà n100 áîëüøå ÷åì b/(1-g).
Else
    ' Ñóììà ðÿäà n100 ìåíüøå ÷åì b/(1-g).
    
End If
Next
 
For i = 1 To n
n = 3
n = n + (3 * i)
Text6.Text = Str(n)
Text7.Text = Str(s)
Next
End Sub
что не так? почему s всегда минус 1 где что я пропустил?
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
13.10.2013, 14:26 4
надо вещественные
Visual Basic
1
2
3
Dim s 'As Integer
Dim b 'As Integer
Dim g 'As Integer
1
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 5
13.10.2013, 14:33  [ТС] 5
извиняюсь, не понял
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
13.10.2013, 14:39 6
Visual Basic
1
2
3
Dim s As Double' или Single или даже Variant
Dim b 'As Integer
Dim g 'As Integer
в исходном коде

Dim s As Integer
Dim b As Integer
Dim g As Integer

все эти переменные интерпретируются как целые
если S=0.7, то получим S=1
1
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 5
13.10.2013, 14:46  [ТС] 7
исправил, при выполнении кода в s значения меняются но всегда с - и если число больше 5 то что то типа -.3333 выдает
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
13.10.2013, 14:57 8
ну вот же Ваша рабочая ф-ла
s = b / (1 - g)
введите b , g такими, при которых можете для контроля просчитать сами
например
b =10
g=0.5
S=10/0.5=20
1
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 5
13.10.2013, 15:32  [ТС] 9
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Private Sub Command1_Click()
Dim s As Single
Dim b As Integer
Dim g As Integer
Dim i As Long
Dim i20 As Byte
Dim i40 As Byte
Dim i100 As Byte
Dim n As Long
b = Val(Text1.Text)
g = Val(Text2.Text)
n1 = Val(Text8.Text)
 
s = b / (1 - g)
 
n20 = 3
For i20 = 2 To 20
n20 = n20 + (3 * i20)
Next i20
Text3.Text = Str(n20)
 
n40 = 3
For i40 = 2 To 40
n40 = n40 + (3 * i40)
Next i40
Text4.Text = Str(n40)
 
 
n100 = 3
For i100 = 2 To 100
n100 = n100 + (3 * i100)
Next i100
Text5.Text = Str(n100)
 
 
 
n = 3
For i = 2 To n1
n = n + (3 * i)
Next i
Text6.Text = Str(n)
Text7.Text = Str(s)
 
End Sub
Исправил код , теперь вроде всё верно считает, но правильно ли я сделал подсчет s и выполнил я задание правильно?

Добавлено через 6 минут
всё считает но не 20 а минус 20 пишет

Добавлено через 24 минуты
У меня бесконечно убывающая геом прогрессия оказывается, ладно разобрался я с суммой то сё , как посчитать убывающую прогрессию например до 20 (задание)
Visual Basic
1
2
3
4
For i20 = 3 To 20 Step -1
ch1 = ch1 + (3 * i20)
Next i20
Text3.Text = Str(ch1)
верно ли?
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
13.10.2013, 15:54 10
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Visual Basic
1
2
3
S(10)=b * (q ^ 10 - 1) / (q - 1)
S(20)=b * (q ^ 20 - 1) / (q - 1)
'S(n)=b * (q ^ n - 1) / (q - 1)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2013, 15:54
Помогаю со студенческими работами здесь

Геометрическая прогрессия
Найти n-й член геометрической прогрессии, если известны первый член и знаменатель прогрессии

Геометрическая прогрессия
Найдите все значения х, при которых значения выражений являются тремя последовательными членами...

Геометрическая прогрессия
Известен первый член геометрической прогрессии а и знаменатель г. п вывести на экран 10 членов г.п

геометрическая прогрессия
Составить программу, которая считает члены геометрической прогрессии (N), начальный элемент 2 а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru