Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2009, 19:51   #1
FLORA
Пользователь
 
Регистрация: 16.01.2009
Сообщений: 24
По умолчанию qbasic

помогите очень надо
составить алгоритм и программу для нахождения максимального количества слагаемых в сумме членов ряда, при котором эта сумма станет больше 2000. Кроме того найти значение суммы и последнего слагаемого(а и х-любые числа)
(a^3*x^2)/1*3+(a^4*x^3)/1*3*5+(a^5*x^4)/11*3*5*7+..............
Необходимость обостряет разум. Сделай сам почуствуй необходимость.

Последний раз редактировалось FLORA; 22.01.2009 в 19:54.
FLORA вне форума Ответить с цитированием
Старый 22.01.2009, 20:48   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вроде так. Проверьте.
Чтобы программа не зацикливалась (например, при вводе a=1,x=1), добавил проверку.
Код:
DIM a AS SINGLE
DIM x AS SINGLE
DIM n AS LONG
DIM sum AS SINGLE
DIM c AS SINGLE
DIM i AS LONG
CLS
INPUT "Vvedite a: ", a
INPUT "Vvedite x: ", x

sum = 0
i = 3
c = a * a * x
n = 0
DO WHILE sum <= 2000
c = c * a * x / i
sum = sum + c
i = i + 2
n = n + 1
IF i > 1000000 THEN
PRINT "2000 ne dostignuto!"
STOP


END IF
LOOP

PRINT USING "Result: ##"; n
PRINT USING "Summa= ####"; sum - c
PRINT USING "Poslednee slagaemoe= ####"; c * i / (a * x)

END
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.01.2009, 19:43   #3
FLORA
Пользователь
 
Регистрация: 16.01.2009
Сообщений: 24
По умолчанию

спс за программу всё понятно кроме того что значит i>1000000 там не нужна формула????можеш ответить да и хотелось бы понять почему sum<=2000 ведь она должна быть больше 2000
Необходимость обостряет разум. Сделай сам почуствуй необходимость.

Последний раз редактировалось FLORA; 23.01.2009 в 19:55.
FLORA вне форума Ответить с цитированием
Старый 23.01.2009, 21:00   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
что значит i>1000000
Это и есть проверка на зацикливание, о которой я говорил. Если этого не сделать, то при вводе определенных значений (например, a=1,x=1) программа будет работать вечно.
Цитата:
почему sum<=2000 ведь она должна быть больше 2000
Цикл выполняется, пока сумма не станет равна 2000.

Вообще, честно говоря, условие понял с трудом.. Если вообще правильно понял.
В моем варианте выводится сумма и последнее слагаемое перед тем, как сумма станет равна 2000. Возможно, тут требуется наоборот, вывести значения сразу, как сумма станет равна 2000. В этом случае последние строчки будут
Код:
PRINT USING "Summa= ####"; sum
PRINT USING "Poslednee slagaemoe= ####"; c
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
QBASIC FLORA Помощь студентам 3 18.01.2009 19:10
QBasic Detka Помощь студентам 4 26.11.2008 23:52