Root /ArchiveAbout
()

Последовательное вычисление степени

Последовательное вычисление степени

На этой странице дано решение примеров Begin27 - Begin28 из задачника Абрамяна. Здесь мы последовательно вычисляем степени данного числа.

Begin27. Дано число A. Вычислить A8, используя вспомогательную переменную и три операции умножения. Для этого последовательно находить A2, A4, A8. Вывести все найденные степени числа A.

Блок схема. Begin27. Дано число A. Вычислить A^8, используя вспомогательную переменную и три операции умножения. Для этого последовательно находить A^2, A^4, A^8. Вывести все найденные степени числа A.

var
  A, k: real;

begin
  write(' A = ');
  readln(A);
  writeln('Результат:');
  k := A * A; { <-- квадрат числа A }
  writeln(' ', A, ' во второй степени: ', k);
  k := k * k; { <-- четвертая степень числа A }
  writeln(' ', A, ' в четвертой степени: ', k);
  k := k * k; { <-- восьмая степень числа A }
  writeln(' ', A, ' в восьмой степени: ', k);
  readln
end.

$1 $2Но можно обойтись и без вспомогательной переменной k:

Блок схема. Begin27. Дано число A. Вычислить A^8, используя вспомогательную переменную и три операции умножения. Для этого последовательно находить A^2, A^4, A^8. Вывести все найденные степени числа A.

var
  A: real;

begin
  write(' A = ');
  readln(A);
  writeln('Результат:');
  A := A * A; { <-- вычисляем квадрат числа A }
  writeln(' вторая степень: ', A);
  A := A * A; { <-- вычисляем четвертую степень числа A }
  writeln(' четвертая степень: ', A);
  A := A * A; { <-- вычисляем восьмую степень числа A }
  writeln(' восьмая степень: ', A);
  readln
end.

$1 $2Begin28. Дано число A. Вычислить A15, используя две вспомогательные переменные и пять операций умножения. Для этого последовательно находить A2, A3, A5, A10, A15. Вывести все найденные степени числа A.

Блок схема. Begin28. Дано число A. Вычислить A^15, используя две вспомогательные переменные и пять операций умножения. Для этого последовательно находить A^2, A^3, A^5, A^10, A^15. Вывести все найденные степени числа A.

var
  A, k, m: real;

begin
  write(' A = ');
  readln(A);
  writeln('Результат:');
  k := A * A; { <-- вычисляем квадрат }
  writeln(' ', A, ' во второй степени:     ', k);
  m := A * k; { <-- вычисляем куб }
  writeln(' ', A, ' в третьей степени:     ', m);
  m := k * m; { <-- вычисляем пятую степень }
  writeln(' ', A, ' в пятой степени:       ', m);
  k := m * m; { <-- вычисляем десятую степень }
  writeln(' ', A, ' в десятой степени:     ', k);
  k := k * m; { <-- вычисляем пятнадцатую степень }
  writeln(' ', A, ' в пятнадцатой степени: ', k);
  readln
end.

$1 $2