На каком-нибудь языке (желательно си) написать программу (текст задания во вложении)
Приложения:

Ответы на вопрос
Ответил Змей24
0
Сумма ряда - это сумма двух геометрических прогрессий, с q1 = 1/2 и с q2 = 1/3.
S1 = ((1/2)^(n+1)-1)/(1/2 - 1)
S2 = ((1/3)^(n+1)-1)/(1/3 - 1)
S = S1 + S2
Фрагмент программы на Pascal:
S1 := (power(0.5, n + 1) - 1.0) / -0.5;
S2 := (power(1.0/3.0, n + 1) - 1.0) / -(1.0/3.0);
S: = S1 + S2;
Переменные S, S1, S2 должны быть объявлены как вещественные.
S1 = ((1/2)^(n+1)-1)/(1/2 - 1)
S2 = ((1/3)^(n+1)-1)/(1/3 - 1)
S = S1 + S2
Фрагмент программы на Pascal:
S1 := (power(0.5, n + 1) - 1.0) / -0.5;
S2 := (power(1.0/3.0, n + 1) - 1.0) / -(1.0/3.0);
S: = S1 + S2;
Переменные S, S1, S2 должны быть объявлены как вещественные.
Ответил 306da
0
а power в Pascal это что, не подскажете?
Ответил 306da
0
и если Е=0,003 то как программа будет выглядеть ?
Ответил Змей24
0
power - это возведение в степень
Ответил Змей24
0
Программа будет выглядеть так же само. Эта формула считает с максимальной, на мой взгляд, точностью, т. е. до 15 знаков. Если нужна меньшая точность, ее можно искусственно уменьшить.
Ответил 306da
0
спасибо!
Ответил petyaGavrikov
0
Программа без использования функции возведения в степень (pow()):
#include <stdio.h>
int main(void) {
float eps, a, s=0;
int a2=1, a3=1;
printf("eps = ");
scanf("%f",&eps);
a = 1.0/a2+1.0/a3;
while (a>=eps){
a2 *= 2; a3 *= 3;
a = 1.0/a2+1.0/a3;
s += a;
}
printf("s = %lfn", s);
return 0;
}
Пример:
eps = 0.001
s = 1.499015
#include <stdio.h>
int main(void) {
float eps, a, s=0;
int a2=1, a3=1;
printf("eps = ");
scanf("%f",&eps);
a = 1.0/a2+1.0/a3;
while (a>=eps){
a2 *= 2; a3 *= 3;
a = 1.0/a2+1.0/a3;
s += a;
}
printf("s = %lfn", s);
return 0;
}
Пример:
eps = 0.001
s = 1.499015
Новые вопросы
Математика,
2 года назад
История,
8 лет назад
Физика,
8 лет назад
История,
9 лет назад
Биология,
9 лет назад