лабораторная ОСАЛП

Алгоритмы: от сортировки пузырьком до численных методов

Модераторы: C_O_D_E, DeeJayC

Ответить
Maxilver
Сообщения: 2
Зарегистрирован: 12 окт 2008, 12:04

12 окт 2008, 12:37

Писал лабораторную по Основам алгоритмизации и программирования , не смог справится с одним заданием.
Нужно составить блок схему данного уравнения, в частности по последнему блоку где X(в степени n) разделить на n...
Изображение
с дополнительным условием что модуль икса должен быть меньше 1

Сначала я ввожу переменую E=1(она будет считать сколько было сделано шагов, и она же будет делителем) и переменую A=0 (для суммирования).
Человек должен ввеси икс и N(число шагов)
Далее проверка на X<1; X>-1 для удовлетворения условия с модулем икса.
Потом проверка на E<=N и если нет, вывод A и конец.
А дальше не знаю как разобратся со степенями. :(
Прошу помочь) заранее спасибо :)
C_O_D_E
Сообщения: 293
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

12 окт 2008, 13:21

Степень обычно вычисляется по какой-либо формуле, в зависимости от ЯП (в паскале нпр: exp(b*ln (a)) -- это a в степени b

цикл от 1 до N с шагом 2
возводим в степень;
делим;
суммируем.
возвращаемся на начало цикла
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
Maxilver
Сообщения: 2
Зарегистрирован: 12 окт 2008, 12:04

12 окт 2008, 13:52

В том то и проблемА, что в блок схемах нем не разрешают использовать степеные выражения. Тоесть если нужен икс в квадрате то мы присваеваем ему значение(икс умножить на икс).
Может быть там нужно добавить ещё одну переменую - 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


Вроде должно случится, но почему то что-то не так, гдето в порядке действий напутал :confused:

Тода наверное ещё надо будет делать N с шагом в 1, а уже в выражении S её переработать. Ну или ввести ещё одну переменную(
C_O_D_E
Сообщения: 293
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

12 окт 2008, 19:32

можно возводить в степень рекурсовно, хотя это и сложно.
можно циклами.

Код: Выделить всё

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;
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

13 окт 2008, 10:23

Не решайте задачу "в лоб", степень здесь не нужна, такие задачи уже давно разжеваны здесь, ищите
It's a long way to the top if you wanna rock'n'roll
Ответить