Писал лабораторную по Основам алгоритмизации и программирования , не смог справится с одним заданием.
Нужно составить блок схему данного уравнения, в частности по последнему блоку где X(в степени n) разделить на n...
с дополнительным условием что модуль икса должен быть меньше 1
Сначала я ввожу переменую E=1(она будет считать сколько было сделано шагов, и она же будет делителем) и переменую A=0 (для суммирования).
Человек должен ввеси икс и N(число шагов)
Далее проверка на X<1; X>-1 для удовлетворения условия с модулем икса.
Потом проверка на E<=N и если нет, вывод A и конец.
А дальше не знаю как разобратся со степенями.
Прошу помочь) заранее спасибо
лабораторная ОСАЛП
-
- Сообщения: 293
- Зарегистрирован: 13 фев 2008, 20:10
- Откуда: Беларусь. Орша
- Контактная информация:
Степень обычно вычисляется по какой-либо формуле, в зависимости от ЯП (в паскале нпр: exp(b*ln (a)) -- это a в степени b
цикл от 1 до N с шагом 2
возводим в степень;
делим;
суммируем.
возвращаемся на начало цикла
цикл от 1 до N с шагом 2
возводим в степень;
делим;
суммируем.
возвращаемся на начало цикла
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
В том то и проблемА, что в блок схемах нем не разрешают использовать степеные выражения. Тоесть если нужен икс в квадрате то мы присваеваем ему значение(икс умножить на икс).
Может быть там нужно добавить ещё одну переменую - R которая будет считать сколько раз икс умножался на икс, а когда достигнет какого-то придела, то отправит икс дальше, а сама обнулится, для повтора этих действий.
Тоесть, если например как нибудь придумать, чтобы она сравнивалась с N, а N = 3
R<=N (+)
X = X * X
R = R + R
R<=N (+)
X = X * X
R = R + R
R<=N (+)
X = X * X
R = R + R
R<=N (-)
R = 0 (или 1)
Выход из цикла
Ну а там далее уже S = X/N
Вроде должно случится, но почему то что-то не так, гдето в порядке действий напутал
Тода наверное ещё надо будет делать N с шагом в 1, а уже в выражении S её переработать. Ну или ввести ещё одну переменную(
Может быть там нужно добавить ещё одну переменую - R которая будет считать сколько раз икс умножался на икс, а когда достигнет какого-то придела, то отправит икс дальше, а сама обнулится, для повтора этих действий.
Тоесть, если например как нибудь придумать, чтобы она сравнивалась с N, а N = 3
R<=N (+)
X = X * X
R = R + R
R<=N (+)
X = X * X
R = R + R
R<=N (+)
X = X * X
R = R + R
R<=N (-)
R = 0 (или 1)
Выход из цикла
Ну а там далее уже S = X/N
Вроде должно случится, но почему то что-то не так, гдето в порядке действий напутал
Тода наверное ещё надо будет делать N с шагом в 1, а уже в выражении S её переработать. Ну или ввести ещё одну переменную(
-
- Сообщения: 293
- Зарегистрирован: 13 фев 2008, 20:10
- Откуда: Беларусь. Орша
- Контактная информация:
можно возводить в степень рекурсовно, хотя это и сложно.
можно циклами.
можно циклами.
Код: Выделить всё
N от 1до 3
шаг 1. N=1
i=1
r=x
end;
S= r/n
r=1;
end;
шаг 2. N=2
i=1
r=r*x
i=2
r=r*x
S=S+r/n
r=1;
end;
шаг 3. N=2
i=1
r=r*x
i=2
r=r*x
i=3
r=r*x
S=S+r/n
end;
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
Не решайте задачу "в лоб", степень здесь не нужна, такие задачи уже давно разжеваны здесь, ищите
It's a long way to the top if you wanna rock'n'roll