Напишите АЯ алгоритм вычисления у по формуле  у=(1-х2+5х4)2(степень), где х- заданное число. Учтите следующие ограничения: 1) в арифмитических выражения можно использовать только операции сложения, вычитания и умножения. 2) Каждое выражение может содержать только одну арифметическую операцию. Выполните трассировку алгоритма при х= 2.

Вопрос от посетителя

Напишите АЯ алгоритм вычисления у по формуле 

у=(1-х2+5х4)2(степень), где х- заданное число. Учтите следующие ограничения: 1) в арифмитических выражения можно использовать только операции сложения, вычитания и умножения. 2) Каждое выражение может содержать только одну арифметическую операцию. Выполните трассировку алгоритма при х= 2.

Отвечает Илюха:

Напишите АЯ алгоритм вычисления у по формуле   у=(1-х2+5х4)2(степень), где х- заданное число. Учтите следующие ограничения:

1) в арифмитических выражения можно использовать только операции сложения, вычитания и умножения. 2) Каждое выражение может содержать только одну арифметическую операцию. Выполните трассировку алгоритма при х= 2.

у(х) = (1 – х^2 + 5*х^4)^2 – я правильно записал выражение? Пожалуйста, используйте знаки умножения “*” и возведения в степень “^” при записи выражений!

Пусть запись // означает, что последующая часть строки является комментарием.

 

С учетом ограничений (1) и (2), алгоритм может выглядеть следующим образом:

 

1. Вычислить tmp1 = х*х                   // tmp1 = х^2

2. Вычислить tmp2 = tmp1*tmp1       // tmp2 = х^4

3. Вычислить tmp2 = 5*tmp2             // tmp2 = 5*х^4

4. Вычислить tmp1 = 1 – tmp1           // tmp1 = 1 – x^2

5. Вычислить tmp1 = tmp1 + tmp2    // tmp1 = 1 – x^2 + 5*х^4

6. Вычислить y = tmp1*tmp1             // y = (1 – x^2 + 5*х^4)^2

 

При x = 2 получим:

 

1. Вычислить tmp1 = 2*2 = 4             // tmp1 = 4

2. Вычислить tmp2 = 4*4 = 16           // tmp2 = 16

3. Вычислить tmp2 = 5*16 = 80         // tmp2 = 80

4. Вычислить tmp1 = 1 – 4 = -3          // tmp1 = -3

5. Вычислить tmp1 = -3 + 80 = 77     // tmp1 = 77

6. Вычислить y = 77*77 = 5929          // y = 5929

 

Вычислим у(х) при х = 2: y(2) = (1 – 2^2 + 5*2^4)^2 = (1 – 4 – 5*16)^2 = 5929. Т.е. наш алгоритм дает верный результат при х = 2.

Добавить свой ответ